本文主要是介绍软交换分组协议基础-SIGTRAN,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
摘 要:本文对SIGTRAN协议进行简介,重点对NGN组网中使用的M2UA协议部分进行介绍,对于NGN的概念和协议的简介参见《软交换分组协议基础-NGN和软交换分组协议综述V2.0》文档。
缩略语清单:
名词 | 英文解释 | 中文解释 |
SIGTRAN | Signalling Transport | 信令传输 |
M2UA | MTP2 User Adaption Layer | MTP2用户适配层 |
SCTP | Stream Control Transport Protocol | 流控制传输协议 |
SG | Sigaling Gateway | 信令网关 |
MG | Media Gateway | 媒体网关 |
MGC | Media Gateway Controller | 媒体网关控制器 |
AS | Application Server | 应用服务器,代表了一定的资源。对于SG,表示SG上的接口标识的组合。 |
ASP | Application Server Process | 应用服务器进程,是为一个或多个AS服务的进程实例,是和SG的进程实例进行通信的实体 |
NIF | Node Interworking Function | 节点互通功能,是窄带信令协议模块和UA之间的转换适配层。 |
参考资料清单:
目 录
第1章 SIGTRAN简要介绍
1.1 SIGTRAN入门简介
1.2 SIGTRAN协议栈结构介绍
1.2.1 SIGTRAN协议栈结构
1.2.2 SIGTRAN应用模型
第2章 M2UA基本概念和业务功能
2.1 M2UA组网应用
2.2 SIGTRAN的特点-“无缝连接”
2.3 M2UA的基本概念和业务功能
2.3.1 M2UA的基本概念
2.3.2 M2UA的业务功能
2.3.3 支持传送MTP2/MTP3接口原语功能
2.3.4 支持分别位于SG和MGC上的层管理模块之间的通信
2.3.5 支持对SG和ASP间SCTP偶联的管理
2.4 M2UA的内部功能
2.4.1 映射
2.4.2 ASP状态
2.4.3 SCTP 流映射
2.4.4 无缝的网管互通
2.4.5 IP拥塞管理
2.4.6 链路查询
第3章 协议消息入门
3.1 通用消息头结构
3.1.1 版本(8bits)
3.1.2 消息类别(8bits)
3.1.3 消息类型(8bits)
3.1.4 消息长度
3.1.5 M2UA消息可变长参数的结构
3.2 M2UA消息头
3.3 实例说明
3.3.1 ASPUP消息的处理
3.3.2 ASPACTIVE消息的处理
3.3.3 ASPINACTIVE消息的处理
3.3.4 ASPDOWN消息的处理
第4章 M2UA协议流程及组网应用
4.1 M2UA协议流程举例
4.1.1 M2UA业务环境建立流程(建链):
4.1.2 M2UA业务中断流程(断链):
4.2 NGN组网中的SIGTRAN协议
第1章 SIGTRAN简要介绍
& 知识点:
1、理解SIGTRAN协议的应用背景、实现功能;
2、理解SIGTRAN协议的基本概念、组成结构;
SIGTRAN的初学者,通过阅读本章可以了解它的基本概念和应用场合。通过对SIGTRAN基本概念的理解,可以更快的进入角色。如果您对于SCN信令协议(如SS7)熟悉的话,对于理解SIGTRAN协议将会很有帮助。下面将SIGTRAN协议的基本概念进行描述。
SIGTRAN协议栈是支持通过IP网络传输SCN信令协议的协议栈。该协议栈支持SCN信令协议分层模型定义中的层间标准原语接口,从而保证已有的SCN信令应用可以未经修改地使用,同时也利用标准的IP传输协议作为传输底层,通过增加自身的功能来满足SCN信令的特殊传输要求。
1.1 SIGTRAN入门简介
我们在讲到SIGTRAN的时候不能不涉及到它的应用背景。图1-1很好的说明了这一点。
图1-1 SIGTRAN应用模型
随着IP分组网络的迅速发展,IP网络和电路交换网(SCN)的互通成为必须要面对的问题。在此需求的推动下,具有互通功能的网关出现在IP网和SCN网交界处,即媒体网关MG、信令网关SG,分别完成不同媒体流和不同信令之间的承载传送和转换。其中,信令网关SG和媒体网关控制器MGC之间通过SIGTRAN传送信令。这要求SG和MGC都能够支持SIGTRAN协议。以下两点说明了图1-1中SIGTRAN的功能:
(1) 在SG和MGC之间使用SIGTRAN来传送SCN信令。在MG和MGC之间、在分离的MGC之间和在SG之间也可能使用SIGTRAN来传送基于消息的信令。
(2) SIGTRAN支持多种SCN协议的封装和承载,并不包含任何SCN协议的翻译/转换功能,而是将翻译/转换功能置于信令传送的端点处进行,仅仅将自己定位于进行信令传送。
1.2 SIGTRAN协议栈结构介绍
1.2.1 SIGTRAN协议栈结构
SIGTRAN由两层组成:传输层和UA层。
传输层协议使用流控制传输协议SCTP,在IP网上提供可靠的消息包传输;
UA层,对SCN信令的协议分层模型中各层协议的适配,负责分别位于SCN和IP中的两层协议的层间原语的传输。如M2UA是MTP2的用户适配层,其作用支持MTP2和MTP3之间的原语接口,是位于IP网中MGC上的MTP3和SG上的MTP2间的纽带。
图1-2 SIGTRAN协议栈结构
图1-2在许多文档中都出现过,这是整个SIGTRAN的结构层次图。其实这张图同时也包含了几层含义:
A、为什么中间SCTP这一层画的这么宽大?是因为UA层包括M2UA、M3UA、IUA、V5UA等众多成员,它们都需要建立在SCTP的基础上,所以才将SCTP一层画得更宽大一些,可见SCTP的重要性。在这里简单将SCTP的协议情况进行介绍:
SCTP的发展历史和前景: SCTP实际上脱胎于TCP协议,很多协议过程,如拥塞控制,都和TCP如出一辙。但是一开始SCTP定位在信令传输,因此对实时性和安全行作了一些考虑,克服了TCP的一些固有缺陷。其诞生之初叫简单控制传输协议,基于UDP。历经13个版本的草案发展,形成RFC的时候,已经绝对不是一个简单协议了,各大通信公司都进行了多次BAKE OFF测试,SCTP协议的合理性和实用性已经得到充分的检验。而且SCTP由于其超越TCP的优势,其应用已经远远超出了SIGTRAN的范畴,一方面在VOIP领域很多地方承担传输协议的角色,如BICC,MGCP都有选用SCTP的趋势,另一方面在通用传输协议上更有替代TCP协议的趋势,IETF已经讨论了包括HTTP协议在内的多种基于SCTP的应用可行性,并推出了SCTP的socket接口的相关草案。
B、图1-2中在V5UA的后面,有省略号,这表明SIGTRAN协议栈的UA成员还在不断增加。不仅包含M2UA、M3UA、V5UA等,其它协议都有可能通过SIGTRAN协议在IP网上传送,条件就是它的UA协议的底层传输要支持SCTP协议,利用SCTP提供的socket接口创建连接。
1.2.2 SIGTRAN应用模型
图1-3中所示,SIGTRAN可以将一体化的SS7演进成为层间分离的SS7。SIGTRAN由于支持层间原语,如MTP2/MTP3间的层间原语,所以可以将SS7进行层间分离,保证与电路相关的应用部分信息在IP网上的完整传送,其实这就是SIGTRAN的应用。SIGTRAN的一个重要的特点无缝连接,就是体现在信令传送的过程中。第二章将对无缝连接的具体内容进行详细讲解。
图1-3 SIGTRAN应用模型
& 说明
总结:通过第1章对SIGTRAN的介绍,大家应该对于SIGTRAN应用背景、协议结构有一个清晰的了解。并且对于SIGTRAN、SCTP等的概念应该有了一个初步的理解。
第2章 M2UA基本概念和业务功能
& 知识点:
1、理解M2UA的应用和“无缝连接”特点;
2、掌握M2UA的基本概念和功能;
我们在第1章中讲到SIGTRAN协议栈组成结构,其中UA层是对SS7的协议分层模型中各层协议的适配,负责将分别位于SCN和IP网络中的两层协议的层间原语进行传输。本章就对软交换系统中典型应用的M2UA协议进行重点讲解。
2.1 M2UA组网应用
图2-1所示为M2UA应用组网: 通常,M2UA应用场合是当SG功能实体位于MGU内时,需要使用M2UA将SS7 MTP2用户信令消息送给MGC,即所说的信令回程,如图所示。绿色部分为M2UA,蓝色部分为MTP各功能级。
图2-1 M2UA应用组网
2.2 SIGTRAN的特点-“无缝连接”
SIGTRAN协议栈是支持通过IP网络传输SCN信令协议的协议栈。该协议栈支持SCN信令协议分层模型定义中的层间标准原语接口,从而保证已有的SCN信令应用可以未经修改地使用,同时也利用标准的IP传输协议作为传输底层,通过增加自身的功能来满足SCN信令的特殊传输要求。
由图2-1,我们可以清楚的看到,SIGTRAN就是在MTP1、MTP2、MTP3之间插了队。在传统电路交换网,MTP1、MTP2、MTP3按顺序在E1上传送,而现在SIGTRAN插入到了MTP2和MTP3之间,使MTP信令消息在IP网中传输成为可能!而所谓的无缝连接就是指,MTP2、MTP3是不会知道SIGTRAN的存在的。
图2-1中最左边浅蓝色部分就是原来的MTP传输层。而中间及右边的浅蓝色部分也是MTP成员,它和最左边的MTP成员有什么不同呢?我们可以发现MTP1和MTP2仍然紧紧的联在一起,而MTP2和MTP3之间却被运行在IP上的SIGTRAN给隔开了。MTP2本来是通过层间原语把信令传递给MTP3,其实是传递给了SIGTRAN,这是因为SIGTRAN能够支持MTP2和MTP3的层间原语功能。SIGTRAN经过IP网再将MTP2传给MTP3,MTP3通过层间原语接收到MTP2消息,又传给了上层用户TUP、ISUP等。这样其实MTP2和MTP3并不知道它们之间隔了一层SIGTRAN,上层TUP、ISUP等应用层模块就更不用说了。所以SIGTRAN和MTP上层用户之间根本就没有任何联系和关联。
同样,MGC侧的上层用户传下来的信令消息,经MTP3又传递给SIGTRAN,经IP网传给了MTP2,MTP3以为直接送给了MTP2,MTP2以为是MTP3送来的。图中MTP2和MTP3之间被SIGTRAN所隔离,而MTP2和MTP3并不知道它们之间存在这样一条缝隙!
这就是SIGTRAN的所谓的“无缝连接”。
& 说明
“无缝连接”特点是理解SIGTRAN(M2UA)的重要内容。图1-3是典型的M2UA应用组网图,对于理解M2UA很有帮助。
2.3 M2UA的基本概念和业务功能
前面大家已经理解了M2UA协议的“无缝连接”特点。上文已经提到M2UA无缝连接的实现,是依靠它能够支持MTP2和MTP3层间原语功能。所以本节将对M2UA的几个概念和所能提供的业务功能进行说明。
2.3.1 M2UA的基本概念
M2UA:(SS7 MTP2-User Adaptation Layer)SS7 MTP2用户适配层,M2UA终结MTP2于分组网边缘SG,透传MTP2的用户消息(MTP3消息)转发给位于分组网中的MTP3(MGC)。
M2UA主要应用于信令和媒体在同一E1/T1中传到MG的直连方式情况下使用,基本为嵌入式信令网关。
(1) Interface(接口)
在M2UA中接口指的SS7的信令链路。
(2) (MTP2-User(MTP2用户)
指使用MTP2的业务的协议,即MTP3。
(3) Interface Identifier (接口标识)
接口标识指在SG侧的信令消息发送和接收的物理接口标识,该值仅仅是逻辑标识,可以是数字,也可以是字符串,对于M2UA来说,可以认为一个接口标识对应一条7号信令链路,它只具有局部意义,在SG和ASP之间使用。
(4) Application Server (应用服务器,简称AS)
为特定应用实体服务的一个逻辑实体,例如:处理呼叫处理的MGC就可以看作一个AS,在应用中可以在SG侧将AS看作处理相关业务的一个或多个业务的组合。
(5) Application Server Process (应用服务器进程,简称ASP)
一个AS的进程实例,状态是激活/备用。每个ASP包含一个SCTP端点,能够处理多个AS的业务。在M2UA这一层,AS就代表了一组MTP信令链路,而一个ASP处理的就是一组信令链路的消息。比如ASP1与SG之间建立一条SCTP连接1,ASP2与SG之间建立了一条SCTP连接2,SG上有5条MTP信令链路,1、2信令链路由ASP1处理;3、4、5信令链路由ASP2处理。可以把MGC上M2UA进程看作是一个ASP,那么1,2信令链路的消息由M2UA进程1(即ASP1)交给MTP3;3、4、5链路的消息由M2UA进程2(即ASP2)交给MTP3处理。
(6) Fail-over(故障恢复)
当前ASP不可达或出现故障时,业务可以重选ASP,从另外同样可以处理该链路业务的ASP(或备用的ASP)传输。这种能力就叫故障恢复。 故障恢复手段可以用来切换到先前不可达的进程。
(7) Layer Management(层管理)
它是在M2UA协议栈与本地管理实体间处理输入输出的功能。如本地管理可以通过层管理配置协议栈,将协议栈上报的故障告知本地管理等等。
(8) 链路关键字(Link Key)
链路关键字就是本地用来确定一条信号链路和及其对端的唯一标识。
(9) 信令链路终端(Signalling Link Terminal)
信令链路终端指忽略具体的执行细节,而能够实现MTP2规定的各种功能的实体。
2.3.2 M2UA的业务功能
M2UA的任务是使处于SG侧的MTP2与处ASP侧的MTP3之间通过M2UA实现无缝连接,也就是说,对于MTP2来说,M2UA表现为MTP3的接口,对于MTP3来说,M2UA表现为MTP2的接口。
& 说明
做到“无缝连接”,M2UA必须支持以下功能:
支持传送MTP2/MTP3接口原语
支持分别位于SG和MGC上的层管理模块之间的通信
支持对SG和ASP间SCTP偶联(即是连接,连接在国标里称为偶联)的管理。
2.3.3 支持传送MTP2/MTP3接口原语功能
M2UA将MTP2/MTP3接口原语转化为M2UA相应消息通过SCTP连接在IP网中进行传输,到达对端后再将M2UA消息转化为相应的MTP2/MTP3接口原语送给MTP3。M2UA支持传递MTP2、MTP3协议规定的所有原语,主要包括以下几类:
ESTABLISH
用于请求信令链路开始定位,以及指示和证实链路定位成功的结果。
RELEASE
用于请求拆除先前已建立的信令链路的结果,指示和证实拆链的结果,以及链路定位失败报告。
DATA
用于请求传送MSU消息,在SG侧MTP2请求发送其收到的MSU给MTP3,在MGC侧MTP3请求向MTP2发送MSU;
DATA RETRIEVAL
数据回收类原语,用于链路数据的回收过程 。
STATE
链路状态请求、指示和确认,用于MTP3了解和控制链路状态。
2.3.4 支持分别位于SG和MGC上的层管理模块之间的通信
在MTP2 、MTP3位于相同设备上时,由于MTP2 、MTP3在一起共用相同的层管理,因而不存在问题。当MTP2 、MTP3分别位于不同设备上,通过M2UA在IP网通信时,两边分别有一个层管理,为了真正做到无缝连接,就必须考虑两侧层管理的通信问题。
在SG侧,当发现ASP去激活时,M2UA要负责通知SG的层管理,此时M2UA对MTP2采取的行动要遵循相关的MTP规范,M2UA协议草案没有作出规定。
当M2UA从对端收到错误的消息时,需向本地层管理报告错误(如消息中携带一个SG侧不认识的接口标识)。
2.3.5 支持对SG和ASP间SCTP偶联的管理
SG侧M2UA层须维护所有已配置的远端ASP的可用性状态,以了解ASP是启用还是宕机;为了管理SG和ASP之间的SCTP偶联和业务,SG侧M2UA还须维护远端ASP的激活/未激活状态,激活的ASP用来处理SG发送的业务。
本地管理可以命令SG或ASP侧的M2UA层建立到对端M2UA节点的SCTP偶联。它可以通过使用M-SCTP ESTABLISH请求、指示和证实原语来建立到对等M2UA节点的SCTP偶联。
M2UA层也可以使用M-SCTP STATUS请求和指示原语向本地层管理通知SCTP偶联的状态,例如:M2UA可以向本地管理通知SCTP偶联释放的原因,确定是由本地M2UA层还是由SCTP释放的。
M2UA层也可以向本地管理通知ASP可用性状态的变化,它通过使用M-ASP STATUS原语来通知ASP的状态。
2.4 M2UA的内部功能
2.4.1 映射
M2UA需维护SS7物理链路和接口标识之间的映射关系,这两者是一一对应的关系。
2.4.2 ASP状态
由于需要支持ASP之间的冗余,支持ASP间的不同业务处理方式,SG侧的M2UA必须维护ASP的状态。SG和ASP之间通过ASPM消息对ASP状态进行管理。
2.4.3 SCTP 流映射
SCTP流映射的准则:
(1) 将业务最终映射到SCTP流是由适配层完成的;
(2) 映射基准是接口标识;
(3) 有序的业务必须保证在相同的流传输;
(4) 流号0用于传送管理消息,不能用于传送MAUP消息。
2.4.4 无缝的网管互通
M2UA提供在SG和ASP之间的无缝的互通,SG侧M2UA在ASP从激活状态迁出时应向本地层管理通知MTP3已不可达,SG上M2UA对MTP2 采取的措施遵循相关的MTP规范,协议草案没有作出规定。
2.4.5 IP拥塞管理
当IP网络发生拥塞时,SCTP会通知M2UA,M2UA 对网络拥塞的处理可基于实现,M2UA协议草案中对此没有作出规定。
2.4.6 链路查询
在ASP之间发生倒换时,新的激活的ASP上的M2UA可能会向SG查询信令链路状态,以保证两端的一致性,因此SG侧M2UA要将当前链路的状态如实向ASP汇报。
第3章 协议消息入门
在M2UA协议消息介绍中,给大家介绍M2UA协议消息的分类以及组成,如果您对更具体的消息体内容感兴趣,请参考协议文本。
& 说明
M2UA消息分为以下三大类:
(1)MAUP:M2UA用户适配消息
(2)ASPM:ASP维护消息
(3)MGMT:管理消息
3.1 通用消息头结构
需要注意的是,任何M2UA的消息都必须包含M2UA通用消息头,其结构如下:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version | Reserved | Message Class| Message Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
M2UA的通用消息头包括:版本、消息类别、消息类型、消息长度。下面我们对照上面的消息头分别进行解释。
3.1.1 版本(8bits)
现在支持的版本为1.0,所以该域的值只能为01。
1. 保留字段(8bits)
在实际消息中都填写00
3.1.2 消息类别(8bits)
SIGTRAN的消息类别是统一定义的,也就是说这个通用消息头是所有SIGTRAN家族中各种UA协议都支持的。对于M2UA来讲,只能是以下几种:
0 管理消息(MGMT:Management Message) [IUA/M2UA/M3UA/SUA]
3 ASP状态维护消息(ASPSM: ASP State Maintenance Messages)
[IUA/M2UA/M3UA/SUA]
4 ASP业务维护消息 (ASPTM: ASP Traffic Maintenance Messages)
[IUA/M2UA/M3UA/SUA]
6 MTP2用户适配消息(MAUP: MTP2 User Adaptation Messages) [M2UA]
(注:后面的方括号表示有哪些UA协议支持这种类别,其中3和4可以统称为ASPM类消息)
3.1.3 消息类型(8bits)
消息类型是指对应于消息类别的具体的实例。比如说水果是一种“消息类别”,而苹果就是水果这种消息类别的一个消息类型,梨同样也是水果这种消息类别的一个消息类型。
管理类消息(Message Class = 0) 有以下消息类型:
0 错误消息(ERR)
1 Notify消息(NTFY)
MTP2用户适配消息(Message class = 6)有以下消息类型:
0 Reserved
1 Data
2 Establish Request
3 Establish Confirm
4 Release Request
5 Release Confirm
6 Release Indication
7 State Request
8 State Confirm
9 State Indication
10 Data Retrieval Request
11 Data Retrieval Confirm
12 Data Retrieval Indication
13 Data Retrieval Complete Indication
14 Congestion Indication
ASP状态维护消息(Message Class = 3)有以下消息类型:
1 ASP Up (UP)
2 ASP Down (DOWN)
3 Reserved
4 ASP Up Ack (UP ACK)
5 ASP Down Ack (DOWN ACK)
ASP业务维护消息(Mesage class = 4)有以下消息类型:
1 ASP Active (ACTIVE)
2 ASP Inactive (INACTIVE)
3 ASP Active Ack (ACTIVE ACK)
4 ASP Inactive Ack (INACTIVE ACK)
3.1.4 消息长度
消息长度定义消息的长度(以八位位组为单位),包括消息头的长度和填充的长度。
3.1.5 M2UA消息可变长参数的结构
M2UA消息中的参数格式包含消息标签(Parameter Tag),参数的长度(Parameter Length), 参数内容(Parameter Value), 简称TLV格式。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Parameter Tag | Parameter Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/ /
/ Parameter Value /
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
参数的TLV格式
除了通用消息头以外,以后每个参数都是这种TLV格式,M2UA消息就是由这些一个或多个参数累加而成,或者是没有参数。其中Tag值就是区别各种参数的标志。具体的各种参数请参考协议文本。
3.2 M2UA消息头
除了通用消息头外,MAUP消息有一个特定的消息头,称之为M2UA消息头。在这类消息中,M2UA消息头紧跟在通用消息头后边。M2UA消息头中包含了接口标识,M2UA消息头的格式如下:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Tag (0x1) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface Identifier (integer) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
M2UA消息头(接口标识为数字类型时)
3.3 实例说明
两端之间建立M2UA业务环境的过程如下:
SG ASP
|<-------------ASP Up--------------|
|-----------ASP-Up Ack---------->|
|<------- ASP Active---------------|
|----ASP Active Ack------ ------>|
(1) ASPUP的消息包:(以下均是16进制)
01 00 03 01 00 00 00 08
ASPUP消息只有通用消息头,01表示版本号,00是保留字段,03是消息类别(ASP状态维护消息),01是ASPUP消息,00 00 00 08是代表整个消息包长度。
(2) ASPUP ACK的消息包:
01 00 03 04 00 00 00 08
ASPUP ACK消息也只有通用消息头,01表示版本号,00是保留字段,03是消息类别(ASP状态维护消息),04是ASPUP ACK消息,00 00 00 08是代表整个消息包长度。
(3) ASP ACTIVE的消息包
01 00 04 01 00 00 00 18 | 00 0b 00 08 00 00 00 01 | 00 01 00 08 00 00 00 00
ASP ACTIVE消息包括通用消息头和M2UA消息头以及参数,01表示版本号,00是保留字段,04是消息类别(ASP业务维护消息),01是ASP ACTIVE消息,00 00 00 18是整个消息包的长度。00 0b是一种Tag值,表示传输模式(主备用还是负荷分担),00 08表示这个参数的长度,00 00 00 01表示是负荷分担,00 01也是一种Tag值,表示if_id值,00 08表示这个参数的长度,00 00 00 00 是我们这端配置的if_id。
其余的消息也都可以按照以8个字节为单位进行分割,再按照不同的Tag值查找协议文本进行对照。
3.3.1 ASPUP消息的处理
当SCTP连接建立以后,ASP发送ASP UP消息给SG(该消息总是由ASP发出)。SG将记下该ASP的标识符(如果消息中有的话),标记该ASP处于inactive状态,并返回ASP UP Ack消息。
对于ASP侧来说,如果超时未接受到返回则重发或通知上层(具体实现)。在收到返回之前,ASP侧不能发送其它ASP消息。
对于SG侧来说,如果收到ASP UP消息后发现该ASP已被标记为ASP_ACTIVE或ASP_STANDBY状态,则在返回ASP UP Ack消息的同时,向对端发送“Unexpercted Message”错误消息,并修改该ASP的状态为ASP_INACTIVE。
对于SG侧来说,如果 收到ASP UP消息后发现该ASP已被标记为ASP_INACTIVE,则只返回ASP UP Ack消息。
3.3.2 ASPACTIVE消息的处理
不论何时,ASP收到一个ASP Up Ack,ASP将发送一个ASP ACTIVE给SG。SG收到ASP ACTIVE后,即使该ASP的状态已被标记为Active,也还是会给一个确认返回的,同时改变自己的状态,并通知LM开通业务。在ASP ACTIVE Ack没有返回前,ASP不能发送任何数据消息。返回后则通知LM。超时未返回则重发。
3.3.3 ASPINACTIVE消息的处理
当某ASP不想再承载AS的业务时,它将向SG发出ASP Inactive消息。该消息可以是LM通过M_ASP_INACTIVE原语发出,也可由M2UA管理机制发出。SG一般会返回一个确认 INACTIVE Ack。ASP INACTIVE超时未返回则重发。ASP INACTIVE消息中也含有的传输模式参数。但如果SG发现指出的模式与SG中该AS的当前模式不相同,SG将返回一个错误消息。
对于主备互换模式的AS来说,在SG接受到该ASP的ASP_INACTIVE消息之前,已经有新的ASP接管了AS的传输,那么此时的SG则早已把它认为是Inactive状态。该ASP将接到确认消息
3.3.4 ASPDOWN消息的处理
SG接受到ASP DOWN消息后,标记该ASP状态为ASP_DOWN。通知LM(用M-ASP_Down指示原语),返回ASP Down Ack消息。不管该ASP处于何种状态,SG都要返回该ASP Down Ack消息。
对于ASP侧来说,收到ASP Down Ack消息后通知LM。但如果该ASP没有发出ASP Down消息却受到了ASP Down Ack消息,它就会认为自己处于ASP_DOWN状态。如果该ASP以前是处于ASP-ACTIVE或 ASP_INACTIVE状态,此时的ASP将重新使自己返回到该状态。 对于ASP侧来说,如果超时没有收到确认,则反复重发或通知LM具体实现。
第4章 M2UA协议流程及组网应用
& 知识点:
1、掌握M2UA建链、断链等消息流程;
2、理解SIGTRAN在NGN组网中的作用;
4.1 M2UA协议流程举例
在NGN组网中,SG和MG都是位于分组网与SCN网的交界处,SG通过SIGTRAN协议和MGC(软交换)通信,MG通过H.248协议和MGC通信。其中SG作为信令网关,可以是单独的设备,也可以内置在TMG或者SoftX(即MGC)中。
4.1.1 M2UA业务环境建立流程(建链):
SG MGC
|<-------------ASP Up--------------|
|-----------ASP-Up Ack---------->|
|<------- ASP Active---------------|
|----ASP Active Ack------ ------>|
4.1.2 M2UA业务中断流程(断链):
SG MGC
|<-------------ASP Inactive--------|
|--------ASP Inactive Ack------->|
|<------- ASP DOWN -------------|
|----ASP DOWN Ack------------>|
M2UA消息主要有ASP UP、ASP UP ACK、ASP Active、ASP Active Ack、ASP Inactive、ASP Inactive Ack、ASP DOWN、ASP DOWN Ack等。
4.2 NGN组网中的SIGTRAN协议
图4-1 SIGTRAN在NGN组网中
图4-1为我司NGN组网的协议构架,可以看到在分布式的媒体网关的网络结构中,IP电话网关分离成三部分: 信令网关SG、媒体网关MG和媒体网关控制器MGC(即SoftX)。
SG负责处理信令消息,将其终结、翻译或中继;MG负责 处理媒体流,将媒体流从窄带网打包送到IP网或者从IP网接收后解包后送给窄带网;SoftX负责MG的资源的注册和管理,以及呼叫控制。
& 说明
NGN分布式的网关体系结构中,MG和SoftX之间采用的是H.248协议,
SG和SoftX之间采用SIGTRAN协议。
这篇关于软交换分组协议基础-SIGTRAN的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!