freeswitch websocket webrtc

原创
2018/11/16 09:46
阅读数 2.4W

Install the Certificate into FreeSWITCH

Replace sipjs.com with the domain name that you used to generate the certificate.

  • cd /etc/letsencrypt/live/sipjs.com
  • echo '' >> /usr/local/freeswitch/certs/wss.pem && cat cert.pem >> /usr/local/freeswitch/certs/wss.pem && cat privkey.pem >> /usr/local/freeswitch/certs/wss.pem && cat chain.pem >> /usr/local/freeswitch/certs/wss.pem
  • Restart FreeSWITCH

 

其他还有配置在本文档的 《Freeswitch/wss》的章节。

echo '' >> /usr/local/freeswitch/certs/wss.pem &&

 

cat cert.pem >> /usr/local/freeswitch/certs/wss.pem &&

cat privkey.pem >> /usr/local/freeswitch/certs/wss.pem &&

cat chain.pem >> /usr/local/freeswitch/certs/wss.pem

 

240(139)上放了我申请的 gt.hhxx.com 的数字证书。

 

 

https://blog.csdn.net/ererfei/article/details/78330973

 

因为webRTC需要https,所以对应的FreeSWITCH提供WebSocket服务也要wss

 

conf/var.xml中有两个开关,要设置true

<X-PRE-PROCESS cmd="set" data="internal_ssl_enable=true"/>

<X-PRE-PROCESS cmd="set" data="external_ssl_enable=true"/>

 

conf/sip_profiles/internal.xml 中确保wss配置打开(SIP 服务的端口是 5060 ,默认ws端口是5066,而wss的默认端口是7443):

<!-- for sip over websocket support -->

<param name="ws-binding" value=":5066"/>

<!-- for sip over secure websocket support -->

<!-- You need wss.pem in $${certs_dir} for wss or one will be created for you -->

<param name="wss-binding" value=":7443"/>

 

配置完成之后,重启freeswitch生效。

 

https://my.oschina.net/andywang1988/blog/1928391

这里有个关于 apply-candidate-acl

 

现在有几个疑点:

1 chrome只允许https的网站使用摄像头和mic,所以我们的web需要用https(也要申请一张数字证书, 最好是用子域名申请而不是用ip申请)

2 freeswitch端需要用wss协议,也需要一张数字证书; (备注:如果freeswitch和web server放在同一台机,可能可以公用一张数字证书;)

3 防火墙需要允许一些端口,比如7443, 5060, 5066等等 还有一些动态的udp端口;

4 要确保演示用的主机上安装了摄像头和mic,并且允许chrome使用摄像头和mic;

5 如果内网不能上外网而导致dns无法解析, 可以通过增加host文件的方式指定域名/ip映射关系。

展开阅读全文
打赏
1
1 收藏
分享
加载中
打赏
0 评论
1 收藏
1
分享
返回顶部
顶部