浏览器拨打电话 nginx代理wss (mod_cti基于FreeSWITCH)
文章目录
- 前言
- 关于我们
- nginx配置
- 中间件修改
- acl.conf配置文件修改
- sip配置修改
- 分机注册
前言
现在的浏览器都已支持webrtc,浏览器可通过webrtc直接注册sip账户到FreeSWITCH,进入实现实现拨打和接听电话。但是从安全角度来看,FreeSWITCH配置SSL证书的步骤有些复杂。如果使用nginx代理wss的方式,就可以跳过一些步骤,实现更加便捷。
关于我们
小何:18270073585 (VX同号)
nginx配置
- 修改/etc/nginx/nginx.conf配置文件:
server {listen 443 ssl http2;server_name _;root /usr/share/nginx/html;//nginx配置SSL证书的地方。ssl_certificate "/etc/pki/nginx/www.ddcti.com.crt";ssl_certificate_key "/etc/pki/nginx/www.ddcti.com.key";ssl_session_cache shared:SSL:1m;ssl_session_timeout 10m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}//wss转发的配置location ^~ /sip {proxy_pass http://192.168.31.213:8000/; //这里的IP修改成服务器的内网IP,端口与中间件配置的ws端口一致。proxy_http_version 1.1;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_read_timeout 60s;proxy_set_header Upgrade websocket;proxy_set_header Connection Upgrade;}}
- 检查配置文件的格式是否正确,SSH控制台执行命令:
nginx -t
如果输出结果如以下所示,说明文件的格式没有问题:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
中间件修改
acl.conf配置文件修改
CCAdmin-Web->呼叫中心->配置文件设置->找到acl.conf配置文件->新增以下配置:
<list name="mylan" default="deny"></list>
sip配置修改
-
CCAdmin-Web->呼叫中心->SIP设置->找到internal配置->按要求修改以下参数:
local-network-acl
:修改成mylan。ws-binding
:内网IP:ws端口。例:192.168.31.213:8000,ws端口与nginx中的转发配置的端口一致。
-
CCAdmin-Web->运维调试->FS终端->执行命令:
reload mod_sofia
,使sip配置生效。
分机注册
浏览器访问地址:https://www.ddrj.com/jssip/index.html,开始注册分机:
用户名
:分机号。密码
:分机密码。WSS
:域名/sip。(注意:这里的域名后面需要带sip路径)