我在 SIP 提供商处有 100 个电话号码 block 。我正在尝试构建一个 Asterisk 服务器,它可以充当所有这些号码的客户端,并为每个号码提供一个语音框。
无论我调用什么分机,Asterisk 总是寻找一个以我的 block 的前 10 位数字命名的分机 - 没有调用的分机。
我的 sip.conf
看起来像这样:
[global]
register => [My Block]:[Password]@sip.qsc.de
[qsc]
host=sip.qsc.de
context=from-qsc
type=peer
dtmfmode=rfc2833
disallow=all
allow=alaw
allow=ulaw
insecure=invite,port
username=[My Block]
secret=[Password]
requirecalltoken=no
nat=no
qualify=yes
和我的 extensions.conf:
[from-qsc]
exten => 78,1,Answer()
exten => 78,n,Voicemail(78,u)
exten => 78,n,Hangup
如果我调用 [My Block]78 我会得到
[Sep 30 16:18:39] NOTICE[19878][C-00000004]: chan_sip.c:25381 handle_request_invite: Call from '[My Block]' ([Provider IP]:5060) to extension '[My Block]' rejected because extension not found in context 'from-qsc'.
如果我定义扩展名 [My Block] 一切正常,但我无法为不同的扩展名配置不同的语音箱,因为似乎 Asterisk 对所调用的扩展名一无所知。
编辑 2013-10-01:
如果我更改
register =>
在我的 sip.conf 中添加一个扩展名,它不会改变任何东西。根据voip-info.org某些提供商有时会出现这种情况。无论我在注册后添加什么扩展,Asterisk 总是使用 [My Block] 作为扩展 - 忘了提。更新了问题。
我找到了 extensions.conf和 sip.conf来自我的提供商。但是使用它们,我得到了
[Oct 1 09:02:51] WARNING[21174][C-0000000d]: ast_expr2.fl:470 ast_yyerror: ast_yyerror(): syntax error: syntax error, unexpected '<token>', expecting $end; Input:
$<{SIP_HEADER(P-Called-Party-ID)}> != ""
^
[Oct 1 09:02:51] WARNING[21174][C-0000000d]: ast_expr2.fl:474 ast_yyerror: If you have questions, please refer to https://wiki.asterisk.org/wiki/display/AST/Channel+Variables
[Oct 1 09:02:51] WARNING[21174][C-0000000d]: pbx.c:6390 __ast_pbx_run: Channel 'SIP/qsc-00000008' sent to invalid extension but no invalid handler: context,exten,priority=local,78,1
但是提到的维基文章对我没有帮助:/。
最佳答案
我知道了。这是提供程序 extensions.conf 中的语法错误。我从提供者那里更改了 extensions.conf 中的前两行,如下所示:
exten => _X.,1,ExecIf($["${SIP_HEADER(P-Called-Party-ID)}" != ""]?macro(from-sip,${SIP_HEADER(P-Called-Party-ID)}))
exten => _X.,2,ExecIf($["${SIP_HEADER(TO)}" != ""]?macro(from-sip,${SIP_HEADER(TO)}))
如果我指定
[local]
则有效上下文与我的扩展。这就像一个魅力。
关于centos - Asterisk 作为 SIP 客户端忽略被拨号码后面的分机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19096633/