Browsed by
Tag: voip

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。

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

改进”基于 TLS 的 SIP”

改进”基于 TLS 的 SIP”

最近有些客户向我们报告了一个导致miniSIPServer崩溃的问题,所有这些客户都部署了“基于TLS的SIP”,所有的崩溃报告都显示是SSL/TLS加密库内部崩溃。基于这些信息,我们更新了miniSIPServer,在新版本中做了以下一些关键修改:

(1)SSL库升级到最新的版本;

(2)默认将只保留TLSv1.2加密方式,SSLv2、SSLv3、TLSv1以及TLSv1.1都被禁止。在我们调查问题的过程中,我们发现有些黑客企图利用SSLv3的缺陷骇入miniSIPServer,出于安全防护的考虑,我们全部移除这些有隐患的加密方式。未来我们会考虑加入更多更安全的加密方式,比如TLSv1.3。目前如果要部署“基于TLS的SIP”,必须确保SIP终端或者电话也支持TLSv1.2加密方式。

另一方面,我们也更新了“基于TLS的SIP”文档。在文档中新增了一些简单的示例,演示使用openSSL创建自签名的数字证书等文件。

转接到下一个中继

转接到下一个中继

在使用SIP中继外呼时,有可能遇到对方无法呼出的情况,例如对方资源全忙等,此时如果用户配置有多条SIP中继、同时又是对接多个不同的服务商,MSS可以继续尝试另一个SIP中继进行外呼。

在MSS的SIP中继中配置“呼叫失败时尝试另一中继”,并指定后续处理的中继即可。如下图所示:

配置SIP中继的后续转接中继
SIP中继呼出失败时,转而尝试另一中继。
根据IP地址跟踪SIP呼叫

根据IP地址跟踪SIP呼叫

以前的miniSIPServer版本中有个维护工具“跟踪所有呼叫”,它可以被用来跟踪miniSIPServer收到或者发出的所有SIP呼叫。在我们开始部署VoIP网络初期阶段时,这个工具是非常有效的,然而在实际生产环境中几乎没有作用。

在实际生产环境中跟踪【所有】呼叫,实际是个非常危险的操作,因为这会跟踪到太多SIP外部消息以及对应的miniSIPServer内部的信息,严重情况下会影响到miniSIPServer本身的运行。所以通常我们会根据主叫号码或者被叫号码来过滤呼叫。在最新的V33版本中,我们去掉了这个“跟踪所有呼叫”的功能,取而代之的是“根据IP地址跟踪”功能,如下图所示。

根据IP地址跟踪
根据IP地址跟踪

使用这个工具时,我们可以指定某个特定而明确的IP地址,例如“10.0.0.101”,这样就只会跟踪该特定地址的SIP呼叫。我们也可以指定部分IP地址,从而跟踪某些IP地址的呼叫,例如我们可以设置为“10.0.0”,所有来自该前缀起始的IP地址的SIP呼叫(例如“10.0.0.101”,“10.0.0.102等等”)都会被跟踪。当然,我们也可以设置IPv6的地址。

现在这个工具不仅在实验室环境很有效,在实际生产环境中也非常有用。

外线配置

外线配置

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

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

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

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

在Ubuntu16.04系统上运行miniSIPServer

在Ubuntu16.04系统上运行miniSIPServer

昨天发布了最新的Ubuntu16.04版本,这同时也是最新的LTS(长期支持)版本,因此我们尽快地下载了该版本并作了相当程度的测试。

有很多库升级或者改变了,我们需要更新miniSIPServer来适应这些变化。如果您希望在16.04系统上运行miniSIPServer,或者您希望将已有的Ubuntu系统升级到16.04版本,您需要更新到新的miniSIPServer版本(build 20160422)。

其他没有什么区别。请参考下图中我们运行miniSIPServer的情况:

在Ubuntu 16.04运行miniSIPServer
在Ubuntu 16.04运行miniSIPServer

V25版本更新,去掉webRTC特性

V25版本更新,去掉webRTC特性

最近我们更新了V25版本,修正了一些bug、做了一些优化,系统更加稳定。最重要的是:从这个版本开始,我们删除了webRTC特性。

在以前的blog或者文档中,我们说明了MSS webRTC特性适用于Google Chrome浏览器。Chrome升级到V48版本后,对webRTC特性做了一些改动。一如以往,这些改动没有考虑到和以前版本的兼容,这迫使我们再次不得不向客户道歉并跟进修改。综合考虑后我们认为,可能webRTC特性更适合公众网络业务,例如Google自身的hangouts业务。缺乏灵活性、兼容性考虑,webRTC可能不适合中小型企业通信网络市场。

因此我们从V25版本开始砍掉了这个特性,不过仍然保留在V24(LTS版本)中。如果您仍然在使用webRTC特性,请注意保持Chrome浏览器的版本不要超过V47版本。