充当SIP客户端的星号忽略拨打号码后面的分机号码

时间:2013-09-30 14:21:19

标签: centos asterisk

我在SIP提供商处有一个100个电话号码块。我正在尝试构建一个Asterisk服务器,它可以充当所有这些号码的客户端,并为每个号码提供一个语音盒。

无论我拨打什么分机,Asterisk总是会查找以我的区块的前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:

如果我在sip.conf中更改register =>行并添加扩展名,则不会更改任何内容。根据{{​​3}},某些提供者有时会这样。

无论我在注册后添加什么扩展名,Asterisk总是使用[My Block]作为扩展名 - 忘了提及。更新了问题。

我从我的提供商处找到了voip-info.orgextensions.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

但是上面提到的维基文章对我没有帮助:/。

2 个答案:

答案 0 :(得分: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]上下文,则可以正常工作。这就像一个魅力。

答案 1 :(得分:0)

使用

register => [My Block]:[Password]@sip.qsc.de/78

在from-qsc上下文中创建“My Block”扩展名。