MYVOIPAPP

基于TLS的SIP

1. 描述

缺省情况下,大多数的SIP设备主要采用 UDP 协议来传输SIP消息,但是对于一些 SIP 设备、 VOIP 系统而言,要求采用 TLS 加密传输协议来传输 SIP 消息,尤其是部分企业建立内部统一通信系统时更是如此。

miniSIPServer V13.1 及以上版本可以支持基于UDP、TCP以及TLS的SIP消息。网络拓扑可以为以下组网:

采用不同协议的 miniSIPServer 网络拓扑

miniSIPServer 仅支持本地用户(SIP电话)采用 TLS,也就是说您无法将“SIP服务器”或者“外线”等配置为采用基于TLS的SIP。

当前 miniSIPServer 缺省仅仅支持 TLSv1.2 加密方法,不支持 SSLv2, SSLv3, TLSv1 以及 TLSv1.1。请确保您的SIP终端或者电话能支持TLSv1.2。未来我们会加入 TLSv1.3 等更严格的加密方式。

2. 配置

您仅需要指示 miniSIPServer 加载数字证书证书文件以及密钥文件。这些文件必须是PEM格式,数字证书文件应当命名为“server.crt”,密钥文件应当命名为“server.key”,并且它们应该保存在 AppData 目录中的“siptlsCert”子目录下。

例如,如果您使用 windows 系统,miniSIPServer 的 AppData 目录是 'C:\Users\your_name\AppData\Roaming\minisipserver' 目录,则您必须将数字证书保存为 “C:\Users\your_name\AppData\Roaming\minisipserver\siptlsCert\server.crt”, 密钥文件保存为“C:\Users\your_name\AppData\Roaming\minisipserver\siptlsCert\server.key”。

如果您使用 Ubuntu/Linux 版本, miniSIPServer 的 AppData 目录是 “/home/your_name/.minisipserver”, 则您的数字证书应当保存为 “/home/your_name/.minisipserver/siptlsCert/server.crt”,密钥文件应当保存为 “/home/your_name/.minisipserver/siptlsCert/server.key”。

完成上述操作后,请重新启动 miniSIPServer。如果一切正常, miniSIPServer 应当在主窗体中提示 SIP-TLS 的端口信息。

3. 常见问题
问题1: 我能用另外一个TCP端口来启动TLS吗?

缺省情况下, miniSIPServer 采用SIP标准定义的TCP端口5061来启动TLS,您也可以将其修改为任何您希望的端口,例如5062端口。在 miniSIPServer 主窗体中,请点击菜单“数据 / 系统配置 / SIP”,然后修改“TLS端口”项,重启 miniSIPServer 即可。请参考下图的配置。

修改TLS端口
问题2: 我能采用自签名的数字证书吗?

当然可以。实际上,我们在实验室中也是这么做的。您在创建自签名证书时,建议“common name”设置成您的 miniSIPServer 的IP地址或者域名。

我们通常使用 openSSL 来创建所有必须的数字证书文件, 请参考以下命令:

(1) openssl genrsa -out server.key 2048
(2) openssl req -new -key server.key -out server.csr
(3) openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt     
问题3:请推荐一款支持“基于TLS的SIP”的软终端

我们强烈推荐 microSIP ! 请点击此处访问其官方网站了解该软件更多细节信息。

在microSIP中很容易配置“SIP over TLS”方式与 miniSIPServer 配合工作。例如,以下是我们实验室的一台 miniSIPServer 设备的信息:

服务器地址: 192.168.3.16
TLS 端口: 5061
分机号码: 101

请参考下图了解 microSIP 中的配置,关键点就是要明确指定传输类型(transport)。

在 microSIP 中配置 sip over TLS 传输类型

在 "问题1" 问答章节中,我们如果将服务器的 TLS 端口修改为非标准的5062,那么在microSIP的配置中, 也需要明确指示出这个非标准端口, 如下图所示:

microSIP 配置非标准 TLS 端口

如果 microSIP 采用“基于TLS的SIP”成功注册到 miniSIPServer 服务器,它的图标将会增加一个特殊的锁标志。

microSIP 成功注册标志