Siemens » History » Version 1
laforge, 01/02/2022 04:44 PM
1 | 1 | laforge | h1. Siemens / Gigaset |
---|---|---|---|
2 | |||
3 | All Siemens phones seem to make use of an TLV-encoded protocol encapsulated in <<ESCAPE-TO-PROPRIETARY>> information elements. |
||
4 | |||
5 | h2. Basic message structure |
||
6 | |||
7 | All messages contain one or more proprietary information elements of the form: |
||
8 | |||
9 | | Octet | Contents | |
||
10 | | 0 | IE type | |
||
11 | | 1 | Length of contents (n) | |
||
12 | | 2 | First octet of content | |
||
13 | | ... | ... | |
||
14 | | n + 2 | Last octet of content | |
||
15 | |||
16 | This matches the S-format variable length information element structure. If multiple elements are present, they are concatenated. |
||
17 | |||
18 | h2. Information Elements |
||
19 | |||
20 | h3. <<CISS-REQUEST-SEQ>> / <<CISS-ACKNOWLEDGEMENT-SEQ>> |
||
21 | |||
22 | When transporting messages over CISS, each request contains a <<CISS-REQUEST-SEQ>> |
||
23 | IE. The receipient needs to return that sequence number in a <<CISS-ACKNOWLEDGEMENT-SEQ>> |
||
24 | IE, otherwise the request will be resent using a new sequence number. |
||
25 | |||
26 | h4. <CISS-REQUEST-SEQ>: 0x5b |
||
27 | |||
28 | | Octet | Contents | |
||
29 | | 0 | <<CISS-REQUEST-SEQ>> | |
||
30 | | 1 | Length of contents (1) | |
||
31 | | 2 | Sequence number | |
||
32 | |||
33 | h4. <CISS-ACKNOWLEDGEMENT-SEQ>: 0x59 |
||
34 | |||
35 | | Octet | Contents | |
||
36 | | 0 | <<CISS-ACKNOWLEDGEMENT-SEQ>> | |
||
37 | | 1 | Length of contents (1) | |
||
38 | | 2 | Sequence number | |
||
39 | |||
40 | References: |
||
41 | |||
42 | * [wiki:trace_access_rights_sinus501_fritzbox7240#CISSinformationexchange FRITZ!Box 7240 CISS information exchanges] |
||
43 | * [wiki:trace_locate_request_sinus501_sinus501v#CISSinformationexchange3 Sinus 501V CISS information exchanges] |
||
44 | |||
45 | h3. <<TIME-DATE>> |
||
46 | |||
47 | The <<TIME-DATE>> IE indicates the current time and date. It is transported in {FACILITY} messages. |
||
48 | |||
49 | <<TIME-DATE>>: 0x3b |
||
50 | |||
51 | | Octet | Contents | |
||
52 | | 0 | <<TIME-DATE>> | |
||
53 | | 1 | Length of contents (9) | |
||
54 | | 2 | ? Date Header ? (0x03) | |
||
55 | | 3 | Day (BCD encoded) | |
||
56 | | 4 | Month (BCD encoded) | |
||
57 | | 5 | Year (BCD encoded) | |
||
58 | | 6 | Unknown (0x00) | |
||
59 | | 7 | ? Time Header ? (0x04) | |
||
60 | | 8 | Hours (BCD encoded) | |
||
61 | | 9 | Minutes (BCD encoded) | |
||
62 | | 10 | Seconds (BCD encoded) / ? Mode 12/24 h ? | |
||
63 | |||
64 | References: |
||
65 | |||
66 | * [wiki:trace_access_rights_sinus501_fritzbox7240#CISSinformationexchange1 FRITZ!Box 7240 <<TIME-DATE>>] |
||
67 | * [wiki:trace_access_rights_gigaseta140#TIME-DATE Gigaset A140 <<TIME-DATE>>] |
||
68 | |||
69 | h3. <<DISPLAY>> |
||
70 | |||
71 | The <<DISPLAY>> IE supplies some text to the PP to permanently display. |
||
72 | It is transported in {FACILITY} messages. The size appears to be limited |
||
73 | to less that a full line. |
||
74 | |||
75 | <<DISPLAY>>: 0x54 |
||
76 | |||
77 | | Octet | Contents | |
||
78 | | 0 | <<DISPLAY>> | |
||
79 | | 1 | Length of contents (n) | |
||
80 | | 2 | Handset number | |
||
81 | | 3 | First character | |
||
82 | | ... | ... | |
||
83 | | n + 2 | Last character | |
||
84 | |||
85 | References: |
||
86 | |||
87 | * [wiki:trace_access_rights_sinus501_fritzbox7240#CISSinformationexchange2 FRITZ!Box 7240 <<DISPLAY>>] |
||
88 | * [wiki:trace_locate_request_sinus501_sinus501v#CISSinformationexchange3 Sinus 501V <<DISPLAY>>] |
||
89 | * [wiki:trace_access_rights_gigaseta140#DISPLAY Gigaset A140 <<DISPLAY>>] |
||
90 | |||
91 | h3. <<UNNAMED>> |
||
92 | |||
93 | The <<UNNAMED>> IE appears to be used for various purposes. It contains an inner |
||
94 | structure that again follows the TLV-encoding of variable length S-format |
||
95 | messages (see [#Basicmessagestructure Basic message structure]). It is transported |
||
96 | in {FACILITY} messages. |
||
97 | |||
98 | <<UNNAMED>>: 0x58 |
||
99 | |||
100 | | Octet | Contents | |
||
101 | | 0 | <<UNNAMED>> | |
||
102 | | 1 | Length of contents (n) | |
||
103 | |||
104 | One or more of these inner structures are present: |
||
105 | |||
106 | | 2 | Subtype | |
||
107 | | 3 | Length of subtype (m) | |
||
108 | | 4 | First octet of subtype contents | |
||
109 | | ... | ... | |
||
110 | | 4+m | Last octet of subtype contents | |
||
111 | |||
112 | h4. Event notification subtype |
||
113 | |||
114 | Subtype: 0x02 |
||
115 | |||
116 | Some kind of event notification. In case of Sinus 501: first octets control the |
||
117 | "T-Com message waiting" notification button: { 0x1, num } number of SMS waiting, |
||
118 | {0x4, num } number of missed calls. Remaining octets unknown, general format seems to |
||
119 | be { type, num }. |
||
120 | |||
121 | h4. Display subtype |
||
122 | |||
123 | Subtype: 0x03 |
||
124 | |||
125 | Contains contents to be displayed, apparently preceeded by some control characters |
||
126 | |||
127 | h4. Prefix/Number subtypes |
||
128 | |||
129 | All these subtypes contain the IA5 encoded number as content: |
||
130 | |||
131 | | Octet | Content | |
||
132 | | 0 | Subtype | |
||
133 | | 1 | Length (n) | |
||
134 | | 2 | First digit | |
||
135 | | ... | ... | |
||
136 | | n + 2 | Last digit | |
||
137 | |||
138 | h5. Call prefix for national area codes subtype |
||
139 | |||
140 | Subtype: 0x09 |
||
141 | |||
142 | h5. Call prefix for country codes subtype |
||
143 | |||
144 | Subtype: 0x0a |
||
145 | |||
146 | h5. Local area code subtype |
||
147 | |||
148 | Subtype: 0x0b |
||
149 | |||
150 | h5. Country code subtype |
||
151 | |||
152 | Subtype: 0x0c |
||
153 | |||
154 | h3. <<CALLER-ID>> |
||
155 | |||
156 | <<CALLER-ID>> : 0x28 |
||
157 | |||
158 | | Octet | Contents | |
||
159 | | 0 | <<CALLER-ID>> | |
||
160 | | 1 | 0x80 (unknown) | |
||
161 | | 2 | length (n) | |
||
162 | | 3 | first digit | |
||
163 | | ... | ... | |
||
164 | | n + 3 | Last digit | |
||
165 | |||
166 | References: |
||
167 | |||
168 | * [wiki:trace_missed_call_siemens_gigaset_a140##CALLER-ID Gigaset A140 <<CALLER-ID>>] |
||
169 | |||
170 | |||
171 | h2. Traces |
||
172 | |||
173 | * [wiki:trace_access_rights_sinus501_fritzbox7240 Trace of access rights request between Sinus 501 and FRITZ!Box 7240] |
||
174 | * [wiki:trace_locate_request_sinus501_sinus501v Trace of locate request between Sinus 501 and Sinus 501V] |
||
175 | * [wiki:trace_prefix_conf_sinus501_sinus501v Trace of prefix configuration between Sinus 501 and SInus 501V] |
||
176 | * [wiki:trace_access_rights_gigaseta140 Trace of locate request between Gigaset A140 and its base] |
||
177 | * [wiki:trace_missed_call_siemens_gigaset_a140 Trace of missed call between Gigaset A140 and its base] |
||
178 | |||
179 | h2. Testing |
||
180 | |||
181 | The @example/fp-siemens-proprietary@ program from [[libdect]] can be used for testing. |