我已经用 PJProject 2.5.5 配置了 Asterisk 13.13.1 并启用 PJSIP 作为 SIP 驱动程序(不编译 chan_sip)。

我有完全配置的系统并且它正在工作,但我在来电时遇到了一些问题。我的主机连接的号码很少,当我从任何公共(public)号码拨打电话时,我在 asterisk 远程控制台上注意到了以下信息:

[Feb 24 14:27:16] NOTICE[5291]: res_pjsip/pjsip_distributor.c:525 log_failed_request: Request 'INVITE' from '"zzzzz" <sip:[email protected]>' failed for '192.168.34.1:5062' (callid: [email protected]:5062) - No matching endpoint found

如果我将调用我的 Asterisk 的号码添加到端点,那么它就可以工作 - 我可以接听这个电话。

如何添加允许所有入站调用的可能性?

最佳答案

您需要创建一个匿名端点来接受来自未知端点的入站调用。

请注意,添加匿名端点会打开系统进行扩展扫描攻击,扫描器会尝试找出您在系统中配置的扩展。他们这样做要么是通过广告电话向您发送垃圾邮件,要么利用调用转移来拨打长途号码,或出于其他一些别有用心的目的。

创建匿名端点后,将其与与扩展使用的上下文不同的上下文相关联。这可以防止他们通过您的中继线拨打长途电话。

要在 pjsip.conf 中添加匿名端点,请添加以下几行:

[anonymous]
type=endpoint
context=anonymous
disallow=all
allow=speex,g726,g722,ilbc,gsm,alaw

在拨号方案 extensions.conf 中:
[anonymous]
exten => _XXXXX,1,GotoIf(${DIALPLAN_EXISTS(local-extensions,${EXTEN},1)}?local-extensions,${EXTEN},1)
 same => n,Hangup(1)
local-extensions 是列出本地扩展的上下文。

关于asterisk - 如何在 pjsip 和 Asterisk 13 中允许入站调用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42439846/

10-13 07:21