z 基于 TLS 传输 SIP 消息
MYVOIPAPP

基于TLS的SIP

1. 描述

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

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

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

miniSIPServer 支持本地用户(SIP电话)以及外线采用 TLS 传输 SIP 消息。

当前 miniSIPServer 支持 TLSv1.2 以及 TLSv1.3 加密方法,不支持 SSLv2, SSLv3, TLSv1 以及 TLSv1.1。请确保您的 SIP 终端或者电话能支持 TLSv1.2 或者 TLSv1.3。

2. 配置

默认情况下无需做任何配置, miniSIPServer 会自动创建自签名证书、密钥并启动 SIP over TLS。

miniSIPServer 已启动 SIP over TLS

当然您也可以指示 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 的端口信息。

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

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

修改TLS端口

问题2: 我能采用自签名的数字证书吗?

当然可以,但是没有必要,因为 miniSIPServer 默认会自动创建自签名证书。

如果您确实需要加载自己的自签名证书,按照「2.配置」的描述保存在相应的目录下,重启 miniSIPServer 即可。

问题3:请推荐一款支持“基于TLS的SIP”的软终端

我们强烈推荐 miniSIPPhone ! 请点击此处了解该软件更多细节信息。

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

服务器地址: 192.168.3.70
TLS 端口: 5061
分机号码: 100

请参考下图了解 miniSIPPhone 中的配置,关键要明确传输类型。如果服务器是采用标准端口,则客户端无需配置端口信息。

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

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

miniSIPPhone 配置非标准 TLS 端口