更改 Asterisk UDP 端口后无法获取语音

更改 Asterisk UDP 端口后无法获取语音

测试环境由 CSipSimple 客户端、Asterisk 服务器和带 NAT 的路由器组成。以前设备使用 UDP 端口 5060,一切正常。然后我在 Asterisk、路由器的转发规则和客户端应用程序中将端口号更改为 15000。现在,当从外部访问网络时,客户端可以注册,但当它呼叫某个分机时,Asterisk 会抱怨无法创建 DAHDI 通道。当客户端在 LAN 中时,呼叫正常。

出了什么问题?我只更改了控制端口号。

更新

首先需要说明的是,当我拨打分机号码 100 时,Asterisk 总是抱怨无法创建 DAHDI 通道,无论语音是否正常。因此,可以忽略此错误消息。

现在,详细呼叫日志的不同结尾部分:

移动客户端通过3G注册,无声音(呼叫、接听、超时):

-- SIP/103-00000001 answered SIP/101-00000000
   > 0x7fda800295a0 -- Probation passed - setting RTP source address to 192.168.1.100:5062

就这样。没有其他消息。

移动客户端通过 WiFi 注册,声音正常(呼叫、接听、通话、挂断):

  -- SIP/103-00000003 answered SIP/101-00000002
     > 0x7fda88026620 -- Probation passed - setting RTP source address to 192.168.1.100:5062
     > 0x7fda78013fb0 -- Probation passed - setting RTP source address to 192.168.1.112:4000
     > 0x7fda78013fb0 -- Probation passed - setting RTP source address to 192.168.1.112:4000
  -- Executing [h@macro-dial-one:1] Macro("SIP/101-00000002", "hangupcall,") in new stack
  -- Executing [s@macro-hangupcall:1] GotoIf("SIP/101-00000002", "1?theend") in new stack
  -- Goto (macro-hangupcall,s,3)
  -- Executing [s@macro-hangupcall:3] ExecIf("SIP/101-00000002", "0?Set(CDR(recordingfile)=)") in new stack
  -- Executing [s@macro-hangupcall:4] Hangup("SIP/101-00000002", "") in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'SIP/101-00000002' in macro 'hangupcall'
== Spawn extension (macro-dial-one, h, 1) exited non-zero on 'SIP/101-00000002'
== Spawn extension (macro-dial-one, s, 43) exited non-zero on 'SIP/101-00000002' in macro 'dial-one'
== Spawn extension (macro-exten-vm, s, 9) exited non-zero on 'SIP/101-00000002' in macro 'exten-vm'
== Spawn extension (from-internal, 103, 2) exited non-zero on 'SIP/101-00000002'

答案1

我怀疑您的 SIP 端口现在在 RTP 范围内,因此 Asterisk 无法识别这是一个 SIP 连接。请移动 SIP 端口或移动 RTP 端口范围,以使它们不重叠。

请捕获失败呼叫(LAN 外)和成功呼叫(LAN 内)的 CLI 输出,并在此处发布结果。


要捕获 CLI 输出,请从 bash 提示符开始:

asterisk -r
core set verbose 10

然后从您的 LAN 拨打电话,成功,然后从 LAN 外部拨打电话,失败。发布上述完整输出(我假设您有一个简单的拨号方案)。如果您使用的是 Elastix 或 FreePBX 等预装 PBX,则输出可能太长,无法在此处发布...

相关内容