0

我在 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:

如果我更改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

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

4

2 回答 2

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]用我的扩展名指定一个上下文,那将有效。这就像一个魅力。

于 2013-10-01T14:13:29.450 回答
0

采用

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

或在 from-qsc 上下文中创建“我的块”扩展。

于 2013-10-01T03:15:00.363 回答