Browsed by
Tag: voip

优化「连选组」业务

优化「连选组」业务

「连选组」是一项非常古老的企业通信业务,在电路电话时代就有广泛的应用, VoIP 时代也仍然有大量的企业部署该业务。然而时代毕竟变了,业务本身也需要与时俱进,适应 IP 网络的特点和要求。我们依据最近客户的需求和网络环境的变化,对 miniSIPServer 的「连选组」业务做了一些优化。

主要是对业务中的「话务员」特性进行修改和优化,请参考下图:

连选组话务员配置

修改一:一位话务员可以同时配置在多个连选组中。以往限定了一位话务员只能配置在一个连续组中,这已经不符合现代企业的要求。企业中有些员工往往承担复合性工作,因此有很大可能需要同时支持多个连选组,新特性适配了这个需求。

在电路电话时代,话机终端缺乏足够的能力,因此通常「连选组」会允许话务员拨打特定的电话登录、或者登出连选组。出于以下几方面的考虑,miniSIPServer 新连选组业务不再支持话务员登录、登出操作:(1)如今的 SIP 终端多数都具备足够的能力,可以在终端侧实现「免打扰」等功能,因此没有必要再手工登录或者登出。(2)一位话务员同时支持多个连选组后,简单的登录、登出无法满足需要,需要修改为针对特定的连选组进行操作,拨号变得繁琐而没有必要。

修改二:如果连选组的组策略是「线性策略」,我们可以指定话务员的顺序号,从而设定话务员被选择的顺序。以往是按照话务员登录系统的先后顺序默认为组的选择顺序,其实就是随机顺序,这无法满足目前的需求,实际情况中有些话务员在组内的优先级别总是会有差异。话务员设定的「线性策略顺序号」越小,则越先被连选组选中。如果顺序号相同,则以登录系统的时间进行排序,先登录的优先被选择。

当然,这个新配置项对「轮选策略」无效,「轮选策略」总是尽量均匀地选择话务员,均匀分配工作量。

本地 miniSIPServer 和 云 miniSIPServer 的「连选组」业务都已经更新。业务的配置和使用都没有差异,请参考业务文档了解更详细的信息。

安全的企业 SIP 通信

安全的企业 SIP 通信

企业内部的通信系统一般部署在私网内部,在网络边缘部署 SBC 或者语音网关与外部进行通信,因此大部分场景下企业通信都很安全。然而越来越多的企业在云端部署 SIP 服务器,而企业内部的 SIP 终端也越来越多地从外部网络接入企业 SIP 服务器,这使得部分(或者全部)企业通信系统暴露在公共网络中,安全问题日益严重。

企业 SIP 通信安全涉及网络系统的许多方面,例如防火墙等。仅就 SIP 通信本身而言必须加密,避免将通信信息暴露给其他网络用户。加密的 SIP 通信包含两个部分:(1)SIP 消息(信令)加密,以及(2)语音流(RTP)加密,如下图所示:

SIP 加密通信网络拓扑

当然,企业可以部署 VPN 将整个网络系统(不仅仅是通信系统,也包括办公系统等)进行加密,加密的 SIP 通信也可以建立在 VPN 之上。建立企业 VPN 成本比较高、系统比较复杂,本文仅讨论加密的 SIP 通信,不涉及VPN 等其他网络安全技术。

SIP 消息的加密通过「SIP over TLS」实现,云 miniSIPServer、本地 miniSIPServer 以及 miniSIPPhone 都支持 SIP over TLSv1.2 / TLSv1.3。请参考在线文档,本文不再赘述。

语音流通过 SRTP 传输实现加密,SRTP 的 master key 和 master salt 通过 SIP 消息的 SDP ( RFC4568 )传输、协商,因此 SIP 消息加密才能确保 SRTP 的关键信息不会泄露,仅仅 SRTP 传输加密语音流、但是明文传递 SIP 消息,不能确保整个 SIP 通信的安全性。

RFC4568 中定义了几种加密套件,目前我们选择支持默认的 AES_CM_128_HMAC_SHA1_80 ,暂不支持其他加密套件。

SRTP 协议族包含诸多扩展,目前 miniSIPServer 和 miniSIPPhone 支持最基础的 RFC3711 协议,这也是绝大多数 SIP 设备(包括服务器、PBX、SBC 以及终端)都支持的基础 SRTP 协议。目前不支持 DTLS-SRTP,主要考虑以下几点:(1)SIP over TLS 已经可以确保 master key & salt 的安全性,与 DTLS 的作用等效;(2)虽然 WebRTC 等互联网技术广泛采用了 DTLS-SRTP,但大部分 SIP 设备并不支持 DTLS-SRTP,在企业 SIP 通信领域会有互联互通的问题。

miniSIPServer 和 miniSIPPhone 默认可以选择 SRTP,无需额外的配置。部分 SIP 设备需要明确配置是否选择 SRTP,例如 MicroSIP 在配置账号时,「Media Encryption」需做以下设定:

MicroSIP 配置 SRTP
欢迎! Debian 13 (Trixie)!

欢迎! Debian 13 (Trixie)!

Debian 13 (Trixie) 昨天发布了。这个版本是最新的稳定版本,非常适合商业部署。我们是 Debian 系统的忠诚粉丝,第一时间在该系统上安装、测试了 miniSIPServer。所有的测试用例都通过了,结果很完美!

在 Debian 13 (Trixie) 系统上运行 miniSIPServer

您可以在 Trixie 系统上部署 miniSIPServer,构建企业通讯环境,这绝对是一个令人兴奋的选择!

miniSIPPhone 支持 SIP over TCP/TLS

miniSIPPhone 支持 SIP over TCP/TLS

是的,我们又升级 miniSIPPhone了!

miniSIPPhone V10.10 现在可以支持 SIP over TCP/TLS。在 SIP 账户的配置中新增了“传输”一项,用于指定采用哪种传输方式连接 SIP 服务器:

SIP 账户中“传输”项的配置

如果采用 SIP over TLS,那所有的 SIP 消息都是加密传输。如果企业通信系统中的设备(分机或者服务器)是部署在公共网络,那就非常有必要对通信内容进行加密保护。我们知道云 miniSIPServer 系统支持 SIP over TLS,而且云系统都部署在公共网络中,因此如果客户端同时部署 miniSIPPhone 的话,整个企业 VoIP 系统显然会更安全。

当然,miniSIPPhone 也可以与其他支持 SIP over TCP/TLS 的服务器(或者 PBX )一起工作,共同构建完整、安全的企业通信系统。

会议室以及其他

会议室以及其他

近日 miniSIPServer 升级到V60版本,这是最新的、可用于商业部署的稳定版本。第一个重大特性就是“会议室”业务,该业务支持不超过 5 个本地分机用户的会议呼叫。请参考业务文档了解细节。miniSIPServer 云也同步升级支持该业务。

另外,正如我们在前一篇博客中提到,V60 业务最终移除了部分老旧的业务,例如呼叫卡、话吧。这些业务曾经对我们某些特定的客户非常重要,但就目前而言该对这些业务说再见了。

优化 miniSIPServer

优化 miniSIPServer

大约 20 年前我们开发并发布了 miniSIPServer,期间我们为越来越多的客户加入了非常多的特性和业务。

最近我们重新审视了 miniSIPServer 的所有业务。其中有些业务的历史非常悠久,我们判定这些业务可能已经无法适应目前的环境(或者说在当前环境下已经没有实用意义),例如“话吧”、“呼叫卡”等各类业务。

下一个版本将优化(或者清除)这类老旧的业务,miniSIPServer 将步入新的阶段,会变得更快、更稳定、更适合新的 VoIP 网络需求。

在 Ubuntu 24.04 (Noble Numbat)系统中运行 miniSIPServer

在 Ubuntu 24.04 (Noble Numbat)系统中运行 miniSIPServer

Ubuntu 24.04 是最新的 LTS(长期支持)版本,很显然在商业环境中将会有很广泛的部署。我们安装了这个重要的版本,并运行 miniSIPServer 进行了一些测试。测试结果非常不错,运行界面如下图所示:

在 Ubuntu 24.04 系统上运行 miniSIPServer

如果您希望在 Linux 环境中部署一个新的 VoIP 系统,那 Ubuntu 24.04 是个不错的选择。

请参考在线文档了解如何在 Linux 系统部署 miniSIPServer 的更多细节。

外线的 RequestURI 参数

外线的 RequestURI 参数

miniSIPServer 与 VoIP 服务器(网关)通过外线连接,发送消息(例如 REGISTER 或者 INVITE等消息)时会在 Request-URI 中自动附加参数“user=phone”。这是来自中国移动的要求。多数情况下这种做法都没有问题,在 RFC3261 规范中也明确定义了 RequestURI 的附加参数。

然而事情总有意外。最近有些客户向我们反映,miniSIPServer 与他们的 VoIP 服务商网络对接失败,对方服务器无法识别 RequestURI 的参数。当然,简单的方法自然是这些服务商升级自己的服务器,遵循 RFC3261 标准规范的定义,这样大家都会很舒适。

其中个别运营商坚持目前的状态,不愿意做出任何改变。那怎么办呢?我们不得不在外线的配置做出一点修改,请参考下图:

外线的 RequestUR 附加参数配置

我们在外线的“出呼叫”配置中,增加了一项“Request-URI 附加参数”。客户们可以根据自己的网络状况来设置该项的值。

需要说明的是,如果是中文界面,我们默认客户是在中国的网络环境下配置外线,因此该项的默认值是“user=phone“,而其他语种的界面中,该项默认为空。我们认为这样的处理可以满足全球各种网络环境的要求。

该修改已经应用于本地版本的 miniSIPServer 以及云端版本的 miniSIPServer,欢迎大家试用。

在 Debian 12 (bookworm) 系统中运行 miniSIPServer

在 Debian 12 (bookworm) 系统中运行 miniSIPServer

最近 Debian 发布了最新的 V12 版本,即 Bookworm 版本。毫无疑问这是最新的稳定版本,也是商业环境中将会大量部署的版本,因此我们一如既往地在该版本中运行、测试了我们最新的 miniSIPServer 版本,验证结果也是一如既往的完美!如下图所示:

在 Debian 12 系统中运行的 miniSIPServer

如果您是在 Linux 系统中部署 VoIP,您可以选择 Debian 12 系统。请参考我们的指导文档了解如何在 Linux 系统中安装、运行 miniSIPServer。相信您会喜欢 Debian + miniSIPServer 的组合。

安全问题

安全问题

OpenSSL 最近发布了新的版本用于修复若干严重的安全问题,而 miniSIPServer 是采用 OpenSSL 的库提供 “SIP over TLS”特性,因此我们也相应将 miniSIPServer 升级到最新的版本,即 V40 (20230221),该版本采用最新的 OpenSSL 库。

如果您在 VoIP 网络中部署了 “SIP over TLS”,我们强烈建议您将 miniSIPServer 升级到最新的版本。