Browsed by
Tag: webrtc

虚拟 miniSIPServer 接受 WebRTC 呼叫

虚拟 miniSIPServer 接受 WebRTC 呼叫

新版 miniSIPServer 允许用户用浏览器(Chrome、Firefox、Edge等支持 WebRTC 技术的浏览器)发起呼叫,稍显麻烦的是用户必须自己部署 TLS/SSL 证书以便 miniSIPServer 启动 Websocket secure 服务并接收浏览器呼叫。

我们最近将这个特性移植到云端虚拟 miniSIPServer。更方便的是,用户不需要关心证书问题,我们为虚拟 miniSIPServer 自动部署了 TLS/SSL 证书,用户只要直接使用浏览器发起呼叫即可。例如,我们在浏览器中使用类似以下的 URL 即可向自己的云端 miniSIPServer 发起呼叫:

https://www.myvoipapp.com/miniwebphone2/lite.html?server=15000.s2.minisipserver.com&clr=100&pwd=100&cld=101

其中 server 参数指定虚拟 miniSIPServer 的地址,目前仅支持后缀为 s2.minisipserver.com 的虚拟服务器。如果您的服务器后缀是旧版的 s1.minisipserver.com,只能改到新服务器才能支持 WebRTC 呼叫。

其他几个参数:clrpwdcld参考前一篇文档的说明,本地 miniSIPServer 和云端虚拟 miniSIPServer 的参数是一致的。

同样,目前虚拟 miniSIPServer 也只接受来自 WebRTC 的呼叫,不支持从 SIP 域向浏览器或者 WebRTC 发起呼叫。

Chrome/Firefox 用 WebRTC 向 SIP 发起呼叫

Chrome/Firefox 用 WebRTC 向 SIP 发起呼叫

新近发布的 miniSIPServer (V70 build 20250402)支持一个很有趣的特性:我们可以用浏览器(必须支持 WebRTC 技术,例如 Chrome、Firefox 等)向 miniSIPServer 发起呼叫,呼叫 SIP 域的设备(电话、网关等)。网络拓扑如下图所示:

语音媒体流采用端对端加密方式通过 DTLS-SRTP 传递,与 miniSIPServer 连通。目前仅支持语音通话,不支持视频通话。

浏览器 Web 侧采用简化版的信令(MCCP,miniSIPServer Call Control Protocol,即 miniSIPServer 呼叫控制协议)控制呼叫,并通过加密的 Websocket 连接( WSS,Websocket secure)与 miniSIPServer 对接。目前仅支持 Web 域向 SIP 域发起呼叫,不支持反向由 SIP 域向 Web 域发起呼叫。

我们在浏览器中输入以下 URL 即可从浏览器向 SIP 域发起呼叫(演示分机用户100 呼叫分机用户 101):

https://www.myvoipapp.com/miniwebphone2/lite.html?server=192.168.3.70&clr=100&pwd=100&cld=101

URL 类似命令行方式,其中各项参数说明如下:

(1)「https://www.myvoipapp.com/miniwebphone2/lite.html」是一个简单的页面,加载到浏览器后即可与指定的 miniSIPServer 服务器建立 WSS 连接,并发起呼叫。我们可以将这个页面及相关的资源都下载到本地或者本地的 Web 服务器,浏览器打开本地文件同样也可以发起呼叫。

(2)「server」指定 miniSIPServer 的地址。该 miniSIPServer 必须已经成功加载证书和密钥、并启动了 WSS 服务。miniSIPServer 默认总是采用 TCP 5062 端口启动 WSS 。

(3)「clr」发起呼叫的主叫用户号码。该号码必须是 miniSIPServer 的分机用户号码。

(4)「pwd」主叫用户用于鉴权的密码,即 miniSIPServer 分机用户的密码。miniSIPServer 用「号码+密码」对呼叫进行鉴权,只有鉴权通过的呼叫才允许接入,否则 miniSIPServer 会直接拒绝呼叫。

(5)「cld」呼叫的被叫号码,可以是本地分机号码,也可以是外呼号码。


语音流通过 DTLS-SRTP 传输,采用端对端协商和加密,miniSIPServer 无需对媒体进行额外配置。

miniSIPServer 仅需要配置证书和密钥启动 WSS 服务,接受浏览器 MCCP 呼叫消息。miniSIPServer 要求(1)证书和密钥保存在「应用数据目录」的「wrtcCert」子目录下;(2)文件必须是 PEM 格式;(3)证书保存为 server.crt 文件,密钥保存为server.key 文件。例如,在 Linux 系统中这两个文件应该如下所示:

$HOME/.minisipserver/wrtcCert/server.crt
$HOME/.minisipserver/wrtcCert/server.key

如果正常加载证书和密钥,miniSIPServer 将启动 WSS 服务并提示以下信息:

如果采用自签名证书,务必要注意在 Chrome、Firefox 等浏览器中允许加载自签名的证书。

V25版本更新,去掉webRTC特性

V25版本更新,去掉webRTC特性

最近我们更新了V25版本,修正了一些bug、做了一些优化,系统更加稳定。最重要的是:从这个版本开始,我们删除了webRTC特性。

在以前的blog或者文档中,我们说明了MSS webRTC特性适用于Google Chrome浏览器。Chrome升级到V48版本后,对webRTC特性做了一些改动。一如以往,这些改动没有考虑到和以前版本的兼容,这迫使我们再次不得不向客户道歉并跟进修改。综合考虑后我们认为,可能webRTC特性更适合公众网络业务,例如Google自身的hangouts业务。缺乏灵活性、兼容性考虑,webRTC可能不适合中小型企业通信网络市场。

因此我们从V25版本开始砍掉了这个特性,不过仍然保留在V24(LTS版本)中。如果您仍然在使用webRTC特性,请注意保持Chrome浏览器的版本不要超过V47版本。

webRTC!

webRTC!

webRTC是HTML5规范中定义的实时通信技术。在过去的几个月中,我们投入了巨大的资源研发和支持webRTC技术。最终我们升级miniSIPServer到最新的V18版本,支持webRTC接入!

现在您可以使用Chrome浏览器接入MSS,就像是MSS的一个分机用户。这是个很有意思的特性,有助于您部署VoIP网络。

请访问以下文档了解更多的相关细节:

http://www.myvoipapp.com/cn/docs/mss_services/webrtc/index.html