Alex_P
Joined: 07 Apr 2008 Posts: 12
|
Posted: Mon Apr 14, 2008 5:24 pm Post subject: MAP_SEND_IDENTIFICATION - баг - улучшим декодер вместе! :) |
|
|
Здравствуйте.
В 3GPP TS 09.02 и 29.002 для данного сообщения есть следующее ASN.1 описание (для sendIdentification/v2):
Quote: |
sendIdentification OPERATION
ARGUMENT
tmsi OCTET STRING ( SIZE( 1 .. 4 ) )
RESULT
sendIdentificationRes SEQUENCE {
imsi OCTET STRING ( SIZE( 3 .. 8 ) ),
authenticationSetList SEQUENCE ( SIZE( 1 .. 5 ) ) OF SEQUENCE {
rand OCTET STRING ( SIZE( 16 ) ),
sres OCTET STRING ( SIZE( 4 ) ),
kc OCTET STRING ( SIZE( 8 ) ),
... } OPTIONAL,
... }
ERRORS
{
-- dataMissing -- localValue : 35,
-- unidentifiedSubscriber -- localValue : 5
}
::= localValue : 55
|
Есть подготовленный дамп:
Quote: | 80 81 3f 83 de c0 1b 10 09 80 03 0e 19 0b 12 06 00 11 04 97 21 43 65 87 f0 0b 12 07 00 11 04 97 21 43 65 87 f9 34 62 32 48 04 01 00 00 00 6b 1a 28 18 06 07 00 11 86 05 01 01 01 a0 0d 60 0b a1 09 06 07 04 00 00 01 00 0f 02 6c 0e a1 0c 02 01 01 02 01 37 04 04 55 aa 00 ff c1 26 |
Выдаёт вот это:
Quote: |
MTP2: Russian specifications, 2000
0 .0000000 Backward sequence number...... 0 Dec
1....... Backward indicator bit........ 1 Dec
1 .0000001 Forward sequence number....... 1 Dec
1....... Forward indicator bit......... 1 Dec
2 ..111111 Length indicator.............. 63 Dec
00...... Spare......................... Spare
MTP3: Russian specifications, 2000
3 ....0011 Service indicator............. SCCP
..00.... Spare......................... 0 Dec
10...... Network indicator............. National network
4 ***b14** Destination point code........ 222 Dec
***b14** Originating point code........ 111 Dec
0001.... Signalling link selection..... 1 Dec
SCCP: Russian specifications, 2001
8 00001001 Message type.................. UDT
-- Protocol class
9 ....0000 Protocol class................ Class 0
1000.... Message handling.............. Return on error
10 00000011 Pointer....................... 3 Dec
11 00001110 Pointer....................... 14 Dec
12 00011001 Pointer....................... 25 Dec
13 00001011 Length........................ 11 Dec
-- Called party address
14 .......0 Point code ind................ PC absent
......1. SSN ind....................... SSN present
..0100.. Global title ind.............. Transl. type & Numb. plan & Enc. scheme
.0...... Routing ind................... Route on GT
0....... Reserved for national use..... 0 Hex
15 00000110 Subsystem number.............. HLR
16 00000000 Translation type.............. 0 Hex
17 ....0001 Encoding scheme............... BCD, odd number of digits
0001.... Numbering plan................ ISDN/Telephony Numbering plan
18 .0000100 Nature of address ind......... International number
0....... Spare......................... 0
19 ***b44** Address signal................ 79123456780
1111.... Filler........................ 15 Dec
25 00001011 Length........................ 11 Dec
-- Calling party address
26 .......0 Point code ind................ PC absent
......1. SSN ind....................... SSN present
..0100.. Global title ind.............. Transl. type & Numb. plan & Enc. scheme
.0...... Routing ind................... Route on GT
0....... Reserved for national use..... 0 Hex
27 00000111 Subsystem number.............. VLR
28 00000000 Translation type.............. 0 Hex
29 ....0001 Encoding scheme............... BCD, odd number of digits
0001.... Numbering plan................ ISDN/Telephony Numbering plan
30 .0000100 Nature of address ind......... International number
0....... Spare......................... 0
31 ***b44** Address signal................ 79123456789
1111.... Filler........................ 15 Dec
37 00110100 Length........................ 52 Dec
-- Data
TCAP: ITU-T Q.773 White book, 1997
-- Message type
38 ***b8*** TAG: class=1 code=2 type=1
39 ***b8*** Length........................ 50 Dec
-- BEGIN
40 ***b8*** TAG: class=1 code=8 type=0
41 ***b8*** Length........................ 4 Dec
-- Originating transaction id
42 ***B4*** .............................. 1000000 Hex
46 ***b8*** TAG: class=1 code=11 type=1
47 ***b8*** Length........................ 26 Dec
-- Dialogue portion
-- Dialogue portion
48 ***b8*** TAG: class=0 code=8 type=1
49 ***b8*** Length........................ 24 Dec
-- External
50 ***b8*** TAG: class=0 code=6 type=0
51 ***b8*** Length........................ 7 Dec
-- Dialogue as id
-- Object id
52 0....... Extension..................... Last octet
.0000000 OrgEntity..................... ITU-T recommendation
53 00010001 Recommendation letter......... Q
54 ***b16** Recomendation number.......... 773 Dec
56 00000001 Modules....................... AS
57 00000001 AS............................ Dialogue AS
58 00000001 Version....................... 1 Dec
59 ***b8*** TAG: class=2 code=0 type=1
60 ***b8*** Length........................ 13 Dec
-- Dialogue PDU
61 ***b8*** TAG: class=1 code=0 type=1
62 ***b8*** Length........................ 11 Dec
-- Dialogue request
63 ***b8*** TAG: class=2 code=1 type=1
64 ***b8*** Length........................ 9 Dec
-- Application context name
65 ***b8*** TAG: class=0 code=6 type=0
66 ***b8*** Length........................ 7 Dec
-- ACN object id
-- Object id
67 0....... Extension..................... Last octet
.0000100 OrgEntity..................... ITU-T identified-org
68 00000000 Standard...................... ETSI
69 ***b8*** ETSI.......................... Mobile domain
70 00000001 Type of network............... GSM network
71 00000000 Modules....................... AC
72 00001111 Application context........... Inter VLR info retrieval
73 00000010 Version....................... 2 Dec
74 ***b8*** TAG: class=1 code=12 type=1
75 ***b8*** Length........................ 14 Dec
76 ***b8*** TAG: class=2 code=1 type=1
77 ***b8*** Length........................ 12 Dec
-- Invoke component
78 ***b8*** TAG: class=0 code=2 type=0
79 ***b8*** Length........................ 1 Dec
-- Invoke id
80 00000001 Invoke id..................... 01
81 ***b8*** TAG: class=0 code=2 type=0
82 ***b8*** Length........................ 1 Dec
83 00110111 Local operation code.......... SEND IDENTIFICATION
Container: pMAP_ComponentPortion
Wrong Component Length. Must be: 96:bits Decoded: 48:bits
Undecoded data: 04 04 55 AA 00 FF
MAP: 3GPP TS 29.002 Ver 6.12.0, 2005
Remainder:
C1 26
|
IMHO tmsi OCTET STRING ( SIZE( 1 .. 4 ) )
это 04 04 55 AA 00 FF
04 - OCTET STRING
04 - длина
55 AA 00 FF - такой вот типа TMSI
Что Вы думаете по этому поводу?
В sendIdentification/v3 будет немного по другому (но я умышленно оставил Version = 2 чтобы было заметно ошибку декодера):
Quote: | 80 81 3f 83 de c0 1b 10 09 80 03 0e 19 0b 12 06 00 11 04 97 21 43 65 87 f0 0b 12 07 00 11 04 97 21 43 65 87 f9 36 62 34 48 04 01 00 00 00 6b 1a 28 18 06 07 00 11 86 05 01 01 01 a0 0d 60 0b a1 09 06 07 04 00 00 01 00 0f 02 6c 10 a1 0e 02 01 01 02 01 37 30 06 04 04 55 aa 00 ff c1 26 |
Вот это декодируется без ошибок, хотя ошибка есть: sendIdentification/v2 и sendIdentification/v3 имеют разный формат ARGUMENT (см. ASN.1 описания).
Но на данном этапе развития декодер не смотрит на Version в Application context name а это важная штука (для той же обратной совместимости VLRов и HLRов)... |
|