2017-02-24 271 views
2

我已经使用PJProject 2.5.5配置了Asterisk 13.13.1,并启用了PJSIP作为SIP驱动程序(无需编译chan_sip)。如何允许pjsip和Asterisk 13中的入站呼叫?

我有完全配置的系统,它的工作,但我有一些来电问题。我有我的主机连接几个数字,当我从任何公开叫号,我注意到星号的远程控制台上的信息:

[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到端点,然后它的工作数量 - 我可以接听这个电话。

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

+0

你可以用你的SIP配置文件中的相关位更新你的问题,并请拨打计划。我有工作配置,我可以稍后检查你的。 – user3788685

+0

@ user3788685嗨 - 我没有什么特别的配置。拨号方案只是拨号功能。你能给我你的配置吗? pjsip.conf和中继配置?我有实时端点(postgres)。 – user3025978

+0

完成 - 让我知道如果你有任何问题,我可以更新/更改下面的答案中的信息 - 我的配置是静态的,没有数据库的东西 - 对不起。应该让你去,虽然 – user3788685

回答

0

它看起来像你从你丢失的东西pjsip配置。我的基本配置如下,基于内部扩展的sipgate设置。此配置已从运行框中提取(尽管用户名&密码已被删除);

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:[email protected]:5060 
server_uri = sip:sipgate.co.uk:5060 

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

[sipgate_aor_premium] 
type = aor 
contact = sip:[email protected] 

[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 

extensions.conf

[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)}) 

这条线用于捕获任何游离电话(0500)号,并经由sipgate路线它当用户拨打内部90500xxxxxxx;

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

当然,问题出在您的入线运营商上下文中。问题不在于pjsip - 它在拨号方案中。请检查您的后备箱(或注册背景值,了解正确的拨号方案部分:

[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作为上下文对于

2

来电号码提供商注册(主干),你需要创建一个匿名端点接受来自未知终端呼入电话。

注意添加匿名端点打开系统扩展scannin g扫描器试图找出您在系统中配置了哪些扩展。他们会这么做,要么通过广告电话向您发送垃圾邮件,要么利用呼叫转移来拨打长途电话号码,或者为了一些别有用心的动机。

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

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是上下文上市的本地扩展。

相关问题