AT^SSTK применительно к нетмониторингуNetmonitor GSM/UMTS: от телефонов до измерительных комплексов

Ответить
Netlog
Известный нетмониторщик
Сообщения: 469
Зарегистрирован: Пн, 02-02-2004, 21:46
Откуда: Ростов на Дону
Нетмонитор: Siemens S35
Контактная информация:

AT^SSTK применительно к нетмониторингу

Сообщение Netlog »

Всё написанное ниже базируется на GSM 11.14.

Итак, даём команду телефону
AT^SSTK=11,0
D009810301260082028182
Ctrl+Z
Byte# Value (Hex) Description
1 D0 Proactive SIM command tag
2 09 length
3 81 command details tag
4 03 length
5 01 command number
6 26 Command: PROVIDE LOCAL INFORMATION, а меняя два следующих символа мы можем запросить
7 00
"00" - location information: the mobile country code (MCC), mobile network code (MNC), location area code (LAC) and cell ID of the current serving cell;
"01" - the IMEI of the ME;
"02" - the Network Measurement Results and the BCCH channel list;
"03" - the current date, time and time zone;
"04" - the current ME language setting;
"05" - and the Timing Advance.
8 82 Device identities tag
9 02 length
10 81 source: 81=SIM,
1X = Add Card Reader X (0..7),
2Y = Channel Y (1..7)
11 82 destination: 82=ME, 02=Display, 03=Earpice

А вот эта табличка поможет понять, что же мы получили в ответ.

Код: Выделить всё

Tag	Description
‘01’ or ’81’	Command details tag
‘02’ or ’82’	Device identity tag
‘03’ or ’83’	Result tag
‘04’ or ’84’	Duration tag
‘05’ or ’85’	Alpha identifier tag
‘06’ or ’86’	Address tag
‘07’ or ’87’	Capability configuration parameters tag
‘08’ or ’88’	Subaddress tag
‘09’ or ’89’	SS string tag
‘0A’ or ’8A’	USSD string tag
‘0B’ or ’8B’	SMS TPDU tag
‘0C’ or ’8C’	Cell Broadcast page tag
‘0D’ or ’8D’	Text string tag
‘0E’ or ’8E’	Tone tag
‘0F’ or ’8F’	Item tag
‘10’ or ’90’	Item identifier tag
‘11’ or ’91’	Response length tag
‘12’ or ’92’	File List tag
‘13’ or ’93’	Location Information tag
‘14’ or ’94’	IMEI tag
‘15’ or ’95’	Help request tag
‘16’ or ’96’	Network Measurement Results tag
‘17’ or ’97’	Default Text
‘18’ only	Items Next Action Indicator tag
‘19’ or ’99’	Event list tag
‘1A’ or ’9A’	Cause tag
‘1B’ or ’9B’	Location status tag
‘1C’ or ’9C’	Transaction identifier tag
‘1D’ or ’9D’	BCCH channel list tag
‘1E’ or ’9E’	Icon identifier
‘1F’ or ’9F’	Item Icon identifier list
‘20’ or ’A0’	Card reader status tag class "a" only
‘21’ or ’A1’	Card ATR tag class "a" only
‘22’ or ’A2’	C-APDU tag class "a" only
‘23’ or ’A3’	R-APDU tag class "a" only
‘24’ or ’A4’	Timer identifier tag
‘25’ or ’A5’	Timer value tag
‘26’ or ’A6’	Date-Time and Time zone tag
‘27’ or ’A7’	Call control requested action tag
‘28’ or ’A8’	AT Command tag class "b" only
‘29’ or ’A9’	AT Response tag class "b" only
‘2A’ or ’AA’	BC Repeat Indicator tag
‘2B’ or ’AB’	Immediate response tag
‘2C’ or ’AC’	DTMF string tag
‘2D’ or ’AD’	Language tag
‘2E’ or ’AE’	Timing Advance tag
	The ’2F’ tag is reserved for use by 3GPP ’2F’
‘30’ or ’B0’	Browser Identity tag class "c" only
‘31’ or ’B1’	URL tag class "c" only
‘32’ or ’B2’	Bearer tag class "c" only
‘33’ or ’B3’	Provisioning Reference File tag class "c" only
‘34’ or ’B4’	Browser Termination Cause tag class "c" only
‘35’ or ’B5’	Bearer description tag class "e" only
‘36’ or ’B6’	Channel data tag class "e" only
‘37’ or ’B7’	Channel data length tag class "e" only
‘38’ or ’B8’	Channel status tag class "e" only
‘39’ or ’B9’	Buffer size tag class "e" only
‘3A’ or ’BA’	Card reader identifier tag class "a" only
‘3B' or ‘BB’	Text String (User password) class "e" only
‘3C' or ‘BC’	SIM/ME interface transport level class "e" only
‘3D' or ‘BD’	URL (data destination address) class "e" only
‘3E' or ‘BE’	Other address (data destination address) class "e" only
‘60’ or ‘E0’	Reserved for TIA/EIA-136
‘61’ or ‘E1’	Reserved for TIA/EIA-136
Наиболее полезные вещи - Location Information tag, Network Measurement Results tag, BCCH channel list tag, Date-Time and Time zone tag.
Кстати, в AT^SSTK=11,0
11 - это количество символов (или байт?) но телефон на эту цифирку не реагирует.
Последний раз редактировалось Netlog Вс, 20-06-2004, 17:45, всего редактировалось 2 раза.
Netlog
Известный нетмониторщик
Сообщения: 469
Зарегистрирован: Пн, 02-02-2004, 21:46
Откуда: Ростов на Дону
Нетмонитор: Siemens S35
Контактная информация:

Сообщение Netlog »

Запрос - D00981030126002028182
Ответы
- 81030126008202828183022004 - нет регистрации
- 810301260082028281830100930752F02017D510E2

1 81 command details tag
4 03 length
5 01 command number
6 26 Command: provide local info
7 00 '00' = Loc Info (MCC, MNC, LAC, Cell Id)
8 82 Device identities tag
9 02 length
10 82 source = ME
11 81 dest = SIM
12 83 result tag
13 01 length
14 00 00 = success
15 93 Locinfo Tag (смотрим в табличку)
16 07 Length
17-19 52F020 MCC2|MCC1|F|MCC3|NMC2|NMC1| - сеть 250-02, Мегафон
20-21 17D5 - шестнадцатиричное представление LAC 6101, у нас, в Мобиком-Кавказе ЛАКи нумеруются так - код региона, два символа, и номер области, тоже два символа
22-23 10E2 - Cell ID = 4322
Последний раз редактировалось Netlog Вс, 20-06-2004, 17:49, всего редактировалось 1 раз.
Netlog
Известный нетмониторщик
Сообщения: 469
Зарегистрирован: Пн, 02-02-2004, 21:46
Откуда: Ростов на Дону
Нетмонитор: Siemens S35
Контактная информация:

Сообщение Netlog »

Постараюсь описать NMR, как наиболее важный запрос.
Разобраться поможет GSM 04.08
Запрос - D009810301260282028182
Ответ - 8103012602820282818301009610BF3F01AF75CEA2E89B73E2BA055CAA6C9D101000000000000002352B400000000000
Здесь один ответ разбит на три части, Первая - точно такой же заголовок, как и раньше, нас интересуют вторая и третья
Разберём вторую
15 96 - Network Measurement Results tag (смотрим табличку из первого поста)
16 10 - длина сообщения в hex, 16 байт
17-32 BF3F01AF75CEA2E89B73E2BA055CAA6C - В GSM 04.08 срочно ищем таблицу Measurement Results information element
А теперь неприятное, битики упакованы плотно, и многое разбито между байтами, начнём со страшего бита байта, след за длиной сообщения Внимание, в 04.08 он назван ВТОРЫМ байтом.
Дабы не заморачиваться с переходами между байтами, просто пишу, сколько бит занимает каждое информационное поле

Код: Выделить всё

Стартовый бит - длина поля в битах - значение двоичное - значение десятичное - название поля
  0	1	1      1  BA-Used
  1	1	0      0  DTX-Used
  2	6	111111 63 RXLEV-FULL-SERVING-CELL
  8	1	0      0  Spare
  9	1	0      0  Measurement-Valid-Bit
 10	6	111111 63 RXLEV-SUB-SERVING-CELL
 16	1	0      0  Spare
 17	3	000    0  RXQUAL-FULL-SERVING-CELL
 20	3	000    0  RXQUAL-SUB-SERVING-CELL
 23	3	110    6  NO-NCELL
 26	6	101111 47 RXLEV-NCELL 1
 32	5	01110  14 BCCH-FREQ-NCELL 1
 37	6	101110 46 BSIC-NCELL 1
 43	6	011101 29 RXLEV-NCELL 2
 49	5	01000  8  BCCH-FREQ-NCELL 2
 54	6	101110 46 BSIC-NCELL 2
 60	6	100010 34 RXLEV-NCELL 3
 66	5	01101  13 BCCH-FREQ-NCELL 3
 71	6	101110 46 BSIC-NCELL 3
 77	6	011111 31 RXLEV-NCELL 4
 83	5	00010  2  BCCH-FREQ-NCELL 4
 88	6	101110 46 BSIC-NCELL 4
 94	6	100000 32 RXLEV-NCELL 5
100	5	01010  10 BCCH-FREQ-NCELL 5 
105	6	101110 46 BSIC-NCELL 5
111	6	010101 21 RXLEV-NCELL 6
117	5	01001  9  BCCH-FREQ-NCELL 6
122	6	101100 44 BSIC-NCELL 6
128				
BA-USED -
флаг использования BCCH-списка для кодирования частот соседей. Если он установлен в единицу - то частоты представлены списком, один бит-одна частота, и эти списки отдельные на 900-й диапазон и на 1800-й,
если здесь 0 - то дальше будет по 10 бит на каждую частоту, просто ARFCN
DTX-USED -
Discontinuous transmission, выключение передатчика на время пауз в разговоре.
0 - DTX not used
1 - DTX used
RXLEV-FULL-SERVING-CELL, RXLEV-SUB-SERVING-CELL -
уровень принимаемого сигнала по выбранной частоте,
0..63, превышение над уровнем -110 дБм
MEAS-VALID -
0 The measurement results are valid
1 the measurement results are not valid
RXQUAL-FULL-SERVING-CELL, RXQUAL-SUB-SERVING-CELL -
bit error rate, количество сбойных пакетов, ссылка на GSM 05.08
NO-NCELL -
количество частот в списке NMR,
000 No neighbour cell measurement result
001 одна частота
...
110 6 частот
111 Neighbour cell information not available for serving cell - что это такое? я пока не видел...
RXLEV-NCELL 1..6 -
уровни приёма , до 6 штук, тоже как превышение от 110
BCCH-FREQ-NCELL 1..6 -
номер частоты в BCCH-списке, а сам этот список мы разберём позже.
BSIC-NCELL 1..6
Base station identification cоde
Последний раз редактировалось Netlog Вс, 20-06-2004, 20:37, всего редактировалось 7 раз.
Netlog
Известный нетмониторщик
Сообщения: 469
Зарегистрирован: Пн, 02-02-2004, 21:46
Откуда: Ростов на Дону
Нетмонитор: Siemens S35
Контактная информация:

Сообщение Netlog »

Вот лог анализатора протокола, просто как пример того, что есть в Measurement element

2d 0------- BA used : no
-0------ Discontinous Transmission was not used
--101101 RXLEV-FULL-SERVING-CELL= (-110 + 45) dB

2d 0------- spare : 0
-0------ MEAS-VALID : yes
--101101 RXLEV-SUB-SERVING-CELL = (-110 + 45) dB

01 0------- spare : 0
-000---- RX-QUAL-FULL-SERVING-CELL = ~0,14% error bit
----000- RX-QUAL-SUB -SERVING-CELL = ~0,14% error bit
-------1 Number of neighbouring cell measurements high Part

61 01------ Number of neighbouring cell measurements low Part
--100001 RXLEV-Neighbour-CELL 1 = (-110 + 33) dB

13 00010--- BCCH-FREQ-NCELL 1 : 2
-----011 Base station identity code of the 1'th neighbouring cell, high part = 3

cc 110----- Base station identity code of the 1'th neighbouring cell, low part = 6
---01100 RXLEV-Neighbour-CELL 2, high

95 1------- RXLEV-Neighbour-CELL 2, low
-00101-- BCCH-FREQ-NCELL 2 : 5
------01 Base station identity code of the 2'th neighbouring cell, high part = 1

f6 1111---- Base station identity code of the 2'th neighbouring cell, low part = 15
----0110 RXLEV-Neighbour-CELL 3, high

02 00------ RXLEV-Neighbour-CELL 3, low
--00001- BCCH-FREQ-NCELL 3 : 1
-------0 Base station identity code of the 3'th neighbouring cell, high part = 0

e9 11101--- Base station identity code of the 3'th neighbouring cell, low part= 29
-----001 RXLEV- Neighbour-CELL 4,high

a0 101----- RXLEV- Neighbour-CELL 4,low
---00000 BCCH-FREQ-NCELL 4 : 0

74 011101-- Base station identity code of the 4'th neighbouring cell = 29
------00 RXLEV- Neighbour-CELL 5,high

c2 1100---- RXLEV- Neighbour-CELL 5,low
----0010 BCCH-FREQ-NCELL 5,h : 2

38 0------- BCCH-FREQ-NCELL 5,l : 0
-011100- Base station identity code of the 5'th neighbouring cell = 28
-------0 RXLEV- Neighbour-CELL 6,high

00 00000--- RXLEV- Neighbour-CELL 6,low
-----000 BCCH-FREQ-NCELL 6, h: 0

00 00------ BCCH-FREQ-NCELL 6, l: 0
--000000 Base station identity code of the 6'th neighbouring cell = 0
Netlog
Известный нетмониторщик
Сообщения: 469
Зарегистрирован: Пн, 02-02-2004, 21:46
Откуда: Ростов на Дону
Нетмонитор: Siemens S35
Контактная информация:

Сообщение Netlog »

И третья часть ответа - BCCH лист

Код: Выделить всё

FORMAT-ID, Format Identifier (Bit 128 and next) 
The different formats are distinguished by the bits of higher number. The possible values are the following: 
(128 бит - старший бит первого байта после длины сообщения)
 Bit Bit Bit Bit Bit format notation 
128 127 124 123 122 
 0 0 X X X bit map 0 
 1 0 0 X X 1024 range
 1 0 1 0 0 512 range
 1 0 1 0 1 256 range
 1 0 1 1 0 128 range
 1 0 1 1 1 variable bit map
Видим 6 разных форматов. Очень мило :) Поубивал бы :evil:
Netlog
Известный нетмониторщик
Сообщения: 469
Зарегистрирован: Пн, 02-02-2004, 21:46
Откуда: Ростов на Дону
Нетмонитор: Siemens S35
Контактная информация:

Сообщение Netlog »

bit map 0

9D101000000000000002352B400000000000
9D - признак списка частот
10 - длина этого списка,
разбираем строку 1000000000000002352B400000000000

00010000 - смотрим на первый байт
++--+++- - накладываем на него маску для определения Format-ID
00000
00xxx - bit map 0, формат определён.

Код: Выделить всё

0	2	00	0	bit map 0 
2	1	0	0	EXT-IND
3	1	1	1	BA-IND 
4	1	0	0	BA ARFCN 124
5	1	0	0	BA ARFCN 123
...
69	1	0	0	BA ARFCN 67
70	1	1	1	BA ARFCN 66
71	1	0	0	BA ARFCN 65
72	1	0	0	BA ARFCN 64
73	1	0	0	BA ARFCN 63
74	1	1	1	BA ARFCN 62
75	1	1	1	BA ARFCN 61
76	1	0	0	BA ARFCN 60
77	1	1	1	BA ARFCN 59
78	1	0	0	BA ARFCN 58
79	1	1	1	BA ARFCN 57
80	1	0	0	BA ARFCN 56
81	1	0	0	BA ARFCN 55
82	1	1	1	BA ARFCN 54
83	1	0	0	BA ARFCN 53
84	1	1	1	BA ARFCN 52
85	1	0	0	BA ARFCN 51
86	1	1	1	BA ARFCN 50
87	1	1	1	BA ARFCN 49
88	1	0	0	BA ARFCN 48
89	1	1	1	BA ARFCN 47
90	1	0	0	BA ARFCN 46
...
126	1	0	0	BA ARFCN 2
127	1	0	0	BA ARFCN 1
128				

EXT-IND, Extension indication
0 The information element carries the complete BA
1 The information element carries only a part of the BA
BA-IND - BCCH allocation sequence number indication, 
Range 0 to 1
BA ARFCN N - 
Если есть эта частота, то 1, если нет - то 0

Это - только самый старый и самый простой вормат списка соседних частот. В примере разобран ответ сименса S35, когда serving cell принадлежит к 900-му диапазону.
Netlog
Известный нетмониторщик
Сообщения: 469
Зарегистрирован: Пн, 02-02-2004, 21:46
Откуда: Ростов на Дону
Нетмонитор: Siemens S35
Контактная информация:

Сообщение Netlog »

1024 range

Это была только разминка :)
Самое интересное - вот оно

Код: Выделить всё

B4ххх...	
старт бит - длина - значение bin - значение  dec - имя поля
 
0	2	10	2	FORMAT-ID
2	1	1	1	EXT-IND
3	1	1	1	BA-IND
4	1	0	0	FORMAT-ID
5	1	1	1	F0
6	10	0000000000	0	W(1)
16	9	000000000	0	W(2)
25	9	000000000	0	W(3)
34	8	00000000	0	W(4)
42	8	00000000	0	W(5)
50	8	00000000	0	W(6)
58	8	00000000	0	W(7)
66	7	0000000	0	W(8)
73	7	0000000	0	W(9)
80	7	0000000	0	W(10)
87	7	0000000	0	W(11)
94	7	0000000	0	W(12)
101	7	0000000	0	W(13)
108	7	0000000	0	W(14)
115	7	0000000	0	W(15)
122	6	000000	0	W(16)
128				

F0, frequency 0 indicator (octet 2, bit 3): 
0 ARFCN 0 is not a member of the set 
1 ARFCN 0 is a member of the set

W(2) to W(3) are on 9 bits, when present
W(4) to W(7) are on 8 bits, when present
W(8) to W(15) are on 7 bits, when present
W(16) to W(31) are on 6 bits, when present
W(2k) to W(2k+1-1) are on 10-k bits when present
and so on

F1 = W1
F2 = (W1 - 512 + W2) smod 1023
F3 = (W1 + W3) smod 1023
F4 = (W1 - 512 + (W2 - 256 + W4) smod 511) smod 1023
F5 = (W1 + (W3 - 256 + W5) smod 511) smod 1023
F6 = (W1 - 512 + (W2 + W6) smod 511) smod 1023
F7 = (W1 + (W3 + W7) smod 511) smod 1023
F8 = (W1 - 512 + (W2 - 256 + (W4 - 128 + W8 )  mod 255) smod 511) smod 1023
и т.д.
В этом формате для частот отведены поля разной длины, одно - 10 бит, 2 - по 9 бит и т.д.
Плюс кодируются не сами частоты, а нечто более интересное. :wink:
Впрочем, в GSM 04.08 version 7.8.0 Release 1998 - Table 10.5.37 приведены не только формулы для вычисления частот, но и простенькая программка для этого.
Аналогичная ситуация и для прочих форматов "range XXX"
Последний раз редактировалось Netlog Ср, 23-06-2004, 04:53, всего редактировалось 1 раз.
Netlog
Известный нетмониторщик
Сообщения: 469
Зарегистрирован: Пн, 02-02-2004, 21:46
Откуда: Ростов на Дону
Нетмонитор: Siemens S35
Контактная информация:

Сообщение Netlog »

Ну и самый долгожданный формат - тот, в котором отдаёт данные Сименс M55, и вероятно, все другие, начиная с 55-й серии.
Здесь - всё просто.
Отбросив уже привычные
9D - начало списка
21 - длину списка
получим B4AD4B62DCB7AE0B8AE4BA2EABBAF0BE3160BC300C8330D0360E03D10442110450
Отсекаем по 10 бит слева - получаем ARFCN. Так, до тех пор, пока не останется меньше 10 бит. Остаток заполнент нулями.
Так, приведённая строка кодирует список
722 724 728 732 734 736 738 740 744 746 750 752 760 790
47 48 50 51 52 54 56 61 65 66 68 69
Marvel
Опытный нетмониторщик
Сообщения: 185
Зарегистрирован: Чт, 22-04-2004, 15:35
Нетмонитор: Alcatel 715

Сообщение Marvel »

Netlog
Засиделся ты что-то, ночь на дворе:)
Хотя эта информация того стоит:) Пока сын не начал из меня все соки высасывать, я тоже частенько углублялся в ночные эксперименты:)
Ed
Начинающий нетмониторщик
Сообщения: 7
Зарегистрирован: Сб, 17-07-2004, 10:40
Откуда: Barnaul
Нетмонитор: C55
Контактная информация:

Сообщение Ed »

У меня С55 на команду:
AT^SSTK=11,0
D009810301260282028182

ответил:

^SSTK: 810301260282028281830100 96101F1F01933F28878405D963E8807231B9 9D0AC1307C3F13C5B1AC7F29

С1 это 11000001

какой формат в данном случае ?
Netlog
Известный нетмониторщик
Сообщения: 469
Зарегистрирован: Пн, 02-02-2004, 21:46
Откуда: Ростов на Дону
Нетмонитор: Siemens S35
Контактная информация:

Сообщение Netlog »

Пардон, пропустил пост.
Формат? У 55-х Семёнов - самый простой и приятный, упакованный 10-битный. Выяснить это можно так
AT^SSTK=?
Ответ:
7FFFFFFF7F0F00DF7F00001F2300000003

DISPLAY TEXT
SEND SHORT MESSAGE
GET CELL INFO
GET NMR
GET DATE & TIME
SET IDLE MODE TEXT
BCCH LIST NEW FORMAT
GET TIMING ADVANCE

C1307C3F13C5B1AC7F29
Не иначе, теле2, что-то 900-х каналов невидно.
772
775
783
787
790
794
799
809
Ed
Начинающий нетмониторщик
Сообщения: 7
Зарегистрирован: Сб, 17-07-2004, 10:40
Откуда: Barnaul
Нетмонитор: C55
Контактная информация:

Сообщение Ed »

Не, не теле2 :)
я из Барнаула, у нас есть местный оператор Indigo-Unicel GSM1800

Спасибо за ответ
Stea
Нетмониторщик
Сообщения: 55
Зарегистрирован: Ср, 23-11-2005, 12:20
Откуда: Tomsk

Сообщение Stea »

Netlog, опиши поподробней, пжл, что это за команды и каким образом их в телефон вводить? Может какая статья/описание подробное есть, дай линк.

Rgrds,
Stea
Stea
Нетмониторщик
Сообщения: 55
Зарегистрирован: Ср, 23-11-2005, 12:20
Откуда: Tomsk

Сообщение Stea »

В дополнение: и будет ли это все работать с Самсунгами.
Заранее спасибо за ответ.

Rgrds,
Stea
Stea
Нетмониторщик
Сообщения: 55
Зарегистрирован: Ср, 23-11-2005, 12:20
Откуда: Tomsk

Re: AT^SSTK применительно к нетмониторингу

Сообщение Stea »

Netlog писал(а):Всё написанное ниже базируется на GSM 11.14.

Итак, даём команду телефону
AT^SSTK=11,0
D009810301260082028182
Ctrl+Z
Я как понимаю
AT^SSTK=11,0
D009810301260082028182
вводится ручками, затем жмется Ctrl+Z и должен вывалиться ответ
- 81030126008202828183022004 - нет регистрации
- 810301260082028281830100930752F02017D510E2
который непосредственно после этого анализируется? Так?
Как подключится к телефону, что-бы эти команды вводить?
Ответить