miniSipServer V4 更新

miniSipServer V4 更新

miniSipServer V4版本更新至build 20110831,主要包含以下修改:

(1)如果连接了MySQL数据库,则MSS会自动将CDR信息写入MySQL数据库。

(2)预付费类业务,例如卡号业务、主叫预付费等,支持一次性付费特性。在部分地区部署该类业务时,一旦被叫方应答呼叫,MSS应立刻从余额中扣除某一次性费用,然后根据费率按时长开始计费,即采用“一次性计费 + 时长计费”模式。

云端miniSipServer升级

云端miniSipServer升级

本次升级主要是提供“Dial plan(拨号计划)”功能。客户可以通过这个功能,灵活控制各项呼叫。登录进云端miniSipServer后,在界面左边的命令列表中,可以看到新增加的”Dial plan”功能项。

另外,根据大部分客户的要求,我们将免费账户的每个呼叫的试用时间从30秒延长至60秒。

miniSipServer稳定版本升级到V3.1.6

miniSipServer稳定版本升级到V3.1.6

MSS稳定版本今天升级到V3.1.6版本。

本次升级主要是支持“语音邮箱嵌套Follow-me业务”新特性。如果一个分机即配置了语音邮箱业务,同时也配置了Follow-me(?随身呼)业务,如果所有Follow-me参与方都没有应答本次呼叫,该呼叫将被转入语音邮箱业务流程进行语音留言。

另外,本次升级同时也修正了若干在web管理系统中的bug。

最新的V4版本也已经合并了本次修改。

如何解决语音单通甚至双不通的问题?

如何解决语音单通甚至双不通的问题?

在前面的blog中,我们已经讨论了为什么会有语音单通问题。在这篇blog中,我们继续讨论如何解决这个问题。

正如我们看到的,sip电话(100)将自己的私有地址告诉给sip软终端(101),这就导致了语音单通问题。因此我们自然想到:为什么不将它的公共地址8.8.8.8告诉给sip软终端呢?如果它能做到这点,sip软终端自然可以将它的语音流发送给这个公共地址,路由器也会将这个语音流转发给sip电话,sip电话也就可以听到sip软终端侧的声音了。对吗?

非常正确!这是个很好的解决方案。但是我们接着需要问:sip电话(100)如何才能知道它自己的外网地址呢?

答案就是STUN。STUN是“Simple Traversal of User Datagram Protocol (UDP) through Network Address Translators (NATs)基于UDP协议对网络地址转换的简单穿越”的缩写。这是个非常拗口的定义啊。简单而言,STUN就是用来私网内设备获取外网地址的一种协议工具。

请参考下面这张图:

– STUN process

在SIP电话拨打电话之前,它先向STUN服务器请求获取外部地址。完成之后,SIP电话开始发起呼叫,它告诉对方说:喂,我是100,我的语音地址是8.8.8.8:100,请发送语音流给我

顺便说一下,在本文中一个公共地址由一个公共IP地址+一个端口号组成。例如“8.8.8.8:10000”,“8.8.8.8”是公共IP地址,“10000”是端口号。”8.8.8.8:10001″是另外一个不同的公共地址(因为虽然IP地址一样,但是端口变了)。

既然8.8.8.8是公共地址,因此SIP软终端毫无疑问能将它的语音流发送到这个地址。因此呼叫双方现在都能听到对方的语音。

几乎所有的SIP设备,无论是SIP电话还是SIP软终端,都能支持STUN协议。我们唯一需要知道的是设置STUN服务器地址。在我们的step by step文档中,我们针对X-lite给出了一个简单的示例:

https://www.myvoipapp.com/docs/faq/setup_ippbx_for_small_business_step_by_step/index_cn.html#faq_stun

支持STUN后,是否能解决所有的语音单通问题呢?

很不幸,不能。在多数情况下,STUN能很好的工作,但是它无法解决所有的语音单通问题。这取决于私网的类型。简单而言,取决于路由器(当然,在某些网络,也可能是防火墙设备)。

– Special network for STUN

请参考上面这张图。图中描绘了两个会话:一个会话是SIP电话向STUN服务器请求获取公共地址。另一个会话是SIP电话与SIP软终端之间的呼叫。

众所周知,路由器将维持私网地址与公网地址之间的映射关系。缺省情况下,大多数路由器对来自私网内同一个设备同一个端口的不同会话,会分配并维持同一个外部地址映射关系。因此SIP电话在这两个会话中,会有同一个外部地址。

但是有些路由器会为不同的会话分配不同的映射关系,也就是说SIP电话在这两个不同的会话中会有两个不同的外部地址对应,因此实际上在与sip软终端的对话中,SIP电话还是无法知道对应的外部地址。

如果STUN不能解决语音单通的问题,根本原因就是路由器或者私网类型导致。此时,最终的解决方案就是建立VPN网络,将所有的SIP电话和SIP终端至于同一个逻辑网络内。这就是另外一个讨论议题了。(补充说明:也有可能采用ICE协议解决私网穿越问题,但是不是所有的设备都能支持ICE协议。)

为什么会语音单通甚至双不通?

为什么会语音单通甚至双不通?

几乎所有的人在部署第一个VoIP网络时,都会遇到这个问题。我们经常会觉得困扰:为什么我听不到对方而对方却能听到我呢?为什么双方都听不到对方呢?

这个问题的根本原因在于:VoIP部署涉及两个不同的网络,通常是私网和公网(当然,也有部署在两个不同私网内的情况)。如果呼叫双方位于两个不同的网络内,“语音单通”问题就极有可能发生。请参考下面的图例,该图描绘了一个非常简单的VoIP网络:

语音单通问题网络拓扑

在这个简单的网络中,我们部署了两个VoIP设备:一个是SIP电话,电话号码是100。另一个是SIP软终端,电话号码是101。

SIP电话位于私网中,其私网地址是192.168.1.100,通过路由器与公网相连。路由器地址为8.8.8.8.

SIP软终端安装在PC中,PC接入到公网,地址为8.8.4.4。

那么,当SIP电话向SIP软终端发起呼叫,会发生什么情况呢?

SIP电话说:喂,我是100,我的语音地址是192.168.1.100, 请发送语音流给我。

SIP软终端回答说:没问题。我这是101,我的语音地址是8.8.4.4. 请把你的语音流发给我。

SIP电话将语音流发给SIP软终端。既然 “8.8.4.4 ”是公共地址,因此SIP软终端能成功收到SIP电话的语音流。也就是说,SIP软终端能听到SIP电话的语音了。

SIP软终端将它的语音流发送给SIP电话的地址“192.168.1.100″。可以看到,这个地址是个私网地址,位于公网内的SIP软终端实际上无法连接该地址,因此最终也就无法将语音流发送到这个地址上去。

最后,SIP软终端能听到来自SIP电话的语音,而SIP电话无法听到SIP软终端的语音。这就是个非常典型的语音单通问题案例。

那么,我们如何解决这个问题呢?待续 ……

 

miniSipServer能支持G.729, iLBC, GSM等语音编解码吗?

miniSipServer能支持G.729, iLBC, GSM等语音编解码吗?

这是一个客户经常问到的问题。实际上,客户是希望了解MSS是否能和他们的SIP电话、SIP终端配合,这些终端往往支持多种语音编解码格式。

我们一般都回答:这取决于客户的SIP电话、SIP终端本身。miniSipServer,无论是本地MSS还是云端MSS,缺省都不关心语音格式。

为什么我们会这样回答呢?

请参考下面这张图。该图描绘了在基本呼叫流程中,MSS的媒体处理基础模型:

在这张图中,我们可以看到以下几点重要信息:

(1)MSS仅仅控制呼叫信令;

(2)媒体流由SIP电话(终端)之间进行端到端处理。

这种处理模式中,媒体流不经过服务器,无疑会大大减少服务器端的负荷,而且显然在服务器端不需要关心媒体的格式。

然而在某些应用场景中,MSS需要对SIP电话(或者SIP终端)进行放音操作,例如自动话务员以及callingCard等业务,MSS就必须关心媒体格式。

对于这些情况,MSS支持以下语音格式: G711a (PCMA)、以及G711u (PCMU)。

需要说明的是,放音完成后,最终的媒体流处理仍然会返回到端对端的模式。请参考下面的模型图:

MSS放音模型图
停止更新sohu网站miniSipServer官方blog

停止更新sohu网站miniSipServer官方blog

我们决定停止更新sohu网站上的miniSipServer官方blog。主要是出于以下几点考虑:

(1)目前本blog在大陆的访问速度已经让人比较满意,大部分情况下都优于访问sohu的blog,因此没有必要继续进行维护。

(2)人力资源有限。当我们同步到sohu博客时,由于文档格式、图片等信息都不能准确的复制过去,需要安排人力重新进行排版,让我们颇感困扰。

(3)不知出于什么原因,sohu博客屏蔽了知名搜索引擎的索引,因此国内用户进行搜索时,往往得不到来自sohu博客的信息,反而是本blog的信息能通过搜索网站,比较完整地提供给终端用户。

我们将只维护两个中文官方blog:

(1) http://www.myvoipapp.com/cnblog

(2) http://minisipserver.blogspot.com/

为什么我没有收到语音留言?

为什么我没有收到语音留言?

部分客户在使用miniSipServer云通信时,经常会觉得困惑:为什么我的email邮箱中没有收到语音留言?

实际上,我们有个简单的在线业务指导文档来描述语音邮箱业务,请参考:

http://www.myvoipapp.com/docs/mss_services/voice_mail/index.html

MSS云通信稍微有点区别。首先,MSS云不支持MWI(点亮留言灯)特性,因此它只能支持发送语音邮件的方式。大多数时候,部分客户总是忘记配置SMTP信息,而这些信息是必需的,因为MSS Cloud需要使用SMTP配置来发送eMail。另外,部分客户也经常忘记给分机配置相应的eMail地址。

因此,本文中我们进一步描述MSS云通信环境中配置细节。在此之前,我假设您已经登陆了MSS云通信账户,如果没有的话,请先申请一个。

Step 1: 配置SMTP信息

请注意该截图。您需要点击”System information”链接,并填写您的SMTP信息。如果是采用Gmail账号,还需要指定”This server requires a secure connection”。

如果SMTP信息正确,MSS Cloud就可以使用该信息给您配置的分机发送语音邮件。

Step2: 配置分机

请点击”Local users”连接,增加或者编辑一个本地用户(通常也称为:分机),并设定eMail address,这就是告诉MSS Cloud,将该分机的语音留言发送到这个地址去。

当然,在分机的配置中,您还需要为该分机设置语音留言权限。

完成这些配置后,对于无应答呼叫,MSS会提示主叫用户留言,并将留言发送到相应的email邮箱中。

miniSipServer云释出

miniSipServer云释出

今天,我们非常高兴地宣布:miniSipServer云正式释出了!

“miniSipServer云”是另外一种形式的托管PBX服务,尤其适合小型企业。用户不再需要维护单独的PBX或者VOIP服务器产品,可以将它们放置在云中,可以根据自己的实际需求,灵活地裁剪通信能力。并且,用户可以免费地、任意地尝试该项服务。

“miniSipServer云”是结合了miniSipServer服务器软件以及Amazon的EC2技术进行架构。这个产品是我们云通信服务的开始,因此我们决定为该服务定制单独的域名:miniSipServer.com.

您可以通过http://minisipserver.com访问我们的云通信产品,希望您能喜欢。