-1

Asterisk 的老用户,但对 OpenSIPs 来说还是个新手。在直接从 Asterisk 注册和接听电话时,我有一部 SIP 电话可以双向使用音频。如果我注册到 OpenSIP 并收到来自 OpenSIP 的呼叫,但只有当呼叫来自我们的 Asterisk 服务器以外的某个地方时,同一部电话才能使用 2 路音频。

有效的例子:

从 PSTN > OpenSIPs > SIP 电话呼叫(注册到 OpenSIPs)

从 PSTN > Asterisk > SIP 电话呼叫(注册到 Asterisk)

不起作用的示例,一种方式的音频问题:

从 PSTN > Asterisk > OpenSIPs > SIP 电话呼叫(注册到 OpenSIPs)

我正在尝试将我们所有的注册从 Asterisk 卸载到 OpenSIP,但是当我们将呼叫从 Asterisk 传递到 OpenSIP 时,呼叫会转到注册到 OpenSIP 但具有单向音频的电话。

不要认为这是一个防火墙问题,因为我们已经在 Asterisk 和 OpenSIP 上的防火墙关闭时进行了测试。

已经测试了许多理论,但是,我在这一点上不知所措,没有想法。我想我会问这里的聪明人。

提前感谢您的帮助。

4

1 回答 1

0

我通过在 OpenSIPs 服务器配置下的 Asterisk 服务器上的 sip.conf 中设置 nat=yes 来解决此问题。

我注意到,当我在更新版本的 Asterisk 上进行测试时,我在 Asterisk 控制台中遇到了更好的错误。我注意到 Asterisk 正试图将 RTP 发送到端点(我的 sip 电话)的专用 LAN IP,而不是电话所在的互联网连接的公共 IP。不知道它为什么要这样做。我想知道是否需要修改 OpenSIP。令我困惑的是,在向具有静态公共 IP 的服务器发送呼叫时,我不必在 Asterisk 上设置 nat=yes。在这种情况下,我正在向 456@xxx.xxx.xxx.xxx 之类的分机发送呼叫,其中 xxx 是我的 OpenSIPs 服务器的公共静态 IP,因此此处不涉及 NAT。当呼叫被发送到位于 NAT 后面的端点时,NAT 开始发挥作用。对我来说没有任何意义,为什么我必须设置 nat=yes 才能完成这项工作,但是,这是一个立即修复。

于 2019-09-26T22:33:23.857 回答