FreeSwitch 与软电话之间的连接问题

FreeSwitch 与软电话之间的连接问题

我的 X-Lite 软件电话和 FreeSwitch 之间存在连接问题。软件电话发出错误消息“无法建立呼叫”,但 SIP 注册成功。

以下是设置详情:X-Lite 软件电话应用程序安装在我的 Windows 10 VM 上。FreeSwitch 安装在我的 Centos7 VM 上。两个 VM 都在同一网络上。

我可以关闭 Centos 上的防火墙,但呼叫仍能成功接通,因此这肯定是防火墙配置问题。

以下是我尝试过的方法:1. 我为firewalld创建了一个自定义freeswitch服务,以便它为默认的外部和内部配置文件打开2个端口,但仍然出现相同的错误。2. 我在Centos上安装了iptraf来监控流量。我注意到以下消息:“ICMP dest unrch(主机通信被拒绝)(576字节)从eth0上的CENTOS_IP到WINDOWS10_IP”。

不太确定我还能做什么来调试这个问题。任何帮助我都感激不尽。谢谢!

答案1

我必须编辑我的防火墙自定义服务文件以允许 udp 流量。它以前只允许 tcp 流量。因此,我的服务文件现在如下所示:

FreeSwitch 这是一项处理各种电话功能的服务

只需将 EXTERNAL_PROFILE_PORT 和 INTERNAL_PROFILE_PORT 替换为您的真实配置文件端口。默认值分别为 5080 和 5060。

附注:您可能还想打开 rtp 流量的端口范围,否则您可能能够呼叫但听不到任何声音。freeswitch 的默认 rtp 端口范围是 16384-32768,它使用 udp 协议。因此,您可以像这样打开端口范围:sudo firewall-cmd --zone=home --add-port=16384-32789/udp。只需确保将区域更改为要修改的区域。在上面的命令中设置为“home”区域。测试以确保它有效,然后使用“permanent”参数运行相同的命令以使更改永久生效:sudo firewall-cmd --zone=home --permanent --add-port=16384-32789/udp。

相关内容