paul 发表于 2013-12-29 22:19 ![]()  
规范里定义的MME-UE-S1AP-ID是4个byte,消息里看到5个字节,第一个字节c0是什么意思? 
36413里有定义这个字 ...  
是4个字节。你把37773326转换成十六进制是240600E,不包括C0。查了下网上的资料,这个应该是ASN.1的编码的要求,不用管它。都有这个前缀。wireshark官方的bug频道也给出了这个说明。  www.wireshark.org/lists/wireshark-bugs/201001/msg00545.html。 Actually, the length of MME-UE-S1AP-ID is 4 bytes. This byte 30 that is C0 in 
other messages is used for ASN.1 coding for the UE-S1AP-ID-pair, which 
according to 36.413 is Sequence, so the meaning of that byte would be: 
30      ASN.1 format: Universal/Constructed/Sequence In other messages, where MME-UE-S1AP-ID and ENB-UE-S1AP-ID come separate, not 
in this UE-S1AP-ID-pair field, the equivalent byte has a different content: 
C0    ASN.1 format: Private/Primitive/... That´s why they are different. I was wrong to think that 30 is part of the 
MME-UE-S1AP-ID. Here is the corrected decoding: 00      Critically - Reject 
07      Open Type Length 
30      ASN.1 type Universal/Constructed/Sequence    <----problem happens here 
21      MME-UE-S1AP-ID Byte 1 
40      MME-UE-S1AP-ID Byte 2 
00      MME-UE-S1AP-ID Byte 3 
0F      MME-UE-S1AP-ID Byte 4 
00      eNB-UE-S1AP-ID Byte 1 
02      eNB-UE-S1AP-ID Byte 2 
00 02   Cause  
 
 |