浏览器web页面使用sipml5(jssip,sipjs)拨打电话(mod_cti基于FreeSWITCH)-webrtc

2023-10-30 17:39:02 浏览数 (2)

前言

文本主要介绍如何在网页web端上注册sip账户,进而实现拨打和接听电话。不用再额外安装sip软电话软件以及实体的电话机,方便CRM等系统集成电话呼叫。

但是需要在网页web端上注册sip账户之前,获取到ssl证书,这个ssl证书是需要购买的。ssl证书是一种非常重要的安全工具,它可以帮助保护网站的数据安全,防止被黑客攻击或窃取。


提示:以下是本篇文章正文内容,下面案例可供参考

一、相关名词介绍

(一)、SSL证书

SSL证书,全称为安全套接层证书(Secure Sockets Layer Certificate),是一种数字证书,其主要作用是在客户端和服务器之间建立加密连接。这种证书的主要目标是确保数据在传输过程中的安全性和完整性,防止任何未经授权的第三方窃取或篡改这些数据。

SSL证书的工作原理是通过使用公钥加密技术,在客户端和服务器之间建立一个安全的、加密的连接。当客户端向服务器发送请求时,服务器会返回一个包含其公钥的数字证书。然后,客户端会使用这个公钥来加密它的消息,并将其发送回服务器。由于只有服务器拥有对应的私钥,所以只有服务器能够解密这个消息。

SSL证书通常由受信任的第三方证书颁发机构(CA)签发。这些CA是公认的、可信赖的机构,它们负责验证网站的身份并确保其安全。当一个网站想要获得SSL证书时,它需要向CA提交一些信息,如网站所有者的身份证明、网站的域名等。然后,CA会对这些信息进行核实,如果确认无误,就会签发一个SSL证书。

(二)、JSSIP

JSSIP是一个专门用于实现基于SIP(Session Initiation Protocol)协议的VoIP(Voice over Internet Protocol)通信的JavaScript库。它为开发者提供了一组功能强大的API,使得在Web应用中集成语音通话和视频通话功能变得非常简便。

通过使用JSSIP库,开发者可以轻松地在Web应用中实现实时语音和视频通信功能。SIP协议是一种用于建立、修改和终止多媒体会话的信令协议,而VoIP则是一种将语音信号转换为数字数据并通过互联网进行传输的技术。JSSIP库利用了这些技术,为开发者提供了一个简单易用的接口,使他们能够快速构建出具备语音通话和视频通话功能的Web应用。

此外,JSSIP库还支持多种浏览器和设备,包括桌面浏览器、移动设备等。这使得开发者能够在不同的平台上实现一致的用户体验。同时,JSSIP库还具有良好的兼容性和扩展性,可以根据具体需求进行定制和优化。

(三)、SIP.js

SIP.js是一个专门用于JavaScript编程语言的库。这个库的主要功能是实现了Session Initiation Protocol(SIP),这是一种在网络通信中非常重要的协议。

SIP,全称是会话初始协议,是一种应用层控制协议。它主要用于建立、修改和终止包括语音、视频在内的多媒体会话。这种协议的出现,极大地方便了网络通信的发展,使得人们可以更加方便地进行语音和视频通话。

SIP.js作为一个JavaScript库,它的出现,为前端开发者提供了极大的便利。通过使用SIP.js,开发者可以在自己的网页或者应用中实现SIP协议,从而使得用户可以直接在网页或者应用中进行语音和视频通话,无需安装任何额外的软件或者插件。


二、操作步骤

1、购买ssl证书,然后将购买到的ssl证书文件中的“域名_public.crt、域名.key、域名_chain.crt”这三个文件放入wss.pem文件中去。切记:放入到wss.pen文件中是有格式要求的,格式如下:

代码语言:javascript复制
—–BEGIN CERTIFICATE—–
—–END CERTIFICATE—–


—–BEGIN RSA PRIVATE KEY—–
—–END RSA PRIVATE KEY—–


—–BEGIN CERTIFICATE—–
—–END CERTIFICATE—–

2、将wss.pen文件上传到虚拟机中,然后再将此文件进行解码,解码命令为:openssl x509 -in wss.pem -noout -text,最后移动到freeswitch的存放证书的目录中就行。如果不知道

freeswitch的存放证书的目录在哪里,可以在freeswitch控制台中输入“global_getvar certs_dir”命令获取到目录,也可在ssh终端中输入“fs_cli -x “global_getvar certs_dir””命令,同样可以获取到。

代码语言:javascript复制
freeswitch@MiWiFi-R3D-srv> global_getvar certs_dir
/ddt/fs/certs

[root@MiWiFi-R3D-srv ~]# fs_cli -x "global_getvar certs_dir"
/ddt/fs/certs

以上代码可以看出,这两个命令都可以得到freeswitch存放证书的目录 — “/ddt/fs/certs”。

3、设置web端sip电话使用的IP和端口:

在顶顶通呼叫中心中间件的 CCAdmin -> sip -> internal(主要负责呼出的sip)中配置“wss-binding”为“本机IP “:” webrtc端口号”,例:192.168.31.102:7564。

4、创建一个用在网页web端的账号。

5、在进入网页web端注册账号之前,一定在即将注册的浏览器访问“https://192.168.31.102:7564”,如果不访问的话,后续的账 号是无法注册成功的。其中“192.168.31.102”是申请ssl证书的IP,“7564”是webrct端口,如果没有购买ssl证书,页面是提 示你这是不安全连接,如果购买了证书则是安全连接。

6、登录网站:https://www.doubango.org/sipml5/call.htm?svn=252 进行账号注册。按照图进行注册:

7、回到Home页面,点击“LogIn”按钮后,页面上出现“Connected”的提示说明已经添加成功。然后再回到 CCAdmin -> 运维调试 中,如果有页面web端注册的账号的信息,才能说明页面web端上的账号已经注册成功了。

8、最后一步,对网页web端的sip软电话进行“回音测试”,提示音过后对麦克风说话且能立马听到自己的声音。说明sip电话是 正常的且没有延迟,能够进行通话。

0 人点赞