通过被叫号码路由来电

时间:2016-02-17 22:17:44

标签: asterisk pjsip

我在同一个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)。

任何帮助或指示都将不胜感激。

2 个答案:

答案 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-1sip-in-2

sip.confpjsip.conf中,您需要为这两个号码指定入站上下文 - 在这种情况下context = inbound-sip

答案 1 :(得分:1)

你应该启用sip debug并查看呼叫是否有目的地号码。

如果没有 - 你无法获得不存在的信息。

如果有,你应该使用sip请求体中的SIP_HEADER函数创建扩展名和解析数字信息。