Browsed by
标签:外线

连接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邮件说明即可。

Invalid CSeq number

Invalid CSeq number

最近一位客户报告了一个问题:他的外线始终无法注册到VoIP运营商的网络。这让人倍感奇怪,毕竟“外线”是MSS非常基础的功能,已经和众多VoIP运营商对接过,我们从没想到过“外线注册”居然会有问题。

抓取了相应的log,发现该运营商返回了“400 Bad Request”消息,其中携带了以下原因信息:

P-Registrar-Error: Invalid CSeq number

我们检查了REGISTER消息,MSS在处理CSeq时并没有任何问题。以下是MSS消息的摘要:

==>
REGISTER sip:sip.xxx.com SIP/2.0
...
Call-ID: 18BF67854AE23D6D2CD772AFMSS002A0001.
CSeq: 13 REGISTER
...

<==
SIP/2.0 401 Unauthorized
...
Call-ID: 18BF67854AE23D6D2CD772AFMSS002A0001.
CSeq: 13 REGISTER
...

==>
REGISTER sip:sip.xxx.com SIP/2.0
...
Call-ID: 18BF67854AE23D6D2CD772AFMSS002A0001.
CSeq: 14 REGISTER
...

<==
SIP/2.0 400 Bad Request
...
Call-ID: 18BF67854AE23D6D2CD772AFMSS002A0001.
CSeq: 14 REGISTER
P-Registrar-Error: Invalid CSeq number
...

我们再次检查了RFC3261规范中的定义:

A UA MUST increment the CSeq value by one for each REGISTER request with the same Call-ID.

显然我们是完全正确的,但是为什么对端会拒绝了注册呢?

最终我们尝试修改了Call-ID参数后注册成功。这让我们更感困惑!RFC3261规范很清楚地说明了注册流程中Call-ID参数的注意事项:

All registrations from a UAC SHOULD use the same Call-ID header field value for registrations sent to a particular registrar.

我们认为这个VoIP运营商的系统是不专业的。不幸的是,该运营商很难去升级他们的系统,因此我们在MSS中增加了一个开关变量来控制这种情况:

[sip]
gVarSipRegSameDialog=0

如果您在与某些VoIP运营商系统对接时遇到类似的问题,请在“mss_var_param.ini” 文件中增加上述参数并重启MSS。

外线无应答时长

外线无应答时长

在外线的“出呼叫”配置中,我们增加了一个配置项“无应答时长”。该参数用于限制外线外呼时的无应答时间。请参考下图:

外线无应答配置
在外线中配置无应答定时器时长

该参数默认值为0,也就是缺省采用系统定义的无应答定时器时长。如果设置了其他值,则优先采用该值。

例如,设置为15,则该外线的外呼呼叫如果在15秒内没有应答,外线将强制释放呼叫。

DNS问题

DNS问题

昨天我们系统所在的数据中心遇到了DNS(域名解析系统)的问题。实际上整个DNS系统都崩溃了。这导致我们所有的服务器都无法正常注册客户配置好的外线。系统检测到大量注册失败后,诊断为用户配置“错误”。为了避免“错误的配置”导致系统发送大量垃圾消息给对端服务器,系统自动删除了这些配置。

这实在是个非常糟糕的消息!

我们承诺不会再发生这样的事情。目前我们所有的服务器都已经升级,同时配置了多个DNS系统,其中包括Google提供的DNS系统。

对这次的问题所造成的糟糕影响,我们感到非常抱歉。如果您的外线数据被删除了,请手工重新再配置一下。另外,我们为每个受到影响的账号赔偿一定数额的余额。

感谢您的耐心和一贯以来的支持!

 

去掉“只允许呼入呼叫”

去掉“只允许呼入呼叫”

V19版本最近有次更新,主要对外线一些功能作出改进和优化。

在外线的“出呼叫”配置中,新增加“最大同时呼出呼叫数”,用于限制该外线外呼时的最大并发呼叫数。如果配置为0的话,则该外线不允许进行外呼。

与此同时,原有的“只允许呼入”配置项显然功能重复了,因此在新版本中我们同时移除了这个配置项。

规整被叫号码

规整被叫号码

特性说明

V14.4版本最近进行了一次更新,主要是在“拨号规则”功能中增加一个新特性:规整被叫号码。

“规整被叫号码”允许我们在将呼叫路由给外线或者SIP中继时,有最后一次机会对被叫号码进行变换,以满足对端服务器对被叫号码格式的不同要求。

该特性一个比较典型的应用场景:客户有两个VOIP账户,一个是本地VOIP运营商,一个是国际VOIP运营商。两个VOIP运营商对号码格式有不同要求,而客户自己只想采用一套拨号方案,因此可以在MSS中配置“规整被叫号码”,对最终的号码进行规整,满足运营商的要求。我们通过一个简单的示例来说明如何应用这个特性。

示例场景

如上所述,客户有两个VOIP账户,外呼的拨号方式为“90xxxx”。其中“9”为MSS默认外呼前缀。“0”为本地VOIP运营商要求的呼叫前缀。而国际VOIP运营商要求的号码格式为“0086xxxx”。

对比上述要求,实际上我们仅需要针对国际VOIP运营商,将外呼的“0”前缀,替换为“0086”前缀即可。

步骤1:为国际VOIP的外线定义独立的“出呼叫群编号”

请点击菜单“数据 / 外线”,选择国际VOIP账户对应的外线进行编辑,点击“出呼叫”页,设置如下:

出呼叫群编号 = 1

步骤2:定义号码变换方式

我们需要定义号码变换数据,将“0”变换为“0086”。请点击菜单“拨号规则 / 变换”,定义新记录:

变换编号 = 1
变换类型 = 替换
起始位置 = 0
长度 = 1
替换字符串 = 0086

 步骤3:为特定出呼叫群定义“规整被叫号码”

请点击菜单“拨号规则 / 规整被叫号码”,定义新记录:

出呼叫群编号 = 1  <== 在步骤1中定义
被叫号码前缀 = 0
变换编号 = 1  <== 在步骤2中定义

在此可能会有疑问:为什么被叫号码前缀不是”9“呢?因为”9“是默认外呼前缀,完成”分析被叫号码“处理后,该前缀已经被删除,剩余号码是”0xxxx“,因此在最后送往外线或者SIP中继之前,我们应当根据被叫号码的”0″前缀进行规整分析。

两根外线,采用不同的拨号方式指定不同的外线,如何做到?

两根外线,采用不同的拨号方式指定不同的外线,如何做到?

问题描述:客户有两个不同的VOIP运营商帐号,比如(1)1234 (2)5678,要求拨打9xxxx时,选择外线帐号1234; 拨打8xxxx时,选择外线帐号5678。最终的号码是xxxx,要求删除前缀“9”或者“8”。该如何实现呢?

解决方案:我们可以使用MSS强大的“拨号规则”功能来满足这一需求。

缺省情况下,MSS采用前缀“9”来实现呼叫外呼,同时如果有多条外线,不做特殊设置的话,MSS会自动轮选这些外线。而现在我们要做的是,配置不同的呼叫前缀,使用不同的外线路由。

步骤1:配置号码变换记录

这主要是在后续配置中,我们需要删除用户拨打的前缀“8”或者“9”。请点击菜单“拨号规则 / 变换”,增加以下记录:

变换编号 = 1
变换类型 = 删除
起始位置 = 0
长度 = 1

步骤2:增加“分析被叫号码”记录

根据需求,我们需要指示MSS分析被叫号码前缀“8”以及“9”,并指定特定的外线。请点击菜单“拨号规则 / 分析被叫号码”,增加以下两条记录:

记录1:分析被叫号码前缀9

拨号计划 = default
被叫号码前缀 = 9
路由类型 = 外线
指定外线 = 1234 <== 指定的外线帐号
被叫号码变换 = 是
被叫号码变换编号 = 1 <== 在步骤1中指定
号码变换后重分析 = 否

记录2:分析被叫号码前缀8

拨号计划 = default
被叫号码前缀 = 8
路由类型 = 外线
指定外线 = 5678 <== 指定的外线帐号
被叫号码变换 = 是
被叫号码变换编号 = 1 <== 在步骤1中指定
号码变换后重分析 = 否
外线入呼叫触发连选组业务

外线入呼叫触发连选组业务

有很多客户采用“外线”配置连接VOIP运营商,因此很自然要求对外线的所有入呼叫触发连选组业务。

我们首先假定“外线”号码(账户)是123456,因此我们实际上仅需要根据这个号码来触发连选组即可。

请点击菜单“业务 / 连选组 / 检测方式配置”, 添加以下记录:

拨号计划 = default
被叫号码 = 123456  <-- 即外线号码
... ...

其他配置请参考“连选组”业务文档:

http://www.myvoipapp.com/cn/docs/mss_services/hunting_group/index.html

如果当前外线配置了“自动话务员”或者“路由到其他号码”,那么结果会怎样呢?不用担心,连选组检测的优先级高于上述两种方式,因此对于外线的入呼叫,会首先触发连选组业务。

我找不到外线配置了,怎么回事?

我找不到外线配置了,怎么回事?

有部分虚拟PBX客户登录账户后发现,他们配置的外线信息不见了。

发生了什么事?外线配置怎么了?

这个现象的根本原因在于:用户在配置外线数据时,可能配置了错误的信息,例如配置了错误的密码。cloud-mss根据这些错误的信息向voip运营商注册,很显然会注册失败。当然,cloud-mss会继续尝试注册很多次。这样,对端的voip运营商很有可能将cloud-mss视为垃圾消息发送者或者不怀好意的攻击者,因此可能对cloud-mss实施消息过滤或者屏蔽,对其他cloud-mss用户造成恶劣影响。

为了避免这种情况,如果cloud-mss尝试注册外线达到一定次数后,始终无法注册成功,cloud-mss系统会判定外线配置错误并把这一信息通知后台管理系统,因此该外线将被系统自动删除。

这就是为什么会丢失掉虚拟IPPBX系统中的外线配置。如果你发现自己的账户出现了这种情况,请检查您的外线配置信息或者与您的VoIP运营商进行协调,然后在虚拟系统中重新配置外线即可。

如何将外线入呼叫转接到连选组?

如何将外线入呼叫转接到连选组?

通常情况,外线的入呼叫都是直接转接到某个本地分机,或者自动话务员。然而在某些部署环境中,客户要求将外线入呼叫转接到连选组,这样本地分机就可顺序应答呼叫。

在MSS中实现这个需求是非常简单的。记得吗?在连选组触发配置中,我们需要配置触发连选组业务的被叫号码。在这个需求中,我们只需要将这个触发号码配置为外线号码即可。

例如,外线号码是“1234567”,那么在“连选组触发”配置中,我们只需要将被叫号码配置为“1234567”即可触发指定的连选组。