缺省情况下,大多数的SIP设备主要采用 UDP 协议来传输SIP消息,但是对于一些 SIP 设备、 VOIP 系统而言,要求采用 TLS 加密传输协议来传输 SIP 消息,尤其是部分企业建立内部统一通信系统时更是如此。
miniSIPServer V13.1 及以上版本可以支持基于UDP、TCP以及TLS的SIP消息。网络拓扑可以为以下组网:
miniSIPServer 仅支持本地用户(SIP电话)采用 TLS,也就是说您无法将“SIP中继”或者“外线”等配置为采用基于TLS传输。
当前 miniSIPServer 支持 TLSv1.2 以及 TLSv1.3 加密方法,不支持 SSLv2, SSLv3, TLSv1 以及 TLSv1.1。请确保您的 SIP 终端或者电话能支持 TLSv1.2 或者 TLSv1.3。
您仅需要指示 miniSIPServer 加载数字证书证书文件以及密钥文件。这些文件必须是PEM格式,数字证书文件应当命名为“server.crt”,密钥文件应当命名为“server.key”,并且它们应该保存在 应用数据目录中的“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 版本, 则您的数字证书应当保存为 “$HOME/.minisipserver/siptlsCert/server.crt”,密钥文件应当保存为 “$HOME/.minisipserver/siptlsCert/server.key”。
完成上述操作后,请重新启动 miniSIPServer。如果一切正常, miniSIPServer 在主窗体日志中显示 SIP-TLS 的端口信息。
缺省情况下, miniSIPServer 采用SIP标准定义的TCP端口5061来启动TLS,您也可以将其修改为任何您希望的端口,例如5062端口。在 miniSIPServer 主窗体中,请点击菜单“数据 / 系统配置 / SIP”,然后修改“TLS端口”项,重启 miniSIPServer 即可。请参考下图的配置。
当然可以。实际上,我们在实验室中也是这么做的。您在创建自签名证书时,建议“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
我们强烈推荐 MicroSIP ! 请点击此处访问其官方网站了解该软件更多细节信息。
在MicroSIP中很容易配置“SIP over TLS”方式与 miniSIPServer 配合工作。例如,以下是我们实验室的一台 miniSIPServer 设备的信息:
服务器地址: 192.168.3.16 TLS 端口: 5061 分机号码: 101
请参考下图了解 MicroSIP 中的配置,关键点就是要明确指定传输类型(transport)。
在 "问题1" 问答章节中,我们如果将服务器的 TLS 端口修改为非标准的5062,那么在MicroSIP的配置中, 也需要明确指示出这个非标准端口, 如下图所示:
如果 MicroSIP 采用“基于TLS的SIP”成功注册到 miniSIPServer 服务器,它的图标将会增加一个特殊的锁标志。