七号信令集中监测系统消息解码实现
发布时间:2006-10-14 4:13:06   收集提供:gaoqian
安徽移动通信公司芜湖分公司 王焕义

安徽工程科技学院电子信息工程系 孙贵甲


  七号信令网是电信网的三大支撑网之一,是电信网的重要组成部分,其应用十分广泛。到目前为止,我国已经建立了由高级信令转接点(HSTP)、低级信令转接点(LSTP)和大量的信令点(SP)组成的三级七号信令网,七号信令网真正成为电信网的神经网和支撑网。为了保证七号信令网的正常高效运行,七号信令集中监测系统作为对七号信令网进行集中监测和管理的工具就显得格外重要。协议分析是七号信令监测平台中实时和历史数据分析的一个重要组成部分,它对获得完整的信令规程分析和实现网络故障精确定位具有重要意义。而无论什么样的信令消息,进入监测系统的第一个环节就是要被系统解码,消息解码的正确和完整与否对监测系统来说就显得非常重要。本文根据《中国移动七号信令集中监测平台技术规范(1.0版)》对协议分析的要求,分析和介绍消息解码的原理和实现方法。

  一.信令集中监测系统协议分析测试规范

  协议分析功能主要是为了满足通信网络对七号信令协议测试和详细解码实现快速定位故障的需要,因此,灵活地设置过滤条件就显得非常重要。根据规范的要求,系统应能够选取七号信令网络中有限组合的多条链路作为测试范围,来观察所需的七号信令消息。为实现以上要求,系统应具备完善的过滤功能,用户可以根据需要按以下条件或它们的任意组合进行过滤。

  信号单元长度(LI):链路状态信号单元(LSSU)、消息信号单元(MSU)。

  SIO类型:信令网测试消息(SNT)、信令网管理消息(SNM)、信令连接控制(SCCP)、电话用户部分(TUP)、ISDN用户部分(ISUP)。

  MTP路由过滤:源信令点编码(OPC)、目的地信令点编码(DPC)。

  SCCP路由过滤:被叫地址、GT或(信令点编码+SSN)、主叫地址或(信令点编码+SSN)。

  TUP过滤:CIC值、TUP消息类型、主叫用户号码、被叫用户号码、原被叫用户号码。

  ISUP过滤:CIC值、ISUP消息类型、释放原因、主叫用户号码、被叫用户号码、改发号码、业务类别(CATEGORY)。

  SCCP层过滤:SCCP消息类型、返回原因、释放原因、复原原因、拒绝原因。

  BSSMAP过滤:BSSMAP消息类型、RR原因、DTAP释放原因、BSSMAP释放原因、DTAP消息类型、主叫号码、被叫号码、TMSI、IMSI、CELL、LAI等。

  TCAP层过滤:TCAP消息类型、TC事务处理成分类型、差错类型、源和目的地事务处理ID、TC-P-ABORT、TC-REJECT的原因码。

  MAP过滤:MAP操作码、MAP差错码、MSISDN、IMSI、MSCID、VLRID、HLRID、短消息中心地址。

  CAP过滤:CAP操作码、CAP差错码、BCSM事件报告原因、IMSI、主叫号码、被叫号码、servicekey、翻译号码、计费号码。

  二.消息解码的原理及其实现方法

  七号信令是以与话路网分离形式组成专门的数据通信网,以分组传送的形式透明地传送各种电信业务所使用的建立、维护和释放的通信信号消息,满足各种业务网的需要,因而七号信令系统本质上也是局间计算机间的数据通信系统。作为局间计算机的数据通信系统,七号信令系统以OSI模型为基础,采用功能模块化的结构。为了使七号信令系统与OSI参考模型一致,CCITT提出了信令连接控制部分(SCCP)和事务处理能力(TC),与原来的消息传递部分(MTP)、电话用户部分(TUP)、数据用户部分(DUP)、ISDN用户部分(ISUP)一起组成一个功能级与OSI七层模型共存的结构(如图1所示),以满足ISDN网、移动电话、运营管理维护以及智能网(IN)的要求。



图1 七号信令功能级结构与OSI之间的关系


  图1中,消息传递部分是一个传递系统,为信令传输提供一条双向数据通路,规定了一条信令数据链路的物理的、电气的和功能的特性和接入方法。它的主要功能是保证可靠地传递各种用户部分的消息信号单元,并允许不同用户部分的信号在同一信号链路上传递。MTP的第一级完成OSI第一层物理层的功能,第二层完成OSI第二层数据链路层的功能,第三层信令网功能级和SCCP一起完成OSI第三层网路层功能。

  事务处理能力(TC)完成OSI第四层至第七层的功能,其中事务处理能力应用部分TCAP完成第七层应用层功能,中间业务部分(ISP)完成第四至第六表示层、对话层、传送层的功能。TCAP只完成了OSI模型第七层的一部分功能,其余部分作为TC一用户,目前有运行维护和管理部分OMAP,移动应用部分MAP,智能网业务(INAP)等。因为七号信令消息种类繁多,解码比较复杂繁琐,本文仅以TUP和ISUP为例说明消息解码的实现。

  1.公共部分的解码

  七号信令采用数字编码的形式传送各种信令消息时,是通过信令消息的最小单元——信令单元(SU)来传送的。由于七号信令消息本身的长度不相等,如摘、挂机等监视信令通常较短,而地址信令则较长,故七号信令系统中的信号单元采用可变长的信号单元,它是由若干个8位码组组成的。按照信令单元的来源不同,它有三种信号单元格式,即填充信号单元(FISU)、链路状态信号单元(LSSU)和消息信号单元(MSU)。对于三种信令消息,它们的前面部分都是相同的,由标志码(F)、前向序号(FSN)、后向序号(BSN)、业务信息八位码组(SIO)、长度表示语(LI)、前向指示比特(FIB)、后向指示比特(BIB)、信号信息字段(SIF)、状态字段(SF)组成。其中,标志码F(01111110),用于每个信令单元的开始或结尾,以识别消息起点;长度指示码LI指示LI和CK之间间的字节数,以区分三种信令单元;状态标志SF标志本端链路的工作状态,它是LSSU的主要组成部分。业务信息八位码组(SIO)和信号信息字段(SIF)是MSU的主要组成部分,SIO又可分解为业务表示语(SI)和子业务字段(SSF),SI用于区分消息的种类,如信令网管理消息、电话用户部分消息、信令连接控制部分消息、ISDN用户部分消息等;SSF用于区分该消息属于国内网路消息还是国际网路消息。

  2.信号信息部分的解码

  信号信息字段(SIF)是各种信令消息特有的消息,包括路由标记和信号信息。每种信令消息所包含的SIF消息内容各不相同,是信令消息的主要成分。

  在七号信令中,电话信令要通过电话消息信号单元来传送。电话用户部分(TUP)的主要功能是在两个信号点的TUP之间按照同等级规约,传送与建立、释放收发地址之间的话音物理电路相关的信号消息。电话用户部分消息信令单元的业务字段SI为0100,路由标记为64比特,其中24比特的目的地址码DPC,24比特的起源点码OPC。其后便是标题码和信息字段,用以传送消息的内容,如主叫用户类别、主/被叫用户号码、计费信息等。

  ISUP的消息同信令网管理消息、TUP消息、SCCP消息一样,也是利用信令单元形式在信令链路上传送,但是其SI编码不同,SIF内容也不同。其中SI=0101,每个消息信号单元的信号信息字段由8位码组的整数倍组成,而且包括以下几个部分:

  路由标记:路由标记包括目的地码DPC、起源点OPC、链路选择字SLS,SLS为8位码组,目前只用4位。

  电路识别码:电路识别码CIC为二个8位码组,但目前只用最低12位;

  消息类型编码:其功能相当于TUP中的H0和H1,它统一规定了ISUP消息的功能与格式。

  必备固定部分。

  必备可变部分。

  任选部分,它可能包括固定长度和可变长度参数字段。

  3.消息解码的流程

  作为七号信令集中检测系统的一部分,消息解码的主要目的是为满足对七号信令测试和详细解码以达到快速定位故障的需要,根据以给定的过虑条件过虑并提供CIC值、消息类型、释放原因、主被叫号码、业务类别等信息。

  当满足过滤条件LI、SIO、LSSU时应解码并显示如下信息:

  linked、发生时间、DPC、OPC、BSN、BIB、FSN、FIB、LI。

  当满足过滤条件MTP、TUP、SCCP、ISUP、TCAP时则解码并显示下列信息:

  linked、发生时间、DPC、OPC、BSN、BIB、FSN、FIB、消息类型。

  由于仪器的要求和消息所在信令中的层次不同,解码程序可分三个层次逐层进行判断解码。首先对接收到的消息解码得出:linkid、发生时间、DPC、OPC、BNS、BIB、FSN、FIB、LI,在此根据SS7len判断过滤条件是否为过滤条件LI、LSSU、SIO当中之一,当满足这个过滤条件时,只需调用Showmsg(filtType)函数显示上述消息的相应信息即可;否则,作下一步判断,继续解码得出出SIO消息,根据SIO中的SI判断此消息是否为TUP、ISUP、SCCP三种信令单元中的一种,如果是其中一种,则调用相应的ProcTUPmsg(buffer)、ProcISUPmsg(buffer)或者ProcSCCPmsg(buffer)函数,解码得出相应的消息类型,并根据消息类型判断是否属于TUP、ISUP、SCCP的一种,若属于其中一种则调用Showmsg(filtType) 函数显示其linkid、发生时间、DPC、OPC、BNS、BIB、FSN、FIB、LI及消息类型 ; 否则,再继续解码上层消息TCAP消息类型,判断是不是所要求显示TCAP消息类型,当满足过滤条件时,则调用showmsg(filttype)函数显示linkid、发生时间、DPC、OPC、BNS、BIB、FSN、FIB、LI及消息类型 。

  本解码方案的具体实现是采用C语言编写的程序来完成的。在编程过程中,大量采用函数调用,把消息类型过滤、各种消息的提取和存储、各种消息信息的显示等过程分别作为子函数供主函数调用。其中:unsignedchar*buffer为入口参数;filtType为终端设备输入的消息过滤类型。

  图2是为消息解码设计的判断条件及其流程图,经过这样一系列的判断和处理,即可将符合各种过滤条件的信令消息解码并展现出来,由于篇幅所限,程序不在此处附出。



图2 消息解码流程图


  三.结束语

  七号信令方式是复杂的国际标准化、规范化的现代通信网的信令方式。本文就在移动七号信令监测系统中的消息解码给出一种实现方案。设计中各功能的实现采用模块化设计方式,便于系统的维护和管理以及日后有新增功能的添加。随着七号信令集中检测系统作为对七号信令网进行集中监测和管理工具的广泛应用和发展,它的功能将会进一步得到完善,它也必将大大推动移动通信新业务的开展和通信网的发展。


----《通信世界》
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50