您当前的位置是:  首页 > 新闻 > 国内 >
 首页 > 新闻 > 国内 >

SIP系列讲座-SIP移动性的场景介绍

2017-11-28 15:44:11   作者: james.zhu   来源:Asterisk微信公众号   评论:0  点击:


  当前的SIP终端千变万化,同时终端用户的也不解决局限于一个物理办公电话,也包括了手机app终端,软电话,和其他的移动设备。这样就要求proxy 或者PBX支持更多的应用场景,同时保证客户的电话没有被漏接。例如,当电话呼入时可能员工公司桌面电话处于接听状态;也可能电话振铃时,员工不在座位,或者需要转接到其他的分机,或者语音邮箱。这些场景显然是一般工作场景中必须支持的,它要求SIP终端的移动性非常好才能满足用户的需求。
  很多时候,我们说移动性可能是指现在市场流行的代步工具。事实上,在SIP 或者IP网络中的移动性完全不同。在以下图例(10年前学术文章中的图例),Alice可能有多个账户同时绑定了个人SIP信息。涉及了网络,终端,服务等多个领域的交互。
  通常情况下,在IP网络中,大家提到的移动性能力支持包括几个方面的场景:
  • 用户漫游移动性支持,用户在家庭网络环境,用户在工作环境,或者用户在其他场合,例如星巴克使用的终端之间的切换。
  • 终端移动性支持,用户在同一网络下,不同网络子地址之间的切换。
  • 个人移动性,用户同一账号,使用不同的终端设备登录。
  • 服务移动性,同一设备,但是使用不同的服务。
  • 会话移动性,不同的终端之间切换同一活动的会话处理。
  • 当然,以上讨论的移动性中,如果保证这些移动性能够正常工作,不同的网络环境涉及了很多技术因素和终端的支持能力的问题,例如,防火墙策略管理,网络支持情况,重新认证,编码能力支持,不同终端的功能键兼容性等问题。
  在SIP的终端移动性方面一般涉及了3个方面的场景控制流程:
  • Pre-Call 的移动性场景:使用了Proxy和Redirect 服务器重新发现用户的位置。
  • Mid-Call的移动性场景:涉及了SIP re-InVITE和RTP处理。
  • 重连处理:某些环境中,如果终端离线,重新连接。
  为了帮助用户了解更多的SIP移动性的使用场景,我们今天分别介绍几个SIP终端不同的移动性支持环境,用户可以使用自己的IPPBX或者下载FreePBX模拟出这些场景,同时也可以非常有效地学习和帮助客户解决实际问题。这些场景包括:SIP call forking, No-answer和Forward to Voicemail。
  1、SIP call forking 简单来说就是,当呼叫方对被呼叫方发起一个呼叫后,PBX或proxy可以实现对被呼叫方不同终端对进行呼叫,例如呼叫了被呼叫方的物理终端和软电话。被检测到的第一个有效的被呼叫方首先接听这个呼叫。通常情况下,SIP call forking 支持两种模式的处理方式,一种是并行处理,另外一种就是按续处理的方式。
  并行处理的方式就是proxy会同时对用户终端进行呼叫,第一个接听的终端首先接听此呼叫。如果呼叫方同时收到两个终端的响应消息,则会根据q值来进行优先标志和响应。以下图例中使用了OpenSIP的一个处理流程,如果熟悉OpenSIP的话,这个流程可以帮助更好了解并行处理的流程。


  以下处理方式和以上图例实现的流程完全一致,可能较为生动地描述了真正的场景环境。
  按续处理的方式则有所不同,proxy会依次呼叫终端,如果第一个终端处于离线状态或忙状态,则会fork这个INVITE到另外一个终端。呼叫终端的工作话机,然后呼叫用户的软电话,依次执行。以下图例包括了一个OpenSIP的处理流程来支持按续处理的方式。


  在以上图例中,我们必须指出,事实上桌面电话的状态连接还是比较稳定的。软电话的状态检测倒是一个问题。以下图例同样说明了按续呼叫的方式。
  2、呼叫前转功能是企业PBX常见的功能之一。SIP call forward with No-Answer 简单来说,就是当被呼叫方振铃以后,但是被呼叫方客户终端1没有在设定的时间内应答这个呼叫,proxy或者IPPBX会自动将此呼叫转发(前转)到另外一个终端电话2或者软电话,以保证呼叫不会被漏接。
  3、Forward to Voicemail是一个非常实用的功能。语音邮箱是企业PBX的支持的基本功能。通常,如果呼叫方拨打的被呼叫方电话没有接听后,在设定的时间内,PBX系统可以把此呼叫转到语音邮箱,呼叫方然后根据系统提示进行语音留言给被呼叫方。呼叫方回到座位后,会看到终端的MWI指示灯的状态提示(blink),然后用户可以拨打语音邮箱的后面来收听呼叫方的留言信息(msg 提示)。这里的语音邮箱服务器可以和PBX本身集成,也可以是一个独立的语音邮箱留言系统。
  在以上的内容中,我们重点介绍了关于SIP forking的两种方式,呼叫前转到实现流程和语音留言系统的处理流程。需要提醒大家都是,这些处理流程涉及了一些终端的兼容性的问题和一些PBX的时间设置问题,用户在测试过程中需要多留意。
  关注公众微信号:asterisk-cn 获得更多有价值的行业技术分享,访问www.issabel.cn/forum 获得技术帮助。
【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

专题