前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浏览器web页面使用sipml5(jssip,sipjs)拨打电话(mod_cti基于FreeSWITCH)-webrtc

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

原创
作者头像
何小帅丨
修改2023-10-30 17:39:02
9180
修改2023-10-30 17:39:02
举报

前言

文本主要介绍如何在网页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电话是 正常的且没有延迟,能够进行通话。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、相关名词介绍
    • (一)、SSL证书
      • (二)、JSSIP
        • (三)、SIP.js
        • 二、操作步骤
        相关产品与服务
        SSL 证书
        腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档