51学通信技术论坛

 找回密码
 立即注册
搜索
查看: 2964|回复: 1
打印 上一主题 下一主题

MAP消息介绍(编码、格式等) [复制链接]

Rank: 9Rank: 9

懒

跳转到指定楼层
楼主
发表于 2012-10-15 20:37:19 |只看该作者 |倒序浏览
一键分享 一键分享

1 MAP协议的ASN.1编码:基本信息单元

1.1 基本信息单元

基本信息单元(Information Element)简称为IE,包括标记(Tag)、长度(Length)及内容(Content)三部分组成。标记用以区分不同的信息单元(IE),决定对内容字段的解释;长度用以指明Content含有字节的个数。按照内容的复杂程度,信息单元可以分为本原体(Primitive)和复合体(Constructor)两种。本原体的内容是简单数据类型,复合体的内容是一个(或多个)基本信息单元 。

1.2 标记

标记Tag:由一个或多个8位位组组成,包括类别(Class),格式(Form)及标记码(Tag Code)三部分。

其中,HG两个比特组成Class,将标记分为4类:

HG = 00,普通类(Universal),它为X.209中定义的完全标准化的标记。

HG = 01,全应用类(Application-Wide),应用于七号系统TCAP功能各种应用业务ASE(即TCAP用户)的信息元,如事物处理子层的标记均采用此类标记。

HG =10,应用上下文类(Context-specific),用于在上一级Constructor中规定的信息元,这些信息元还要考虑同一Constructor中其它数据元素的顺序,该标记可以在其它Constructor中重用,例如成份处理子层的标记均采用此类标记。

HG=11,专用类(Private Use),它保留用于国内、网络内或专用用户的信息元。这些信息元不属于TC的协议范围。

比特F表示格式:指信息元的形式

- 0:表示该IE为本原体(Primitive)

- 1:表示该IE为复合体(Constructor)

比特E-A为标记码,表示此标签序号,可扩充为多字节,格式如下图示:

 在单字节格式中,标记只占一个八位位组,标记码为E-A位,其取值范围为00000-11110(十进制0~30)。若标记码大于30,则要采用多字节的扩展格式,这时第一字节的E-A位置置为11111,它的作用示指示标记采用多字节格式表示,本身不是标记码值的一部分。后续字节的H位用于扩展位。若H=1,表示其后一个字节还是标记扩展字节;若H=0,表示这是最后一个标记字节。所有扩展字节的G-A位串接组成标记码。第一扩展字节的G位为标记码的最高有效位(MSB),最末扩展字节的A位为最低有效位(LSB)。扩展格式标记码的最小码值为31,它只需一个扩展字节,该字节的G-A位编码为0011111。标记扩展字节不能为全0,即对于一个给定的标记码值,必须采用最小数目的扩展字节。

1.3 长度

长度指示Content部分所占的八位位组数,它不包括Tag和Length字段的八位位组。

长度字段有三种编码形式:

a)若长度小于128个八位位组,则采用短格式,它只占一个字节,第八位置0,低7位为长度的二进制编码值。

b)若长度大于等于128个八位位组,则采用长格式。在这种编码方式中,长度字段本身编码的长度为2-127。其中,第1字节的H位置1,G-A位的二进制编码值长度字段的长度减1,信息元本身也用无符号二进制数表示,其最高有效位为第2字节的G位,最低有效位为最末字节的A位。

c)在不定型编码中,长度字段只占一个八位位组,起编码固定为10000000,它并不表示信息元的长度,只是不定型编码的一个标志。采用这种编码方式,需要在信息元的末尾设置一个特殊的“内容结束”(EOC:End-Of-Content)指示语。该指示语是作为一个信息元来处理的,其标记( Class)是Universal类,Form是Primitive,TagCode为0,没有Content部分,所以长度为0。不定型编码可以用于任意长度的信息元,其最大长度仅受限于SCCP消息的最大长度。这种编码可以代替短格式或长格式长度编码,其唯一要求是应用的信息元必须是Constructor类型,因为EOC本身就是一个消息元。

1.4 信息元举例

例一:04 08 64 00 70 07 09 00 00 F1

其中,04是标记,08是长度,其余部分是内容。

对标记04进一步分析可知,这个信息单元是一个普通类,在X.209中有完全标准化的定义,同时信息单元是本原体,标记码是4。通过X.209知,这个标记表示Octect String,也就是说,信息单元的内容是一个八位组的数组。其实,这个信息单元的内容表示的是一个IMSI。

例二:6C 80 ...... 00 00

其中,6C是标记,80是表示不定长,最后两个00表示信息单元的结束,中间省略的部分是信息单元的内容。

对标记6C进一步分析可知,这个信息单元是一个全应用类,应用于七号系统TCAP功能,复合体,标记码是C。查TCAP的协议知,这个信息单元表示的是TCAP的成份部分。

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

Rank: 9Rank: 9

懒

沙发
发表于 2012-10-15 20:54:25 |只看该作者

2 MAP消息格式和3 MAP消息编码 和4 MAP消息分析

2 MAP消息格式

2.1 MAP消息结构

MAP消息是在TCAP、SCCP、MTP各协议层提供服务的基础上传输的。在信令链路上传输的一条MAP消息,也同时包含TCAP、SCCP、MTP协议层的协议数据。一条完整的消息格式如下图:

2.2 MAP消息格式

MAP消息是TCAP消息的成份部分,TCAP消息是SCCP消息的数据部分。移动应用SCCP消息是在No.7信令的消息信号单元(MSU)中的SIF字段中传送,采用UDT消息类型,协议类别为0类或1类。

具体的MAP业务消息在TCAP消息中以成份的形式存在,一般来讲,MAP业务的消息类型和TCAP成份中的操作码一一对应,而在消息传递过程中,一个消息对应一个调用识别(Invoke ID),一个调用识别在其MAP对话过程中是对某个消息的唯一识别,通过区分调用识别,可以将一个成份"翻译"成对应的MAP业务消息。

具体的消息格式如下图所示:

F:其码型为01111110,它既表示前一个信号单元的结束,也表示后一个信号单元的开始,两个信号单元之间允许插入任意多个F标志。F标志可以在过负荷的情况下降低系统的处理工作量。

CK:检错码,采用16位循环冗余码,用以检测信号单元传输过程中产生的误码。
信号单元序号和重发指示位

- BSN:后向序号。向对方指示序号直至BSN的所有消息均已正确无误地收到。

- BIB:后向(重发)指示位。BIB反转指示对方从BSN+1号消息开始重发。

- FSN:前向序号,也就是本消息的顺序号。

- FIB:前向(重发)指示位。FIB反转指示开始重发消息。

LI:信号单元长度指示码。其值等于LI字段之后至CK字段之前的八位位组数。FISU的LI=0,LSSU的LI=1或2,MSU的LI>2。因为LI字段的长度为6个比特,其取值范围为0-63,当长度大于或等于63时,为了不改变原有的结构,LI的值均置为63。

SIO:业务指示八位位组。它只用于MSC,用于指示消息类别。MTP三级据此将消息分配给相应的功能模块,同时它还指示这是国内网消息还是国际网消息。

- 低4位:DCBA,业务指示语,其中SCCP为0011

- 高4位:HGFE,子业务字段,HG=00表示国际网,HG=01表示国际备用网,HG=10 表示国内网,HG=11表示国内备用网。FE比特备用。

3 MAP消息编码

MAP消息的详细协议采用CCITT X.208建议的Abstract Syntax Notation(ASN.1)描述。

MAP业务消息对应的操作码以及操作类别、操作时限由ETSI GSM 09.02规范给出,其中操作时限给出长、中、短三类,具体的数值可以根据具体的实现来确定。

4 MAP消息分析

完整的MAP消息:118>> 30168 UDT 000000d  05FF09  03FF11  3F 3F 83 11 FF 03 09 FF 05 0D 09 81(SCCP) 03 0E 18 0B 12 06 00 12 04 68 31 39 31 00 00 0A 12 07 00 12 04 68 31 09 40 67 2A 62 28(TCAP) 48 04 2B 81 11 00 6C 80(成份子层) A1 80 02 01 00 02 01 02 30 16 04 08 64 00 30 31 08 00 51 F4 81 06 91 68 31 09 40  67  00 00 00 00

MTP层:3F 83 11 FF 03 09 FF 05 0D,其中:

3F----表示整个MTP消息的长度,当所有消息字节数大于63个字节时,该字节统一为3F。

83----高4位“8”网络表示语,表示国内主用网;低4位“3”业务表示语,表示后面的是SCCP消息。

11 FF 03----表示DPC是03 FF 11

09 FF 05----表示OPC是05 FF 09

0D----SLS信令链路选择码

SCCP层:09 81(SCCP) 03 0E 18 0B 12 06 00 12 04 68 31 39 31 00 00 0A 12 07 00 12 04 68 31 09 40 67 2A

09:表示消息类型是UDT。

81:高4位是“8”表示QOS(Quality of service)要求出错返回,高4位如果为“0”则表示不要求出错返回;低4位“1” 表示SCCP协议分类是1类有序的无连接类。

03:被叫用户地址指针,“03”表示从“03”后面的第三个字节开始是被叫地址。

0E:主叫用户地址指针,“0E”表示从“0E”后面的第十四个字节开始是主叫地址。

18:数据地址指针,“18”表示从“18”后面的第二十四个字节开始是数据地址。

0B 12 06 00 12 04 68 31 39 31 00 00 ----被叫GT码地址。

0A 12 07 00 12 04 68 31 09 40 67----主叫GT码地址。分析方法同被叫GT码地址。

22----SCCP数据部分的长度,即TCAP消息的长度,表示长度为34个八位组。

TCAP层(事物处理子层):62 28 48 04 2B 81 11 00

62:事务处理部分字段编码,即TCAP的消息类型标签(Tag),其值62表示消息类型是一个消息开始(Begin)。

28:根据信息单元组成,消息类型标签(Tag)之后即为信息单元长度(Length),所以也看出62前面的“2A”表示该TCAP消息的长度是42(2AH)个字节。

48:表示消息类型中的事务处理ID,以区分不同的事务。“48”表示起源地事务处理ID标签。

04:再根据信息单元组成,标签(Tag)之后又是信息单元长度(Length),所以“04”表示目的地事务处理ID值的长度(Length)是4个字节

2B 81 11 00:起源地事务处理ID值。

TCAP层:成份处理子层 6C 80 A1 80 02 01 00 02 01 02 30 16 04 08 64 00 30 31 08 00 51 F4 81 06 91 68 31 09 40  67  00 00 00 00 00 00

6C:成份部分标签。

80:表示该成份的长度(Length)是不定长。

A1:成份部分中部件编码标签,其中取值为:“A1”,表示该部件是调用部件;“A2”,表示该部件是返回结果(最终)部件;“A3”,表示该部件是返回差错部件;“A4”,表示REJECT。

80:信息单元长度,表示为不定长。

02:本地码调用标签 01:操作码长度 00:调用ID的值是00

02:本地操作码标签,表示本次调用所进行的操作。

01:本地操作码长度 02:操作码,表示本次调用所进行的操作。

30:表示序列标签,该项在返回结果成份中是可选部分。

16:长度 04:八位位组串 08:长度

64 00 22 07 08 00 51 F4:位置更新的必选参数:IMSI

81:标签 06:长度  91:属性

68 31 09 00  64 F7:位置更新的可选参数:MSC号码,其中的F 为填充位。

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

站长邮箱|Archiver|51学通信 ( 粤ICP备11025688 )

GMT+8, 2024-5-8 18:37 , Processed in 0.134678 second(s), 13 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部