本文运行环境在centeros7内网,需要在服务器上安装好nginx,可以参考百度https://blog.csdn.net/long690276759/article/details/82790002
还需要通过opensll生成证书,需要用到.key .crt ,pem文件,下面有提到。
nginx.conf文件修改
找到nginx.conf的位置,cd /usr/local/nginx/conf,修改配置文件
# HTTPS server
#
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /home/nginx/nginx-1.10.2/ssl/nginx.crt;
ssl_certificate_key /home/nginx/nginx-1.10.2/ssl/nginx.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
location /sip{
root /home;
}
}
将sipml5项目放到 /home下,将文件夹改名为sip,然后访问 https://192.168.7.65/sip/call.htm,ip为自己的ip,如果可用访问那么我们的准备工作就好了,接下来就是安装freeswitch了
yum install -y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm epel-release
yum install -y freeswitch-config-vanilla freeswitch-lang-* freeswitch-sounds-*
systemctl enable freeswitch
fs_cli -rRS
fs_cli是用过8021端口进行连接fs的,通过命令netstat -nlp |grep freeswitch发现8021端口并没有listen,查资料发现,需要更改/etc/freeswitch/autoload_configs/event_socket.conf.xml中
listen-ip为0.0.0.0
因为 WebRTC 需要 https ,对应的 WebSocket 也要 SSL 。freeSWITCH 支持 SSL 但默认没打开。
wss 配置分两部分,
conf/vars.xml 有两个开关,打开。类似下面:
conf/sip_profiles/internal.xml 中确保下面两个配置打开,一般不用改:
SIP 服务的端口是 5060 ,WebSocket(ws)服务的端口是 5066 , wss 端口是 7443 。
我在局域网内进行测试,得做一个 ACL 配置,否则调不通。
conf/autoload_configs/acl.conf.xml 中,加入下面配置:
然后,conf/sip_profiles/internal.xml 中加入下列配置:
最后,需要替换freeswitch下的wss.pem,必须和本地nginx的证书保持一致,可以在我的资源里下载,地址https://download.csdn.net/download/gsls200808/8697633
进入/etc/freeswitch/tls/ 将原来的文件改名,将生成的pem证书放到里面,必须保持freeswitch的和项目的证书一致!!!!
进入刚刚配置得sipml页面,点击expert mode?进行配置,截图
如果显示Connected,那恭喜你你离成功就差一步了,如果显示Disconnected: Failed to connet to the server 那就是你freeswitch配置错误了,或者wss地址写错了
常用的voip软电话有yate,xlite,sipdroid,如果想在pc端测试,安装前2个即可,如果想在安卓端测试,下载的第三个即可,有点需要注意,你手机端的音量把媒体音量开大最大。
然后手机端登录下,呼叫网页即可实现通话,反之一样。
freeswitch默认有20个账号,1000-1019,密码都是1234,都是可以拿来测试的,如果想要添加用户1020,在freeswitch的/etc/freeswitch/directory/default下面复制一份1000.xml,然后把所有1000的都改成1020,最好在是10开头,然后进入/etc/freeswitch/dialplan,找到default.xml,修改