Asterisk 如何允许pjsip和星号13中的入站调用?

Asterisk 如何允许pjsip和星号13中的入站调用?,asterisk,sip,voip,pjsip,Asterisk,Sip,Voip,Pjsip,我已将Asterisk 13.13.1配置为PJProject 2.5.5,并启用PJSIP作为SIP驱动程序(无需编译chan_SIP) 我有完全配置的系统,它正在工作,但我有一些来电问题。我的主机连接了几个号码,当我从任何公共号码呼叫时,我注意到asterisk remote console上有以下信息: [Feb 24 14:27:16] NOTICE[5291]: res_pjsip/pjsip_distributor.c:525 log_failed_request: Request

我已将Asterisk 13.13.1配置为PJProject 2.5.5,并启用PJSIP作为SIP驱动程序(无需编译chan_SIP)

我有完全配置的系统,它正在工作,但我有一些来电问题。我的主机连接了几个号码,当我从任何公共号码呼叫时,我注意到asterisk remote console上有以下信息:

[Feb 24 14:27:16] NOTICE[5291]: res_pjsip/pjsip_distributor.c:525 log_failed_request: Request 'INVITE' from '"zzzzz" <sip:zzzzz@192.168.34.1>' failed for '192.168.34.1:5062' (callid: 0e07e7607f8f62dd225347363173bb9f@192.168.34.1:5062) - No matching endpoint found
[Feb 24 14:27:16]通知[5291]:res_pjsip/pjsip_distributor.c:525 log_失败_请求:请求'zzzzz'发出的'INVITE'请求'192.168.34.1:5062'失败(callid:0e07e7607f8f62dd225347363173bb9f@192.168.34.1:5062)-未找到匹配的终结点
如果我把呼叫我星号的号码添加到端点,那么它就工作了——我可以接听这个电话


如何添加允许所有入站呼叫的可能性?

看起来您的配置中缺少了一些东西。我的基本配置如下所示,并基于带有内部扩展的设置。此配置已从运行框中提取(尽管用户名和密码已被删除)

pjsip.conf

[transport-udp]
type = transport
protocol = udp
bind = 0.0.0.0


[reg_sipgate_premium]
type = registration
retry_interval = 20
max_retries = 10
contact_user = 0000000
expiration = 120
transport = transport-udp
outbound_auth = auth_sipgate_premium
client_uri = sip:0000000@sipgate.co.uk:5060
server_uri = sip:sipgate.co.uk:5060

[auth_sipgate_premium]
type = auth
username = 0000000
password = password

[sipgate_aor_premium]
type = aor
contact = sip:0000000@sipgate.co.uk

[sipgate-preimum]
type = endpoint
context = incomingsipgate
dtmf_mode = rfc4733
disallow = all
allow = alaw
rtp_symmetric = yes
force_rport = yes
rewrite_contact = yes
timers = yes
from_user = 0000000
from_domain = sipgate.co.uk
language = en
outbound_auth = auth_sipgate_premium
aors = sipgate_aor_premium
[incomingsipgate]
exten => 0000000,1,Goto(sipgate-in-premium,0000000,1)

[sipgate-in-premium]
exten => 0000000,1,Verbose(Incoming call from Sipgate line CallerID=${CALLERID(all)})
exten => 0000000,2,Goto(internal-ext,120,1)

[internal-ext]
exten => 120,1,Dial(SCCP/120,20,o,CallerID=${CALLERID(all)})
extensions.conf

[transport-udp]
type = transport
protocol = udp
bind = 0.0.0.0


[reg_sipgate_premium]
type = registration
retry_interval = 20
max_retries = 10
contact_user = 0000000
expiration = 120
transport = transport-udp
outbound_auth = auth_sipgate_premium
client_uri = sip:0000000@sipgate.co.uk:5060
server_uri = sip:sipgate.co.uk:5060

[auth_sipgate_premium]
type = auth
username = 0000000
password = password

[sipgate_aor_premium]
type = aor
contact = sip:0000000@sipgate.co.uk

[sipgate-preimum]
type = endpoint
context = incomingsipgate
dtmf_mode = rfc4733
disallow = all
allow = alaw
rtp_symmetric = yes
force_rport = yes
rewrite_contact = yes
timers = yes
from_user = 0000000
from_domain = sipgate.co.uk
language = en
outbound_auth = auth_sipgate_premium
aors = sipgate_aor_premium
[incomingsipgate]
exten => 0000000,1,Goto(sipgate-in-premium,0000000,1)

[sipgate-in-premium]
exten => 0000000,1,Verbose(Incoming call from Sipgate line CallerID=${CALLERID(all)})
exten => 0000000,2,Goto(internal-ext,120,1)

[internal-ext]
exten => 120,1,Dial(SCCP/120,20,o,CallerID=${CALLERID(all)})
当用户内部拨打90500xxxxxxx时,该线路用于捕获任何免费电话(0500)号码并通过sipgate进行路由

exten => _90500.,1,Dial(PJSIP/${EXTEN:1}@sipgate-preimum)

当然,问题出在您的进线操作员上下文中。问题不在pjsip中,而是在dialplan中。请检查您的中继线(或注册上下文值)以了解正确的拨号计划部分:

[outer]
exten=>_1234567,1,NoOp(Incoming call to public number 1234567)
exten=>_1234567,n,GoTo(outer,3333,1)
exten=>_1234567,n,Hangup()
exten=>_3333,1,NoOp(Transfered from public context to local extension 3333)
exten=>_3333,n,Dial(PJSIP/${EXTEN},180)
exten=>_3333,n,Hangup()
将1234567更改为您的公用号码,将3333更改为必须接收此传入呼叫的本地号码。当然,将
outer
设置为传入呼叫号码提供商注册(中继)的上下文。

您需要创建一个匿名端点来接受来自未知端点的传入呼叫

请注意,添加匿名端点会使系统遭受分机扫描攻击,扫描程序会试图找出您在系统中配置的分机。他们这样做是为了向您发送广告电话垃圾邮件,或利用呼叫转移拨打长途电话,或出于其他目的

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

要在
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
是列出您的本地扩展名的上下文。

您能用sip配置文件和拨号计划中的相关位更新您的问题吗。我有工作配置,我可以稍后为您检查。@user3788685 hi-我的配置中没有什么特殊的。拨号计划只是拨号功能。您能给我您的公司吗nfig?pjsip.conf和trunks config?我有实时端点(postgres)。完成-如果您有任何问题,请告诉我,我可以更新/更改下面答案中的信息-我的配置是静态的,根本没有数据库内容-抱歉。您应该考虑一下您是否设法让它工作了?