星号远端 nat 遍历不起作用

星号远端 nat 遍历不起作用

我们使用混淆软件对位于星号之前的 SIP/RTP 进行加密/破坏。有时会发生这种情况,我们听不到任何声音。经过一些“rtp 设置调试”后,我们发现当 rtp 流的接收 IP 是路由器的公共 IP 时,一切都正常。但有时我们会将客户端的私有 IP 作为 rtp 流中的接收地址,这会导致“无声音”。似乎由于某些未知原因,星号无法遍历媒体流的 nat。

我不知道 Aterisk 如何管理 nat。但常见的 SIP nat 遍历方法规定,首先修改 SDP,将其地址作为双方的目标地址。然后等待 rtp 数据包(对称 rtp)以知道应该将媒体发送到哪个端口。

我不明白它在哪个阶段失败了。由于显示的 IP 错误,我怀疑这是因为没有正确写入 SDP。至于为什么会发生这种情况,我们仍然不知道。

有什么指示指​​出应该如何调试吗?

这种奇怪行为背后的原因我们仍然不得而知。

答案1

您是否尝试过设置外部选项?

http://www.voip-info.org/wiki/view/Asterisk+SIP+externip

另外,也许可以看看http://www.voip-info.org/wiki/view/Asterisk+sip+nat

如果对等端配置了 nat=yes,则会导致 Asterisk 忽略来自该对等端的 SIP 和 SDP 标头中的地址信息,并回复发送者的 IP 地址和端口

(我有一段时间没有看过 Asterisk 了,但是我记得 NAT 可能是一个 PITA。)

相关内容