Browsed by
Category: 文档和常见问题

技术文档以及常见问题解答

一个小特性: 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客户及以上版本,您还是必须像以前一样手工配置“端口转发”。

在IVR-XML流程中监视各种呼叫事件

在IVR-XML流程中监视各种呼叫事件

在部署 miniSIPServer 时,我们可以通过 IVR-XML 来订制自己需要的IVR业务流程,最常见的就是“自动话务员”业务。根据以往的 IVR-XML 功能集,我们可以使用“callto”动作发起新的呼叫,同时结束整个IVR流程。

但是,如果我们想监视呼叫过程中的某些事件,例如“被叫忙”,并根据这些事件改变IVR的流程,触发新的动作(action),我们该怎么做呢?

目前最新的 V37 版本已经发布,在这个版本中,扩展了一个与 IVR-XML 有关的关键特性。我们可以在“callto”动作中,配置“monitor-events”元素,对呼叫事件进行监视,并在事件发生时,将IVR流程转向新的动作。

例如,以下示例中,在“callto”动作中配置需要监视的事件:

<action method="callto" name="mainAction">
    <destination>100<destination>
    <monitor-events>
        <monitor-event detection="busy" nextaction="callto101"/>
    </monitor-events> 
</action> 

在这个示例中,如果“callto”发起的呼叫,遇到被叫忙,则 IVR 流程将执行下一个动作“callto101”, 即对另一个用户发起新的呼叫。

请参考IVR-XML 在线文档,了解更多关于“monitor-events”的细节。

上述zip文件是一个简单的IVR-XML脚本示例,用于测试新的“callto”动作。将其解压缩并保存在”xml”子目录下(您可以在miniSIPServer的安装目录下找到这个子目录),并在miniSIPServer中配置新的触发条件进行测试。

配置IVR业务
配置IVR业务
T-MSS 和 L-MSS

T-MSS 和 L-MSS

部分客户在全球有多个分支机构(或者分支办公室),部署多个miniSIPServer服务器,建立企业内部统一的VoIP通信网络,如下图所示:

多分支机构VoIP网络拓扑
多分支机构VoIP网络拓扑

我们提供了一个简单的文档描述这种网络部署情况,其中引入了两个重要的逻辑实体概念: T-MSS 和 L-MSS。

L-MSS 即“本地miniSIPServer,Local miniSIPServer”,部署在各分支机构或者分支办公室,连接当地的网络,服务于本地分机用户和网关设备等。

T-MSS 即“中继miniSIPServer, Trunk miniSIPServer”,用于桥接所有分支机构的L-MSS。

点击此处了解更多的细节信息。

外线配置

外线配置

部署VoIP网络时,我们常常会在miniSIPServer中配置外线连接VoIP运营商的服务器。考虑到市场中有大量的VoIP运营服务商,因此经常有客户咨询我们如果配置miniSIPServer来连接这些运营商的网络。

实际上在“小型企业建立IP-PBX系统指南”这篇指导文档中,我们已经提供了一个简单的外线配置,连接VoIP运营商“call centric”。您可以参考这篇文章了解VoIP网络和外线的相关细节。另一方面,我们在“常见问题”文档的“外线”章节,也给出了一些其他运营商的配置参考。如果您有兴趣或者需求的话,也可以参考这些文档,希望这些文档帮助您部署VoIP网络。

https://www.myvoipapp.com/cn/docs/faq/index.html

关于云miniSIPServer注册邮箱的问题

关于云miniSIPServer注册邮箱的问题

我们要求必须使用 email 邮箱地址来注册、激活云 miniSIPServer 帐号(minisipserver.com),因为我们需要通过email及时反馈系统状况给您,有时候我们也需要发送一些必要的通知给您,比如账户余额的情况,确保您的系统能保持正常、稳定地运行,避免意外情况对您的 VoIP 系统造成不必要的冲击。

出于保护客户隐私的考虑,我们的服务器全部部署在有最严格法律规范约束的美国、德国两地。我们也承诺绝对不会泄漏您的email邮箱地址,也绝对不会用于营销等目的,仅仅是作为系统维护时的联系手段而已。

目前我们已经与全世界绝大多数邮件服务商都工作良好,唯一让我们感到困惑的是大陆地区的QQ邮箱。我们已经多次收到用户的抱怨,注册云miniSIPServer账户后,无法收到激活邮件。我们检查了自身系统的相关情况,发现QQ邮箱退回了我们的邮件,原因是我们的IP地址发送了过多的邮件。

根据我们的日志,大陆地区用户用QQ邮箱注册的情况并不多,频率大约是一周二三个而已,我们的邮件系统不可能频繁发送激活邮件。我们完全有理由相信,QQ 邮箱简单粗暴地过滤了海外邮箱地址。我们尝试联系 QQ 邮箱的支持部门进行沟通,但是很遗憾,没有获得反馈,状况也没有改善。

因此,如果您是大陆地区用户,建议您不用QQ邮箱注册云miniSIPServer帐号。我们推荐采用163或者outlook邮箱,这些都没有任何问题。当然,如果您有海外邮箱帐号,比如gmail、yahoo等,那就更没有问题。

SIP中继转发媒体流

SIP中继转发媒体流

在某些VoIP网络部署中,我们需要采用“SIP中继”与其他VoIP服务器或者网关进行互联。在媒体处理方面,我们希望(1)本地分机之间的媒体流不经过MSS服务器,而(2)与其他VoIP服务器对接的呼叫中希望能通过MSS转发媒体流。

为解决这个需求,我们更新了V32版本,在“SIP中继”的“出呼叫”配置中,可以单独设置是否需要MSS来转发媒体。请参考下图:

SIP 中继转发媒体流配置
SIP 中继转发媒体流配置

请注意,目前仅支持转发语音流,不会转发视频流。

保存录制的语音

保存录制的语音

miniSIPServer 支持客户录制根据需要录制自己的语音,并替换系统默认的语音文件。以前的版本中,如果客户需要升级 MSS 的话,每次都需要备份好自己的语音,并重新替换系统默认的语音。

这当然是个小小的麻烦。现在,最新的V32可以解决这个麻烦了。

MSS 启动时,将在“mss_ann”目录下自动创建子目录“cust_ann”,现在您所有的自定义语音文件都可以放在这个子目录下。当 MSS 卸载或者升级时,这个子目录和内部的所有语音文件都不会删除或者被替换。MSS 启动后,会自动读取并加载“cust_ann”子目录下的语音文件。

在 windows 系统,这个子目录默认应该是“d:/myvoipapp/minisipserver/mss_ann/cust_ann”。在Linux系统中,这个子目录默认是“/opt/sipserver/mss_ann/cust_ann/”。

请参考在线文档了解录制自定义语音的更多细节。

https://www.myvoipapp.com/cn/docs/others/how_to_record_your_own_audio/index.html

连接Sonetel

连接Sonetel

“Sonetel.com”是一家VoIP运营商,提供各国本地电话号码服务。我们可以在MSS中添加外线,连接Sonetel的服务器。根据Sonetel给出的配置参考,有以下几方面的内容需要注意:

  • Sonetel采用用户的email地址作为SIP帐号,并且
  • 部署了Proxy(SBC)服务器统一处理外部SIP消息。

本文给出一个简单的示例,指导如何配置MSS与Sonetel互联。我们假设用户的SIP帐号是“abc@gmail.com”。

在MSS中,请点击菜单“数据 – 外线”,增加一条新记录。

配置Sonetel外线
配置Sonetel外线

在“基本配置”页中,外线类型是“连接到对端VoIP服务器”,用户名是“abc”,而“服务器地址/域”必须是“gmail.com”。

另外请注意,密码項应该是在注册sonetel帐号时的密码,而不是email帐号自身的密码。

由于sonetel前置了Proxy(SBC)来处理SIP消息,因此我们在外线中还需要指定这个Proxy地址。在“出呼叫”页面中,指定对应的服务器地址,如下图所示。

Sonetel代理服务器地址
Sonetel代理服务器地址

Sonetel代理服务器地址为“sip.sonetel.com”,在注册时sonetel发送的email邮件有相应的说明。如果未来有变动,参考sonetel邮件说明即可。

对接中国电信IMS网络

对接中国电信IMS网络

最近帮助一位客户部署MSS服务器,对接中国电信IMS网络。在本次对接中,中国电信的软交换是ZTE的设备(至少SIP消息中的User-Agent是这么描述的),存在一些问题,需要特别注意配置方法才能完成对接。

由于中国电信是提供账号、密码信息进行对接,因此在MSS中应配置“外线”,其中需要注意的是以下几个关键点:

鉴权用户

通常外线配置中,默认采用“外线/账户”做鉴权用户(或者配置单独的鉴权ID)。而ZTE设备要求采用完整的URI作为鉴权用户名,因此在MSS的外线配置中,必须配置“鉴权用户名应包含地址信息”项,请参考下图。

外线鉴权用户配置
外线鉴权用户配置

设置该项后,例如上图的信息,MSS将采用“+8612345678@gd.ctcims.cn”作为鉴权用户名进行鉴权操作。

如果不采用完整格式的鉴权用户名,IMS网络会返回“403 Forbidden”拒绝注册和呼叫。我们认为这实际是ZTE软交换的缺陷,因为鉴权信息中本来就携带了域信息,无论鉴权用户名是否携带域信息,应该都不影响鉴权。如果您在与其他IMS设备对接时,也遇到了类似的问题,建议试试上述配置項。

Proxy设置

在中国电信的IMS网络中,对外的服务器地址作为逻辑域存在,实际上并不可访问。例如,上述例子中的“gd.ctcims.cn”就是域,而不是实际的SIP服务器。SIP消息实际应路由到指定的物理实体(在此我们理解为IMS网络前置的一个SBC或者Proxy),因此在MSS外线配置中,必须指明实际SIP消息需要路由的地址,请参考下图:

IMS网关的物理地址
IMS网关的物理地址

SIP中继的并发呼叫数

SIP中继的并发呼叫数

通常我们不限制SIP中继的并发呼叫数,也就是说,默认情况下能呼叫多少就呼叫多少。如果对方资源有限,自然会拒绝多余的呼叫。然而在一些应用场景中,客户们希望MSS能主动对呼叫进行限制。

为此我们拓展了SIP中继中的配置,分别对“呼入呼叫”和“呼出呼叫”的最大并发呼叫数进行限制,超出最大呼叫数的呼叫将被禁止或者抛弃。请参考下图:

SIP中继并发数配置
SIP中继并发数配置

需要注意的是:

(1)这两项配置是独立的,因此可以对呼入和呼出做出不同的限制决定。

(2)如果将其中一项或者两项配置为0,则可以限制为只允许呼入,或者只允许呼出。