在大部分的企业客户的电话呼叫业务中,特别是从运营商到企业IPPBX端的呼入业务中,有很多不同的呼叫涉及了多种SIP流程的操作,而且其流程和实际的IPPBX,代理和SIP终端存在着非常密切的关系。排查这些技术问题耗费相当多的时间。另外,因为越来越多的用户开始使用基于开源的软交换平台和媒体服务器(例如,Asterisk或FreeSWITCH,Kamailio等),用户更容易获得技术产品,因此,他们更容易接触到企业通信平台技术,导致其入门门槛也相对比较低,技术人员可能完全不了解系统底层的流程。而且不幸的是,在实际使用过程中,很多技术人员也仅仅停留在通过系统界面配置一个呼叫业务流程,他们根本没有了解和关注真正底层的呼叫流程和其细节,而且他们对真正的SIP消息之间的互相通信过程可能并不是非常熟悉。笔者发现,其中一个原因是他们没有太多学习渠道获得一些非常直观和权威的可参考的示例。
大家经常谈论SIP呼叫业务,但是,究竟哪些SIP呼叫业务是企业用户所要求的? 关于SIP业务呼叫,RFC5359对18个最常用的SIP业务呼叫流程给出了完整的SIP流程图例,这些呼叫业务为企业用户解决方案部署提供了一个比较权威的参考。因此,笔者希望通过此文章完整列出所有18个关于SIP呼叫业务的SIP流程和其相应的图例说明,并且加以适当讨论和说明来解释这些呼叫功能中可能出现的问题或部署时应该注意到地方,以便帮助技术人员或者销售工程师能够对其产品或者周边应用终端有一个完整的比较深入的理解。提醒大家,笔者的解释和图例介绍仅针对标准的SIP流程来加以说明,完全以RFC5359为基础,不会涉及其他的设备,可能有时结合开源媒体服务器,软交换的功能加以说明是为了方便用户理解和实践。
在关于SIP呼叫服务的规范协议RFC5359中,对其18个SIP呼叫流程做了完整的流程示例演示。当然,RFC5359定义的这18个示例不是一个规范标准,这18个SIP呼叫业务仅表示根据RFC5359作者建议的最常用的18个呼叫业务,不是一个强制执行的要求。这18个最常用的SIP呼叫业务功能包括:
- Call Hold
- Consultation Hold
- Music on Hold
- Transfer - Unattended
- Transfer - Attended
- Transfer - Instant Messaging
- Call Forwarding Unconditional
- Call Forwarding - Busy
- Call Forwarding - No Answer
- 3-Way Conference - Third Party Is Added
- 3-Way Conference - Third Party Joins
- Find-Me
- Call Management (Incoming Call Screening)
- Call Management (Outgoing Call Screening)
- Call Park
- Call Pickup
- Automatic Redial
- Click to Dial