CentOS7.9安装配置Freeswitch支持WebRTC通话指南

5星 · 超过95%的资源 需积分: 48 23 下载量 97 浏览量 更新于2024-08-26 1 收藏 124KB DOCX 举报
本文档详细介绍了在CentOS 7.9上安装和配置Freeswitch以支持WebRTC,包括JSSIP和SIPml5的呼叫流程。 在CentOS 7.9上部署Freeswitch并启用WebRTC支持,首先需要进行系统准备,包括禁用SELinux和关闭防火墙。通过运行`setenforce 0`来临时禁用SELinux,然后编辑`/etc/selinux/config`将`SELINUX`设置为`disabled`。接着,关闭防火墙服务,使用`systemctl stop firewalld.service`并禁用开机启动,`systemctl disable firewalld.service`。 接下来,通过yum安装Freeswitch及其相关依赖。首先添加Freeswitch的YUM仓库,执行`yum install -y https://files.freeswitch.org/repo/yum/centos-release/freeswitch-release-repo-0-1.noarch.rpm epel-release`,然后安装Freeswitch基础组件,例如`freeswitch-config-vanilla`,语言包和声音资源,使用命令`yum install -y freeswitch-lang-* freeswitch-sounds-*`。当前版本为FreeSWITCH Version 1.10.6。 配置阶段,确保WebRTC功能开启,需修改`/etc/freeswitch/vars.xml`文件。添加以下三行来开启内部和外部SSL以及外部认证呼叫: ```xml <X-PRE-PROCESS cmd="set" data="internal_ssl_enable=true"/> <X-PRE-PROCESS cmd="set" data="external_ssl_enable=true"/> <X-PRE-PROCESS cmd="set" data="external_auth_calls=true"/> ``` 配置WebRTC的WSS(WebSocket Secure)端口,需要编辑`/etc/freeswitch/sip_profiles/internal.xml`。将`ws-binding`和`wss-binding`分别设置为监听的HTTP和HTTPS端口,如: ```xml <param name="ws-binding" value=":5066"/> <param name="wss-binding" value=":7443"/> ``` 为了允许WebRTC通信,还需要配置网络访问控制列表(ACL)。编辑`/etc/freeswitch/autoload_configs/acl.conf.xml`,确保允许来自特定网络的连接。例如,允许本地网络和RFC1918地址范围的连接: ```xml <list name="localnet.auto" default="allow"> </list> <list name="rfc1918.auto" default="allow"> </list> <list name="mylan" default="allow"> <node type="allow" /> </list> ``` 完成以上步骤后,重启Freeswitch服务以应用所有更改,使用`systemctl restart freeswitch`命令。 至此,Freeswitch已配置好支持WebRTC的环境,可以与使用JSSIP和SIPml5的客户端进行通话。在实际部署时,还需要确保服务器拥有有效的SSL证书,以保障通信的安全性,并根据实际网络环境调整ACL配置,确保只允许授权的客户端接入。同时,可能还需要配置SIP服务器的路由规则,以便处理不同源的呼叫请求。