我在同一个SIP提供商处注册了两个电话号码。我希望Asterisk / PJSIP以不同于电话#2(18005551313)的方式发送电话#1(18005551212)。
[sipprovider-18005551212]
type=registration
client_uri=sip:18005551212@sip.provider.com:5060
[sipprovider-18005551313]
type=registration
client_uri=sip:18005551313@sip.provider.com:5060
Asterisk在注册期间提供的联系方式对于两者都是相同的(使用默认扩展名's'。
Contact: <sip:s@10.1.1.1:5060>;expires=120
我可以执行以下任何操作:
1)注册时,提供“s”以外的分机?允许入站呼叫在拨号方案中点击唯一的分机。
2)根据INVITE上的To:Header路由到唯一上下文? (持有唯一的电话号码)。我尝试在pjsip.conf端点块中使用'context =',但没有运气;路由可以是IP(两个电话号码都相同),也可以是名称(基于From:Header)。
任何帮助或指示都将不胜感激。
答案 0 :(得分:1)
您可以从extensions.conf
[inbound-sip]
exten => 3215445,1,Goto(sip-in-1,s,1)
exten => 2544221,1,Goto(sip-in-2,s,1)
[sip-in-1]
exten => s,1,Goto(internal-ext,6881,1)
然后调用会在相关背景中结束,以便在这种情况下进一步处理和提醒等sip-in-1
或sip-in-2
。
在sip.conf
或pjsip.conf
中,您需要为这两个号码指定入站上下文 - 在这种情况下context = inbound-sip
答案 1 :(得分:1)
你应该启用sip debug并查看呼叫是否有目的地号码。
如果没有 - 你无法获得不存在的信息。
如果有,你应该使用sip请求体中的SIP_HEADER函数创建扩展名和解析数字信息。