Browsed by
Tag: websocket

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 等浏览器中允许加载自签名的证书。

长期支持版本V16以及最新稳定版本V17

长期支持版本V16以及最新稳定版本V17

V16版本已经发布了一段时间,根据我们测试的结果以及用户的反馈,这是非常令人兴奋的版本,因此我们决定将长期支持版本升级到V16,尤其是这个版本支持极其重要的特性:IPv6!

同时,稳定版本升级到V17版本。在这个版本中,我们做出了一些重要的变更:

事件通道特性

V17支持“事件通道”特性。事件通道基于websocket,客户自己的程序可以通过创建websocket连接从MSS获取呼叫的状态。请参考在线文档:

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

MSS中继

“MSS中继”是采用我们私有定制的协议的中继类型,主要用于绕过一些ISP的封锁。这个特性帮助了一部分客户在特殊地区部署自己的VOIP网络。考虑到MSS已经可以支持基于TLS的SIP协议,我们认为这个特性已经能够替代“MSS中继”,因此从V17版本开始,后续版本将不再支持“MSS中继”。

我们希望新版本能满足您的需求,帮助您部署VOIP网络。请享受新版本带来的强大功能和便利。如果您有任何建议或者问题,欢迎您和我们联系。