Browsed by
Category: miniSipServer服务器

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

优化:将IVR-XML文件装入内存

优化:将IVR-XML文件装入内存

在多数语音交互的场景中, IVR-XML 文件都比较小,通常是几KB,因此收到呼叫触发 IVR 业务时,服务器都会从硬盘读取 IVR-XML 文件并触发相应的 IVR 流程。但是,如果负荷非常大,例如有大量的并发呼叫同时触发大量的 IVR 流程,miniSIPServer 将频繁读取硬盘上的 XML 文件。显然,这实际会影响服务器的性能。

因此我们做了点优化,将所有的 IVR-XML 文件都装入内存。如果这些文件没有被修改,IVR 业务就直接从内存中读取 XML 文件的内容。如果文件被修改了,miniSIPServer 会自动将修改后的 XML 文件再次装入内存。

这就意味着所有的 IVR 操作都是访问内存,不更改文件的情况下,不会再访问硬盘,miniSIPServer 运行比以前要快一些,在负荷沉重的时候尤其如此。

在 Debian 11 (Bullseye) 系统中运行 miniSIPServer

在 Debian 11 (Bullseye) 系统中运行 miniSIPServer

2021年8月14日,Debian 11(代号 Bullseye)正式发布。这是最新的稳定版本,也是适合商业部署的非常重要的版本,因此我们在该系统中安装、运行 miniSIPServer,并进行了一些测试。结果非常完美!

现有的 miniSIPServer 版本可以毫无障碍地在新系统中运行!您可以参考在线文档了解如何在 Debian 系统中安装、运行 miniSIPServer。

以下是 miniSIPServer 在 Debian 11系统中运行的截图:

在 Debian 11 中运行 miniSIPServer
在 Debian 11 中运行 miniSIPServer
免费版本

免费版本

今天我们增加了一个新的 miniSIPServer 版本(5 客户端版本),这是一个免费版本!您不需要注册码即可长期使用,也不用担心试用期过期的问题。

“5 客户端”版本特别适合微型的 VoIP 网络,例如家庭用户、测试等。您不需要付一分钱就能获得完整的 VoIP 功能特性,当然,SIP/VoIP 客户端数量被限制为不能超过5个。

另外,免费版本不能用于商业目的或者商业场景。

希望您能享受这个新的版本!

转发视频流

转发视频流

如果您使用以前版本的 miniSIPServer,如果想让 miniSIPServer 转发媒体流,miniSIPServer 只会转发语音流而去掉视频流。

这主要是因为视频流会占用太多的带宽,同时也要求服务器有足够的计算能力。很多设备实际上达不到这样的要求。但是越来越多的客户要求我们改进这点,在转发语音流的同时也转发视频流,因为他们的设备目前已经足够强大,而且网络也有足够的带宽。

既然如此,这个要求似乎非常合理,因此我们认为应当升级 miniSIPServer 满足这些客户的需求。

因此最新版本(20210604 构建版本)正式发布,这个版本在转发媒体流的时候,将同时转发语音流和视频流。

升级版本后无需更改配置,您唯一要注意的是硬件的计算能力和网络的带宽是否满足需求。

一个有趣的特性

一个有趣的特性

某些时候我们希望知道系统当前的呼叫状态,例如有那些呼叫、谁正在呼叫等等。miniSIPServer 已有一个“实时话单”窗体,可以显示已经结束的呼叫的话单信息。这个“实时话单“窗体实际上是”半实时“,它无法显示目前还在进行中的呼叫的状态。

显然,我们需要更新这个窗体来显示更多的呼叫细节信息,下面是新版本的”实时话单“窗体:

实时话单窗体
真正的实时话单窗体

这个新窗体将根据呼叫的当前状态,将呼叫标记成不同的颜色。例如,灰色的记录是已经释放的呼叫,黑色记录是刚刚发起的呼叫,蓝色记录是被叫开始振铃的呼叫,而红色记录则是被叫已经应答的呼叫。

根据这些信息,您现在就能非常直观地了解系统当前所有的呼叫细节,相当有趣吧!

当然,您需要指定 miniSIPServer 实时显示话单,并同时指定显示何种话单。请点击菜单“数据 / 系统信息 / 话单”,请参考以下配置:

话单配置项
话单配置项

其中,需要特别注意的是:“产生失败呼叫话单”和“实时显示话单信息”两项必须要勾选中。其他配置项请参考用户手册文档的说明。

优化的振铃组业务

优化的振铃组业务

一般情况下,我们在用户的配置文件中设置振铃组业务。一个用户只能设置一个振铃组,在多数情况下,这个设定都能工作得很好。

众所周知,现在是艰难时刻。部分公司不得不裁剪人力资源以减少运营费用,因此剩余的人员就可能需要承担更多的工作。比如同一个员工有可能同时分配到多个工作组(振铃组)。实际上已经有一些客户要求我们适配这个需求。

我们非常理解这个请求,因此升级了 miniSIPServer, 采用一个新的方式来支持振铃组业务。

简而言之就是新增了两张表。一张表用于定义振铃组及其分机用户,请参考下图:

振铃组用户

另一张表配置了振铃组检测方式,miniSIPServer 根据呼叫中的被叫号码,判定是否需要触发振铃组。请参考下图:

振铃组检测

业务文档已经更新,请点击此处了解更多细节。

定制的资源文件

定制的资源文件

在部署 VoIP 网络时, 有些场景会要求使用定制化的资源文件,例如 自己的语音文件、特殊的 IVR 流程、自己的鉴权文件等。 以前的 miniSIPServer 版本将这些文件保存在安装运行目录(或者子目录)下。

这有可能导致管理方面的问题。卸载、升级 miniSIPServer 时,我们不得不非常小心地备份这些定制的资源文件。

V38 (build 20210108) 版本试图解决这个困扰。 所有的定制化资源文件和默认的资源文件分离出来,单独保存在应用数据目录(AppData 目录)及其子目录下。

例如,定制的语音文件将保存在 custAnn 子目录中。一旦 miniSIPServer 被卸载或者升级,这些语音文件不会受任何影响。

请参考在线文档了解更多细节。

配置数据

配置数据

V38 之前版本的 miniSIPServer 将配置数据文件保存在当前安装目录下。在某些场景中, 这实际会遇到一些问题。 比如在 windows 系统中, 如果用户将 miniSIPServer 安装在系统盘(通常是 C 盘),有可能 windows 会禁止 miniSIPServer 写文件(除非用户明确以管理员权限运行 miniSIPServer)。

在 Linux 系统中, 也会有类似的权限问题。 miniSIPServer 默认安装在 “/opt/sipserver” 目录, 如果系统管理员(比如 root )运行了 miniSIPServer 并创建、修改了本地数据存储文件, 其他用户再运行时就没有权限读、写这些文件,从而导致启动 miniSIPServer 失败。

因此 V38 版本做出了一点改变,将数据存储在当前用户自己的目录下。 在 Windows系统中,这个目录就是用户的应用数据(Application data)目录。而在 Linux 系统中, 这个目录就是用户的 HOME 目录。

请参考在线文档了解这个变动的细节信息。

另一方面, miniSIPServer 会在启动时明确提示当前数据的保存目录。

miniSIPServer 在 Windows 系统中
miniSIPServer 在 Linux 系统中

一个小特性: UPnP

一个小特性: UPnP

在部署 VoIP 网络时,经常会遇到“语音不通”或者“语音单通”等问题。这通常都是由于私有网络导致的,例如,部分 SIP 电话和 miniSIPServer 部署在路由器后面,而部分 SIP 设备(包括 SIP 电话)部署在另一个不同的网(可以是私网、也可以是公网)。

为解决这类语音问题,通常我们都建议在路由器中手工配置“端口转发”,将必要的一些端口转发到 miniSIPServer,由 miniSIPServer 来负责转发不同网之间的语音流。 如果您对路由器比较熟悉,配置“端口转发”相对就比较容易。

然而部分客户不熟悉路由器配置,或者在配置时可能会出些错误,因此我们在 miniSIPServer 中增加了个小特性来帮助完成“端口转发”的配置。

这就是UPnP(Universal Plug and Play, 通用即插即用)。 UPnP 能帮助 miniSIPServer 自动进行端口映射。

首先,您需要确认路由器支持UPnP,并且已经打开了这项功能。

接着,在 miniSIPServer 的主窗体,请点击菜单“数据 – 系统配置”,并选择配置项“采用 UPnP 请求路由器映射端口”即可,如下图所示:

miniSIPServer 中的 UPnP 配置
miniSIPServer 中的 UPnP 配置

默认情况下,miniSIPServer 会请求映射以下端口: SIP (基于UDP)端口、转发媒体流的端口。

另一方面,多数路由器(尤其是家用级别的路由器)会限制 UPnP 请求的端口数量,比如通常会少于30个,因此如果您的 miniSIPServer 是100客户及以上版本,您还是必须像以前一样手工配置“端口转发”。