blob: d631abc1250dd4b706c0e4fb4c33fc2d1ea2dd49 [file] [log] [blame]
Harald Weltea814f262017-07-24 13:21:35 +02001///////////////////////////////////////////////////////////////////////////////
2// //
3// Copyright Test Competence Center (TCC) ETH 2016 //
4// //
5// The copyright to the computer program(s) herein is the property of TCC. //
6// The program(s) may be used and/or copied only with the written permission //
7// of TCC or in accordance with the terms and conditions stipulated in the //
8// agreement/contract under which the program(s) has been supplied. //
9// //
10///////////////////////////////////////////////////////////////////////////////
11//
12// File: MobileL3_CC_Types.ttcn
13// Rev: R1B
14// Prodnr: CNL 113 832
15// Contact: http://ttcn.ericsson.se
16// Reference: 3GPP TS 24.008 v13.4.0
17
18
19module MobileL3_CC_Types
20{
21
22import from General_Types all;
23import from MobileL3_CommonIE_Types all;
24
25//============================================================================
26// 24.008/ 10.5.4 Call control information elements
27//============================================================================
28
29// 10.5.4.1 Extensions of codesets
30//--
31
32// 10.5.4.2 Locking shift procedure
33//--
34
35// 10.5.4.3 Non-locking shift procedure
36//--
37
38// 10.5.4.4 Auxiliary states
39type record AuxiliaryStates_TLV
40{
41 OCT1 elementIdentifier, //24'O
42 LIN1 lengthIndicator,
43 BIT2 mPTYAuxiliaryState,
44 BIT2 holdAuxState,
45 BIT3 spare_3,
46 BIT1 ext //'1'B
47} with { variant (lengthIndicator) "LENGTHTO(mPTYAuxiliaryState,holdAuxState,
48 spare_3,ext)"};
49
50type record AuxiliaryStates_LV
51{
52 LIN1 lengthIndicator,
53 BIT2 mPTYAuxState,
54 BIT2 holdAuxiliaryState,
55 BIT3 spare_3,
56 BIT1 ext //'1'B
57}with { variant (lengthIndicator) "LENGTHTO(mPTYAuxState,holdAuxiliaryState,
58 spare_3,ext)"};
59
60//24.008/ 10.5.4.4a Backup Bearer Capacity (BBC)
61type record BBC_octet3
62{
63 BIT3 informationTransferCapability, // '000'speech B
64 // '001'B UDI
65 // '010'B 3.audio 1kHz
66 // '101'oITC B (see octet 5a)
67 // '110'B speech auxiliary
68 // '111'B reserved
69 BIT1 transferMode, // '0'B mode circuit
70 // '1'B packet mode
71 BIT1 codingStandard, // '0'B GSM/PCS coding standardized
72 // '1'B reserved
73 BIT2 radioChannelRequirement, // '01'B MSC/VLR to MS;
74 // '00'B MS (supports) towards MSC/VLR rate dual (half preferred)
75 // '01'B MS (supports) towards MSC/VLR full only rate
76 // '10'B rate dual (half preferred)
77 // '11'B rate dual (full preferred)
78 BIT1 extension_octet_3
79 //'0'B or '1'B (THe RAW encoder will overwrite this bit)
80} with { variant "EXTENSION_BIT (yes)"};
81
82// "type record BC_octet4" is the same as "type record BC_octet4"
83
84type record BBC_octet5
85{
86 BIT3 signallingAccessProtocol, // '001'B I.440/450
87 // '010'B X.21
88 // '011'B X.28 dedicated PID, ind. NUI
89 // '100'B X.28 dedicated PID, uni. NUI
90 // '101'B X.28 PID non_dedicated
91 // '110'B X.32
92 BIT2 rateAdaptation, // '00'B no adaptation rate (RA)
93 // '01'B V.110/X.30 adaptation rate
94 // '10'B CCITT X.31 flag stuffing
95 // '11'B RA other (see octet 5a)
96 BIT2 accessId, // '00'B identifier octet
97 BIT1 extension_octet_5, // '0'B or '1'B (if no octet 5A following)
98
99 //octet 5a
100 BIT3 spare2_3 optional, // B'...._000
101 BIT2 otherRateAdaptation optional, // B'.._00.._ V.interworking 120
102 BIT2 otherInformationTransferCapability optional,
103 // B'_00...._ interworking RDI
104 BIT1 extension_octet_5a optional // '1'B
105} with { variant "EXTENSION_BIT (yes)"};
106
107// BBC_octet6, BBC_octet7 not required
108
109type record BackupBearerCapacity
110{
111 OCT1 elementIdentifier,
112 LIN1 lengthIndicator,
113 // the following octet fields representing an octet group
114 BBC_octet3 octet3, // 1-
115 BC_octet4 octet4 optional, //1 octet; opt. by def, but always fill in!!!
116 BBC_octet5 octet5 optional, //1-2 octets
117 BC_octet6 octet6 optional, //1-8 octets
118 BC_octet7 octet7 optional //1 octet
119} with { variant (lengthIndicator) "LENGTHTO(octet3,octet4,octet5,octet6,
120 octet7)"};
121
122// 10.5.4.5 Bearer Capacity
123type record BC_octet7
124{
125 BIT5 userInformationLayer2Protocol, //octet 7:
126 // '00110'B rec. X.25, level link
127 // '01000'B ISO 6429
128 // '01001'B X.75 (teletex)
129 // '01010'B profile Videotext
130 // '01011'B FAX group 3
131 // '01100'COPnoF1Ct B
132 // '01101'B X.75 (CAPI)
133 BIT2 layer2Id, // '10'B identifier octet
134 BIT1 extension_octet_7 // '1'B
135} with { variant "EXTENSION_BIT (yes)"};
136
137type record BC_octet6
138{
139 BIT1 synchronous_asynchronous, // '0'synchronous B
140 // '1'B asynchronous
141 BIT4 userInformationLayer1Protocol, // '0000'B default layer protocol 1
142 BIT2 layer1Id, // '01'B identifier octet
143 BIT1 extension_octet_6, // '0'B (octet 6a following) or '1'B
144
145 // OCTET 6a:
146 BIT4 userRate optional, // '0001'B 0.kbps 3 (X.1 and V.110)
147 // '0010'B 1.kbps 2 (X.1 and V.110)
148 // '0011'B 2.kbps 4 (X.1 and V.110)
149 // '0100'B 4.kbps 8 (X.1 and V.110)
150 // '0101'B 9.kbps 6 (X.1 and V.110)
151 // '0110'B 12.0 transparent kbps
152 // '0111'B 1.2 kbps/75bps asymmetric
153 BIT1 numberDataBits optional, // '0'B bits 7 (data)
154 // '1'B bits 8 (data)
155 BIT1 negotiation optional, // '0'B inband negotiation possible not
156 BIT1 numberStopBits optional, // '0'B bit 1
157 // '1'B 2 bits
158 BIT1 extension_octet_6a optional, // '0'B or '1'B
159
160 // OCTET 6b:
161 BIT3 parity optional, // '000'odd B (number)
162 // '010'even B
163 // '011'B none
164 // '100'B forced 0 to
165 // '101'B forced to 1
166 BIT1 nicOnRX optional, // '0'B no data accepted clock with
167 // '1'B data accepted with clock
168 BIT1 nicOnTX optional, // '0'B no data required clock with
169 // '1'B data required with clock
170 BIT2 intermediateRate optional, // '00'reserved B
171 // '01'B reserved
172 // '10'B kbps 8
173 // '11'B 16 kbps
174 BIT1 extension_octet_6b optional, // '0'B or '1'B
175
176 // OCTET 6c:
177 BIT5 modemType optional, // '00000'none B
178 // '00001'B V.21
179 // '00010'B V.22
180 // '00011'B V.22bis
181 // '00100'B V.23
182 // '00101'B V.26ter
183 // '00110'B V.32
184 // '00111'B modem for interfaces undefined
185 // '01000'B autobauding type 1
186 // '11111'B V.42
187 BIT2 connectionElement optional, // '00'transparent B (T)
188 // '01'non_transparent B (NT)
189 // '10'B both, preferred T
190 // '11'B both, NT preferred
191 BIT1 extension_octet_6c optional,//'0'B or '1'B no octet following 6d
192
193 // OCTET 6d:
194 BIT5 fixedNetworkUserRate optional, // '00000'B FNUR applicable not
195 // '00001'B 9.kbps 6 (X.1 and V.110)
196 // '00010'B 14.kbps 4 (X.1 and V.110)
197 // '00011'B 19.kbps 2 (X.1 and V.110)
198 // '00100'B 28.kbps 8 (X.1 and V.110)
199 // '00101'B 38.kbps 4 (X.1 and V.110)
200 // '00110'B 48.kbps 0 (X.1 and V.110)
201 // '00111'B 56.kbps 0 (X.1 and V.110)
202 // '01000'B 64.0 transparent kbps
203 BIT2 otherModemType optional, //'00'B no other modem specified type
204 // '11'B V.34
205 BIT1 extension_octet_6d optional,//'0'B or '1'B no octet following 6e
206
207 // OCTET 6e:
208 BIT3 maxNumberOfTrafficChannels optional, // '000'B TCH 1
209 // '001'B 2 TCH
210 // '010'B TCH 3
211 // '011'B 4 TCH
212 // '100'B TCH 5
213 // '110'B 6 TCH
214 // '101'B TCH 7
215 // '111'B 8 TCH
216 BIT4 acceptableChannelCodings optional,//'0'B TCH/F4.8 not acceptable
217 // '1'B TCH/F4.8 acceptable
218 // '0'B TCH/F9.6 not acceptable
219 // '1'B TCH/F9.6 acceptable
220 // '0'spare B
221 // '0'B TCH/F14.4 not acceptable
222 // '1'B TCH/F14.acceptable 4
223 BIT1 extension_octet_6e optional,//'0'B or '1'B _ no octet following 6d
224
225 // OCTET 6f:
226 BIT4 wantedAirInterfaceUserRate optional,
227 //octet 6f (MS to MSC/VLR only):
228 // '0000'B WAIUR applicable not
229 // '0001'B 9.6 kbps
230 // '0010'B 14.kbps 4
231 // '0011'B 19.2 kbps
232 // '0100'B 19.kbps 2
233 // '0101'B 28.8 kbps
234 // '0110'B 38.kbps 4
235 // '0111'B 43.2 kbps
236 // '1000'B 57.kbps 6
237 // '1001'B 38.4 kbps
238 // '1010'B 38.kbps 4
239 // '1011'B 38.4 kbps
240 // '1101'B 38.kbps 4
241 BIT3 uimi optional, // '000'B user initiated mod. allowed not
242 // '001'B UIMI allowed upto 1 TCH/F
243 // '010'B UIMI allowed upto 2 TCH/F
244 // '011'B UIMI allowed upto 3 TCH/F
245 // '100'B UIMI allowed upto 4 TCH/F
246 BIT1 extension_octet_6f optional,// '0'B or '1'B _ no octet following 6f
247
248 BIT2 spare optional, //'00'B
249 BIT2 asymetryIndication optional, // spare
250 BIT3 acceptableChannelCodingsExt optional, // spare, set to 0
251 BIT1 extension_octet_6g optional // '1'B;
252} with { variant "EXTENSION_BIT (yes)"};
253
254type record BC_octet5
255{
256 BIT3 signallingAccessProtocol, // '001'B I.440/450
257 // '010'B X.21
258 // '011'B X.28 dedicated PID, ind. NUI
259 // '100'B X.28 dedicated PID, uni. NUI
260 // '101'B X.28 PID non_dedicated
261 // '110'B X.32
262 BIT2 rateAdaptation, // '00'B no adaptation rate (RA)
263 // '01'B V.110/X.30 adaptation rate
264 // '10'B CCITT X.31 flag stuffing
265 // '11'B RA other (see octet 5a)
266 BIT2 accessId, // '00'B identifier octet
267 BIT1 extension_octet_5, // '0'B or '1'B (if no octet 5A following)
268
269 BIT3 spare2_3 optional, // B'...._000
270 BIT2 otherRateAdaptation optional, // B'.._00.._ V.interworking 120
271 BIT2 otherInformationTransferCapability optional,
272 // B'_00...._ interworking RDI
273 BIT1 extension_octet_5a optional, // B'x......_
274
275 BIT1 spare3_1 optional, // B'......_0
276 BIT1 inbandNegotiation optional,
277 BIT1 assignor_assignee optional,
278 BIT1 lli optional,
279 BIT1 mode optional,
280 BIT1 multiframe optional,
281 BIT1 hdrNohdr optional,
282 BIT1 extension_octet_5b optional // B'x......_
283} with { variant "EXTENSION_BIT (yes)"};
284
285type record BC_octet4
286{
287 BIT1 establishment, // '0'demand B
288 BIT1 nirr, // '0'B no associated meaning
289 // '1'B data 4.8, FR, NT, 6.0
290 BIT1 configuration, // '0'B point point to
291 BIT1 duplexMode, // '0'B duplex half
292 // '1'B full duplex
293 BIT2 structure, // '00'B service data integrity unit
294 // '11'B unstructured
295 BIT1 compresion, // '0'B no DC possible/allowed
296 // '1'B DC possible/allowed
297 BIT1 extension_octet_4 // '1'B
298} with { variant "EXTENSION_BIT (yes)"};
299
300type record Speech_AuxiliarySpeech
301{
302 BIT4 speechVersionIndication, //octet 3a (speech MS to MSC/VLR):
303 // B'....0000 speech full rate 1 version
304 // B'....0010 speech full rate version 2
305 // B'....0100 speech full rate 3 version
306 // B'....0001 speech half rate version 1
307 // B'....0011 speech half rate 2 version
308 // B'....0101 speech half rate version 3
309 BIT1 spare1_1, // B'..00....
310 BIT1 cTM_or_Spare, // CTM text telephony supported '1'B, not supported '0'B, or spare
311 BIT1 coding, // B'_0...... extension octet ITC
312 // B'_1...... other extension octet
313 BIT1 extension_octet_3a_3b // B'x......_
314} with { variant "EXTENSION_BIT (yes)"};
315
316type set of Speech_AuxiliarySpeech Speech_AuxiliarySpeech_List with { variant "EXTENSION_BIT (yes)"};
317
318type record BC_octet3
319{
320 BIT3 informationTransferCapability, // '000'speech B
321 // '001'B UDI
322 // '010'B 3.audio 1kHz
323 // '101'oITC B (see octet 5a)
324 // '110'B speech auxiliary
325 // '111'B reserved
326 BIT1 transferMode, // '0'B mode circuit
327 // '1'B packet mode
328 BIT1 codingStandard, // '0'B GSM/PCS coding standardized
329 // '1'B reserved
330 BIT2 radioChannelRequirement, // '01'B MSC/VLR to MS;
331 // '00'B MS (supports) towards MSC/VLR rate dual (half preferred)
332 // '01'B MS (supports) towards MSC/VLR full only rate
333 // '10'B rate dual (half preferred)
334 // '11'B rate dual (full preferred)
335 BIT1 extension_octet_3,
336 //'0'B or '1'B (THe RAW encoder will overwrite this bit)
337 Speech_AuxiliarySpeech_List speech_aux_3a_3b optional
338} with { variant "EXTENSION_BIT (yes)"};
339
340type record BearerCapability_TLV
341{
342 OCT1 elementIdentifier, // '04'O
343 LIN1 lengthIndicator, // 1..12
344 // the following octet fields representing an octet group
345 BC_octet3 octet3, // 1-
346 BC_octet4 octet4 optional, // 1 octet
347 BC_octet5 octet5 optional, // 1-3 octets
348 BC_octet6 octet6 optional, // 1-8 octets
349 BC_octet7 octet7 optional // 1 octet
350} with { variant (lengthIndicator) "LENGTHTO (octet3, octet4, octet5, octet6,
351 octet7)"};
352
353type record BearerCapability_LV
354{
355 LIN1 lengthIndicator, // 1..12
356 // the following octet fields representing an octet group
357 BC_octet3 octet3, // 1-
358 BC_octet4 octet4 optional, // 1 octet
359 BC_octet5 octet5 optional, // 1-3 octets
360 BC_octet6 octet6 optional, // 1-8 octets
361 BC_octet7 octet7 optional // 1 octet
362} with { variant (lengthIndicator) "LENGTHTO (octet3, octet4, octet5, octet6,
363 octet7)"};
364
365//10.5.4.5a Call Control Capabilities
366type record CallControlCapabilities
367{
368 OCT1 elementIdentifier,
369 LIN1 lengthIndicator,
370 BIT1 dTMF,
371 BIT1 pCP,
372 BIT1 eNICM,
373 BIT1 mcat,
374 BIT4 maxNumberOfSupportedBearers,
375 BIT4 maxNumberOfSpeechBearers,
376 BIT4 spare2 // '0000'B
377} with { variant (lengthIndicator) "LENGTHTO (dTMF,pCP,eNICM,mcat,
378 maxNumberOfSupportedBearers,spare2)" };
379
380
381//10.5.4.6 Call State
382type record CallState_V
383{
384 BIT6 callStateValue,
385 BIT2 codingStd
386};
387
388type record CallState_TV
389{
390 OCT1 elementIdentifier,
391 BIT6 callStateValue,
392 BIT2 codingStd
393};
394
395//24.008/10.5.4.7 Called Party BCD Number
396type record CalledPartyBCD_Number
397{
398 OCT1 elementIdentifier, // '5E'O
399 LIN1 lengthIndicator, // 1..15
400 BIT4 numberingPlanIdentification, // '0000'unknown B
401 // '0001'B ISDN/telephony
402 // '0011'data B
403 // '0100'B telex
404 // '1000'national B
405 // '1001'B private
406 // '1111'B reserved extension for
407 BIT3 typeOfNumber, // '000'unknown B
408 // '001'B international number
409 // '010'B number national
410 // '011'B network specific number
411 // '100'B dedicated access code short
412 // '101'B reserved
413 // '110'reserved B
414 // '111'B reserved for extension
415 BIT1 ext1, // '0'B or '1'B
416 hexstring digits optional
417} with { variant (lengthIndicator) "LENGTHTO (numberingPlanIdentification,
418 typeOfNumber, ext1, digits)";
419 variant (digits) "PADDING(yes)";
420 variant (digits) "PADDING_PATTERN('1'B)"};
421
422//24.008/10.5.4.8 Called Party SubAddress
423type record CalledPartySubAddress
424{
425 OCT1 elementIdentifier, // H'6D
426 LIN1 lengthIndicator, // 0..21
427 BIT3 spare1_3 optional, // B'...._000
428 BIT1 odd_evenIndicator optional,
429 // B'....0.._ even number of digits address
430 // B'....1.._ odd number of address digits
431 BIT3 typeOfSubAddress optional, // B'_000.... NSAP
432 // B'_010.... specified user
433 BIT1 ext1 optional, // B'1......_
434 OCTN subAddressInformation optional
435} with { variant (lengthIndicator) "LENGTHTO (spare1_3, odd_evenIndicator,
436 typeOfSubAddress, ext1, subAddressInformation)"};
437
438
439//10.5.4.9 Calling Party BCD Number
440type record CallingOrCalled_Number_oct3
441{
442 BIT4 numberingPlanIdentification, // Applies for type number of
443 // = 000, 001, 010 and 100
444 // B'....Unknown 0000
445 // B'....0001 ISDN/telephony number plan
446 // B'....0011 data numbering plan
447 // B'....0100 telex numbering plan
448 // B'....1000 national numbering plan
449 // B'....1001 private numbering plan
450 // B'....1111 reserved for extension
451 BIT3 typeOfNumber, // B'_000.... Unknown
452 // B'_001.... international number
453 // B'_010.... national number
454 // B'_011.... network specific number
455 // B'_100.... dedicated access, short code
456 // B'_101.... reserved
457 // B'_110.... reserved
458 // B'_111.... reserved for extension
459 BIT1 ext1, // B'1......_
460 BIT2 screeningIndicator optional,
461 // B'......00 User_provided, not screened
462 // B'......01 User_provided, verified and passed
463 // B'......10 User_provided, verified and failed
464 // B'......11 Network provided
465 BIT3 spare1_3 optional, // B'.._000..
466 BIT2 presentationIndicator optional,
467 // B'_00 Presentation allowed
468 // B'_01 Presentation restricted
469 // B'_10 Number not available due to interworking
470 // B'_11 Reserved
471 BIT1 ext2 optional // B'1......_
472} with { variant "EXTENSION_BIT (yes)"};
473
474type record CallingPartyBCD_Number {
475 OCT1 elementIdentifier, // '5C'O -table 9.70
476 LIN1 lengthIndicator, // 1..12
477 CallingOrCalled_Number_oct3 oct3,
478 hexstring digits optional
479} with { variant (lengthIndicator) "LENGTHTO (oct3,digits)";
480 variant (digits) "PADDING(yes)";
481 variant (digits) "PADDING_PATTERN('1'B)"};
482
483//10.5.4.10 Calling Party SubAddress
484type record CallingPartySubAddress
485{
486 OCT1 elementIdentifier, // H'5D
487 LIN1 lengthIndicator, // 0..21
488 BIT3 spare1_3 optional, // B'...._000
489 BIT1 odd_evenIndicator optional,
490 // B'....0.._ even number of digits address
491 // B'....1.._ odd number of address digits
492 BIT3 typeOfSubAddress optional, // B'_000.... NSAP
493 // B'_010.... specified user
494 BIT1 ext1 optional, // B'1......_
495 OCTN subAddressInformation optional
496} with { variant (lengthIndicator) "LENGTHTO (spare1_3, odd_evenIndicator,
497 typeOfSubAddress, ext1, subAddressInformation)"};
498
499//24.008/10.5.4.11 Cause
500//moved into MobileL3_CommonIE_Types
501
502//24.008/10.5.4.11a/b
503type record CLIR
504{
505 OCT1 elementIdentifier
506};
507
508//24.008/10.5.4.12 Congestion level
509type record CongestionLevel
510{
511 BIT4 congestionLevel, // '0000'B receiver ready
512 // '1111'B receiver not ready
513 BIT4 elementIdentifier
514};
515
516type BIT4 CongestionLevelV;
517
518//24.008/10.5.4.13 Connected Number
519type record ConnectedNumber
520{
521 OCT1 elementIdentifier, // H'4C
522 LIN1 lengthIndicator, // 2..12
523 CallingOrCalled_Number_oct3 oct3,
524 hexstring digits optional
525} with { variant (lengthIndicator) "LENGTHTO (oct3,digits)";
526 variant (digits) "PADDING(yes)";
527 variant (digits) "PADDING_PATTERN('1'B)"};
528
529//****************************************************************************
530type record ConnectedSubAddress
531{
532 OCT1 elementIdentifier, // H'4D
533 LIN1 lengthIndicator, // 0..21
534 BIT3 spare1_3 optional, // B'...._000
535 BIT1 odd_evenIndicator optional,
536 // B'....0.._ even number of digits address
537 // B'....1.._ odd number of address digits
538 BIT3 typeOfSubAddress optional, // B'_000.... NSAP
539 // B'_010.... specified user
540 BIT1 ext1 optional, // B'1......_
541 OCTN subAddressInformation optional
542} with { variant (lengthIndicator) "LENGTHTO (spare1_3, odd_evenIndicator,
543 typeOfSubAddress, ext1, subAddressInformation)" };
544
545//10.5.4.15 Facility IE (see also 24.080/3.6
546// moved to Mobile_L3_CommonIE_Types , because it is used by SS and CC
547
548// 10.5.4.16 HighLayerCompatibility
549type record HLC_octet3
550{
551 BIT2 presentationMethod,
552 BIT3 interpretation,
553 BIT2 codingStandard,
554 BIT1 extension_octet_3 // '1'B octet4 should follow
555} with { variant "EXTENSION_BIT (yes)"};
556
557type record HLC_octet4
558{
559 BIT7 highLayerCharId,
560 BIT1 extension_octet_4,
561 //octet4a:
562 BIT7 extendedHighLayerCharId optional,
563 BIT1 extension_octet_4a optional // '1'B
564} with { variant "EXTENSION_BIT (yes)"};
565
566type record HighLayerCompatibility
567{
568 OCT1 elementIdentifier, // H'7D
569 LIN1 lengthIndicator, // 0..3
570 HLC_octet3 octet3 optional,
571 HLC_octet4 octet4 optional // if octet3 used, octet4 should use, see 10.5.4.16.1
572 //replaced this: octetstring highLayerCompatibilityContents length(1..3) optional
573} with { variant (lengthIndicator) "LENGTHTO (octet3, octet4)"};
574
575//10.5.4.17 Keypad Facility
576type record KeypadFacility
577{
578 OCT1 elementIdentifier, //
579 BIT7 keypadInformation, //IA5 char
580 BIT1 spare_1
581};
582
583//10.5.4.18 Low Layer Compatibility
584// see also ITU Q.931
585type record LowLayerCompatibility
586{
587 OCT1 elementIdentifier, // H'7C
588 LIN1 lengthIndicator, // 0..13
589 octetstring lowLayerCompatibilityContents length(2..16) optional
590
591//commented out to simplify the type
592/* BIT5 informationTransferCapability optional,
593 BIT2 codingStandard optional,
594 BIT1 ext1 optional, // B'x........
595 BIT6 spare1_6 optional, // B'..0000000
596 BIT1 negotiationIndicator optional,
597 BIT1 ext2 optional, // B'x........
598 BIT5 informationTransferRate optional,
599 BIT2 transferMode optional,
600 BIT1 ext3 optional, // B'x........
601 BIT2 establishment optional,
602 BIT2 configuration optional,
603 BIT3 structure optional,
604 BIT1 ext4 optional, // B'x........
605 BIT5 informationTransferRateDestOrig optional,
606 BIT2 symetry optional,
607 BIT1 ext5 optional, // B'x........
608 BIT5 userInformationLayer1Protocol optional,
609 BIT2 layer1Identity optional,
610 BIT1 ext6 optional, // B'x........
611 BIT5 userRate optional,
612 BIT1 negotiation optional,
613 BIT1 synchronous_asynchronous optional,
614 BIT1 ext7 optional, // B'x........
615 BIT1 spare2_1 optional, // B'........0
616 BIT1 flowControlOnRX optional,
617 BIT1 flowControlOnTX optional,
618 BIT1 nicOnRX optional,
619 BIT1 nicOnTX optional,
620 BIT2 intermediateRate optional,
621 BIT1 ext8 optional, // B'x........
622 BIT1 spare3_1 optional, // B'........0
623 BIT1 inband_outbandNegotiation optional,
624 BIT1 assignor_assignee optional,
625 BIT1 lliNegotiation optional,
626 BIT1 mode optional,
627 BIT1 multiFrameSupport optional,
628 BIT1 hdrNohdr optional,
629 BIT1 ext9 optional, // B'x........
630 BIT3 parity optional,
631 BIT2 numberDataBits optional,
632 BIT2 numberStopBits optional,
633 BIT1 ext10 optional, // B'x........
634 BIT6 modemType optional,
635 BIT1 duplexMode optional,
636 BIT1 ext11 optional, // B'x........
637 BIT5 userInformationLayer2Protocol optional,
638 BIT2 layer2Id optional,
639 BIT1 ext12 optional, // B'x........
640 BIT5 userInformationLayer3Protocol optional,
641 BIT2 layer3Id optional,
642 BIT1 ext13 optional, // B'x........
643 BIT7 optionalLayer3ProtocolInformation optional,
644 BIT1 ext14 optional // B'x........
645*/
646} with { variant (lengthIndicator) "LENGTHTO (lowLayerCompatibilityContents)"};
647
648//10.5.4.19 More Data
649/*
650type record MoreData
651{
652 OCT1 elementIdentifier //'A0'O
653};
654*/
655
656//10.5.4.20 NotificationIndicator
657type record NotificationIndicator
658{
659// OCT1 elementIdentifier,
660 OCT1 notificationDescription // '80'O : user suspended
661 // '81'O : user resumed
662 // '82'O : bearer change
663};
664
665//10.5.4.21 Progress Indicator
666type record ProgressIndicator_LV
667{
668 LIN1 lengthIndicator, // '02'O
669 BIT4 location, // '0000'user B
670 // '0001'B private network, local user
671 // '0010'B public network, user local
672 // '0100'B public network, remote user
673 // '0101'B private network, user remote
674 // '1010'B Network beyond interworking pt.
675 BIT1 spare1_1, // '0'B
676 BIT2 codingStandard, // '00'B coding according Q.931
677 // '01'B reserved for standards other
678 // '10'B National standard
679 // '11'B standard other
680 BIT1 ext1, // '1'B
681 BIT7 progressDescription, //'0000001'B call is not end_to_end PLMN/ISDN
682 // '0000010'B destination address is not PLMN/ISDN
683 // '0000011'B origination address is not PLMN/ISDN
684 // '0000100'B call has returned to the PLMN/ISDN
685 // '0001000'B inband info available PLMN/ISDN
686 // '0100000'B call is end_to_end PLMN/ISDN
687 BIT1 ext2 // '1'B
688} with { variant (lengthIndicator) "LENGTHTO (location, spare1_1,
689 codingStandard, ext1,
690 progressDescription, ext2)"};
691
692type record ProgressIndicator_TLV
693{
694 OCT1 elementIdentifier,
695 LIN1 lengthIndicator, // '02'O
696 BIT4 location, // '0000'user B
697 // '0001'B private network, local user
698 // '0010'B public network, user local
699 // '0100'B public network, remote user
700 // '0101'B private network, user remote
701 // '1010'B Network beyond interworking pt.
702 BIT1 spare1_1, // '0'B
703 BIT2 codingStandard, // '00'B coding according Q.931
704 // '01'B reserved for standards other
705 // '10'B National standard
706 // '11'B standard other
707 BIT1 ext1, // '1'B
708 BIT7 progressDescription, //'0000001'B call is not end_to_end PLMN/ISDN
709 // '0000010'B destination address is not PLMN/ISDN
710 // '0000011'B origination address is not PLMN/ISDN
711 // '0000100'B call has returned to the PLMN/ISDN
712 // '0001000'B inband info available PLMN/ISDN
713 // '0100000'B call is end_to_end PLMN/ISDN
714 BIT1 ext2 // '1'B
715 // removed by ethbaat:ProgressIndicator_LV progressIndicator_LV
716} with { variant (lengthIndicator) "LENGTHTO (location, spare1_1,
717 codingStandard, ext1,
718 progressDescription, ext2)"};
719
720//24.008/10.5.4.21a Recall Type
721type record RecallType
722{
723 OCT1 elementIdentifier,
724 BIT3 recallType,
725 BIT5 spare_5
726};
727
728//24.008/10.5.4.21b Redirecting party BCD number
729type record RedirectingPartyBCDNumberTLV
730{
731 OCT1 elementIdentifier,
732 LIN1 lengthIndicator,
733 CallingOrCalled_Number_oct3 oct3,
734 hexstring digits optional
735} with { variant (lengthIndicator) "LENGTHTO (oct3,digits)";
736 variant (digits) "PADDING(yes)";
737 variant (digits) "PADDING_PATTERN('1'B)"
738
739};
740
741//24.008/10.5.4.21c Redirecting party Subaddress
742type record RedirectingPartySubaddressTLV
743{
744 OCT1 elementIdentifier,
745 LIN1 lengthIndicator,
746 BIT3 spare1_3 optional, // B'...._000
747 BIT1 odd_evenIndicator optional,
748 // B'....0.._ even number of digits address
749 // B'....1.._ odd number of address digits
750 BIT3 typeOfSubAddress optional, // B'_000.... NSAP
751 // B'_010.... specified user
752 BIT1 ext1 optional, // B'1......_
753 OCTN subAddressInformation optional
754} with { variant (lengthIndicator) "LENGTHTO (spare1_3, odd_evenIndicator,
755 typeOfSubAddress, ext1, subAddressInformation)"};
756
757//24.008/10.5.4.22 Repeat Indicator
758type record RepeatIndicator
759{
760 BIT4 RepeatIndication,
761 BIT4 elementIdentifier
762};
763
764//10.5.4.22a Reverse Call Setup Direction
765type record ReverseCallSetupDirection
766{
767 OCT1 elementIdentifier
768};
769
770//10.5.4.22b Setup Contatiner CCBS
771type record SetupContatinerCCBS
772{
773 OCT1 elementIdentifier,
774 LIN1 lengthIndicator,
775 OCTN setupMessage
776} with { variant (lengthIndicator) "LENGTHTO (setupMessage)"};
777
778type record SetupContatinerCCBS_LV
779{
780 LIN1 lengthIndicator,
781 OCTN setupMessage
782} with { variant (lengthIndicator) "LENGTHTO (setupMessage)"};
783
784//10.5.4.23 Signal
785type record ML3_Signal
786{
787 OCT1 elementIdentifier, // H'34
788 OCT1 signalValue // B'00000000 0. Dial tone on
789 // B'00000001 1. Ring back on tone
790 // B'00000010 2. Intercept tone on
791 // B'00000011 3. Network congestion on tone
792 // B'00000100 4. Busy tone on
793 // B'00000101 5. Confirm on tone
794 // B'00000110 6. Answer tone on
795 // B'00000111 7. Call waiting on tone
796 // B'00001001 9. Off_hook warning tone on
797 // B'00111111 63. off Tones
798 // B'01001111 79. Alerting off
799};
800
801//10.5.4.24 SS Version Indicator
802//moved to MobileL3_CommonIE_Types
803
804//10.5.4.25 User-user
805type record User_user_LV
806{
807 LIN1 lengthIndicator,
808 OCT1 user_userProtocolDiscriminator,
809 octetstring user_userInformation length(0..129) //transparent
810} with { variant (lengthIndicator) "LENGTHTO(user_userInformation)" };
811
812type record User_user_TLV
813{
814 OCT1 elementIdentifier,
815 LIN1 lengthIndicator,
816 OCT1 user_userProtocolDiscriminator,
817 octetstring user_userInformation length(0..128) //transparent
818} with { variant (lengthIndicator) "LENGTHTO(user_userInformation)" };
819
820type record User_userShort
821{
822 OCT1 elementIdentifier,
823 LIN1 lengthIndicator,
824 OCT1 user_userProtocolDiscriminator,
825 octetstring user_userInformation length(0..32)
826} with { variant (lengthIndicator) "LENGTHTO(user_userInformation)" };
827
828//10.5.4.26 Alerting Pattern
829type record AlertingPattern
830{
831 OCT1 elementIdentifier, //'19'O
832 LIN1 lengthIndicator,
833 BIT4 alertingPattern_FIELD,
834 BIT4 spare
835} with { variant (lengthIndicator) "LENGTHTO (alertingPattern_FIELD,spare )"};
836
837//10.5.4.27 Allowed Actions
838type record AllowedActions
839{
840 OCT1 elementIdentifier, //'19'O
841 LIN1 lengthIndicator,
842 BIT7 spare_7,
843 BIT1 ccbsActivation //'0'B activation is not possible
844 //'1'B activation is possible
845} with { variant (lengthIndicator) "LENGTHTO (spare_7,ccbsActivation)"};
846
847//10.5.4.28 Stream Identifier
848type record StreamIdentifier
849{
850 OCT1 elementIdentifier, // '2D'O
851 integer lengthf, // '01'O
852 OCT1 streamIdentifierValue // value 0..255
853} with { variant (lengthf) "LENGTHTO (streamIdentifierValue)"};
854
855// 24.008/10.5.4.29 Network Call Control Capabilities
856type record NetworkCallControlCapabilities
857{
858 OCT1 elementIdentifier, //'2F'O
859 LIN1 lengthIndicator,
860 BIT1 mcs, // multicall support '0'B: no support
861 // '1'B :support
862 BIT7 spare
863} with { variant (lengthIndicator) "LENGTHTO (mcs,spare)"};
864
865//10.5.4.30 CauseofNoCli
866type record CauseofNoCli
867{
868 OCT1 elementIdentifier, //'3A'O
869 LIN1 lengthIndicator,
870 OCT1 causeofNoCli_FIELD
871} with { variant (lengthIndicator) "LENGTHTO (causeofNoCli_FIELD)"};
872
873//10.5.4.31 Immediate Modification Indicator
874// VOID
875
876// 10.5.4.33 Service Category (TLV)
877type record ServiceCategory
878{
879 OCT1 elementIdentifier,
880 LIN1 lengthIndicator,
881 BIT7 emergencyServiceCategory,
882 BIT1 spare_1
883} with { variant (lengthIndicator) "LENGTHTO( emergencyServiceCategory, spare_1 )"};
884
885// 10.5.4.34 REDIAL (T)
886type Type2 Redial;
887
888//10.5.4.35 Network Initiated Service Upgrade Indicator
889type record NetworkInitiatedServiceUpgradeIndicator
890{
891 OCT1 elementIdentifier
892};
893
894//============================================================================
895// 20.008/9.3 Messages for circuit-switched call control (CC)
896//============================================================================
897
898// 9.3.1.1 Alerting (NW->MS)
899//****************************************************************************
900type record PDU_ML3_Alerting_NW_MS
901{
902 BIT6 messageType, // '000001'Alerting B
903 BIT2 nsd,
904 Facility_TLV facility optional,
905 ProgressIndicator_TLV progressIndicator optional,
906 User_user_TLV user_user optional
907} with { variant "TAG (
908 facility, elementIdentifier = '1C'O;
909 progressIndicator, elementIdentifier = '1E'O;
910 user_user, elementIdentifier = '7E'O ) "}
911
912// 9.3.1.2 Alerting (MS->NW)
913//****************************************************************************
914type record PDU_ML3_Alerting_MS_NW
915{
916 BIT6 messageType, // B'..000001 (Alerting)
917 BIT2 nsd,
918 Facility_TLV facility optional,
919 User_user_TLV user_user optional,
920 SS_VersionIndicator ss_VersionIndicator optional
921} with { variant "TAG (
922 facility, elementIdentifier = '1C'O;
923 user_user, elementIdentifier = '7E'O;
924 ss_VersionIndicator, elementIdentifier = '7F'O ) "};
925
926// 9.3.2 Call confirmed (MS->NW)
927//****************************************************************************
928type record PDU_ML3_CallConfirmed
929{
930 BIT6 messageType, // '001000'CallConfirmed B
931 BIT2 nsd,
932 RepeatIndicator repeatIndicator optional, // successive selection:
933 //only present also if
934 //BC1&BC2 are present
935 // H'circular D1
936 // H'D3 sequential
937 BearerCapability_TLV bearerCapability1 optional,
938 BearerCapability_TLV bearerCapability2 optional,
939 ML3_Cause_TLV cause optional,
940 CallControlCapabilities cC_Capabilities optional,
941 StreamIdentifier streamIdentifier optional,
942 SupportedCodecList supportedCodecs optional
943} with { variant "TAG (
944 repeatIndicator, elementIdentifier = '1101'B;
945 bearerCapability1, elementIdentifier = '04'O;
946 bearerCapability2, elementIdentifier = '04'O;
947 cause, elementIdentifier = '08'O;
948 cC_Capabilities, elementIdentifier = '15'O;
949 streamIdentifier, elementIdentifier = '2D'O;) "};
950
951// 9.3.3 Call Proceeding (NW->MS)
952//****************************************************************************
953type record PDU_ML3_CallProceeding
954{
955 BIT6 messageType, // '000010'CallProceeding B
956 BIT2 nsd,
957 RepeatIndicator repeatIndicator optional, //successive selection:
958 //only present also if
959 //BC1&BC2 are present
960 // H'circular D1
961 // H'D3 sequential
962 BearerCapability_TLV bearerCapability1 optional,
963 BearerCapability_TLV bearerCapability2 optional,
964 Facility_TLV facility optional,
965 ProgressIndicator_TLV progressIndicator optional,
966 PriorityLevel_ML3 priorityGranted optional,
967 NetworkCallControlCapabilities networkCCCapabilities optional //10.5.4.29
968} with { variant "TAG (
969 repeatIndicator, elementIdentifier = '1101'B;
970 bearerCapability1, elementIdentifier = '04'O;
971 bearerCapability2, elementIdentifier = '04'O;
972 facility, elementIdentifier = '1C'O;
973 progressIndicator, elementIdentifier = '1E'O;
974 priorityGranted, elementIdentifier = '1000'B;
975 networkCCCapabilities, elementIdentifier = '2F'O;) "};
976
977// 9.3.4 Congestion Control (NW->MS)
978//****************************************************************************
979type record PDU_ML3_CongestionControl
980{
981 BIT6 messageType, // '111001'B CongestionControl
982 BIT2 nsd,
983 CongestionLevelV congestionLevel,
984 BIT4 spare_4,
985 ML3_Cause_TLV cause optional
986 } with { variant "TAG ( cause, elementIdentifier = '08'O )"};
987
988
989// 9.3.5 Connect
990//****************************************************************************
991// 9.3.5.1 Connect (NW->MS)
992type record PDU_ML3_Connect_NW_MS
993{
994 BIT6 messageType, // '000111'B (Connect)
995 BIT2 nsd,
996 Facility_TLV facility optional,
997 ProgressIndicator_TLV progressIndicator optional,
998 ConnectedNumber connectedNumber optional,
999 ConnectedSubAddress connectedSubAddress optional,
1000 User_user_TLV user_user optional
1001} with { variant "TAG (
1002 facility, elementIdentifier = '1C'O;
1003 progressIndicator, elementIdentifier = '1E'O;
1004 connectedNumber, elementIdentifier = '4C'O;
1005 connectedSubAddress, elementIdentifier = '4D'O;
1006 user_user, elementIdentifier = '7E'O ) "};
1007
1008// 9.3.5.2 Connect (MS->NW)
1009
1010type record PDU_ML3_Connect_MS_NW
1011{
1012 BIT6 messageType, // '000111'B (Connect)
1013 BIT2 nsd,
1014 Facility_TLV facility optional,
1015 ConnectedSubAddress connectedSubAddress optional,
1016 User_user_TLV user_user optional,
1017 SS_VersionIndicator ss_VersionIndicator optional,
1018 StreamIdentifier streamIdentifier optional
1019} with { variant "TAG (
1020 facility, elementIdentifier = '1C'O;
1021 connectedSubAddress, elementIdentifier = '4D'O;
1022 user_user, elementIdentifier = '7E'O;
1023 ss_VersionIndicator, elementIdentifier = '7F'O;
1024 streamIdentifier, elementIdentifier = '2D'O ) "};
1025
1026// 9.3.6 Connect Ack (NW->MS) (MS->NW)
1027//****************************************************************************
1028type record PDU_ML3_ConnectAck
1029{
1030 BIT6 messageType, // '001111'B (ConnectAck)
1031 BIT2 nsd
1032};
1033
1034// 9.3.7 Disconnect
1035//****************************************************************************
1036// 9.3.7.1 Disconnect (NW-MS)
1037type record PDU_ML3_Disconnect_NW_MS
1038{
1039 BIT6 messageType, // '100101'B (Disconnect)
1040 BIT2 nsd,
1041 ML3_Cause_LV cause,
1042 Facility_TLV facility optional,
1043 ProgressIndicator_TLV progressIndicator optional,
1044 User_user_TLV user_user optional,
1045 AllowedActions allowedActions optional
1046} with { variant "TAG (
1047 facility, elementIdentifier = '1C'O;
1048 progressIndicator, elementIdentifier = '1E'O;
1049 user_user, elementIdentifier = '7E'O;
1050 allowedActions, elementIdentifier = '7B'O ) "};
1051
1052// 9.3.7.2 Disconnect (MS->NW)
1053type record PDU_ML3_Disconnect_MS_NW
1054{
1055 BIT6 messageType, // '100101'B (Disconnect)
1056 BIT2 nsd,
1057 ML3_Cause_LV cause,
1058 Facility_TLV facility optional,
1059 User_user_TLV user_user optional,
1060 SS_VersionIndicator ss_VersionIndicator optional
1061} with { variant "TAG (
1062 facility, elementIdentifier = '1C'O;
1063 user_user, elementIdentifier = '7E'O;
1064 ss_VersionIndicator, elementIdentifier = '7F'O ) "};
1065
1066// 9.3.8 Emergency Setup (MS->NW )
1067//****************************************************************************
1068type record PDU_ML3_EmergencySetup
1069{
1070 BIT6 messageType, // '001110'B
1071 BIT2 nsd,
1072 BearerCapability_TLV bearerCapability optional,
1073 StreamIdentifier streamIdentifier optional,
1074 SupportedCodecList supportedCodecs optional,
1075 ServiceCategory emergencyCategory optional
1076} with { variant "TAG (
1077 bearerCapability, elementIdentifier = '04'O;
1078 streamIdentifier, elementIdentifier = '2D'O;
1079 emergencyCategory, elementIdentifier = '2E'O; ) "};
1080
1081// 9.3.9.1 (NW->MS) and 9.3.9.2 (MS->NW) Facility (CallControl!!!)
1082//****************************************************************************
1083type record PDU_ML3_Facility
1084{
1085 BIT6 messageType, // facilityIEI
1086 BIT2 nsd,
1087 Facility_LV facility, //10.5.4.15
1088 SS_VersionIndicator ss_version optional // only for MS->NW
1089} with { variant "TAG ( ss_version, elementIdentifier = '7F'O ) "};
1090
1091//9.3.10 Hold (MS->NW)
1092//****************************************************************************
1093type record PDU_ML3_Hold
1094{
1095 BIT6 messageType, // '011000'Hold B
1096 BIT2 nsd
1097};
1098
1099//9.3.11 Hold Acknowledge (NW->MS)
1100//****************************************************************************
1101type record PDU_ML3_HoldAcknowledge
1102{
1103 BIT6 messageType, // '011001'B Acknowledge Hold
1104 BIT2 nsd
1105};
1106
1107//9.3.12 Hold Reject (NW->MS)
1108//****************************************************************************
1109type record PDU_ML3_HoldReject
1110{
1111 BIT6 messageType, //'011010'B
1112 BIT2 nsd,
1113 ML3_Cause_LV cause
1114};
1115
1116//9.3.13 Modify (MS->NW) (NW->MS)
1117//****************************************************************************
1118type record PDU_ML3_Modify
1119{
1120 BIT6 messageType, //'010111'B
1121 BIT2 nsd,
1122 BearerCapability_LV bearerCapability,
1123 LowLayerCompatibility lowLayerCompatibility optional,
1124 HighLayerCompatibility highLayerCompatibility optional,
1125 ReverseCallSetupDirection reverseCallSetupDirection optional,
1126 NetworkInitiatedServiceUpgradeIndicator networkInitiatedServiceUpgradeIndicator optional
1127} with { variant "TAG (
1128 lowLayerCompatibility, elementIdentifier = '7C'O;
1129 highLayerCompatibility, elementIdentifier = '7D'O;
1130 reverseCallSetupDirection, elementIdentifier = 'A3'O;
1131 networkInitiatedServiceUpgradeIndicator, elementIdentifier = 'A4'O ) "};
1132
1133//9.3.14 Modify Complete (MS->NW) (NW->MS)
1134//****************************************************************************
1135type record PDU_ML3_ModifyComplete
1136{
1137 BIT6 messageType, //'011111'B
1138 BIT2 nsd,
1139 BearerCapability_LV bearerCapability,
1140 LowLayerCompatibility lowLayerCompatibility optional,
1141 HighLayerCompatibility highLayerCompatibility optional,
1142 ReverseCallSetupDirection reverseCallSetupDirection optional
1143} with { variant "TAG (
1144 lowLayerCompatibility, elementIdentifier = '7C'O;
1145 highLayerCompatibility, elementIdentifier = '7D'O;
1146 reverseCallSetupDirection, elementIdentifier = 'A3'O;) "};
1147
1148//9.3.15 Modify Reject (MS->NW) (NW->MS)
1149//****************************************************************************
1150type record PDU_ML3_ModifyReject
1151{
1152 BIT6 messageType, //'010011'B
1153 BIT2 nsd,
1154 BearerCapability_LV bearerCapability,
1155 ML3_Cause_LV cause,
1156 LowLayerCompatibility lowLayerCompatibility optional,
1157 HighLayerCompatibility highLayerCompatibility optional
1158} with { variant "TAG (
1159 lowLayerCompatibility, elementIdentifier = '7C'O;
1160 highLayerCompatibility, elementIdentifier = '7D'O;) "};
1161
1162//9.3.16 Notify (MS->NW) (NW->MS)
1163//****************************************************************************
1164type record PDU_ML3_Notify
1165{
1166 BIT6 messageType, //'111110'B
1167 BIT2 nsd,
1168 NotificationIndicator notificationIndicator
1169};
1170
1171// 9.3.17 Progress (NW->MS)
1172//****************************************************************************
1173type record PDU_ML3_Progress
1174{
1175 BIT6 messageType, // '000011'Progress B
1176 BIT2 nsd,
1177 ProgressIndicator_LV progressIndicator,
1178 User_user_TLV user_user optional
1179} with { variant "TAG (user_user, elementIdentifier = '7E'O; ) "};
1180
1181// 9.3.17a CC Establishment (NW->MS)
1182//****************************************************************************
1183type record PDU_ML3_CC_Establishment
1184{
1185 BIT6 messageType, // '000100'
1186 BIT2 nsd,
1187 SetupContatinerCCBS_LV container
1188}
1189
1190// 9.3.17b CC Establishment Confirmed (MS->NW)
1191//****************************************************************************
1192type record PDU_ML3_CC_EstablishmentConf
1193{
1194 BIT6 messageType, // 'CC_EstablishmentConf'
1195 BIT2 nsd,
1196 RepeatIndicator repeatIndicator optional,
1197 BearerCapability_TLV bearerCapability1,
1198 BearerCapability_TLV bearerCapability2 optional,
1199 ML3_Cause_TLV cause optional,
1200 SupportedCodecList supportedCodecs optional
1201} with { variant "TAG (
1202 repeatIndicator, elementIdentifier = '1101'B;
1203 bearerCapability2, elementIdentifier = '04'O;
1204 cause, elementIdentifier = '08'O; ) "};
1205
1206// 9.3.18.1 Release (NW->MS)
1207//****************************************************************************
1208type record PDU_ML3_Release_NW_MS
1209{
1210 BIT6 messageType, // '101101'Release B
1211 BIT2 nsd,
1212 ML3_Cause_TLV cause optional,
1213 ML3_Cause_TLV secondCause optional,
1214 Facility_TLV facility optional,
1215 User_user_TLV user_user optional
1216} with { variant "TAG (
1217 cause, elementIdentifier = '08'O;
1218 secondCause, elementIdentifier = '08'O;
1219 facility, elementIdentifier = '1C'O;
1220 user_user, elementIdentifier = '7E'O ) "};
1221
1222// 9.3.18.2 Release (MS->NW)
1223//****************************************************************************
1224type record PDU_ML3_Release_MS_NW
1225{
1226 BIT6 messageType, // '101101'Release B
1227 BIT2 nsd,
1228 ML3_Cause_TLV cause optional,
1229 ML3_Cause_TLV secondCause optional,
1230 Facility_TLV facility optional,
1231 User_user_TLV user_user optional,
1232 SS_VersionIndicator ss_VersionIndicator optional
1233} with { variant "TAG (
1234 cause, elementIdentifier = '08'O;
1235 secondCause, elementIdentifier = '08'O;
1236 facility, elementIdentifier = '1C'O;
1237 user_user, elementIdentifier = '7E'O;
1238 ss_VersionIndicator, elementIdentifier = '7F'O ) "};
1239
1240// 9.3.18a Recall (CCBS) (NW->MS)
1241//****************************************************************************
1242type record PDU_ML3_Recall
1243{
1244 BIT6 messageType, // '001011'Recall
1245 BIT2 nsd,
1246 RecallType recallType,
1247 Facility_LV facility
1248};
1249
1250// 9.3.19.1 Release Complete (NW->MS)
1251//****************************************************************************
1252type record PDU_ML3_ReleaseComplete_NW_MS
1253{
1254 BIT6 messageType, // '101010'B ReleaseComplete
1255 BIT2 nsd,
1256 ML3_Cause_TLV cause optional,
1257 Facility_TLV facility optional,
1258 User_user_TLV user_user optional
1259} with { variant "TAG (
1260 cause, elementIdentifier = '08'O;
1261 facility, elementIdentifier = '1C'O ;
1262 user_user, elementIdentifier = '7E'O ) "};
1263
1264// 9.3.19.2 Release Complete (MS->NW)
1265//****************************************************************************
1266type record PDU_ML3_ReleaseComplete_MS_NW
1267{
1268 BIT6 messageType, // '101010'B (ReleaseComplete)
1269 BIT2 nsd,
1270 ML3_Cause_TLV cause optional,
1271 Facility_TLV facility optional,
1272 User_user_TLV user_user optional,
1273 SS_VersionIndicator ss_VersionIndicator optional
1274} with { variant "TAG (
1275 cause, elementIdentifier = '08'O;
1276 facility, elementIdentifier = '1C'O;
1277 user_user, elementIdentifier = '7E'O;
1278 ss_VersionIndicator, elementIdentifier = '7F'O ) "};
1279
1280//9.3.20 Retrieve (MS->NW)
1281//****************************************************************************
1282type record PDU_ML3_Retrieve
1283{
1284 BIT6 messageType, //'011100'B
1285 BIT2 nsd
1286};
1287
1288//9.3.21 Retrieve Acknowledge (NW->MS)
1289//****************************************************************************
1290type record PDU_ML3_RetrieveAck
1291{
1292 BIT6 messageType, //'011101'B
1293 BIT2 nsd
1294};
1295
1296//9.3.22 Retrieve Reject (NW->MS)
1297//****************************************************************************
1298type record PDU_ML3_RetrieveRej
1299{
1300 BIT6 messageType, //'011110'B
1301 BIT2 nsd,
1302 ML3_Cause_LV cause
1303};
1304
1305// 9.3.23.1 Setup NW->MS
1306//****************************************************************************
1307type record PDU_ML3_Setup_NW_MS
1308{
1309 BIT6 messageType, // '000101'B (Setup)
1310 BIT2 nsd,
1311 RepeatIndicator bcRepeatIndicator optional, // successive selection:
1312 // only present also if
1313 // BC1&BC2 are present
1314 // H'circular D1
1315 // H'D3 sequential
1316 BearerCapability_TLV bearerCapability1 optional,
1317 BearerCapability_TLV bearerCapability2 optional,
1318 Facility_TLV facility optional,
1319 ProgressIndicator_TLV progressIndicator optional,
1320 ML3_Signal signal optional,
1321 CallingPartyBCD_Number callingPartyBCD_Number optional,
1322 CallingPartySubAddress callingPartySubAddress optional,
1323 CalledPartyBCD_Number calledPartyBCD_Number optional,
1324 CalledPartySubAddress calledPartySubAddress optional,
1325 RedirectingPartyBCDNumberTLV redirectingPartyBCDNumber optional,
1326 RedirectingPartySubaddressTLV redirectingPartySubaddress optional,
1327 RepeatIndicator llc_RepeatIndicator optional, // H'circular D1
1328 // H'D3 sequential
1329 LowLayerCompatibility lowLayerCompatibility1 optional,
1330 LowLayerCompatibility lowLayerCompatibility2 optional,
1331 RepeatIndicator hlc_RepeatIndicator optional, // H'circular D1
1332 // H'D3 sequential
1333 HighLayerCompatibility highLayerCompatibility1 optional,
1334 HighLayerCompatibility highLayerCompatibility2 optional,
1335 User_userShort user_user optional,
1336 PriorityLevel_ML3 priority optional,
1337 AlertingPattern alert optional, //10.5.4.26
1338 NetworkCallControlCapabilities networkCCCapabilities optional, //10.5.4.29
1339 CauseofNoCli causeofNoCli optional, //10.5.4.30
1340 BackupBearerCapacity backupBearerCapacity optional //10.5.4.4a
1341} with { variant "TAG (
1342 bcRepeatIndicator, elementIdentifier = '1101'B;
1343 bearerCapability1, elementIdentifier = '04'O;
1344 bearerCapability2, elementIdentifier = '04'O;
1345 facility, elementIdentifier = '1C'O;
1346 progressIndicator, elementIdentifier = '1E'O;
1347 signal, elementIdentifier = '34'O;
1348 callingPartyBCD_Number, elementIdentifier = '5C'O;
1349 callingPartySubAddress, elementIdentifier = '5D'O;
1350 calledPartyBCD_Number, elementIdentifier = '5E'O;
1351 calledPartySubAddress, elementIdentifier = '6D'O;
1352 redirectingPartyBCDNumber, elementIdentifier = '74'O;
1353 redirectingPartySubaddress, elementIdentifier = '75'O;
1354 llc_RepeatIndicator, elementIdentifier = '1101'B;
1355 lowLayerCompatibility1, elementIdentifier = '7C'O;
1356 lowLayerCompatibility2, elementIdentifier = '7C'O;
1357 hlc_RepeatIndicator, elementIdentifier = '1101'B;
1358 highLayerCompatibility1, elementIdentifier = '7D'O;
1359 highLayerCompatibility2, elementIdentifier = '7D'O;
1360 user_user, elementIdentifier = '7E'O;
1361 priority, elementIdentifier = '1000'B;
1362 alert, elementIdentifier = '19'O;
1363 networkCCCapabilities, elementIdentifier = '2F'O;
1364 causeofNoCli, elementIdentifier = '3A'O;
1365 backupBearerCapacity, elementIdentifier = '41'O ) "};
1366
1367// 9.3.23.2 Setup MS->NW
1368//****************************************************************************
1369type record PDU_ML3_Setup_MS_NW
1370{
1371 BIT6 messageType, // '000101'B (Setup)
1372 BIT2 nsd,
1373 RepeatIndicator bcRepeatIndicator optional, // successive selection:
1374 // only present also if
1375 // BC1&BC2 are present
1376 // H'circular D1
1377 // H'D3 sequential
1378 BearerCapability_TLV bearerCapability1, //mandatory!!
1379 BearerCapability_TLV bearerCapability2 optional,
1380 Facility_TLV facility optional,
1381 CallingPartySubAddress callingPartySubAddress optional,
1382 CalledPartyBCD_Number calledPartyBCD_Number, //mandatory!!
1383 CalledPartySubAddress calledPartySubAddress optional,
1384 RepeatIndicator llc_RepeatIndicator optional, // H'circular D1
1385 // H'D3 sequential
1386 LowLayerCompatibility lowLayerCompatibility1 optional,
1387 LowLayerCompatibility lowLayerCompatibility2 optional,
1388 RepeatIndicator hlc_RepeatIndicator optional, // H'circular D1
1389 // H'D3 sequential
1390 HighLayerCompatibility highLayerCompatibility1 optional,
1391 HighLayerCompatibility highLayerCompatibility2 optional,
1392 User_userShort user_user optional,
1393 SS_VersionIndicator ss_VersionIndicator optional,
1394 CLIR clir_Suppression optional, // H'A1
1395 CLIR clir_Invocation optional, // H'A2
1396 CallControlCapabilities cC_Capabilities optional,
1397 Facility_TLV facility_ccbs1 optional,
1398 Facility_TLV facility_ccbs2 optional,
1399 StreamIdentifier streamIdentifier optional,
1400 SupportedCodecList supportedCodecs optional,
1401 Redial redial optional
1402} with { variant "TAG (
1403 bcRepeatIndicator, elementIdentifier = '1101'B;
1404 //bearerCapability1, elementIdentifier = '04'O;
1405 bearerCapability2, elementIdentifier = '04'O;
1406 facility, elementIdentifier = '1C'O;
1407 callingPartySubAddress, elementIdentifier = '5D'O;
1408 //calledPartyBCD_Number, elementIdentifier = '5E'O;
1409 calledPartySubAddress, elementIdentifier = '6D'O;
1410 llc_RepeatIndicator, elementIdentifier = '1101'B;
1411 lowLayerCompatibility1, elementIdentifier = '7C'O;
1412 lowLayerCompatibility2, elementIdentifier = '7C'O;
1413 hlc_RepeatIndicator, elementIdentifier = '1101'B;
1414 highLayerCompatibility1, elementIdentifier = '7D'O;
1415 highLayerCompatibility2, elementIdentifier = '7D'O;
1416 user_user, elementIdentifier = '7E'O;
1417 ss_VersionIndicator, elementIdentifier = '7F'O;
1418 clir_Suppression, elementIdentifier = 'A1'O;
1419 clir_Invocation, elementIdentifier = 'A2'O;
1420 cC_Capabilities, elementIdentifier = '15'O;
1421 facility_ccbs1, elementIdentifier = '1D'O;
1422 facility_ccbs2, elementIdentifier = '1B'O;
1423 streamIdentifier, elementIdentifier = '2D'O;
1424 redial, elementIdentifier = 'A3'O; ) "};
1425
1426//9.3.23a StartCC (MS->NW)
1427//****************************************************************************
1428type record PDU_ML3_StartCC
1429{
1430 BIT6 messageType, //''B;
1431 BIT2 nsd,
1432 CallControlCapabilities cC_Capabilities optional
1433} with { variant "TAG (cC_Capabilities, elementIdentifier = '15'O;) "};
1434
1435// 9.3.24 Start DTMF (MS->NW)
1436//****************************************************************************
1437type record PDU_ML3_StartDTMF
1438{
1439 BIT6 messageType, //'110101'B;
1440 BIT2 nsd,
1441 KeypadFacility keypadFacility
1442};
1443
1444// 9.3.25 Start DTMF Acknowledge (NW->MS)
1445//****************************************************************************
1446type record PDU_ML3_StartDTMFAck
1447{
1448 BIT6 messageType, //'110110'B;
1449 BIT2 nsd,
1450 KeypadFacility keypadFacility
1451};
1452
1453// 9.3.26 Start DTMF Reject (NW->MS)
1454//****************************************************************************
1455type record PDU_ML3_StartDTMFRej
1456{
1457 BIT6 messageType, //'110111'B;
1458 BIT2 nsd,
1459 ML3_Cause_LV cause
1460};
1461
1462// 9.3.27 Status (NW->MS) (MS->NW)
1463//****************************************************************************
1464type record PDU_ML3_Status
1465{
1466 BIT6 messageType, //'111101'B;
1467 BIT2 nsd,
1468 ML3_Cause_LV cause,
1469 CallState_V callState,
1470 AuxiliaryStates_TLV auxiliaryStates optional //'24'O
1471} with { variant "TAG (auxiliaryStates,elementIdentifier ='24'O ) " };
1472
1473// 9.3.28 Status enquiry (NW->MS) (MS->NW)
1474//****************************************************************************
1475type record PDU_ML3_StatusEnquiry
1476{
1477 BIT6 messageType, //'110100'B;
1478 BIT2 nsd
1479};
1480
1481// 9.3.29 Stop DTMF (MS->NW)
1482//****************************************************************************
1483type record PDU_ML3_StopDTMF
1484{
1485 BIT6 messageType, //'110001'B;
1486 BIT2 nsd
1487};
1488
1489// 9.3.30 Stop DTMF Ack (NW->MS)
1490//****************************************************************************
1491type record PDU_ML3_StopDTMFAck
1492{
1493 BIT6 messageType, //'110010'B;
1494 BIT2 nsd
1495};
1496
1497// 9.3.31.1 User Information
1498//****************************************************************************
1499type record PDU_ML3_UserInformation
1500{
1501 BIT6 messageType, //'010000'B;
1502 BIT2 nsd,
1503 User_user_LV user_user,
1504 OCT1 moreData optional
1505};
1506
1507
1508// **************************************************************************
1509// * 9.3 Call Control Messages (MS->MSC)
1510// * Ref:(24.008/Table 9.54 (order) and Table 10.3(messageType values) )
1511// **************************************************************************
1512type union PDU_ML3_CC_MS_NW
1513{
1514 PDU_ML3_Alerting_MS_NW alerting_MS_NW, //Call establishment
1515 PDU_ML3_CallConfirmed callConfirmed,
1516 PDU_ML3_Connect_MS_NW connect_MS_NW,
1517 PDU_ML3_ConnectAck connectAck,
1518 PDU_ML3_EmergencySetup emergencySetup,
1519 PDU_ML3_CC_EstablishmentConf cc_EstablishmentConf,
1520 PDU_ML3_StartCC startCC,
1521 PDU_ML3_Setup_MS_NW setup_MS_NW,
1522
1523 PDU_ML3_Modify modify, //call information phase msg
1524 PDU_ML3_ModifyComplete modifyComplete,
1525 PDU_ML3_ModifyReject modifyReject,
1526 PDU_ML3_UserInformation userInformation,
1527
1528 PDU_ML3_Disconnect_MS_NW disconnect_MS_NW,//call clearing
1529 PDU_ML3_Release_MS_NW release_MS_NW,
1530 PDU_ML3_ReleaseComplete_MS_NW releaseComplete_MS_NW,
1531
1532 PDU_ML3_Facility facility,//for Suppl.Service contr.
1533 PDU_ML3_Hold hold,
1534 PDU_ML3_Retrieve retrieve,
1535
1536 PDU_ML3_Notify notify,//misc
1537 PDU_ML3_StartDTMF startDTMF,
1538 PDU_ML3_Status status,
1539 PDU_ML3_StatusEnquiry statusEnquiry,
1540 PDU_ML3_StopDTMF stopDTMF
1541} with { variant "TAG (
1542 alerting_MS_NW, messageType ='000001'B;//call establish
1543 callConfirmed, messageType ='001000'B;
1544 connect_MS_NW, messageType ='000111'B;
1545 connectAck, messageType ='001111'B;
1546 emergencySetup, messageType ='001110'B;
1547 cc_EstablishmentConf, messageType ='000110'B;
1548 startCC, messageType ='001001'B;
1549 setup_MS_NW, messageType ='000101'B;
1550
1551 modify, messageType ='010111'B;//call inf.ph.msg
1552 modifyComplete, messageType ='011111'B;
1553 modifyReject, messageType ='010011'B;
1554 userInformation, messageType ='010000'B;
1555
1556 disconnect_MS_NW, messageType ='100101'B;//call clearing
1557 release_MS_NW, messageType ='101101'B;
1558 releaseComplete_MS_NW, messageType ='101010'B;
1559
1560 facility, messageType ='111010'B;//messages for SS
1561 hold, messageType ='011000'B;
1562 retrieve, messageType ='011100'B;
1563
1564 notify, messageType ='111110'B; //misc
1565 startDTMF, messageType ='110101'B;
1566 status, messageType ='111101'B;
1567 statusEnquiry, messageType ='110100'B;
1568 stopDTMF, messageType ='110001'B;
1569 )" };
1570
1571// ***************************************************************************
1572// * 9.3 Call Control Messages MSC -> MS (24.008/Table 9.54 and Table 10.3)
1573// ***************************************************************************
1574type union PDU_ML3_CC_NW_MS
1575{
1576 PDU_ML3_Alerting_NW_MS alerting_NW_MS, //call establish
1577 PDU_ML3_CallConfirmed callConfirmed,
1578 PDU_ML3_CallProceeding callProceeding,
1579 PDU_ML3_Connect_NW_MS connect_NW_MS,
1580 PDU_ML3_ConnectAck connectAck,
1581 PDU_ML3_Progress progress,
1582 PDU_ML3_CC_Establishment cc_Establishment,
1583 //PDU_ML3_Recall recall,
1584 PDU_ML3_Setup_NW_MS setup_NW_MS,
1585
1586 PDU_ML3_Modify modify, //call information phase msg
1587 PDU_ML3_ModifyComplete modifyComplete,
1588 PDU_ML3_ModifyReject modifyReject,
1589 PDU_ML3_UserInformation userInformation,
1590
1591 PDU_ML3_Disconnect_NW_MS disconnect_NW_MS,
1592 PDU_ML3_Release_NW_MS release_NW_MS,
1593 PDU_ML3_ReleaseComplete_NW_MS releaseComplete_NW_MS,
1594
1595 PDU_ML3_Facility facility, //for Suppl.Service contr.
1596 PDU_ML3_HoldAcknowledge holdAcknowledge,
1597 PDU_ML3_HoldReject holdReject,
1598 PDU_ML3_RetrieveAck retrieveAck,
1599 PDU_ML3_RetrieveRej retrieveRej,
1600
1601 PDU_ML3_CongestionControl congestionControl, //misc
1602 PDU_ML3_Notify notify,
1603 PDU_ML3_StartDTMFAck startDTMFAck,
1604 PDU_ML3_StartDTMFRej startDTMFRej,
1605 PDU_ML3_Status status,
1606 PDU_ML3_StatusEnquiry statusEnquiry,
1607 PDU_ML3_StopDTMFAck stopDTMFAck
1608} with { variant "TAG (
1609 alerting_NW_MS, messageType ='000001'B;//Call establishment
1610 callConfirmed, messageType ='001000'B;
1611 callProceeding, messageType ='000010'B;
1612 connect_NW_MS, messageType ='000111'B;
1613 connectAck, messageType ='001111'B;
1614 progress, messageType ='000011'B;
1615 cc_Establishment, messageType ='000100'B;
1616 //recall, messageType ='001011'B;
1617 setup_NW_MS, messageType ='000101'B;
1618
1619 modify, messageType ='010111'B;//call inf.ph.msg
1620 modifyComplete, messageType ='011111'B;
1621 modifyReject, messageType ='010011'B;
1622 userInformation, messageType ='010000'B;
1623
1624 disconnect_NW_MS, messageType ='100101'B;//call clearing
1625 release_NW_MS, messageType ='101101'B;
1626 releaseComplete_NW_MS, messageType ='101010'B;
1627
1628 facility, messageType ='111010'B;//for SS contr.
1629 holdAcknowledge, messageType ='011001'B;
1630 holdReject, messageType ='011010'B;
1631 retrieveAck, messageType ='011101'B;
1632 retrieveRej, messageType ='011110'B;
1633
1634 congestionControl, messageType ='111001'B;//misc
1635 notify, messageType ='111110'B;
1636 startDTMFAck, messageType ='110110'B;
1637 startDTMFRej, messageType ='110111'B;
1638 status, messageType ='111101'B;
1639 statusEnquiry, messageType ='110100'B;
1640 stopDTMFAck, messageType ='110010'B;
1641 )"
1642};
1643
1644}//end of module
1645with {
1646extension "version R1B"
1647encode "RAW"
1648}
1649