浏览器SIP电话
现在的浏览器都支持 webrtc 了,浏览器通过webrtc就可以直接注册sip账户到 Freeswitch 上,从而实现拨打和接听电话。无需额外安装软电话或者硬件的电话机,方便CRM等系统集成电话呼叫功能。
# ssl 证书
全称为安全套接层证书(Secure Sockets Layer Certificate),是一种数字证书,其主要作用是在客户端和服务器之间建立加密连接。这种证书的主要目标是确保数据在传输过程中的安全性和完整性,防止任何未经授权的第三方窃取或篡改这些数据。
它可以帮助保护网站的数据安全,防止被黑客攻击或窃取。
# 购买 ssl 证书
前往阿里云、华为云等厂家购买 ssl 证书(阿里云有提供1年的免费证书,可以用来测试)。然后下载 apache
格式的证书,再将下载的证书中的“域名_public.crt
、域名.key
、域名_chain.crt
”这三个文件内容依次放入到 wss.pem 文件中。(腾讯的 ssl 证书略有不同,放入 wss.pem 文件的腾讯证书的顺序是:域名.crt
、域名.key
、root_bundle.crt
)
下载的证书放入到 wss.pem 文件中,有严格的格式要求:
—–BEGIN CERTIFICATE—–
—–END CERTIFICATE—–
—–BEGIN RSA PRIVATE KEY—–
—–END RSA PRIVATE KEY—–
—–BEGIN CERTIFICATE—–
—–END CERTIFICATE—–
2
3
4
5
6
7
8
# CCAdmin-Web 配置 webrtc
- 将配置好的 wss.pem 文件放入到安装了 Freeswitch 的服务器路径中:
/ddt/fs/certs
。 - 设置 webrtc 所用的IP和端口:CCAdmin-Web -> 呼叫中心 -> SIP设置 -> internal -> 变量:
wss-binding
设置为0.0.0.0:7443
或者:7443
,端口选择当前服务器没有使用的端口即可(如果当前服务器属于云服务器,或者开启了防火墙,需要将该端口开放一下,端口类型:TCP)。 - 设置wss.pem文件的存放路径:CCAdmin-Web -> 呼叫中心 -> SIP设置 -> internal -> 变量:
tls-cert-dir
设置为wss.pem文件的绝对路径。例如:/ddt/fs/certs
。 - 重载 sofia 模块:CCAdmin-Web -> 运维调试 -> FS终端 -> 输入命令并执行:
reload mod_sofia
。
查看配置是否已经生效:CCAdmin-Web -> 系统状态 -> SIP状态 -> internal -> 查看该SIP状态中是否有变量:wss-bind-url
。如图所示:
# 创建分机
创建一个用于浏览器注册的分机:
创建流程:CCAdmin-Web -> 呼叫中心 -> 分机设置 ->点击“新建”按钮 ->“名称”输入分机号 | “密码”输入分机的密码 | 点击“确定”按钮。
# 验证 ssl 证书
在利用浏览器注册分机之前,需要用即将注册分机的浏览器访问:https://证书域名:7443
,如果证书格式正确,此时页面不会提示不安全连接。但如果提示了不安全连接,则需要检查 wss.pem 文件中的格式是否正确,是否重启了 sofia 模块。如果还是无法解决,可联系顶顶通的工作人员。
注:浏览器访问:https://证书域名:7443的情况是证书域名解析出的ip是freeswitch所在的服务器ip。如果不是,访问的时候,要把证书域名替换成SIP代理服务器ip。
ssl 证书验证成功的页面展示:
# 注册分机
在验证了 ssl 证书的浏览器中访问该地址:https://www.ddrj.com/jssip/jssip.html (opens new window),开始注册分机。
分机注册信息讲解:
SIP URl
:sip:分机号@SIP代理服务器IPSIP Password
:分机密码WSS URl
:wss://证书域名:wss-portSIP Phone Info
:输入呼叫的号码
# 流程
按要求填写分机的注册信息。
点击“初始化”按钮进行注册。查看分机是否注册,可按F12打开浏览器的开发者工具,然后将开发者工具切换至“控制台”页面,点击“初始化”按钮后输出以下信令,则说明分机已经注册成功:
registered: 200 , OK 20240426100422 jssip.html:130:21 NOTIFY sip:91rati8e@kflkvnskjf2e.invalid;transport=ws SIP/2.0 Via: SIP/2.0/WSS 129.211.24.206:11450;rport;branch=z9hG4bK7meN54agpc9Qj Route: <sip:91rati8e@59.61.175.245:10721>;transport=wss Max-Forwards: 70 From: <sip:10002@129.211.24.206>;tag=ya6aDFtv7F9ga To: <sip:10002@129.211.24.206> Call-ID: 245d92a0-7e14-123d-94a0-525400a329dc CSeq: 82494739 NOTIFY Contact: <sip:mod_sofia@129.211.24.206:11450> User-Agent: ddtswitch Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY Supported: path, replaces Event: message-summary Allow-Events: talk, hold, conference, refer Subscription-State: terminated;reason=noresource Content-Type: application/simple-message-summary Content-Length: 62 Messages-Waiting: no Message-Account: sip:10002@10.0.4.14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23在
SIP Phone Info
输入框输入需要呼叫的号码,然后再点击“呼叫”按钮,即可开始呼叫。