freeswitch websocket webrtc

半世苍凉 提交于 2019-12-09 20:31:50

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映射关系。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!