发送和接收即时消息(Instant messages)

发送和接收即时消息(Instant messages)

今天我们发布了最新版本的 miniSIPPhone(一款小巧的、适合企业通信的软电话),主要包含了两个新特性:(1)通信录,以及(2)即时消息。

miniSIPPhone 用一个新的窗体来创建、管理通信人列表:

miniSIPPhone 通信录

在通信录中,您可以选择一个目标用户,然后双击(或者按“C”键、或者点击“呼叫”按钮)发起呼叫。

如果希望发送即时消息,选择目标用户后按“M”键(或者点击“发消息”按钮),显示即时通信窗体发送消息:

miniSIPPhone 即时消息窗体(Windows系统)
miniSIPPhone 即时消息窗体(Linux系统)

每个用户对应一个独立的即时消息会话窗体。每个窗体包含三个区域:(1)消息显示区域。本区域显示会话中的所有即时消息,包括发送的消息和接收的消息。(2)输入区域。在该区域中可以输入消息的内容,然后按“Ctrl+Enter”键发送消息。(3)“发送”按钮,当然也是发送消息。

miniSIPPhone 使用 SIP-MESSAGE 操作发送和接收即时消息,目前仅支持纯文本消息,也就是不支持:图片、文件、语音以及视频等内容。

当然,miniSIPPhone依然能够运行在 Windows 和 Linux 系统(包括 AMD64 和 ARM64 架构)。实际上,上图中的两个软终端就运行在不同的系统上。

希望您能喜欢 miniSIPPhone!:-)

电话号码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 发起的呼叫。

miniSIPPhone 支持 Linux 系统(Debian、Ubuntu)

miniSIPPhone 支持 Linux 系统(Debian、Ubuntu)

miniSIPPhone 终于升级到 V10 版本,该版本最重要的特性就是支持 Linux 系统。当然,Linux 系统必须是 Debian 或者 Ubuntu 系列的发行版本。与 miniSIPServer 的要求一样,Debian 版本要求是 V10(Buster)及以上版本,Ubuntu 版本要求是 V18.04(Bionic Beaver)及以上版本。

同时支持 X86_64 以及 ARM64(AArch64)两种硬件架构。

现在在 Linux 系统运行 SIP 电话非常简单,请访问我们的网站下载最新的版本:

例如,您下载的版本是“msp_v10_amd64.deb”,采用以下命令安装:

sudo dpkg --install msp_v10_amd64.deb

接下来就可以点击图形界面快捷方式运行 miniSIPPhone:

如果想卸载 miniSIPPhone,则使用以下命令直接删除即可:

sudo apt remove minisipphone
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 网络需求。

如果您需要部署 FXS 网关,……

如果您需要部署 FXS 网关,……

FXS(Foreign Exchange State,外部交换站)网关用于将传统电话设备连入 VoIP 域,一般网络拓扑如下所示:

VoIP 域 <--> miniSIPServer <--> FXS 网关 <--> 传统电话

一般一台 FXS 网关连接一台传统电话,但有些 FXS 网关也能同时接入多台传统电话,此时需要特别注意。

FXS 网关连接多台传统电话时,需要多个 SIP 分机账号对应接入 miniSIPServer。另外,网关有可能采用一个地址(IP 地址+端口)与 miniSIPServer 建立连接、注册分机账号。这也就是说,多个分机账号会采用同一个地址。

如果网关内某个账号配置错误,网关会不停用错误信息向 miniSIPServer 注册,此时会触发“失败则阻止”,miniSIPServer 会屏蔽掉该网关的地址。如前所述,网关内的 SIP 账号都采用了同一个地址,因此这实际上会导致其他账号同时注册失败。

在这种情况下,我们需要为该网关关闭“失败则阻止”,即将网关的地址加入白名单。请点击菜单“业务 – IP地址黑白名单”,增加记录接受网关的IP地址。如下图所示:

IP 地址黑白名单配置
在 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。

ARM64 以及一些修改

ARM64 以及一些修改

正如大家所知,miniSIPServer有一些专门为树莓派(Raspberry Pi)定制的版本,这些版本都是基于 armhf 架构。最近越来越多的客户向我们咨询在 arm 系统上运行的 miniSIPServer,经调查,大部分都是 arm64 架构的服务器或者板载系统。

据此我们将为特定的树莓派系统定制的 miniSIPServer 修改为普适性的、基于 ARM64 架构的 miniSIPServer。当然,树莓派也支持 arm64 架构,因此这次的修改基本能覆盖大部分的 arm 架构应用场景。

另一方面,这些应用场景的大部分客户都只需要命令行方式的 miniSIPServer,他们并不需要图形界面的 miniSIPServer,也就是说他们只需要运行 minisipserver-cli 就可以了。默认情况下, miniSIPServer 安装包会要求安装 qtbase5-dev 库以支持图形界面,而此类场景中实际已经不需要这个库了,因此我们修改了 miniSIPServer 安装包的 deb-control 控制参数,将 qtbase5-dev 包从‘Depends’段改到‘Suggests’段。

如果您希望运行图形界面的 miniSIPServer,则需要用以下命令安装依赖库:

sudo apt install gcc g++ qtbase5-dev

如果您只是希望运行命令行方式的 miniSIPServer, 则需要以下命令安装依赖库:

sudo apt install gcc g++