Freeswitch 32 秒后挂断电话

Mik*_*lls 2 voip freeswitch

因此,我在树莓派 PI 3 上安装了 Freeswitch,但它在 32 秒后掉线。我在谷歌上进行了广泛的搜索,这似乎是一个常见问题,但所有遇到这个问题的人都有复杂的外部网关、VPN、NAT、多个子网等设置。就我而言,我使用的是几乎沼泽库存配置,唯一的配置我所做的更改是从配置中删除 IPv6 配置文件。我什至没有更改默认密码。我正在使用带有 /24 子网的家庭网络上的所有内容以及所有内部电话。起初我以为是网络丢包,但这种情况只发生在某些手机上。这 2 部手机分别是 Android 版本的 Zoiper 和我 PC 上旧版本的 Zoiper。我在同一台电脑上安装了较新版本的 Zoiper,没有任何问题。我发现的所有内容都涉及 NAT、STUN、VPN、防火墙等。我没有这些,防火墙在 PC 和 PI 上被禁用。流量不通过我的路由器。一个不工作的实例是使用 UDP,另一个是 TCP。所有的工作都是TCP。这是开箱即用的沼泽库存。有任何想法吗?

Mik*_*lls 5

所以我解决了这个问题。我捕获了有效呼叫和无效呼叫的数据包。看起来 Freeswitch 实际上要求客户端响应与我的公共 IP 相似但不相同的 IP 地址。有效的客户似乎忽略了这一点,只是在本地做出响应。某些客户端会按照指示执行操作并将 ACK 发送到指定的 IP。然后 Freeswitch 会继续请求 ACK,并最终挂断。我不确定为什么 Freeswitch 会这样做,但这似乎是全新安装的默认行为。为了解决这个问题,我更改了以下设置,并且必须完全重新启动 Freeswitch。reloadxml 不起作用。

文件是:

/etc/freeswitch/sip_profiles/internal.xml
Run Code Online (Sandbox Code Playgroud)

设置为(默认设置已注释掉):

<!-- param name="ext-rtp-ip" value="$${external_rtp_ip}"/ -->
<param name="ext-rtp-ip" value="$${local_ip_v4}"/>
<!-- param name="ext-sip-ip" value="$${external_rtp_ip}"/ -->
<param name="ext-sip-ip" value="$${local_ip_v4}"/>
Run Code Online (Sandbox Code Playgroud)