GSMBSS信令消息诠释位置更新流程doc.docx
《GSMBSS信令消息诠释位置更新流程doc.docx》由会员分享,可在线阅读,更多相关《GSMBSS信令消息诠释位置更新流程doc.docx(71页珍藏版)》请在冰豆网上搜索。
GSMBSS信令消息诠释位置更新流程doc
GSMBSS信令消息诠释
——位置更新流程
GSMBSS信令消息诠释-位置更新流程
骆瑛(162429)
关键词:
位置更新协议信令
摘 要:
信令就如同设备之间的语言,设备之间的正常运行都是建立在这种语言也就是信令的正常交互基础之上的。
正如不同的国家使用不同的语言,不同的语言又使用不同的语法一样,在通信网中,不同的接口使用不同的信令,不同的信令又对应使用不同的协议。
因此信令是建立在协议基础之上的,而读懂了信令就读懂了设备之间的语言,就能清楚的明白系统是如何进行通讯的,特别当有故障出现但却没有任何告警提示信息时,信令分析就成为了排障最高效的方法。
本文以位置更新信令流程为例,结合不同接口的协议,从字节级深入解读每条信令里的核心字段,使读者很容易理解每条信令的功能和作用,进而理解掌握整个位置更新信令流程的意义所在;为通过分析信令定位、解决相关网络问题奠定扎实的基础;同时也掌握了如何有效的使用协议来帮助解读信令的方法。
参考资料清单:
0408协议
0808协议
0858协议
BSS信令与接口分析基础
M900/M1800BSS信令分析手册
3G鉴权加密特性描述
位置更新流程信令消息诠释
1.信令流程
图1位置更新流程
2.信令流程详解
(1).ChannelRequest
MS在空中接口的接入信道上(RACH上)向BTS发送ChannelRequest((该消息内含接入原因值为位置更新)。
该消息里的字段描述如下:
●TransparentIndicator
Transparent-indicator显示“non-transparent-message”说明这条消息对BSS是不透明传输的,也就是BSC和BTS要处理这条消息。
●ChannelType
协议0858-860的9.3.1ChannelNumber定义如下
T代表子信道号(对SDCCH来说),TN是Timeslot,即时隙号。
也就是说本条信令消息是在CCCH逻辑信道的RACH上传输的(Channel-type:
uplink-ccch-rach对应10001UplinkCCCH(RACH)),该CCCH对应的时隙号是0号时隙(time-slot:
0)。
●RequestReference和AccessDelay
ChannelRequest的主要包括参数RequestReference和AccessDelay。
RequestReference包括RA(ChannelRequest中的8bit)和收到的接入脉冲的绝对帧号,AccessDelay是接入脉冲的时间延迟。
查协议0408-590的9.1.8Channelrequest,详见附录。
RA(RandomAccessInformation)主要包括参数EstablishCause和RandomReference,总信令消息为1个字节长度(即8bit),其中用3~6个bit(3个bit对应上图的第6~8bit,6个bit对应上图的第3~8bit)来提供接入网络原因;用5~2个bit(5个bit对应上图的1~5bit,2个bit对应上图的1~2bit,)携带RandomReference,也就是鉴别符。
因为RandomReference最多5个bit,所以最多系统同时区分32个MS,要进一步区分同时发起请求的MS,还需要根据Um接口上UA应答消息判断(见后面相关内容)。
下表中的”X”表示的是RandomReference字段,根据前面的3~6比特,根据这个字段,系统就能知道发起信道请求的原因值了。
比如我们可以查出,信令里的
对应下表中的EstablishmentCause为000xxxxx或0000xxxx的因为位置更新而发起的信道请求
NECI(newestablishmentcausesindication),也叫“半速率指示”。
为0时:
Newestablishmentcausesarenotsupported,为1时:
Newestablishmentcausesaresupported。
t1,t3,t2是按下面的公式计算出绝对帧号。
FN=51((T3-T2)mod(26))+T3+51x26xT1
协议定义请详细请参见附录3。
(2).ChannelRequired
BTS向BSC发送ChannelRequired消息。
Abis口的ChannelRequired消息所携带的内容跟Um口的ChannelRequest消息所携带的内容是完全一样的,详细请参见ChannelRequest解释。
(3).ChannelActivation
BSC收到ChannelRequired消息后,分配信令信道,向BTS发送ChannelActivation消息,将相应的地面资源激活,主要包括激活类型、信道模式、电平、时间提前量。
●Channelnumber
协议0858-860的9.3.1ChannelNumber定义如下
T代表子信道号(对SDCCH来说),TN是Timeslot,即时隙号。
可见激活的信道是类型为01,即SDCCH/8+ACCH,子时隙为1(TTTT对应为001),该信道所在的时隙是time-slot:
tn1
(1)…*****001,即1号时隙。
activation-type:
----intra-cell-immediate-assignment(0)----00000011,00000000的前8比特位00000011是ActivationType里的第一个8位字节Elementidentifier字段,对应协议定义的ActivationType;而00000000的第一位对应ActivationType里的第二个8位字节字段里的R位,0表示Initialactivation,1表示Reactivation,这里明显是初次激活;后3位对应A3A2A1,当为000时表示跟立即指配流程相关(relatedtoimmediateassignmentprocedure),详细参见附件1。
●channel-mode
从channel-mode里可以看到上下行DTX都没有打开(dtx-downlink和dtx-uplink都为0),本次信道激活的是用来传信令的(speech-or-data-indicator:
signaling)协议
,字段“channel-rate-andtype:
sdcch”协议定义如下
,可见本条信令是用的SDCCH(对应00000001)信道。
字段“speech-coding-algor-or-data-rate-transp-ind”的全称即“speechcodingalgorithm/datarate-transparencyindicator”。
根据协议定义,如果"Speechordataindicator"是“signaling”的话,这该字段必须是00000000Noresourcesrequired;如果是”Speech”的话,这该字段要给出相应的语音版本
;如果是“data”的,详细请参见附录1。
●Ms-power
根据附录1,可见该手机是M900手机,对应的功率等级是5,也就是对应是33dBm,即信道激活初期,手机刚接入SDCCH的时候,是以最大功率发射的,因为这时候手机还没有占用SDCCH从而实现功控。
●Timing-advance
时间提前量为0。
(4).ChannelActivationAcknowledge
BTS收到ChannelActivation后,如果信道类型正确,则在指定信道上开功率放大器,上行开始接收信息,并向BSC发送ChannelActivationAcknowledge,对之前通过ChannelActivation激活的信道进行确认。
(5).ImmediateAssignmentCommand
BSC通过BTS向MS发送ImmediateAssignmentCommand,Um接口中该消息在AGCH上发送。
ImmediateAssignmentCommand消息主要包括如下参数(详见协议0408-590的9.1.18Immediateassignment):
●GSM0408协议定义的层3消息(除了BCCH、下行CCCH、SCH、RACH和HANDOVERACCESS外)都包括如下字段
a)ProtocolDiscriminator;
b)TransactionIdentifier或SkipIndicator;
c)MessageType;
d)OtherIE(InformationElements),如果需要的话。
字节结构如下
本条消息为
对L2PseudoLength
表示包括从本字段开始(包括本字段)一直到最后,消息的长度(以十六进制)。
对TransactionIdentifier
对属于CC(CallControl)和SS(SupplementaryService)消息,其第一字节的第5到8比特包含Transactionidentifier。
它是用来唯一区别事务(Transaction)的,所以叫做TransactionIdentifier(TI)。
对一个给定PD和SAP的消息流来说,可以用TI来区别16种不同的双向的(bi-directional)消息流,我们称这个消息流为事务。
TI的结构如下:
事务是动态生成的,对应的TI值也是在生命周期里被分配,TI值是由触发一个事件的某一个接口的一侧(BSC或MSC)来分配的,当该事务结束时,对应的TI值就会被释放并被重新分配给后来的事务。
当某个接口上的不同侧分别触发了一个事务,则需要用两个不同的TI来区别开,这时就用TIflag来表示:
0表示本消息的是从触发该事务的一侧发送出来的,1表示本消息是被发送到触发该事务的一侧去的。
因此TIflag是唯一标识是谁给本事务分配该TI值,其唯一的作用就是用来避免同时分配一个相同的TI值时的冲突。
详细请参见协议GSM 04.07。
对SkipIndicator
对属于RR(RadioResourcemanagementmessage)和MM(MobilityManagement)消息,其第一字节的第5到8比特包含skipindicator。
如果一个消息的skipindicator是0000的,就不能忽略需要处理,否则可以忽略。
也就是说发送RR或MM消息的协议单元的skipindicator应该是0000。
对PD(ProtocolDiscriminator)
协议定义如下:
也就是说ImmediateAssignmentCommand是无线资源管理消息(rr-management-Protocol-Discriminator:
0x6(6),即0110RadioResourcemanagementmessages)。
对MessageType
本消息为
,对应下面协议里定义的“Channelestablishmentmessages”
●DedicatedModeorTBF和PageMode
DedicatedmodeorTBF
通知移动台将该消息的其余部分解码为分配专用信道的ImmediateAssignmentCommand消息或者分配一个TemporaryBlockFlow。
PageMode
用来控制属于某个寻呼小组的MS的行为。
协议规定,在寻呼子信道上发送的寻呼消息(或指配消息)中的“pagemode”字段会通知MS监听寻呼子信道的行为,MS共有四种监听寻呼模式:
Ø正常寻呼:
MS只监听属于自己的寻呼组
Ø扩展寻呼:
MS必须监听下一个PCH上的消息
Ø寻呼重组:
MS需要监听所有的寻呼子信道
Ø与之前相同:
寻呼模式与上一次接收到的寻呼模式相同
本消息指明本MS的寻呼属于正常寻呼,也就是MS只监听属于自己的寻呼组。
●ChannelDescription
用来描述一个分配的信道以及相应的SACCH信道,ChannelType,TDMAoffset,timeslot,绝对RF信道号。
从信令看,网络为本次流程分配的是1号时隙(time-slot:
tn1
(1))的3号子时隙(sub3,也就是channel-type:
01011的最后3位011)SDCCH(channel-type:
01011的前2位01)信道。
训练序列号为5(tsc:
0x5(5)….101)。
当hopping-channel里的h为0时,也就是没有跳频,所用的频点是7号频点(arfcn:
0x7(7)),如果当h为1时,如果使用了跳频,就会有相应的MAIO和HSN了。
详细请参见附录2。
●RequestReference。
RequestReference包括RA(ChannelRequest中的8bit)和收到的接入脉冲的绝对帧号,请参见前面channelrequired的描述。
●TimeAdvance
时间提前量。
请参见前面channelrequired的描述。
●IARestOctets(Frequencyparameters,beforetime)
TheIARestOctets部分包含空闲比特和可能或者是“分组上行指配(packetuplinkassignment)”,或者是“分组下行指配(packetdownlinkassignment)”,或者是“分组指配的第二部分(secondpartpacketassignment)”,或者是“frequencyparameters,beforetime”。
“frequencyparameters,beforetime”包括MA(mobileallocation)和MAIO(参见channeldescription字段)。
一般此字段在GPRS/EDGE里有相应的内容,在GSM里一般没有有效信息。
该字段的总长度为22位(16进制)。
如果只指明了startingtime字段,没有frequencyparameters和beforetime字段,那MS在接入信道前必须等待一段时间一直到startingtime开始。
如果没有指明startingtime字段,那么MS认为在此消息里frequencyparameters和beforetime字段都不是必须要提供的。
另一方面,为了提高信道效率,引入了ImmediateAssignmentExtend消息,它可以同时下发两个移动台的指配消息。
两种消息所携带的内容是一样的
(6).SABM(SetAsynchronousBalancedMode)帧
MS在mainDCCH(为主信令信道,通常情况下是SDCCH、FACCH和SACCH)上发SABM帧接入。
SABM是数据链路层LAPDm协议中的帧,建立异步平衡模式,是建立多帧证实模式时的第一个帧。
Um接口上同时存在两种消息流,即信令和短消息,在一条链路上用标记SAPI(业务接入点标志)加以区别,定义了上层进入链路层的接入点,SAPI0对应信令应用(协议0405里定义到:
callcontrolsignaling,mobilitymanagementsignaling,supplementaryservicessignalingandradioresourcemanagementsignalinginformationasdefinedinGSM04.08and04.10:
SAPI=0),SAPI3对应短消息业务(协议0405里定义到:
shortmessageservicesasdefinedinGSM04.11:
SAPI=3),详细请参见附录4。
在GSM中,SABM帧中带有一个信令消息:
层3服务请求消息,用于对MS正确性的确认和向网络指示MS请求的服务。
消息包括CM的业务请求、位置更新请求、IMSI分离及寻呼响应等。
以上所有消息都包括MS的IMSI号、更详细的说明接入原因及MS类标CLASSMARK。
(7).UA(UnnumberedAcknowledgement)帧
BTS在mainDCCH上回送UA帧进行确认。
UA是数据链路层LAPDm协议中无序号证实帧,是对SABM的证实。
当两个MS同时发送的信道请求的消息内容完全一致时(高话务区域存在这样的可能),也就是前面Channelrequest信令消息里携带的RA(RandomAccessInformation)的两个参数EstablishmentCause和RandomReference一样时,则这两个MS都可能响应到同一专用信道上。
因此BTS在收到SABM帧后,不进行任何修改,向MS回一个内容与SABM帧所带消息完全一样的UA帧。
由于SABM帧带有MS的IMSI号,如果MS收到UA帧的信息与SABM帧发出的不一样,它就放弃这个信道,开始重新接入过程。
只有核对正确的MS才可留在该信道。
(8).EstablishIndication
BTS向BSC发EstablishIndication消息。
该消息指示了多帧模式下的无线链路连接的建立,主要包括参数LinkIdentifier和L3Information。
LinkIdentifier包括信令信道的类型、SAPI以及SAPI0下的消息优先级。
L3Information是一条完整的层三消息,消息内容见下。
●TransparentIndicator
说明本条信令是无线链路层消息,是不透明传输的消息,也就是BSC要处理的消息。
●ChannelNumber
说明本条信令是在前面分配的1号时隙9号子时隙的SDCCH上传输的。
●LinkIdentifier
根据协议0858-860定义
说明本条信令的信道类型为主信令信道(FACCH或SDCCH)而非SACCH,再从前面的channeltype也进一步确认是SDCCH而不是FACCH;
not-applicable字段协议定义为NA比特位:
当值为1时,表示本条信令不用LinkIdentifier字段,否则为0。
Priority字段针对SAPI=0,即对信令定义消息的优先级:
00表示normalpriority,01表示highpriority,10表示lowpriority。
●L3Information
携带了旧位置区号、旧TMSI、类标1:
旧位置区号
◆CKSN(CipheringKeySequenceNumber)
加密所用加密密匙(KC)是由鉴权集中获得,而鉴权流程并不是必须的,所以如果对于某个事件,鉴权配置表配置该事件不用鉴权,但要求要加密。
若此时VLR没有相应的加密上下文(鉴权集中对应的加密密钥部分),则系统会自动要求启动鉴权流程。
2G的KC只对用户传输的内容(如语音)等进行加密,无法对信令进行加密,而3G是可以对信令进行加密的(使用IK,完整性密钥)。
为了允许在一个RR连接上不鉴权而启动加密,引入了CKSN,(UMTS里用KSI,即KeySetIdentifier)。
CKSN(KSI)由网络管理。
所以CKSN(KSI)的作用是使网络可以通过它识别保存在MS中的CK和CKSN(KSI)而不用启动鉴权流程,这就可以在后来的连接建立过程中再使用KC启动加密。
CKSN(KSI)是一个数值,和与此用户相关某组鉴权集在VLR中序号相对应(假使VLR原本一次从HLR取回5组鉴权集,已用两组,那么最近一次被使用的一组鉴权集序列号为1)。
KSI和CKSN有相同的格式,占用3bits,七个值用来识别密钥集,也即值域是0~6(000~110),‘111’被MS用来表示无可用密钥。
当CK/IK被删除后,KSI也设置为‘111’;在网络侧‘111’是保留值。
MS(UE)在给网络的第一条消息(LOCATIONUPDATINGREQUEST,CMSERVICEREQUEST,PAGINGRESPONSE,CMRE-ESTABLISHMENTREQUEST)中带上CKSN(KSI)。
在GSM系统中,如果保存的CKSN和MS发送来的CKSN相同,则可以用此CKSN对应的鉴权集中加密密钥Kc来启动加密。
在UMTS系统中,如果保存的KSI和UE发送来的KSI相同,则可以用保存的CK、IK来启动加密和完整性保护。
CKSN字段结构请参见附录6或协议0408-590。
◆LUT(LocationUpdatingType)
For字段表示是否有后续的请求,0为无,1为有。
Lut字段表示位置更新的类型:
00表示正常的Normallocationupdating,01表示Periodicupdating,10表示IMSIattach。
详细参见附录7或协议0408-590
◆LocationAreaIdentification
表明MCC为460,MNC为00,LAC为812b。
◆MobileStationClassmark1
RevisionLevel
00表示该手机为支持1阶段协议的手机,01表示该手机为支持2阶段协议的手机,10为支持R99即以后协议版本的手机。
ESIND
“ControlledEarlyClassmarkSending”指示是否使用“及早类标发送”功能:
0为不使用,1为使用。
EncryptionAlgorithmA5/1
终端在类标中上报自己的加密支持能力(0为支持,1为不支持):
在类标1中上报A5/1算法支持能力,在类标2中上报A5/2和A5/3的支持能力,在类标3中上报A5/4到A5/7的支持能力。
RFpowercapability
当使用GSM P,E[orR]900MHz频段时,协议定义了5类:
,当为DCS1800频段时,协议定义了3类:
,具体的射频能力详见附件2,一般900MHZ频段的手机是Class4(对应输出最大功率2W),而DCS1800频段的手机是Class1(对应输出最大功率1W)。
MobileIdentity
从下面十六进制的“F4”可得出二进制为“11110100”,根据协议定义
(IMEISV:
internationalmobilestationequipmentidentityandsoftwareversion,国际移动台设备标识和软件版本),最后3位100表示使用的是TMSI,对应的TMSI就是”value”里的99F4A2F0。
Odd/evenIndication
奇偶数表示位,0表示移动台的身份数字是偶数,同时当使用TMSI或PTMSI时也用0表示,1表示奇数。
IdentityDigits
对IMSI,IMEI和IMEISV,该字段用BCD码表示。
如果这个字段是个偶数,这前4位(bit5 ~bit8)就用“1111”填充。
如果这个字段表示的是TMSI,前4位(bit5 ~bi