我已经配置了 VOIP 提供商和 voip 设备。
Sip配置如下
sip.conf
[operator]
canreinvite=no
context=from-operator
host=operator_ip
secret=operator_secret
type=peer
qualify=yes
port=5060
defaultuser=operator_number
fromuser=operator_number
fromhost=operator_ip
fromdomain=operator_ip
dtmfmode=rfc2833
authuser=operator_number@operator_ip
trustrpid=yes
sendrpid=yes
insecure=invite
[office1]
type=friend
secret=my_secret
host=dynamic
qualify=yes
directmedia=no
context=from-office
nat=force_rport,comedia
extensions.conf
[from-operator]
; call office1
exten => _X.,1,Dial(SIP/office1)
exten => _X.,n,Hangup()
当我拨打我的接线员号码时,它应该重定向到 office1。
但是我收到了以下错误。
Call from 'OPERATOR_NUMBER' (X.55.178.68:5060) to extension 's' rejected because extension not found in context 'from-operator'.
我不知道这到底's'
是从哪里来的?
答案1
s 是“空扩展”或“开始扩展”,请参阅这里
这意味着 Asterisk 无法确定来电的 DST。通常,这是呼叫sip:ip_here:5060
S 将不会匹配 _X. 模式(即 DIGIT+某些内容,至少两个位置)。
https://wiki.asterisk.org/wiki/display/AST/Pattern+Matching
您可以在拨号计划中捕获 s(为 s 编写规则)或者您可以尝试从 sip 标头中找到 DST(请参阅 sip 调试以确定是否可行)。