摘要:介绍了
移动网间号码携带业务受理体系所使用的通信机制,着重介绍了这套通信机制的框架、选用的业务承载协议、NP业务消息和参数的定义方式、以及一些特殊的设计元素。
1号码携带业务受理体系
号码携带(NP,Number Portability),俗称携号转网,是指
电信用户变更
运营商时,仍然可以使用原有的电话号码。而移动网间号码携带就是指
手机用户的携号转网。基于我国电信业发展的现状,移动网间号码携带业务更加受到关注。为了尽快在我国实施号码携带,让广大电信用户享受到更好的电信服务,相关部门正在稳步推进号码携带业务,而号码携带业务受理体系的研究和开发工作也在同步展开。
号码携带业务受理体系的主要作用是受理电信用户的号码携带申请,并在申请通过后将相关号码携带数据下发到运营商的
网络中。参考国际上的一些成功经验,并结合我国的实际情况,国内的号码携带业务受理系统将采用一种集中式的架构,即在整个体系中有一个主节点,各个运营商的受理系统与此节点之间实现星形连接。这个主节点通常称为CSMS(Central Service Management System,集中业务管理系统),而运营商的受理系统包括LSMS(Local Service Management System,本地业务管理系统)和SOA(Service Order Administration,业务受理系统)等节点部件。号码携带受理体系的架构如图1所示。

图1NP业务受理系统体系架构
LSMS保存本地的号码携带数据,并负责管理运营商内部的网元设备;SOA主要负责受理和处理用户提出的号码携带申请;而CSMS处理所有SOA之间的交互信息,并负责向LSMS同步号码携带数据。号码携带业务的受理和生效,需要通过CSMS与SOA,LSMS之间的通信来实现,因此需要定义一个协议体系来承载这种通信。
2业务承载协议的选择
号码携带虽然是一种电信业务,但是就号码携带业务受理体系而言,更多的是一种IT系统,体系内节点之间的通信,也会基于IT系统的常用协议——TCP/
IP协议来实现。虽然可以确定TCP/IP的基本方向,但是网络层以上的协议选项依然众多。通过各种选择与比对,最终选择SOAP(Simple Object Access Protocol,简单对象访问协议)作为NP受理业务的承载协议。
SOAP是一个基于XML在分布式的环境中交换信息的简单的协议,为在一个松散的、分布式的环境中使用XML对等的交换结构化的和类型化的信息提供了一种简单的机制。SOAP本身并不定义任何应用语义,如编程模型或特定语义实现,它只是定义了一种简单的机制,通过一个模块化的包装模型和对模块中特定格式编码数据的重编码机制来表示应用语义。SOAP协议具有以下优点:
(1)SOAP协议可以使用HTTP协议作为承载协议,具有非常好的网络亲和性。在Internet的网络环境下,HTTP协议可以说是应用最为广泛的协议之一,各种网络设备(如
路由器、
交换机、防火墙等)对HTTP的支持都非常好,通过HTTP来承载SOAP,能很好地解决私网穿越、防火墙拦截等问题,网络部署相对简单。
(2)SOAP协议的语义表示基于XML协议,跨平台能力强,简单易用。XML是Internet环境中跨平台的、依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立。由于不采用二进制的编码,用XML定义的数据在跨平台使用时不会产生歧义,兼容性更好。
(3)SOAP拥有相对完善的标准。2000年5月,
互联网标准组织W3C发布了SOAP 1.1版本的规范,并于2003年6月发布了SOAP 1.2版本规范。拥有标准规范有利于在不同开发厂商开发的系统之间实现互通。除此以外,在SOAP 1.2版本规范中还定义了一套安全解决方案,非常有利于今后对NP业务受理协议进行进一步扩充和完善。
(4)SOAP协议在电信领域获得了广泛应用。虽然SOAP来自于互联网领域,但是在IT与CT逐步
融合的背景下,SOAP因其自身拥有的诸多优点,在电信的支撑系统、第三方业务接口等方面获得了广泛应用。
基于上述优点,最终选择SOAP协议作为NP业务的承载协议。选择SOAP协议后,NP业务受理体系所采用的协议架构如图2所示。

图2NP业务受理体系协议架构
3NP业务消息及参数的定义
号码携带受理节点之间的通信,本质上就是在节点之间通过携带参数的消息来传递信息。因此,仅仅确定使用SOAP协议是不够的,SOAP协议只是解决了节点之间交互方式的问题,下一步的工作就是要在此基础上自定义SOAP的应用语义,即各种NP消息和消息参数。
基于NP业务的特点,NP业务节点之间需要传递的消息可以分为5大类,即请求类消息、响应类消息、指示类消息、确认类消息和告知类消息,在此基础上又定义出了“申请请求消息”、“申请响应消息”、“生效广播指示”、“生效广播确认”、“生效结果告知”等共计34个NP业务消息。响应类消息用于对请求类消息进行反馈,而确认类消息用于对指示类消息进行反馈,告知类消息用于在某一流程完成后通知相关第三方。所有NP消息都通过HTTP协议的POST方法进行传递。
在消息参数上,每一个消息都携带长短不等的各种参数,所有参数都以UTF-8编码的字符格式定义,以最大限度的保证兼容性。在这些参数之中,有一个称之为“消息命令码”的必备参数存在于任何消息之中,用于区分各种消息。
由于NP通信中消息的收发过程是异步的,例如从发出一个请求类消息到接收对应的相应消息之间可能间隔数小时以上,因此需要在消息参数中定义各种ID号,来解决NP通信中消息之间的关联问题。在现有的NP通信机制中主要定义了3种ID号,分别是MessageID,BrcID和FlowID。MessageID除了惟一标定一个消息外,还用于实现NP消息和ACK消息之间的关联;BrcID主要用于管理广播消息和审计消息;而FlowID用于将一个完整的NP申请及生效流程串联起来。
除此以外,还定义了其他的一些参数,包括“NP号码”、“申请人姓名”、“申请人证件号”、“携入/携出
网络”、“申请结果代码”等,在此就不再一一介绍。
4ACK立即响应机制
为了提高号码携带受理系统的整体可用性,在NP的通信机制中,还定义了ACK立即响应机制。由于NP自身的业务特点,许多消息不是立即反馈结果——如果发送方一直等待结果,会导致资源被大量占用,运行效率下降;如果发送完转去处理其他消息,又不知道对端节点是否正确的收到并开始处理此消息。
为解决此矛盾,在NP的通信协议中定义了一种消息,称为ACK立即响应消息。ACK消息非常简单,通过HTTP协议的200响应进行传递。当接收节点收到一个NP消息时,不需要进行业务层面的处理,只需要对消息进行初步处理,即可通过ACK消息告知发送节点处理结果,包括已“经确认接收”、“消息格式错误”、“对端网络忙”等。这样,发送节点就可以根据反馈的结果进行相应的处理——如果对端接收正常,则开始异步等待下面的响应消息;如果对端接收出现问题,则根据既定的策略进行修改或重发。接收节点在收到NP消息后,必须在30s内反馈ACK消息,否则发送节点会认为消息发送失败。
有了ACK立即响应机制,NP业务节点的处理效率大大提高,也为NP业务节点的设计和开发带来了便利。
5结束语
我国的
移动网间号码携带业务正在稳步推进,其业务受理体系将会采用集中式的架构,即
运营商的业务受理节点(SOA/LSMS)都需要通过与CSMS通信完成业务受理。CSMS和SOA/LSMS之间主要采用基于HTTP的SOAP协议作为业务承载协议,并在此基础上定义了NP业务特有的消息和参数。
上述的一整套通信机制已经通过实验室验证,并且在实际开发的NP受理系统中得到了应用。实践证明,这套通信机制行之有效,能够很好地实现各种NP业务流程,为NP业务的开展提供了强有力的支撑。相信随着移动网间号码携带业务的不断深入,这套通信机制在未来必将发挥出更大的作用。