freeswitch+sipml5实现wss方式的通话,亲测可用!

1.nginx支持https安装配置

本文运行环境在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了

2.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访问socket连接失败

fs_cli是用过8021端口进行连接fs的,通过命令netstat -nlp |grep freeswitch发现8021端口并没有listen,查资料发现,需要更改/etc/freeswitch/autoload_configs/event_socket.conf.xml中
listen-ip为0.0.0.0

3.freeswitch支持https

因为 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的和项目的证书一致!!!!

4.配置sipml

进入刚刚配置得sipml页面,点击expert mode?进行配置,截图

 

保存成功之后回到初始页面进行登录,ice servera,如果没有必须为[] !!!!

freeswitch+sipml5实现wss方式的通话,亲测可用!_第1张图片

freeswitch+sipml5实现wss方式的通话,亲测可用!_第2张图片

如果显示Connected,那恭喜你你离成功就差一步了,如果显示Disconnected: Failed to connet to the server 那就是你freeswitch配置错误了,或者wss地址写错了

4.下载voip软电话

常用的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,修改


 

你可能感兴趣的:(freeswitch,https)