Browsed by
Category: miniSipServer服务器

基于windows以及Ubuntu的专业SIP服务器软件

在SUSE、Fedora等系统上运行 miniSIPServer

在SUSE、Fedora等系统上运行 miniSIPServer

我们通常只在 Debian、Ubuntu 系统上开发和发布适用于 Linux 系统的 miniSIPServer 软件,默认采用 deb 安装包发布版本。如果用户是 Linux 宇宙另一个派系——RPM派,要部署 miniSIPServer 就不太方便。越来越多的客户希望能 miniSIPServer 部署在 SUSE、Fedora、openEuler 等操作系统上。

考虑到我们没有充足的资源(包括人力、设备等),我们决定发布 AppImage 格式的安装包,这样几乎可以适配所有非 Debian 系列的 Linux 系统。当然,目前仅适配 X86_64 (AMD64) 架构,暂时没有适配 ARM64 架构。

请从网站下载对应的版本:

下载 miniSIPServer 版本

使用非常简单,甚至无需安装。将下载的 miniSIPServer 软件(比如 minisipserver_u500.AppImage)保存在任意目录下,然后设置「可执行权限」:

chmod +x minisipserver_u500.AppImage

双击该文件或者在命令行下直接运行该文件即可:

./minisipserver_u500.AppImage

其他与安装 deb 包的方式是一样的。配置文件也都是保存在 $HOME/.minisipserver 目录下。

我们分别测试了 openSUSE(Leap 16)、Fedora 42 以及 openEuler (24.03 LTS SP2) ,效果不错:

openSUSE 运行效果图
在 Fedora 系统中运行 miniSIPServer
在 openEuler 系统中运行 miniSIPServer

欢迎大家试用!

优化「连选组」业务

优化「连选组」业务

「连选组」是一项非常古老的企业通信业务,在电路电话时代就有广泛的应用, 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,构建企业通讯环境,这绝对是一个令人兴奋的选择!

电话号码URI

电话号码URI

众所周知 VoIP 域(SIP域)采用 SIP URI 建立呼叫对话。如果需要连接传统的 PSTN 电话网络,我们需要部署 VoIP 网关(或者 SBC 会话边界控制器)用于桥接两个不同的网络。大部分网关都支持 SIP URI,因此我们采用 SIP 中继连接 SIP-PSTN 网络时,与连接 SIP-SIP 网络并没有什么不同。

但有些网关并不支持 SIP URI,它们仅能支持传统电话号码格式的URI(RFC3966规范定义了这种 TEL URI格式)。这种 TEL URI 采用<tel:xxx>格式,而不是<sip:name@address>格式。请参考下图:

电话号码URI网络

以前版本的 miniSIPServer 总是能接受对方发起的 TEL URI 格式的呼叫,但是 miniSIPServer 本身并不会发起这种格式的呼叫。最近几个月先后有几位客户向我们反馈,希望 miniSIPServer 能支持采用 TEL URI 格式发起SIP 中继呼叫,以便和传统 PSTN 网络的网关进行对接,因此我们升级了 miniSIPServer (V60 build 20250208)扩展 SIP 中继的功能。在 SIP中继的“出呼叫”配置中,可以选择“采用电话号码格式”,miniSIPServer 据此将采用<tel> 格式发起呼叫,如下图配置所示:

miniSIPServer 中继“出呼叫”配置电话号码格式

对于 SIP 中继的入呼叫,无需任何改变,miniSIPServer 可以接受对方采用 SIP URI 或者 TEL URI 发起的呼叫。

Debian 以及 Ubuntu 版本支持问题

Debian 以及 Ubuntu 版本支持问题

最新的 miniSIPServer V60版本发布后,对 Debian 以及 Ubuntu 的版本支持做出了修改。Debian 最低版本要求是 oldoldstable 版本,即目前的 V10 版本,也就是说 miniSIPServer 后续将不再支持 Debian V8、V9等版本。

考虑到 Ubuntu 实际是基于 Debian 的系统,因此相应的最低版本要求变更为 Ubuntu V18.04。

请参考在线文档了解 miniSIPServer 对 Linux 系统的最低要求及相关细节。

会议室以及其他

会议室以及其他

近日 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 的更多细节。

支持 TLSv1.3

支持 TLSv1.3

我们最近更新了 miniSIPServer 以支持 TLSv1.3。本次修改不影响配置,如果您升级 miniSIPServer 到最新版本,无需修改任何配置。

miniSIPServer 有两个模块有可能用到 TLSv1.3:(1)SIP 服务器模块;以及(2)嵌入式 HTTP 服务器模块。如果您的 SIP 话机(或者软电话)支持 TLSv1.3,那采用这个协议将能更好地保护您的通信。请参考《基于 TLS 的 SIP》了解更多细节。目前本地 miniSIPServer 和云端 miniSIPServer 都可以支持基于 TLSv1.3的 SIP 通信。

本地 miniSIPServer 采用内嵌式 HTTP 服务器提供 web 管理,默认没有加密。如果您需要或者希望通过公共网络管理、配置 miniSIPServer,那么建议启用加密传输的 HTTP 服务。目前主流的浏览器,例如Chrome、Edge、Firefox 等,都支持 TLSv1.3,请参考《Web 管理》配置和启用加密的HTTP。