blob: 5148608cbe2f76132292ea7cb878c291bbb14f8f [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_GMM_SM_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
18module MobileL3_GMM_SM_Types
19{
20
21// This module contains the GPRS Mobility Management Messages and
22// GPRS Session Management Messages of Mobile Radio Interface Layer 3 protocol
23// (DTAP) version 24.008 v13.4.0 with attributes for RAW encoding/decoding.
24//
25// Protocol discriminators and other general parts are defined in 24.007 v6.5.0
26// Some deviations added in order to make the module compatible with
27// V97 version of L3. These changes are indicated by 'V97' in comments
28
29import from General_Types all;
30import from MobileL3_CommonIE_Types all;
31import from MobileL3_MM_Types all;
32
33// =============================================================
34// GPRS Mobilty management information elements (chapter 10.5.5)
35// =============================================================
36
37// Additional Update Type - 10.5.5.0, TS 24.301 v13.4.0/9.9.3.0B
38type record AdditionalUpdateTypeTV
39{
40 AdditionalUpdateTypeV additionalUpdateType,
41 BIT4 elementIdentifier
42} with { variant "PRESENCE (elementIdentifier = '0111'B)" };
43
44type record AdditionalUpdateTypeV
45{
46 BIT1 aUTV,
47 BIT3 spare
48};
49
50// Attach Result - 10.5.5.1
51type record AttachResultV
52{
53 BIT3 resultOfAttach,
54 BIT1 fop_l3
55};
56
57
58// Attach Type - 10.5.5.2
59type record AttachTypeV
60{
61 BIT3 attachType,
62 BIT1 for_l3
63};
64
65
66// Ciphering Algorithm - 10.5.5.3
67type record CipheringAlgorithmTV
68{
69 CipheringAlgorithmV cipheringAlgorithm,
70 BIT4 cipheringAlgorithmIEI
71};
72
73
74type record CipheringAlgorithmV
75{
76 BIT3 valueField,
77 BIT1 spare
78};
79
80
81// TMSI status - 10.5.5.4
82type record TMSIStatusTV
83{
84 TMSIStatusV tmsiStatusV,
85 BIT4 elementIdentifier
86} with { variant "PRESENCE (elementIdentifier = '1001'B)" };
87
88
89type record TMSIStatusV
90{
91 BIT1 tmsiFlag,
92 BIT3 spare // '000'B
93};
94
95
96// Detach Type - 10.5.5.5
97type record DetachTypeTV
98{
99 DetachTypeV detachTypeV,
100 BIT4 detachTypeIEI
101};
102
103
104type record DetachTypeV
105{
106 BIT3 detachType,
107 BIT1 powerOffFlag
108};
109
110
111// DRX Parameter - 10.5.5.6
112type record DRXParameterTV
113{
114 OCT1 elementIdentifier,
115 DRXParameterV drxParameter
116} with { variant "PRESENCE (elementIdentifier = '27'O)"; };
117
118
119type record DRXParameterV
120{
121 OCT1 splitPGCycleCode,
122 BIT3 nonDRXTimer,
123 BIT1 splitOnCCCH,
124 BIT4 cnSpecificDRXCycleLength
125};
126
127
128//Force To Standby - 10.5.5.7
129type record ForceToStandbyTV
130{
131 ForceToStandbyV valueField,
132 BIT4 forceToStandbyIEI
133};
134
135
136type record ForceToStandbyV{
137 BIT3 forceToStandbyValue,
138 BIT1 spare // '0'B
139};
140
141
142// P-TMSI Signature - 10.5.5.8
143type record P_TMSISignatureTV
144{
145 OCT1 elementIdentifier,
146 OCT3 valueField
147} with { variant "PRESENCE (elementIdentifier = '19'O)"; }
148
149
150//P-TMSI Signature 2 - 10.5.5.8a
151//moved into MobileL3_CommonIE_Types
152
153
154// Identity Type 2 - 10.5.5.9
155type record IdentityType2TV
156{
157 IdentityType2V valueField,
158 BIT4 identityType2IEI
159};
160
161
162type record IdentityType2V
163{
164 BIT3 valueField,
165 BIT1 spare
166};
167
168
169// IMEISV request - 10.5.5.10
170type record IMEISVRequestTV
171{
172 IMEISVRequestV imeisvRequest,
173 BIT4 imeisvRequestIEI
174};
175
176
177type record IMEISVRequestV
178{
179 BIT3 valueField,
180 BIT1 spare //'0'B
181};
182
183
184// Receive N-PDU Numbers list - 10.5.5.11
185type record ReceiveNPDUNumbersListTLV
186{
187 OCT1 elementIdentifier,
188 LIN1 lengthIndicator,
189 ReceiveNPDUNumbersListV numberList
190} with {
191 variant "PRESENCE (elementIdentifier = '26'O)";
192 variant (lengthIndicator) "LENGTHTO (numberList)";
193 variant (numberList) "PADDING(yes)"// Padding is needed when odd
194 // number of ReceiveNPDUNumber is used
195};
196
197type record length(1..11) of ReceiveNPDUNumber ReceiveNPDUNumbersListV;
198
199type record ReceiveNPDUNumber
200{
201 BIT4 sapi,
202 BIT8 numberValue
203} with { variant "FIELDORDER(msb)" };
204
205
206// MS network capability - 10.5.5.12
207type record MSNetworkCapabilityTLV
208{
209 OCT1 elementIdentifier,
210 MSNetworkCapabilityLV mSNetworkCapabilityLV
211} with { variant "PRESENCE (elementIdentifier = '31'O)"; };
212
213
214type record MSNetworkCapabilityLV
215{
216 LIN1 lengthIndicator,
217 MSNetworkCapabilityV msNetworkCapabilityV
218} with { variant (lengthIndicator) "LENGTHTO (msNetworkCapabilityV)";
219 variant (msNetworkCapabilityV) "PADDING(yes)"
220};
221
222
223type record MSNetworkCapabilityV //length 3-10 octets
224{
225 BIT1 gea1bit,
226 BIT1 smCapabilitiesviaDedicatedChannels,
227 BIT1 smCapabilitiesviaGPRSChannels,
228 BIT1 ucs2Support,
229 BIT2 ssScreeningIndicator,
230 BIT1 solSACapability optional, //spare in V97
231 BIT1 revisionLevelIndicatior optional, //spare in V97
232 BIT1 pFCFeatureMode optional, //spare in V97(opt)
233 BIT6 extendedGEAbits optional, //spare in V97(opt)
234 BIT1 lcsVAcapability optional, //spare in V97(opt)
235 BIT1 pSInterRATHOtoUTRANIuModeCapability optional,
236 BIT1 pSInterRATHOtoEUTRANS1ModeCapability optional,
237 BIT1 eMMCombinedProceduresCapability optional,
238 BIT1 iSRSupport optional,
239 BIT1 sRVCCtoGERANUTRANCapability optional,
240 BIT1 ePCCapability optional,
241 BIT1 nFCapability optional,
242 BIT1 gERANNertworkSharingCapability optional,
243 octetstring spare_octets length (0..3) optional
244} with { variant "FIELDORDER(msb)" };
245
246
247//MS Radio Access capability - 10.5.5.12a
248
249// Note: specification allows application of spare bits (even the forming of
250// spare octets), The only limitation is that the MS Radio Access capability IE
251// has maximum length of 51 octets
252type record MSRadioAccessCapabilityLV
253{
254 LIN1 lengthIndicator,
255 MSRadioAccessCapabilityV msRadioAccessCapabilityV
256 // Note that spareBits is automatically handled/calculated as padding
257 // so that MSRadioAccessCapabilityLV will be octet aligned when encoded
258 // even if the padding (spareBits) is not visible for the tester.
259 // lengthIndicator value = MSRadioAccessCapabilityV + (virtual) padding.
260} with {
261 variant "FIELDORDER(msb)";
262 variant (lengthIndicator) "LENGTHTO (msRadioAccessCapabilityV )";
263 variant "PADDING(yes)"
264};
265
266type record of MSRACapabilityValuesRecord MSRadioAccessCapabilityV
267with { variant "EXTENSION_BIT(reverse)";variant "FIELDORDER(msb)" };
268
269
270type record MSRACapabilityValuesRecord
271{
272 MSRACapabilityValues mSRACapabilityValues,
273 BIT1 presenceBitMSRACap
274} with { variant "FIELDORDER(msb)" };
275
276
277type union MSRACapabilityValues
278{
279 MSRACapabilityValuesExclude1111 mSRACapabilityValuesExclude1111,
280 MSRACapabilityValues1111 mSRACapabilityValues1111
281};
282
283
284type record MSRACapabilityValuesExclude1111
285{
286 BIT4 accessTechnType,
287 AccessCapabilitiesStruct accessCapabilities
288} with {
289 variant "PRESENCE (
290 accessTechnType = '0000'B, // GSM P
291 accessTechnType = '0001'B, // GSM E
292 accessTechnType = '0010'B, // GSM R
293 accessTechnType = '0011'B, // GSM 1800
294 accessTechnType = '0100'B, // GSM190
295 accessTechnType = '0101'B, // GSM 450
296 accessTechnType = '0110'B, // GSM480
297 accessTechnType = '0111'B, // GSM 480
298 accessTechnType = '1000'B, // GSM 700
299 accessTechnType = '1001'B, // GSM T 310
300 accessTechnType = '1010'B, // GSM T 410
301 accessTechnType = '1011'B // GSM T 900
302 )"
303 variant "FIELDORDER(msb)"
304};
305
306
307// Access Capabilities Struct
308type record AccessCapabilitiesStruct
309{
310 integer lengthIndicator,
311 AccessCapabilities accessCapabilities,
312 // spare_bits "expands to the indicated length",
313 // i.e. 24.008 spec puts no restriction on number
314 // of spare_bits. The only restriction is that the whole
315 // MS Radio Access Capability IE is less than 52 octets
316 bitstring spare_bits optional
317} with {
318 variant (lengthIndicator) "FIELDLENGTH(7)";
319 variant (lengthIndicator) "LENGTHTO(accessCapabilities,spare_bits)";
320 variant (lengthIndicator) "UNIT(bits)";
321 variant "FIELDORDER(msb)";
322 variant (lengthIndicator) "BYTEORDER(last)";
323}
324
325
326//Access Capabilities
327type record AccessCapabilities
328{
329 BIT3 rfPowerCapability,
330 BIT1 presenceBitA5,
331 A5BITS a5bits optional,
332 BIT1 esind,
333 BIT1 psbit,
334 BIT1 vgcs,
335 BIT1 vbs,
336 BIT1 presenceBitMultislot,
337 MultislotCap multislotcap optional,
338 AccessCapAdditionsAfterRel97 accessCapAdditionsAfterRel97 optional //opt because of V97
339 //Note: AccessCapAdditionsAfterRel97 can include:
340 // Rel99 or
341 // Rel99 + Rel4 or
342 // Rel99 + Rel4 + Rel5 or
343 // Rel99 + Rel4 + Rel5 + Rel6
344} with {
345 variant "FIELDORDER(msb)";
346 variant (a5bits) "PRESENCE(presenceBitA5 = '1'B)";
347 variant (multislotcap) "PRESENCE(presenceBitMultislot = '1'B)";
348}
349
350
351type record AccessCapAdditionsAfterRel97
352{
353 AccessCapAdditionsRel99 accessCapAdditionsRel99,
354 AccessCapAdditionsAfterRel99 accessCapAdditionsAfterRel99 optional
355} with {
356 variant "FIELDORDER(msb)";
357}
358
359
360type record AccessCapAdditionsRel99
361{
362 BIT1 presenceBitPskpow,
363 BIT2 pskpowercap optional,
364 BIT1 compactIntMeasurCap,
365 BIT1 revisionLevelInd,
366 BIT1 umtsfddRadAccTechCap,
367 BIT1 umtstddRadAccTechCap,
368 BIT1 cdma2kRadAccTechCap
369} with {
370 variant "FIELDORDER(msb)";
371 variant (pskpowercap) "PRESENCE(presenceBitPskpow = '1'B)";
372}
373
374
375type record AccessCapAdditionsAfterRel99
376{
377 AccessCapAdditionsRel4 accessCapAdditionsRel4,
378 AccessCapAdditionsAfterRel4 accessCapAdditionsAfterRel4 optional
379} with {
380 variant "FIELDORDER(msb)";
381}
382
383
384type record AccessCapAdditionsRel4
385{
386 BIT1 umts128RadAccTechCap,
387 BIT1 geranFeaturePackage,
388 BIT1 presenceBitExtendedDTM,
389 ExtendedDTM extendedDTM optional,
390 BIT1 modulationBasedMultislotClass
391} with {
392 variant "FIELDORDER(msb)";
393 variant (extendedDTM) "PRESENCE(presenceBitExtendedDTM = '1'B)";
394}
395
396
397type record AccessCapAdditionsAfterRel4
398{
399 AccessCapAdditionsRel5 accessCapAdditionsRel5,
400 AccessCapAdditionsAfterRel5 accessCapAdditionsAfterRel5 optional
401} with {
402 variant "FIELDORDER(msb)";
403}
404
405
406type record AccessCapAdditionsRel5
407{
408 BIT1 presenceBitHighMultislotCapability,
409 BIT2 highMultislotCapability optional,
410 BIT1 presenceBitGeranIuModeCapability, // this field is present to make the module compatible with earlier versions; it always must be set to 0,
411 BIT2 gMSKMultislotPowerProfile,
412 BIT2 eightPSKMultislotPowerProfile
413} with {
414 variant "FIELDORDER(msb)";
415 variant (highMultislotCapability)
416 "PRESENCE(presenceBitHighMultislotCapability = '1'B)"
417}
418
419
420type record AccessCapAdditionsAfterRel5
421{
422 AccessCapAdditionsRel6 accessCapAdditionsRel6,
423 AccessCapAdditionsAfterRel6 accessCapAdditionsAfterRel6 optional
424} with {
425 variant "FIELDORDER(msb)";
426}
427
428type record AccessCapAdditionsAfterRel6
429{
430 AccessCapAdditionsRel7 accessCapAdditionsRel7,
431 //AccessCapAdditionsRel8 accessCapAdditionsAfterRel7 optional
432 AccessCapAdditionsAfterRel7 accessCapAdditionsAfterRel7 optional
433} with {
434 variant "FIELDORDER(msb)";
435}
436
437type record AccessCapAdditionsRel6
438{
439 BIT1 multipleTBFCapability,
440 BIT2 downlinkAdvancedReceiverPerformance,
441 BIT1 extendedRLCMACCtrlMsgSegmentationCap,
442 BIT1 dTMEnhancementsCapability,
443 BIT1 presenceBitDTMGPRSHighMultiSlotClass,
444 DTMGPRSHighMultiSlotClass dTMGPRSHighMultiSlotClass optional,
445 BIT1 pSHandoverCapability
446} with {
447 variant "FIELDORDER(msb)";
448 variant (dTMGPRSHighMultiSlotClass)
449 "PRESENCE(presenceBitDTMGPRSHighMultiSlotClass = '1'B)"
450}
451
452
453type record DTMGPRSHighMultiSlotClass
454{
455 BIT3 dTMGPRSHighMultiSlotClassValue,
456 BIT1 presenceBitDTMEGPRSHighMultiSlotClass,
457 BIT3 dTMEGPRSHighMultiSlotClassValue optional
458} with {
459 variant "FIELDORDER(msb)";
460 variant (dTMEGPRSHighMultiSlotClassValue)
461 "PRESENCE(presenceBitDTMEGPRSHighMultiSlotClass = '1'B)"
462
463}
464
465
466type record AccessCapAdditionsRel7
467{
468 BIT1 dTMHandoverCapability,
469 BIT1 presenceBitDownlinkDualCarrier,
470 DownlinkDualCarrier downlinkDualCarrier,
471 BIT1 flexibleTimeslotAssignment,
472 BIT1 gANPSHandoverCapability,
473 BIT1 rLCNonPersistentMode,
474 BIT1 reducedLatencyCapability,
475 BIT2 uplinkEGPRS2,
476 BIT2 downlinkEGPRS2
477} with {
478 variant "FIELDORDER(msb)";
479 variant (downlinkDualCarrier) "PRESENCE(presenceBitDownlinkDualCarrier = '1'B)"
480}
481
482type record AccessCapAdditionsAfterRel7
483{
484 AccessCapAdditionsRel8 accessCapAdditionsRel8,
485 AccessCapAdditionsAfterRel8 accessCapAdditionsAfterRel8
486}
487
488
489type record AccessCapAdditionsRel8
490{
491 BIT1 eUTRAFDDsupport ,
492 BIT1 eUTRATDDsupport,
493 BIT2 gERANToEUTRASupportInGERANPacketTransferMode,
494 BIT1 priorityBasedReselectionSupport
495} with {
496 variant "FIELDORDER(msb)";
497}
498
499type record AccessCapAdditionsAfterRel8
500{
501 AccessCapAdditionsRel9 accessCapAdditionsRel9,
502 AccessCapAdditionsAfterRel9 accessCapAdditionsAfterRel9
503}
504
505type record AccessCapAdditionsRel9
506{
507 EnhancedFlexTimeslotAssignment enhancedFlexTimeslotAssignment,
508 BIT1 indicationofUpperLayerPDUStartCapabilityforRLCUM,
509 BIT1 eMSTCapability,
510 BIT1 mTTICapability,
511 BIT1 uTRACSGCellsReporting,
512 BIT1 eUTRACSGCellsReporting
513} with {
514 variant "FIELDORDER(msb)";
515}
516
517type record AccessCapAdditionsAfterRel9
518{
519 AccessCapAdditionsRel10 accessCapAdditionsRel10,
520 AccessCapAdditionsAfterRel10 accessCapAdditionsAfterRel10
521}
522
523type record AccessCapAdditionsRel10
524{
525 BIT1 dTRCapability,
526 BIT1 eMSRCapability,
527 BIT1 fastDownlinkFrequencySwitchingCapability,
528 BIT2 tIGHTER_Capability
529}
530
531type record AccessCapAdditionsAfterRel10
532{
533 AccessCapAdditionsRel11 accessCapAdditionsRel11,
534 AccessCapAdditionsAfterRel11 accessCapAdditionsAfterRel11
535} with {
536 variant "FIELDORDER(msb)";
537}
538
539type record AccessCapAdditionsRel11
540{
541 BIT1 fANRCapability,
542 BIT1 iPACapability,
543 BIT1 gERANNetworkSharingSupport,
544 BIT1 eUTRAWidebandRSRQMeasurementsSupport
545} with {
546 variant "FIELDORDER(msb)";
547}
548
549type record AccessCapAdditionsAfterRel11
550{
551 AccessCapAdditionsRel12 accessCapAdditionsRel12,
552 AccessCapAdditionsAfterRel12 accessCapAdditionsAfterRel12
553} with {
554 variant "FIELDORDER(msb)";
555}
556
557type record AccessCapAdditionsRel12
558{
559 BIT1 uTRAMultipleFrequencyBandIndicatorsSupport,
560 BIT1 eUTRAMultipleFrequencyBandIndicatorsSupport,
561 BIT1 presenceBitDLMCCapability,
562 DLMCCapability dLMCCapability optional,
563 BIT1 extendedTSCSetCapabilitySupport
564} with {
565 variant "FIELDORDER(msb)";
566 variant (dLMCCapability) "PRESENCE(presenceBitDLMCCapability = '1'B)"
567}
568
569type record DLMCCapability
570{
571 BIT1 presenceDLMC,
572 DLMCBandReception dLMCBandReception optional,
573 BIT2 dLMCMaxBandwidth,
574 BIT6 dLMCMaxNumOfDownlinkTimeslots,
575 BIT3 dLMCMaxNumOfDownlinkCarriers
576} with {
577 variant "FIELDORDER(msb)";
578 variant (dLMCBandReception) "PRESENCE(presenceDLMC = '1'B)"
579}
580
581type record DLMCBandReception
582{
583 BIT2 dLMCNonContiguousIntraBandReception,
584 BIT1 dLMCInterBandReception
585} with {
586 variant "FIELDORDER(msb)";
587}
588
589type record AccessCapAdditionsAfterRel12
590{
591 AccessCapLateAdditionsRel11 accessCapLateAdditionsRel11,
592 octetstring accessCapLateAdditionsAfterRel11
593} with {
594 variant "FIELDORDER(msb)";
595}
596
597type record AccessCapLateAdditionsRel11
598{
599 BIT1 extendedEARFCNValueRange
600}
601
602type record EnhancedFlexTimeslotAssignment
603{
604 BIT1 presenceBitalternativeEFTAMultislotClass,
605 BIT4 alternativeEFTAMultislotClass,
606 BIT3 eFTAMultislotCapabilityReductionforDownlinkDualCarrier
607} with {
608 variant "FIELDORDER(msb)"
609};
610
611
612type record DownlinkDualCarrier
613{
614 BIT3 multislotCapReductionforDownLinkDualCarrier,
615 BIT1 downlinkDualCarrierforDTMCapability
616} with { variant "FIELDORDER(msb)" };
617
618
619type record ExtendedDTM
620{
621 BIT2 ExtendedDTM_GPRSMultislot,
622 BIT2 ExtendedDTM_EGPRSMultislot
623} with { variant "FIELDORDER(msb)" };
624
625
626//MultislotCap
627type record MultislotCap
628{
629 BIT1 presenceBitHscsd,
630 BIT5 hscsdmultislotclass optional,
631 BIT1 presenceBitGprs,
632 MultislotCap_GPRS gprsmultislot optional,
633 BIT1 presenceBitSms,
634 MultislotCap_SMS multislotCap_SMS optional,
635 MultislotCapAdditionsAfterRel97 multislotCapAdditionsAfterRel97 optional
636} with {
637 variant "FIELDORDER(msb)";
638 variant (hscsdmultislotclass) "PRESENCE(presenceBitHscsd = '1'B)";
639 variant (gprsmultislot) "PRESENCE(presenceBitGprs = '1'B)";
640 variant (multislotCap_SMS) "PRESENCE(presenceBitSms = '1'B)";
641
642}
643
644
645type record MultislotCapAdditionsAfterRel97
646{
647 BIT1 presenceBitEcsdmulti,
648 BIT5 ecsdmultislotclass optional,
649 BIT1 presenceBitEgprsmulti,
650 MultislotCap_EGPRS multislotCap_EGPRS optional,
651 BIT1 presenceBitDtmGprsmulti,
652 MultislotCap_dtmgprsmultislotsubclass multislotCapdtmgprsmultislotsubclass optional
653} with {
654 variant "FIELDORDER(msb)";
655 variant (ecsdmultislotclass) "PRESENCE(presenceBitEcsdmulti = '1'B)";
656 variant (multislotCap_EGPRS) "PRESENCE(presenceBitEgprsmulti = '1'B)" ;
657 variant (multislotCapdtmgprsmultislotsubclass)
658 "PRESENCE(presenceBitDtmGprsmulti = '1'B)"
659}
660
661
662type record MultislotCap_GPRS
663{
664 BIT5 gprsmultislotclass,
665 BIT1 gprsextendeddynalloccap
666} with { variant "FIELDORDER(msb)" };
667
668
669type record MultislotCap_SMS
670{
671 BIT4 smsValue,
672 BIT4 smValue
673} with { variant "FIELDORDER(msb)" };
674
675
676type record MultislotCap_EGPRS
677{
678 BIT5 egprsmultislotclass,
679 BIT1 egprsextendeddynalloccap
680} with { variant "FIELDORDER(msb)" };
681
682type record MultislotCap_dtmgprsmultislotsubclass
683{
684 BIT2 dtmgprsmultislotsubclass,
685 BIT1 singleSlotDTM,
686 BIT1 presenceBitDTM_EGPRSMultiSlot,
687 BIT2 dTM_EGPRSMultiSlot optional
688} with {
689 variant "FIELDORDER(msb)";
690 variant (dTM_EGPRSMultiSlot) "PRESENCE(presenceBitDTM_EGPRSMultiSlot = '1'B)"
691};
692
693
694//A5BITS
695type record A5BITS
696{
697 BIT1 a51 ,
698 BIT1 a52 ,
699 BIT1 a53 ,
700 BIT1 a54 ,
701 BIT1 a55 ,
702 BIT1 a56 ,
703 BIT1 a57
704} with { variant "FIELDORDER(msb)" };
705
706
707type record MSRACapabilityValues1111
708{
709 BIT4 accessTechnType, //1111
710 integer lengthIndicator,
711 BIT1 presenceIndicator_AdditionalAccessTechnologiesRepetition,
712 AdditionalAccessTechnologiesRepetition // coded '1'B if list is not empty
713 additionalAccessTechnologiesRepetition optional,
714 bitstring spare_bits
715} with {
716 variant "PRESENCE (accessTechnType = '1111'B)";
717 variant "FIELDORDER(msb)";
718 variant (lengthIndicator) "FIELDLENGTH(7)";
719 variant (lengthIndicator) "UNIT(bits)";
720 variant (lengthIndicator) "BYTEORDER(last)";
721 variant (additionalAccessTechnologiesRepetition)
722 "PRESENCE(presenceIndicator_AdditionalAccessTechnologiesRepetition = '1'B)";
723 variant (lengthIndicator)
724 "LENGTHTO(presenceIndicator_AdditionalAccessTechnologiesRepetition,
725 additionalAccessTechnologiesRepetition,spare_bits)";
726};
727
728
729type record of AdditionalAccessTechnologiesRecord
730AdditionalAccessTechnologiesRepetition
731with { variant "EXTENSION_BIT(reverse)" };
732
733
734type record AdditionalAccessTechnologiesRecord
735{
736 AdditionalAccessTechnologies additionalAccessTechnologies,
737 BIT1 extensionBit
738} with { variant "FIELDORDER(msb)" };
739
740
741type record AdditionalAccessTechnologies
742{
743 BIT4 accessTechnType,
744 BIT3 gMSKPowerClass,
745 BIT2 psk8PowerClass
746} with { variant "FIELDORDER(msb)" };
747
748
749// GMM Cause - 10.5.5.14
750type record GMM_CauseTV
751{
752 OCT1 elementIdentifier,
753 GMM_CauseV causeValue
754} with { variant "PRESENCE (elementIdentifier = '25'O)"; };
755
756type record GMM_CauseV
757{
758 OCT1 causeValue
759};
760
761
762// Routing Area identification - 10.5.5.15
763type record RoutingAreaIdentificationV
764{
765 HEX1 mccDigit1,
766 HEX1 mccDigit2,
767 HEX1 mccDigit3,
768 HEX1 mncDigit3,
769 HEX1 mncDigit1,
770 HEX1 mncDigit2,
771 OCT2 lac,
772 OCT1 rac
773};
774
775// Routing Area identification - 10.5.5.15a
776// moved into MobileL3_CommonIE_Types
777
778//Update Result - 10.5.5.17
779type record UpdateResultTV
780{
781 UpdateResultV valueField,
782 BIT4 elementIdentifier
783};
784
785type record UpdateResultV
786{
787 BIT3 valueField,
788 BIT1 fOP_l3
789};
790
791
792// Update Type - 10.5.5.18
793type record UpdateTypeTV
794{
795 UpdateTypeV valueField,
796 BIT4 elementIdentifier
797};
798
799type record UpdateTypeV
800{
801 BIT3 valueField,
802 BIT1 for_l3
803};
804
805
806// ACReferenceNumber - 10.5.5.19
807type record ACReferenceNumberTV
808{
809 ACReferenceNumberV acReferenceNumber,
810 BIT4 acReferenceNumberIEI
811};
812
813type record ACReferenceNumberV
814{
815 BIT4 valueField
816};
817
818
819// Service type - 10.5.5.20
820type record ServiceTypeV
821{
822 BIT3 serviceType,
823 BIT1 spare //'0'B
824};
825
826
827// Cell Notification - 10.5.5.21
828type record CellNotificationT
829{
830 OCT1 elementIdentifier
831} with { variant "PRESENCE (elementIdentifier = '8C'O)"; };
832
833
834// PC_LCSCapability - 10.5.5.22
835type record PC_LCSCapability
836{
837 OCT1 elementIdentifier,
838 PC_LCSCapabilityLV pC_LCSCapabilityLV
839} with { variant "PRESENCE (elementIdentifier = '33'O)"; };
840
841
842type record PC_LCSCapabilityLV
843{
844 LIN1 lengthIndicator, // 3 octets
845 PC_LCSCapabilityV pC_LCSCapabilityV
846} with { variant (lengthIndicator) "LENGTHTO (pC_LCSCapabilityV)"};
847
848
849type record PC_LCSCapabilityV
850{
851 BIT1 gPS_C,
852 BIT1 gPS_B,
853 BIT1 gPS_A,
854 BIT1 oTD_B,
855 BIT1 oTD_A,
856 BIT1 aPC,
857 BIT2 spare //'00'B
858};
859
860
861// NetworkFeatureSupportTV - 10.5.5.23
862type record NetworkFeatureSupportTV
863{
864 NetworkFeatureSupportV networkFeatureSupportV,
865 BIT4 elementIdentifier
866} with { variant "PRESENCE (elementIdentifier = '1011'B)"; };
867
868
869type record NetworkFeatureSupportV
870{
871 BIT1 eMCBS, // 24.008 v9.5.0
872 BIT1 iMSVoPS,
873 BIT1 mBMS,
874 BIT1 lCS_MOLR
875};
876
877// AdditionalNetworkFeatureSupportTLV - 10.5.5.23A
878type record AdditionalNetworkFeatureSupportTLV
879{
880 OCT1 elementIdentifier,
881 LIN1 lengthIndicator,
882 AdditionalNetworkFeatureSupportV additionalNetworkFeatureSupportV
883} with {
884 variant "PRESENCE (elementIdentifier = '66'O)";
885 variant (lengthIndicator) "LENGTHTO (additionalNetworkFeatureSupportV)"
886};
887
888
889type record AdditionalNetworkFeatureSupportV
890{
891 BIT1 gPRS_SMS,
892 BIT7 spare
893};
894
895// 10.5.5.24 Inter RAT information container
896type record InterRATInformationContainerTLV
897{
898 OCT1 elementIdentifier,
899 LIN1 lengthIndicator,
900 octetstring interRATInformationContainerV length(0..248)
901} with {
902 variant "PRESENCE (elementIdentifier = '27'O)";
903 variant (lengthIndicator) "LENGTHTO (interRATInformationContainerV)"
904};
905
906
907// 10.5.5.25 Requested MS information
908type record RequestedMSInformationTV
909{
910 BIT2 spare, //'00'B
911 BIT1 i_RAT2,
912 BIT1 i_RAT,
913 BIT4 elementIdentifier
914} with { variant "PRESENCE (elementIdentifier = '1010'B)"; };
915
916// 10.5.5.26 UE network capability TS 24.301 v13.4.0 / 9.9.3.34
917type record UENetworkCapabilityTLV
918{
919 OCT1 elementIdentifier,
920 UENetworkCapabilityLV uENetworkCapabilityLV
921}with {
922 variant "PRESENCE (elementIdentifier = '58'O)"
923}
924
925type record UENetworkCapabilityLV
926{
927 LIN1 lengthIndicator, //2..13
928 UENetworkCapabilityV uENetworkCapabilityV
929} with {
930 variant (lengthIndicator) "LENGTHTO (uENetworkCapabilityV)"
931}
932
933type record UENetworkCapabilityV
934{
935 BIT8 eEA,
936 BIT8 eIA,
937 BIT8 uEA optional,
938 BIT7 uIA optional,
939 BIT1 uCS2 optional,//4. octet
940 BIT1 nF optional,
941 BIT1 sRVCC optional,
942 BIT1 lCS optional,
943 BIT1 lPP optional,
944 BIT1 aCC_CSFB optional,
945 BIT1 h245_ASH optional,
946 BIT1 proSe optional,
947 BIT1 proSe_dd optional,
948 BIT1 proSe_dc optional,
949 BIT7 spare optional,//6. octet
950 octetstring spare4 length (0..7) optional
951}
952
953// 10.5.5.27 E-UTRAN inter RAT information container
954type record EUTRANinterRATInformationContainerTLV
955{
956 OCT1 elementIdentifier,
957 LIN1 lengthIndicator,
958 octetstring eUTRANinterRATInformationContainerV length(0..255)
959} with {
960 variant "PRESENCE (elementIdentifier = '2B'O)";
961 variant (lengthIndicator) "LENGTHTO (eUTRANinterRATInformationContainerV)"
962};
963
964// 10.5.5.28 Voice Domain Preference and UE's Usage Setting
965type record VoiceDomainPreferenceandUEsUsageSettingTLV
966{
967 OCT1 elementIdentifier,
968 LIN1 lengthIndicator,
969 VDPaUEsUS_V informationElement
970} with {
971 variant "PRESENCE (elementIdentifier = '5D'O)"
972 variant (lengthIndicator) "LENGTHTO (informationElement)"
973};
974
975type record VDPaUEsUS_V
976{
977 BIT2 voiceDomainPreferenceforEUTRAN,
978 BIT1 uEsUsageSetting,
979 BIT1 spare1,
980 BIT1 spare2,
981 BIT1 spare3,
982 BIT1 spare4,
983 BIT1 spare5
984};
985
986// P_TMSI Type 10.5.5.29
987//moved into MobileL3_CommonIE_Types
988
989// 10.5.5.30
990type record LocationAreaIdentification2_TLV
991{
992 OCT1 elementIdentifier,
993 LIN1 lengthIndicator,
994 OCT5 locationAreaIdentificationValue
995} with {
996 variant "PRESENCE (elementIdentifier = '14'O)";
997 variant (lengthIndicator) "LENGTHTO (locationAreaIdentificationValue)"
998};
999
1000// 10.5.5.31
1001type record NetworkResourceIdentifierContainerTLV
1002{
1003 OCT1 elementIdentifier,
1004 NetworkResourceIdentifierContainerLV networkResourceIdentifierContainerLV
1005} with {
1006 variant "PRESENCE (elementIdentifier = '10'O)";
1007};
1008
1009type record NetworkResourceIdentifierContainerLV
1010{
1011 LIN1 lengthIndicator,
1012 NetworkResourceIdentifierContainerV networkResourceIdentifierContainerV
1013} with {
1014 variant (lengthIndicator) "LENGTHTO (networkResourceIdentifierContainerV)"
1015};
1016
1017type record NetworkResourceIdentifierContainerV
1018{
1019 BIT10 nRIContainerValue,
1020 BIT6 spare
1021} with {
1022 variant (nRIContainerValue) "BITORDER (msb)";
1023 variant (nRIContainerValue,spare) "FIELDORDER (msb)";
1024};
1025
1026// 10.5.5.32
1027type record ExtendedDRXParametersTLV
1028{
1029 OCT1 elementIdentifier,
1030 LIN1 lengthIndicator,
1031 BIT4 eDRXValue,
1032 BIT4 pagingTimeWindow
1033} with {
1034 variant "PRESENCE (elementIdentifier = '6E'O)";
1035 variant (lengthIndicator) "LENGTHTO (eDRXValue,pagingTimeWindow)"
1036};
1037// ========================================================
1038// Session management information elements (chapter 10.5.6)
1039// ========================================================
1040
1041// Access Point Name - 10.5.6.1
1042
1043type record AccessPointNameTLV
1044{
1045 OCT1 elementIdentifier,
1046 LIN1 lengthIndicator, // 3-102 octets ,
1047 AccessPointNameV accessPointNameValue
1048} with {
1049 variant "PRESENCE (elementIdentifier = '28'O)";
1050 variant (lengthIndicator) "LENGTHTO (accessPointNameValue)"
1051};
1052
1053type record AccessPointNameLV
1054{
1055 LIN1 lengthIndicator, // 3-102 octets ,
1056 AccessPointNameV accessPointNameValue
1057} with { variant (lengthIndicator) "LENGTHTO (accessPointNameValue)"};
1058
1059type octetstring AccessPointNameV;
1060
1061
1062//NSAPI - 10.5.6.2
1063type record NSAPITV
1064{
1065 OCT1 elementIdentifier,
1066 NSAPIV valueField
1067};
1068
1069type record NSAPIV
1070{
1071 BIT4 valueField,
1072 BIT4 spare //'0000'B
1073};
1074
1075
1076//Protocol Configuration Options - 10.5.6.3
1077type record ProtocolConfigOptionsTLV
1078{
1079 OCT1 elementIdentifier,
1080 LIN1 lengthIndicator,
1081 ProtocolConfigOptionsV protocolConfigOptionsV
1082} with {
1083 variant "PRESENCE (elementIdentifier = '27'O)";
1084 variant (lengthIndicator) "LENGTHTO (protocolConfigOptionsV)"
1085};
1086
1087type record ProtocolConfigOptionsV
1088{
1089 BIT3 configProtocol,
1090 BIT4 spare , //'0000'B
1091 BIT1 extensionField, //'1'B
1092 ProtocolIDs_and_ContainerIDs protocolIDs_and_ContainerIDs optional
1093};
1094
1095type record of ProtocolID_or_ContainerID ProtocolIDs_and_ContainerIDs;
1096
1097type record ProtocolID_or_ContainerID
1098{
1099 OCT2 protocolID_or_ContainerID,
1100 LIN1 lengthIndicator,
1101 octetstring protID_orContID_Contents
1102} with { variant (lengthIndicator) "LENGTHTO (protID_orContID_Contents)"};
1103
1104
1105// PDP Address - 10.5.6.4
1106type record PDPAddressTLV
1107{
1108 OCT1 elementIdentifier,
1109 PDPAddressLV pDPAddressLV
1110} with { variant "PRESENCE (elementIdentifier = '2B'O)"; };
1111
1112
1113type record PDPAddressLV
1114{
1115 LIN1 lengthIndicator,
1116 PDPAddressV pdpAddressV
1117} with { variant (lengthIndicator) "LENGTHTO (pdpAddressV)"};
1118
1119
1120type record PDPAddressV
1121{
1122 BIT4 pdpTypeOrg,
1123 BIT4 spare, //'0000'B
1124 OCT1 pdpTypeNum,
1125 octetstring addressInfo optional
1126};
1127
1128
1129// QoS - 10.5.6.5
1130type record QoSTLV
1131{
1132 OCT1 elementIdentifier,
1133 QoSLV qoSLV
1134} with { variant "PRESENCE (elementIdentifier = '30'O)"; };
1135
1136
1137type record QoSLV
1138{
1139 LIN1 lengthIndicator,
1140 QoSV qoSV
1141} with { variant (lengthIndicator) "LENGTHTO (qoSV)"};
1142
1143
1144type record QoSV
1145{
1146 BIT3 reliabilityClass,
1147 BIT3 delayClass,
1148 BIT2 spare1, // '00'B
1149 BIT3 precedenceClass,
1150 BIT1 spare2, //'0'B
1151 BIT4 peakThroughput,
1152 BIT5 meanThroughput,
1153 BIT3 spare3, //'000'B
1154 BIT3 deliverErroneusSDU optional, //opt because of V97
1155 BIT2 deliveryOrder optional, //opt because of V97
1156 BIT3 trafficClass optional, //opt because of V97
1157 OCT1 maxSDUSize optional, //opt because of V97
1158 OCT1 maxBitrateUplink optional, //opt because of V97
1159 OCT1 maxBitrateDownlink optional, //opt because of V97
1160 BIT4 sduErrorRatio optional, //opt because of V97
1161 BIT4 residualBER optional, //opt because of V97
1162 BIT2 trafficHandlingPriority optional, //opt because of V97
1163 BIT6 transferDelay optional, //opt because of V97
1164 OCT1 guaranteedBitRateUplink optional, //opt because of V97
1165 OCT1 guaranteedBitRateDownlink optional, //opt because of V97
1166 BIT4 sourceStatisticsDescriptor optional, //opt because of V97
1167 BIT1 signallingIndication optional, //opt because of V97
1168 BIT3 spare4 optional, //opt because of V97
1169 // '000'B
1170 OCT1 maxBitrateDownlinkExt optional, //opt because of V97
1171 OCT1 guaranteedBitRateDownlinkExt optional, //opt because of V97
1172 OCT1 maxBitrateUplinkExt optional, //opt because of V97
1173 OCT1 guaranteedBitRateUplinkExt optional, //opt because of V97
1174 OCT1 maxBitrateDownlinkExt2 optional, //opt because of V97
1175 OCT1 guaranteedBitRateDownlinkExt2 optional, //opt because of V97
1176 OCT1 maxBitrateUplinkExt2 optional, //opt because of V97
1177 OCT1 guaranteedBitRateUplinkExt2 optional //opt because of V97
1178};
1179
1180// ReAttemptIndicator - 10.5.6.5a
1181type record ReAttemptIndicatorTLV
1182{
1183 OCT1 elementIdentifier,
1184 ReAttemptIndicatorLV reAttemptIndicatorLV
1185} with { variant "PRESENCE (elementIdentifier = '6B'O)"; };
1186
1187type record ReAttemptIndicatorLV
1188{
1189 LIN1 lengthIndicator,
1190 ReAttemptIndicatorV reAttemptIndicatorV
1191} with { variant (lengthIndicator) "LENGTHTO (reAttemptIndicatorV)"};
1192
1193type record ReAttemptIndicatorV
1194{
1195 BIT1 rATCValue,
1196 BIT1 ePLMNCValue,
1197 BIT6 spare
1198}
1199
1200// SM Cause - 10.5.6.6
1201type OCT1 SMCauseV;
1202
1203// SM Cause2 - 10.5.6.6a
1204type record SMCause2TLV
1205{
1206 OCT1 elementIdentifier,
1207 SMCause2LV sMCause2LV
1208} with { variant "PRESENCE (elementIdentifier = '39'O)"; };
1209
1210type record SMCause2LV
1211{
1212 LIN1 lengthIndicator,
1213 OCT1 sMCause2V
1214} with { variant (lengthIndicator) "LENGTHTO (sMCause2V)"};
1215
1216// Linked TI - 10.5.6.7
1217type record LinkedTITLV
1218{
1219 OCT1 elementIdentifier,
1220 LinkedTILV linkedTILV
1221}
1222
1223type record LinkedTILV
1224{
1225 LIN1 lengthIndicator,
1226 LinkedTIV valueField
1227} with { variant (lengthIndicator) "LENGTHTO (valueField)"};
1228
1229
1230type record LinkedTIV
1231{
1232 BIT4 spare, //'0000'B
1233 BIT3 tio,
1234 BIT1 tiFlag,
1235 TI_Extension tIExtension optional
1236} with { variant (tIExtension)"PRESENCE(tio = '111'B)"};
1237
1238
1239type record TI_Extension
1240{
1241 BIT7 tI_Value,
1242 BIT1 tI_ExtBit //'1'B
1243};
1244
1245
1246// LLC SAPI - 10.5.6.9
1247type record LLC_SAPITV
1248{
1249 OCT1 elementIdentifier,
1250 LLC_SAPIV valueField
1251} with { variant "PRESENCE (elementIdentifier = '32'O)"; };
1252
1253
1254type record LLC_SAPIV
1255{
1256 BIT4 valueField,
1257 BIT4 spare //'0000'B
1258};
1259
1260
1261// Tear down indicator - 10.5.6.10
1262type record TearDownIndicatorTV
1263{
1264 TearDownIndicatorV tearDownIndicatorV,
1265 BIT4 elementIdentifier
1266} with { variant "PRESENCE (elementIdentifier = '1001'B)"; };
1267
1268type record TearDownIndicatorV
1269{
1270 BIT1 tdi_flag,
1271 BIT3 spare //'000'B
1272};
1273
1274
1275// Packet Flow Identifier - 10.5.6.11
1276type record PacketFlowIDTLV
1277{
1278 OCT1 elementIdentifier,
1279 LIN1 lengthIndicator,
1280 PacketFlowIDV valueField
1281} with {
1282 variant "PRESENCE (elementIdentifier = '34'O)";
1283 variant (lengthIndicator) "LENGTHTO (valueField)"
1284};
1285
1286
1287type record PacketFlowIDV
1288{
1289 BIT7 valueField,
1290 BIT1 spare // '0'B
1291};
1292
1293
1294// Traffic Flow Template - 10.5.6.12
1295// when TFT operation is "delete packet filters from existing TFT"
1296// NOTE: will need to use "TAG" variant if both IEI is present within a PDU
1297type record TrafficFlowTemplateTLV
1298{
1299 OCT1 elementIdentifier,
1300 TrafficFlowTemplateLV trafficFlowTemplateLV
1301} with { variant "PRESENCE (elementIdentifier = '31'O,
1302 elementIdentifier = '36'O)";
1303};
1304
1305type record TrafficFlowTemplateLV
1306{
1307 LIN1 lengthIndicator,
1308 TrafficFlowTemplateV valueField
1309} with { variant (lengthIndicator) "LENGTHTO(valueField)"};
1310
1311
1312type union TrafficFlowTemplateV
1313{
1314 TrafficFlowTemplateV_CreateAddReplaceTFT
1315 trafficFlowTemplateV_CreateAddReplaceTFT,
1316 TrafficFlowTemplateV_DeletePacketFilter
1317 trafficFlowTemplateV_DeletePacketFilter,
1318 TrafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation
1319 trafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation
1320};
1321
1322
1323type record TrafficFlowTemplateV_CreateAddReplaceTFT
1324{
1325 integer numberOfPacketFilters,
1326 BIT1 eBIT,
1327 BIT3 operationCodeTFT, //'001'B or
1328 PacketFilterList_CreateAddReplaceTFT packetFilterList_CreateAddReplaceTFT,
1329 ParametersList parametersList optional
1330} with {
1331 variant "PRESENCE (operationCodeTFT = '001'B, // Create New TFT
1332 operationCodeTFT = '011'B, // Add packet filters to existing TFT
1333 operationCodeTFT = '100'B // Replace packet filters in existing TFT
1334 )";
1335 variant(parametersList) "PRESENCE(eBIT = '1'B)";
1336 variant(numberOfPacketFilters)"FIELDLENGTH(4)";
1337 variant(numberOfPacketFilters)"LENGTHTO(packetFilterList_CreateAddReplaceTFT)";
1338 variant(numberOfPacketFilters)"UNIT(elements)";
1339};
1340
1341
1342type record TrafficFlowTemplateV_DeletePacketFilter
1343{
1344 integer numberOfPacketFilters,
1345 BIT1 eBIT,
1346 BIT3 operationCodeTFT,
1347 //'101'B or '011'B or '100'B
1348 PacketFilterList_DeletePacketFilter packetFilterList_DeletePacketFilter,
1349 ParametersList parametersList optional
1350} with {
1351 variant "PRESENCE (operationCodeTFT = '101'B)" // Delete packet filters from existing TFT
1352 variant(parametersList) "PRESENCE(eBIT = '1'B)";
1353 variant(numberOfPacketFilters)"FIELDLENGTH(4)";
1354 variant(numberOfPacketFilters)"LENGTHTO(packetFilterList_DeletePacketFilter)";
1355 variant (numberOfPacketFilters)"UNIT(elements)";
1356};
1357
1358
1359type record TrafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation
1360{
1361 BIT4 numberOfPacketFilters, //'0000'B
1362 // numberOfPacketFilters is meaningless here since there is no PacketFilterList
1363 BIT1 eBIT,
1364 BIT3 operationCodeTFT, // '010'B or '110'B
1365 ParametersList parametersList optional
1366} with {
1367 variant "PRESENCE (operationCodeTFT = '010'B, // delete existing TFT
1368 operationCodeTFT = '110'B // No TFT Operation
1369 )";
1370 variant (parametersList) "PRESENCE(eBIT = '1'B)"
1371};
1372
1373
1374type record of PacketFilter PacketFilterList_CreateAddReplaceTFT;
1375
1376
1377type record PacketFilter
1378{
1379 PacketFilterIdentifier_CreateAddReplaceTFT identifier,
1380 OCT1 evaluationPrecedence,
1381 LIN1 lengthIndicator,
1382 octetstring contents
1383} with { variant (lengthIndicator) "LENGTHTO (contents)"};
1384
1385type record PacketFilterIdentifier_CreateAddReplaceTFT
1386{
1387 BIT4 packetFilterIdentifier,
1388 BIT2 packetFilterDirection,
1389 BIT2 spare
1390}
1391
1392type record of PacketFilterIdentifier PacketFilterList_DeletePacketFilter;
1393
1394
1395type record PacketFilterIdentifier
1396{
1397 BIT4 packetFilterIdentifier,
1398 BIT4 spare
1399}
1400
1401
1402type record of Parameter ParametersList;
1403
1404
1405type record Parameter
1406{
1407 OCT1 parameterIdentifier,
1408 LIN1 lengthIndicator,
1409 octetstring contents
1410} with { variant (lengthIndicator) "LENGTHTO (contents)"};
1411
1412
1413// Temporary Mobile Group Identity - 10.5.6.13
1414type record TemporaryMobileGroupIDLV
1415{
1416 LIN1 lengthIndicator,
1417 OCT3 mBMSServiceID,
1418 HEX1 mccDigit1,
1419 HEX1 mccDigit2,
1420 HEX1 mccDigit3,
1421 HEX1 mncDigit3,
1422 HEX1 mncDigit1,
1423 HEX1 mncDigit2
1424} with { variant (lengthIndicator) "LENGTHTO
1425 (mBMSServiceID,mccDigit1,mccDigit2,mccDigit3,
1426 mccDigit3,mncDigit1,mncDigit2)"};
1427
1428
1429// MBMS Bearer Capabilities - 10.5.6.14
1430type record MBMSBearerCapabilitiesLV
1431{
1432 LIN1 lengthIndicator,
1433 OCT1 maxBitrateDownlink,
1434 OCT1 maxBitrateDownlinkExtended optional
1435} with { variant (lengthIndicator) "LENGTHTO (maxBitrateDownlink,
1436 maxBitrateDownlinkExtended)"};
1437
1438// MBMS Protocol Configuration Options - 10.5.6.15
1439type record MBMSProtocolConfigOptionsTLV
1440{
1441 OCT1 elementIdentifier,
1442 LIN1 lengthIndicator,
1443 OCT1 spare, // '00'O
1444 octetstring valueField
1445} with {
1446 variant "PRESENCE (elementIdentifier = '35'O)";
1447 variant (lengthIndicator) "LENGTHTO (spare,valueField)"
1448};
1449
1450
1451//10.5.6.16
1452type record EnhancedNetworkSeviveAccessPointIDV //(V)
1453{
1454 OCT1 enhancedNetworkSeviveAccessPointIDValue
1455}
1456
1457// 10.5.6.17 Request type
1458type record RequestTypeTV {
1459 RequestTypeV requestTypeV,
1460 BIT1 spare,
1461 BIT4 elementIdentifier
1462} with { variant "PRESENCE (elementIdentifier = '1010'B)" };
1463
1464//001 initial request
1465//010 Handover
1466//011 Unused. If received, the network shall interpret this as "initial request".
1467//100 Emergency
1468type BIT3 RequestTypeV;
1469
1470// 10.5.6.18 Notification Indicator
1471type record NotificationIndicatorLV
1472{
1473 LIN1 lengthIndicator,
1474 OCT1 valueField
1475} with {
1476 variant (lengthIndicator) "LENGTHTO (valueField)"
1477};
1478
1479// 10.5.6.19 Connectivity Type
1480type record ConnectivityTypeTV
1481{
1482 BIT4 connectivityTypeValue,
1483 BIT4 elementIdentifier
1484} with { variant "PRESENCE (elementIdentifier = '1011'B)" };
1485
1486// 10.5.6.20 WLAN Offload Acceptability
1487type record WLANOffloadAcceptabilityTV
1488{
1489 BIT1 eUTRANOffloadAcceptabilityValue,
1490 BIT1 uTRANOffloadAcceptabilityValue,
1491 BIT2 spare,
1492 BIT4 elementIdentifier
1493} with { variant "PRESENCE (elementIdentifier = '1100'B)" };
1494
1495// 10.5.6.21 NBIFOM container
1496type record NBIFOM_ContainerTLV
1497{
1498 OCT1 elementIdentifier,
1499 LIN1 lengthIndicator,
1500 NBIFOM_ParameterList contents
1501} with { variant "PRESENCE (elementIdentifier = '33'O)";
1502 variant (lengthIndicator) "LENGTHTO (contents)" };
1503
1504// 6.1.1 - TS 24.161 v2.0.0
1505type record of NBIFOM_Parameter NBIFOM_ParameterList;
1506
1507type record NBIFOM_Parameter
1508{
1509 OCT1 parameterIdentifier,
1510 LIN1 lengthIndicator,
1511 NBIFOM_ParameterContents parameterContents
1512} with { variant (lengthIndicator) "LENGTHTO (parameterContents)";
1513 variant (parameterContents) "CROSSTAG(
1514 nBIFOM_Mode, parameterIdentifier = '01'O;
1515 nBIFOM_DefaultAccess, parameterIdentifier = '02'O;
1516 nBIFOM_Status, parameterIdentifier = '03'O;
1517 nBIFOM_RoutingRules, parameterIdentifier = '04'O;
1518 nBIFOM_IPFlowMapping, parameterIdentifier = '05'O;
1519 nBIFOM_RANRulesHandling, parameterIdentifier = '06'O;
1520 nBIFOM_RANRulesStatus, parameterIdentifier = '07'O;
1521 nBIFOM_AccessUsabilityIndication, parameterIdentifier = '08'O;
1522 unknownParameter, OTHERWISE)"};
1523
1524type union NBIFOM_ParameterContents
1525{
1526 OCT1 nBIFOM_Mode,
1527 OCT1 nBIFOM_DefaultAccess,
1528 OCT1 nBIFOM_Status,
1529 NBIFOM_RoutingRules nBIFOM_RoutingRules,
1530 NBIFOM_RoutingRules nBIFOM_IPFlowMapping,
1531 OCT1 nBIFOM_RANRulesHandling,
1532 OCT1 nBIFOM_RANRulesStatus,
1533 NBIFOM_AccessUsabilityIndication nBIFOM_AccessUsabilityIndication,
1534 octetstring unknownParameter
1535};
1536
1537type record of NBIFOM_RoutingRule NBIFOM_RoutingRules
1538type record NBIFOM_RoutingRule
1539{
1540 LIN1 lengthIndicator,
1541 OCT1 routingRuleIdentifier,
1542 BIT3 operationCode,
1543 BIT3 spare,
1544 BIT2 routingAccess,
1545 OCT1 routingRulePrioroty,
1546 RoutingFilter routingFilter
1547} with { variant (lengthIndicator) "LENGTHTO (routingRuleIdentifier,operationCode,
1548 spare,routingAccess,routingRulePrioroty,routingFilter)";}
1549
1550type record RoutingFilter
1551{
1552 BIT1 flagA,
1553 BIT1 flagB,
1554 BIT1 flagC,
1555 BIT1 flagD,
1556 BIT1 flagE,
1557 BIT1 flagF,
1558 BIT1 flagG,
1559 BIT1 flagH,
1560 BIT1 flagI,
1561 BIT1 flagJ,
1562 BIT1 flagK,
1563 BIT1 flagL,
1564 BIT1 flagM,
1565 BIT1 flagN,
1566 bitstring flagsZ length(18),
1567 OCT4 sourceIPv4Address optional,
1568 OCT4 destinationIPv4Address optional,
1569 OCT16 sourceIPv6Address optional,
1570 OCT16 destinationIPv6Address optional,
1571 OCT1 sourceAddressPrefixLength optional,
1572 OCT1 destinationAddressPrefixLength optional,
1573 OCT4 iPSecSecurityParameterIndex optional,
1574 OCT1 protocolTypeNextHeader optional,
1575 OCT4 startSourcePortRange optional,
1576 OCT4 endSourcePortRange optional,
1577 OCT4 startDestinationPortRange optional,
1578 OCT4 endDestinationPortRange optional,
1579 OCT1 typeOfService optional,
1580 OCT4 flowLabel optional
1581} with { variant (sourceIPv4Address) "PRESENCE(flagA = '1'B)";
1582 variant (destinationIPv4Address) "PRESENCE(flagB = '1'B)";
1583 variant (sourceIPv6Address) "PRESENCE(flagC = '1'B)";
1584 variant (destinationIPv6Address) "PRESENCE(flagD = '1'B)";
1585 variant (sourceAddressPrefixLength) "PRESENCE(flagE = '1'B)";
1586 variant (destinationAddressPrefixLength) "PRESENCE(flagF = '1'B)";
1587 variant (iPSecSecurityParameterIndex) "PRESENCE(flagG = '1'B)";
1588 variant (protocolTypeNextHeader) "PRESENCE(flagH = '1'B)";
1589 variant (startSourcePortRange) "PRESENCE(flagI = '1'B)";
1590 variant (endSourcePortRange) "PRESENCE(flagJ = '1'B)";
1591 variant (startDestinationPortRange) "PRESENCE(flagK = '1'B)";
1592 variant (endDestinationPortRange) "PRESENCE(flagL = '1'B)";
1593 variant (typeOfService) "PRESENCE(flagM = '1'B)";
1594 variant (flowLabel) "PRESENCE(flagN = '1'B)";
1595}
1596
1597type record NBIFOM_AccessUsabilityIndication
1598{
1599 BIT2 threeGPPAccessUsableValue,
1600 BIT2 wLANAccessUsableValue,
1601 BIT4 spare
1602}
1603// =================================================
1604// GPRS Common information elements (chapter 10.5.7)
1605// =================================================
1606
1607//PDPContextStatus - 10.5.7.1
1608type record PDPContextStatusTLV
1609{
1610 OCT1 elementIdentifier,
1611 LIN1 lengthIndicator,
1612 OCT2 valueField
1613} with {
1614 variant "PRESENCE (elementIdentifier = '32'O)";
1615 variant (lengthIndicator) "LENGTHTO (valueField)"
1616};
1617
1618
1619// Radio priority - 10.5.7.2
1620type record RadioPriorityTV
1621{
1622 RadioPriorityV valueField,
1623 BIT4 elementIdentifier
1624} with { variant "PRESENCE (elementIdentifier = '1000'B)"; };
1625
1626
1627type record RadioPriorityV
1628{
1629 BIT3 priorityLevelValue,
1630 BIT1 spare // '0'B
1631};
1632
1633
1634//GPRS Timer - 10.5.7.3
1635type record GPRSTimerTV
1636{
1637 OCT1 elementIdentifier,
1638 GPRSTimerV gprsTimerV
1639} with { variant "PRESENCE (elementIdentifier = '17'O)"; };
1640
1641
1642type record GPRSTimerV
1643{
1644 BIT5 timerValue,
1645 BIT3 unit
1646};
1647
1648// GPRS Timer2 - 10.5.7.4
1649type record GPRSTimer2TLV
1650{
1651 OCT1 elementIdentifier, //'2A'O or '37'O
1652 LIN1 lengthIndicator,
1653 GPRSTimerV gprsTimer2V // the same as GPRSTimerV
1654} with {
1655 variant (lengthIndicator) "LENGTHTO (gprsTimer2V)"
1656};
1657
1658// GPRS Timer3 - 10.5.7.4a
1659// GPRSTimer3TLV See MobileL3_CommonIE_Types.ttcn
1660
1661// Radio priority2 - 10.5.7.5
1662type record RadioPriority2TV
1663{
1664 RadioPriority2V valueField,
1665 BIT4 elementIdentifier
1666};
1667
1668
1669type record RadioPriority2V
1670{
1671 BIT3 priorityLevelValue,
1672 BIT1 spare // '0'B
1673};
1674
1675
1676// 10.5.7.6 MBMS context status
1677type record MBMS_ContextStatusTLV
1678{
1679 OCT1 elementIdentifier,
1680 LIN1 lengthIndicator,
1681 octetstring mBMSContextStatusInformation length (0..16)
1682} with {
1683 variant "PRESENCE (elementIdentifier = '35'O)";
1684 variant (lengthIndicator) "LENGTHTO (mBMSContextStatusInformation)"
1685};
1686
1687
1688// 10.5.7.7
1689type record UplinkDataStatusTLV
1690{
1691 OCT1 elementIdentifier,
1692 LIN1 lengthIndicator,
1693 UplinkDataStatusV valueField
1694} with {
1695 variant "PRESENCE (elementIdentifier = '36'O)";
1696 variant (lengthIndicator) "LENGTHTO (valueField)"
1697};
1698
1699type record UplinkDataStatusV
1700{
1701 BIT5 spare,
1702 BIT3 nSAPI_5_to_7,
1703 BIT8 nSAPI_8_to_15
1704};
1705
1706// 10.5.7.8
1707// DevicePropertiesTV -> See MobileL3_CommonIE_Types.ttcn
1708
1709
1710// ==============================================
1711// GPRS Mobility Management Messages (chapter 9.4)
1712// ==============================================
1713
1714// GMM Attach Request - 9.4.1
1715type record PDU_GMM_AttachRequest
1716{
1717 BIT8 messageType, // '00000001'B
1718 MSNetworkCapabilityLV msNetworkCapability,
1719 AttachTypeV attachType,
1720 CipheringKeySequenceNumberV gprsCKSN,
1721 DRXParameterV drxParam,
1722 MobileIdentityLV mobileIdentity,
1723 RoutingAreaIdentificationV oldRoutingAreaID,
1724 MSRadioAccessCapabilityLV msRACap,
1725 P_TMSISignatureTV ptmsiSignature optional,
1726 GPRSTimerTV reqGPRStimer optional,
1727 TMSIStatusTV tmsiStatus optional,
1728 PC_LCSCapability pC_LCSCapability optional,
1729 MobileStationClassmark2_TLV mobileStationClassmark2 optional,
1730 MobileStationClassmark3_TLV mobileStationClassmark3 optional,
1731 SupportedCodecList supportedCodecs optional,
1732 UENetworkCapabilityTLV uENetworkCapability optional,
1733 MobileIdentityTLV additionalMobileIdentity optional,
1734 RoutingAreaIdentification2TLV routingAreaIdentification2 optional,
1735 VoiceDomainPreferenceandUEsUsageSettingTLV voiceDomainandUEsUsageSetting optional,
1736 DevicePropertiesTV deviceProperties optional,
1737 P_TMSI_TypeTV p_TMSI_Type optional,
1738 MS_NetworkFeatureSupportTV mS_NetworkFeatureSupport optional,
1739 LocationAreaIdentification2_TLV oldLocationAreaIdentification optional,
1740 AdditionalUpdateTypeTV additionalUpdateType optional,
1741 NetworkResourceIdentifierContainerTLV tMSIBasedNRIcontainer optional,
1742 GPRSTimer2TLV t3324 optional,
1743 GPRSTimer3TLV t3312_ExtendedValue optional,
1744 ExtendedDRXParametersTLV extendedDRXParameters optional
1745} with {
1746 variant "PRESENCE (messageType = '00000001'B)";
1747 variant "TAG
1748 (
1749 additionalMobileIdentity, elementIdentifier = '0011010'B;
1750 deviceProperties, elementIdentifier = '1101'B; //D
1751 mS_NetworkFeatureSupport, elementIdentifier = '1100'B; //C
1752 t3324, elementIdentifier = '6a'O;
1753 t3312_ExtendedValue, elementIdentifier = '39'O
1754 )"
1755};
1756
1757// GMM Attach Accept - 9.4.2
1758type record PDU_GMM_AttachAccept
1759{
1760 BIT8 messageType,
1761 AttachResultV attachResult,
1762 ForceToStandbyV forceToStandby,
1763 GPRSTimerV updateTimer,
1764 RadioPriorityV radioPriority, //SMS
1765 RadioPriority2V radioPriorityTOM8, // TOM8
1766 RoutingAreaIdentificationV routingAreaIdentification,
1767 P_TMSISignatureTV ptmsiSignature optional,
1768 GPRSTimerTV readyTimer optional,
1769 MobileIdentityTLV allocatedPTMSI optional,
1770 MobileIdentityTLV msIdentity optional,
1771 GMM_CauseTV gmmCause optional,
1772 GPRSTimer2TLV t3302 optional,
1773 CellNotificationT cellNotification optional,
1774 PLMNListTLV equivalentPLMNs optional,
1775 NetworkFeatureSupportTV networkFeatureSupport optional,
1776 EmergencyNumberListTLV emergencyNumberList optional,
1777 RequestedMSInformationTV requestedMSInformation optional,
1778 GPRSTimer2TLV t3319 optional,
1779 GPRSTimer2TLV t3323 optional,
1780 GPRSTimer3TLV t3312_ExtendedValue optional,
1781 AdditionalNetworkFeatureSupportTLV additionalNetworkFeatureSupport optional,
1782 GPRSTimer2TLV t3324 optional,
1783 ExtendedDRXParametersTLV extendedDRXParameters optional
1784} with {
1785 variant "PRESENCE (messageType = '00000010'B)";
1786 variant "TAG
1787 (
1788 allocatedPTMSI, elementIdentifier = '0011000'B; //'18'O 7 bits
1789 msIdentity, elementIdentifier = '0100011'B; //'23'O 7 bits
1790 t3302, elementIdentifier = '2A'O;
1791 t3319, elementIdentifier = '37'O;
1792 t3323, elementIdentifier = '38'O;
1793 t3312_ExtendedValue, elementIdentifier = '39'O;
1794 t3324, elementIdentifier = '6a'O;
1795 )"
1796};
1797
1798
1799// GMM Attach Complete - 9.4.3
1800type record PDU_GMM_AttachComplete
1801{
1802 BIT8 messageType,
1803 InterRATInformationContainerTLV interRATHandoverInformation optional,
1804 EUTRANinterRATInformationContainerTLV eUTRANinterRATHandoverInformation optional
1805} with { variant "PRESENCE (messageType = '00000011'B)"; };
1806
1807
1808// GMM Attach Reject - 9.4.4
1809type record PDU_GMM_AttachReject
1810{
1811 BIT8 messageType,
1812 GMM_CauseV gmmCause,
1813 GPRSTimer2TLV t3302 optional,
1814 GPRSTimer2TLV t3346 optional
1815
1816} with { variant "PRESENCE (messageType = '00000100'B)";
1817 variant "TAG
1818 (
1819 t3302, elementIdentifier = '2A'O;
1820 t3346, elementIdentifier = '3A'O;
1821 )"
1822};
1823
1824// GMM Detach Request - 9.4.5
1825
1826// GMM Detach Request (mobile terminated detach) - 9.4.5.1
1827type record PDU_GMM_DetachRequest_SGSN_MS
1828{
1829 BIT8 messageType,
1830 DetachTypeV detachType,
1831 ForceToStandbyV forceToStandby,
1832 GMM_CauseTV gmmCause optional
1833} with { variant "PRESENCE (messageType = '00000101'B)"; };
1834
1835// GMM Detach Request (mobile originating detach) - 9.4.5.2
1836type record PDU_GMM_DetachRequest_MS_SGSN
1837{
1838 BIT8 messageType,
1839 DetachTypeV detachType,
1840 BIT4 spare,
1841 MobileIdentityTLV ptmsi optional,
1842 P_TMSISignature2TLV ptmsiSignature optional
1843} with {
1844 variant "PRESENCE (messageType = '00000101'B)";
1845 variant "TAG (ptmsi, elementIdentifier = '0011000'B;)" //'18'O 7 bits
1846};
1847
1848// GMM Detach Accept - 9.4.6
1849
1850// GMM Detach Accept (mobile terminated detach) 9.4.6.1
1851type record PDU_GMM_DetachAccept_MS_SGSN
1852{
1853 BIT8 messageType
1854} with { variant "PRESENCE (messageType = '00000110'B)"; };
1855
1856// GMM Detach Accept (mobile originating detach) 9.4.6.2
1857type record PDU_GMM_DetachAccept_SGSN_MS
1858{
1859 BIT8 messageType,
1860 ForceToStandbyV forceToStandby,
1861 BIT4 spare
1862} with { variant "PRESENCE (messageType = '00000110'B)"; };
1863
1864// GMM P-TMSI reallocation command - 9.4.7
1865type record PDU_GMM_P_TMSIReallocationCommand
1866{
1867 BIT8 messageType,
1868 MobileIdentityLV allocatedPTMSI,
1869 RoutingAreaIdentificationV routingAreaIdentification,
1870 ForceToStandbyV forceToStandby,
1871 BIT4 spare,
1872 P_TMSISignatureTV ptmsiSignature optional
1873} with { variant "PRESENCE (messageType = '00010000'B)"; };
1874
1875// GMM P-TMSI reallocation complete - 9.4.8
1876type record PDU_GMM_P_TMSIReallocationComplete
1877{
1878 BIT8 messageType
1879} with { variant "PRESENCE (messageType = '00010001'B)"; };
1880
1881// GMM Authentication and ciphering request - 9.4.9
1882type record PDU_GMM_AuthenticationAndCipheringRequest
1883{
1884 BIT8 messageType,
1885 CipheringAlgorithmV cipheringAlgorithm,
1886 IMEISVRequestV imeisvRequest,
1887 ForceToStandbyV forceToStandby,
1888 ACReferenceNumberV acReferenceNumber,
1889 AuthenticationParameterRANDTV authenticationParameterRAND optional,
1890 CipheringKeySequenceNumberTV cipheringKeySequenceNumber optional,
1891 AuthenticationParameterAUTNTLV authenticationParameterAUTN optional
1892} with { variant "PRESENCE (messageType = '00010010'B)";
1893 variant "TAG (authenticationParameterAUTN, elementIdentifier = '28'O)";
1894};
1895
1896// GMM Authentication and ciphering response - 9.4.10
1897type record PDU_GMM_AuthenticationAndCipheringResponse
1898{
1899 BIT8 messageType,
1900 ACReferenceNumberV acReferenceNumber,
1901 BIT4 spare,
1902 AuthenticationResponseParameterTV authenticationParResp optional,
1903 MobileIdentityTLV imeisv optional,
1904 AuthenticationResponseParameterUMTSTLV authenticationRespParExt optional
1905} with {
1906 variant "PRESENCE (messageType = '00010011'B)";
1907 variant "TAG (imeisv, elementIdentifier = '0100011'B;)"
1908 variant "TAG (authenticationRespParExt, elementIdentifier = '29'O)";
1909};
1910
1911// GMM Authentication and Ciphering Failure - 9.4.10a
1912type record PDU_GMM_AuthenticationAndCipheringFailure
1913{
1914 BIT8 messageType,
1915 GMM_CauseV gmmCause,
1916 AuthenticationFailureParametersTLV authenticationFailureParam optional
1917} with { variant "PRESENCE (messageType = '00011100'B)";
1918 variant "TAG (authenticationFailureParam, elementIdentifier = '30'O)";
1919};
1920
1921// GMM Authentication and ciphering reject - 9.4.11
1922type record PDU_GMM_AuthenticationAndCipheringReject
1923{
1924 BIT8 messageType
1925} with { variant "PRESENCE (messageType = '00010100'B)"; };
1926
1927// GMM Identity Request - 9.4.12
1928type record PDU_GMM_IdentityRequest
1929{
1930 BIT8 messageType,
1931 IdentityType2V identityType,
1932 ForceToStandbyV forceToStandby
1933} with { variant "PRESENCE (messageType = '00010101'B)"; };
1934
1935// GMM Identity response - 9.4.13
1936type record PDU_GMM_IdentityResponse
1937{
1938 BIT8 messageType,
1939 MobileIdentityLV mobileIdentity
1940} with { variant "PRESENCE (messageType = '00010110'B)"; };
1941
1942// GMM Routing area update request - 9.4.14
1943type record PDU_GMM_RoutingAreaUpdateRequest
1944{
1945 BIT8 messageType,
1946 UpdateTypeV updateType,
1947 CipheringKeySequenceNumberV gprsCKSN,
1948 RoutingAreaIdentificationV oldRoutingAreaId,
1949 MSRadioAccessCapabilityLV msRACap,
1950 P_TMSISignatureTV oldPTMSISignature optional,
1951 GPRSTimerTV readyTimerValue optional,
1952 DRXParameterTV drxParameter optional,
1953 TMSIStatusTV tmsiStatus optional,
1954 MobileIdentityTLV ptmsi optional,
1955 MSNetworkCapabilityTLV mSNetworkCapability optional,
1956 PDPContextStatusTLV pdpContextStatus optional,
1957 PC_LCSCapability pC_LCSCapability optional,
1958 MBMS_ContextStatusTLV mBMS_ContextStatus optional,
1959 UENetworkCapabilityTLV uENetworkCapability optional,
1960 MobileIdentityTLV additionalMobileIdentity optional,
1961 RoutingAreaIdentification2TLV oldRoutingAreaIdentification2 optional,
1962 MobileStationClassmark2_TLV mobileStationClassmark2 optional,
1963 MobileStationClassmark3_TLV mobileStationClassmark3 optional,
1964 SupportedCodecList supportedCodecs optional,
1965 VoiceDomainPreferenceandUEsUsageSettingTLV voiceDomainUEUsageSetting optional,
1966 P_TMSI_TypeTV p_TMSI_Type optional,
1967 DevicePropertiesTV deviceProperties optional,
1968 MS_NetworkFeatureSupportTV mS_NetworkFeatureSupport optional,
1969 LocationAreaIdentification2_TLV oldLocationAreaIdentification optional,
1970 AdditionalUpdateTypeTV additionalUpdateType optional,
1971 NetworkResourceIdentifierContainerTLV tMSIBasedNRIcontainer optional,
1972 GPRSTimer2TLV t3324 optional,
1973 GPRSTimer3TLV t3312_ExtendedValue optional,
1974 ExtendedDRXParametersTLV extendedDRXParameters optional
1975} with {
1976 variant "PRESENCE (messageType = '00001000'B)";
1977 variant "TAG (
1978 ptmsi, elementIdentifier = '0011000'B; //'18'O 7 bits
1979 additionalMobileIdentity, elementIdentifier = '0011010'B;
1980 deviceProperties, elementIdentifier = '1101'B; //D
1981 mS_NetworkFeatureSupport, elementIdentifier = '1100'B; //C
1982 t3324, elementIdentifier = '6a'O;
1983 t3312_ExtendedValue, elementIdentifier = '39'O
1984 )"
1985};
1986
1987// GMM Routing Area update accept - 9.4.15
1988type record PDU_GMM_RoutingAreaUpdateAccept
1989{
1990 BIT8 messageType,
1991 ForceToStandbyV forceToStandby,
1992 UpdateResultV updateResult,
1993 GPRSTimerV raUpdateTimer,
1994 RoutingAreaIdentificationV routingAreaId,
1995 P_TMSISignatureTV ptmsiSignature optional,
1996 MobileIdentityTLV allocatedPTMSI optional,
1997 MobileIdentityTLV msIdentity optional,
1998 ReceiveNPDUNumbersListTLV receiveNPDUNumbers optional,
1999 GPRSTimerTV readyTimer optional,
2000 GMM_CauseTV gmmCause optional,
2001 GPRSTimer2TLV t3302 optional,
2002 CellNotificationT cellNotification optional,
2003 PLMNListTLV equivalentPLMNs optional,
2004 PDPContextStatusTLV pdpContextStatus optional,
2005 NetworkFeatureSupportTV networkFeatureSupport optional,
2006 EmergencyNumberListTLV emergencyNumberList optional,
2007 MBMS_ContextStatusTLV mBMS_ContextStatus optional,
2008 RequestedMSInformationTV requestedMSInformation optional,
2009 GPRSTimer2TLV t3319 optional,
2010 GPRSTimer2TLV t3323 optional,
2011 GPRSTimer3TLV t3312_ExtendedValue optional,
2012 AdditionalNetworkFeatureSupportTLV additionalNetworkFeatureSupport optional,
2013 GPRSTimer2TLV t3324 optional,
2014 ExtendedDRXParametersTLV extendedDRXParameters optional
2015} with {
2016 variant "PRESENCE (messageType = '00001001'B)";
2017 variant "TAG
2018 (
2019 allocatedPTMSI, elementIdentifier = '0011000'B; //'18'O 7 bits
2020 msIdentity, elementIdentifier = '0100011'B; //'23'O 7 bits
2021 t3302, elementIdentifier = '2A'O;
2022 t3319, elementIdentifier = '37'O;
2023 t3323, elementIdentifier = '38'O;
2024 t3312_ExtendedValue, elementIdentifier = '39'O;
2025 t3324, elementIdentifier = '6a'O;
2026 )"
2027};
2028
2029// GMM Routing area update complete - 9.4.16
2030type record PDU_GMM_RoutingAreaUpdateComplete
2031{
2032 BIT8 messageType,
2033 ReceiveNPDUNumbersListTLV receiveNPDUNumbers optional,
2034 InterRATInformationContainerTLV interRATHandoverInformation optional,
2035 EUTRANinterRATInformationContainerTLV eUTRANinterRATHandoverInformation optional
2036} with { variant "PRESENCE (messageType = '00001010'B)"; };
2037
2038// GMM Routing area update reject - 9.4.17
2039type record PDU_GMM_RoutingAreaUpdateReject
2040{
2041 BIT8 messageType,
2042 GMM_CauseV gmmCause,
2043 ForceToStandbyV forceToStandby,
2044 BIT4 spare,
2045 GPRSTimer2TLV t3302 optional,
2046 GPRSTimer2TLV t3346 optional
2047} with {
2048 variant "PRESENCE (messageType = '00001011'B)";
2049 variant "TAG
2050 (
2051 t3302, elementIdentifier = '2A'O;
2052 t3346, elementIdentifier = '3A'O;
2053 )"
2054};
2055
2056// GMM GMM Status - 9.4.18
2057type record PDU_GMM_GMM_Status
2058{
2059 BIT8 messageType,
2060 GMM_CauseV gmmCause
2061} with { variant "PRESENCE (messageType = '00100000'B)"; };
2062
2063
2064// GMM GMM Information - 9.4.19
2065type record PDU_GMM_GMM_Information
2066{
2067 BIT8 messageType,
2068 NetworkNameTLV fullNetworkName optional,
2069 NetworkNameTLV shortNetworkName optional,
2070 TimeZoneTV networkTimeZone optional,
2071 TimeZoneAndTimeTV networkTimeAndTimeZone optional,
2072 LSA_IdentifierTLV lsaIdentity optional,
2073 DaylightSavingTimeTLV networkDaylightSavingTime optional
2074} with {
2075 variant "PRESENCE (messageType = '00100001'B)";
2076 variant "TAG
2077 (
2078 fullNetworkName, elementIdentifier = '1000011'B;//'43'O 7 bits
2079 shortNetworkName, elementIdentifier = '1000101'B;//'45'O 7 bits
2080 )"
2081};
2082
2083// GMM Service Request - 9.4.20
2084type record PDU_GMM_ServiceRequest
2085{
2086 BIT8 messageType,
2087 CipheringKeySequenceNumberV cipheringKeySeqNum,
2088 ServiceTypeV serviceType,
2089 MobileIdentityLV ptmsi,
2090 PDPContextStatusTLV pdpContextStatus optional, // this IE shall be included by the MS
2091 MBMS_ContextStatusTLV mBMS_ContextStatus optional,
2092 UplinkDataStatusTLV uplinkDataStatus optional,
2093 DevicePropertiesTV deviceProperties optional
2094} with { variant "PRESENCE (messageType = '00001100'B)";
2095 variant "TAG (deviceProperties, elementIdentifier = '1101'B; //D
2096 )"
2097};
2098
2099// GMM Service Accept - 9.4.21
2100type record PDU_GMM_ServiceAccept
2101{
2102 BIT8 messageType,
2103 PDPContextStatusTLV pdpContextStatus optional,
2104 MBMS_ContextStatusTLV mBMS_ContextStatus optional
2105} with { variant "PRESENCE (messageType = '00001101'B)"; };
2106
2107// GMM Service Reject - 9.4.22
2108type record PDU_GMM_ServiceReject
2109{
2110 BIT8 messageType,
2111 GMM_CauseV gmmCause,
2112 GPRSTimer2TLV t3346 optional
2113} with { variant "PRESENCE (messageType = '00001110'B)"; };
2114
2115
2116// ==============================================
2117// GPRS Session Management Messages (chapter 9.5)
2118// ==============================================
2119
2120// SM Activate PDP Context Request - 9.5.1
2121type record PDU_SM_ActivatePDPContextRequest
2122{
2123 BIT8 messageType,
2124 NSAPIV requestedNSAPI,
2125 LLC_SAPIV requestedLLCSAPI,
2126 QoSLV requestedQoS,
2127 PDPAddressLV requestedPDPaddress,
2128 AccessPointNameTLV accessPointName optional,
2129 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2130 RequestTypeTV requestType optional,
2131 DevicePropertiesTV deviceProperties optional,
2132 NBIFOM_ContainerTLV nBIFOM_Container optional
2133} with { variant "PRESENCE (messageType = '01000001'B)";
2134 variant "TAG ( deviceProperties, elementIdentifier = '1100'B; //C
2135 )"
2136};
2137
2138
2139// SM Activate PDP Context Accept - 9.5.2
2140type record PDU_SM_ActivatePDPContextAccept
2141{
2142 BIT8 messageType,
2143 LLC_SAPIV negotiatedLLCSAPI,
2144 QoSLV negotiatedQoS,
2145 RadioPriorityV radioPriority,
2146 BIT4 spare,
2147 PDPAddressTLV pdpAddress optional,
2148 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2149 PacketFlowIDTLV packetFlowID optional,
2150 SMCause2TLV sMCause2 optional,
2151 ConnectivityTypeTV connectivityType optional,
2152 WLANOffloadAcceptabilityTV wLANOffloadIndication optional,
2153 NBIFOM_ContainerTLV nBIFOM_Container optional
2154} with { variant "PRESENCE (messageType = '01000010'B)"; };
2155
2156
2157// SM Activate PDP Context Reject - 9.5.3
2158type record PDU_SM_ActivatePDPContextReject
2159{
2160 BIT8 messageType,
2161 SMCauseV smCause,
2162 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2163 GPRSTimer3TLV backOffTimer optional,
2164 ReAttemptIndicatorTLV reAttemptIndicator optional,
2165 NBIFOM_ContainerTLV nBIFOM_Container optional
2166} with { variant "PRESENCE (messageType = '01000011'B)";
2167 variant "TAG (backOffTimer, elementIdentifier = '37'O)"
2168};
2169
2170
2171// SM Activate Secondary PDP Context - 9.5.4
2172type record PDU_SM_ActivateSecondaryPDPContextRequest
2173{
2174 BIT8 messageType,
2175 NSAPIV requestedNSAPI,
2176 LLC_SAPIV requestedLLC_SAPI,
2177 QoSLV requestedQoS,
2178 LinkedTILV linkedTI,
2179 TrafficFlowTemplateTLV tft optional,
2180 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2181 DevicePropertiesTV deviceProperties optional,
2182 NBIFOM_ContainerTLV nBIFOM_Container optional
2183} with { variant "PRESENCE (messageType = '01001101'B)";
2184 variant "TAG (deviceProperties, elementIdentifier = '1100'B; //C
2185 )"
2186};
2187// SM Activate Secondary PDP Context Accept - 9.5.5
2188type record PDU_SM_ActivateSecondaryPDPContextAccept
2189{
2190 BIT8 messageType,
2191 LLC_SAPIV negotiatedLLC_SAPI,
2192 QoSLV negotiatedQoS,
2193 RadioPriorityV radioPriority,
2194 BIT4 spare,
2195 PacketFlowIDTLV packetFlowIdentifier optional,
2196 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2197 WLANOffloadAcceptabilityTV wLANOffloadIndication optional,
2198 NBIFOM_ContainerTLV nBIFOM_Container optional
2199} with { variant "PRESENCE (messageType = '01001110'B)"; };
2200
2201
2202// SM Activate Secondary PDP Context Reject - 9.5.6
2203type record PDU_SM_ActivateSecondaryPDPContextReject
2204{
2205 BIT8 messageType,
2206 SMCauseV smCause,
2207 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2208 GPRSTimer3TLV backOffTimer optional,
2209 ReAttemptIndicatorTLV reAttemptIndicator optional,
2210 NBIFOM_ContainerTLV nBIFOM_Container optional
2211} with { variant "PRESENCE (messageType = '01001111'B)";
2212 variant "TAG (backOffTimer, elementIdentifier = '37'O)"
2213};
2214
2215
2216// SM Request PDP context activation - 9.5.7
2217type record PDU_SM_RequestPDPContextActivation
2218{
2219 BIT8 messageType,
2220 PDPAddressLV offeredPDPAdress,
2221 AccessPointNameTLV accessPointName optional,
2222 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2223 NBIFOM_ContainerTLV nBIFOM_Container optional
2224} with { variant "PRESENCE (messageType = '01000100'B)"; };
2225
2226
2227// SM Request PDP context activation reject - 9.5.8
2228type record PDU_SM_RequestPDPContextActivationReject
2229{
2230 BIT8 messageType,
2231 SMCauseV smCause,
2232 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2233 NBIFOM_ContainerTLV nBIFOM_Container optional
2234} with { variant "PRESENCE (messageType = '01000101'B)"; };
2235
2236
2237// SM Modify PDP context request (Network to MS direction) - 9.5.9
2238type record PDU_SM_ModifyPDPContextRequest_SGSN_MS
2239{
2240 BIT8 messageType ,
2241 RadioPriorityV radioPriority,
2242 BIT4 spare,
2243 LLC_SAPIV requestedLLC_SAPI,
2244 QoSLV newQoS,
2245 PDPAddressTLV pdpAddress optional,
2246 PacketFlowIDTLV packetFlowIdentifier optional,
2247 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2248 TrafficFlowTemplateTLV tFT optional,
2249 WLANOffloadAcceptabilityTV wLANOffloadIndication optional,
2250 NBIFOM_ContainerTLV nBIFOM_Container optional
2251} with { variant "PRESENCE (messageType = '01001000'B)"; };
2252
2253
2254// SM Modify PDP context request (MS to network direction) - 9.5.10
2255type record PDU_SM_ModifyPDPContextRequest_MS_SGSN
2256{
2257 BIT8 messageType,
2258 LLC_SAPITV requestedLLC_SAPI optional,
2259 QoSTLV requestedNewQoS optional,
2260 TrafficFlowTemplateTLV newTFT optional,
2261 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2262 DevicePropertiesTV deviceProperties optional,
2263 NBIFOM_ContainerTLV nBIFOM_Container optional
2264} with { variant "PRESENCE (messageType = '01001010'B)";
2265 variant "TAG (deviceProperties, elementIdentifier = '1100'B; //C
2266 )"
2267};
2268
2269
2270// SM Modify PDP context accept (MS to network direction) - 9.5.11
2271type record PDU_SM_ModifyPDPContextAccept_MS_SGSN
2272{
2273 BIT8 messageType,
2274 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2275 NBIFOM_ContainerTLV nBIFOM_Container optional
2276} with { variant "PRESENCE (messageType = '01001001'B)"; };
2277
2278
2279// SM Modify PDP context accept (Network to MS direction) - 9.5.12
2280type record PDU_SM_ModifyPDPContextAccept_SGSN_MS
2281{
2282 BIT8 messageType,
2283 QoSTLV negotiatedQoS optional,
2284 LLC_SAPITV negotiatedLLC_SAPI optional,
2285 RadioPriorityTV newRadioPriority optional,
2286 PacketFlowIDTLV packetFlowIdentifier optional,
2287 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2288 WLANOffloadAcceptabilityTV wLANOffloadIndication optional,
2289 NBIFOM_ContainerTLV nBIFOM_Container optional
2290} with { variant "PRESENCE (messageType = '01001011'B)"; };
2291
2292
2293// SM Modify PDP Context reject - 9.5.13
2294type record PDU_SM_ModifyPDPContextReject
2295{
2296 BIT8 messageType,
2297 SMCauseV smCause,
2298 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2299 GPRSTimer3TLV backOffTimer optional,
2300 ReAttemptIndicatorTLV reAttemptIndicator optional,
2301 NBIFOM_ContainerTLV nBIFOM_Container optional
2302} with { variant "PRESENCE (messageType = '01001100'B)";
2303 variant "TAG (backOffTimer, elementIdentifier = '37'O)"
2304};
2305
2306
2307// SM Deactivate PDP Context Request - 9.5.14
2308type record PDU_SM_DeactivatePDPContextRequest
2309{
2310 BIT8 messageType,
2311 SMCauseV smCause,
2312 TearDownIndicatorTV tearDownIndicator optional,
2313 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2314 MBMSProtocolConfigOptionsTLV mBMSprotocolConfigOptions optional,
2315 GPRSTimer3TLV t3396 optional,
2316 WLANOffloadAcceptabilityTV wLANOffloadIndication optional,
2317 NBIFOM_ContainerTLV nBIFOM_Container optional
2318} with { variant "PRESENCE (messageType = '01000110'B)";
2319 variant "TAG (t3396, elementIdentifier = '37'O)"
2320};
2321
2322
2323// SM Deactivate PDP Context Accept 3GPP - 9.5.15
2324type record PDU_SM_DeactivatePDPContextAccept
2325{
2326 BIT8 messageType,
2327 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2328 MBMSProtocolConfigOptionsTLV mBMSprotocolConfigOptions optional,
2329 NBIFOM_ContainerTLV nBIFOM_Container optional
2330} with { variant "PRESENCE (messageType = '01000111'B)"; };
2331
2332
2333// Request Secondary PDP Context Activation - 9.5.15a
2334type record PDU_SM_RequestSecondaryPDPContextActivation
2335{
2336 BIT8 messageType,
2337 QoSLV requiredQoS,
2338 LinkedTILV linkedTI,
2339 TrafficFlowTemplateTLV tFT optional,
2340 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2341 WLANOffloadAcceptabilityTV wLANOffloadIndication optional,
2342 NBIFOM_ContainerTLV nBIFOM_Container optional
2343} with { variant "PRESENCE (messageType = '01011011'B)"; };
2344
2345
2346// Request Secondary PDP Context Activation Reject - 9.5.15b
2347type record PDU_SM_RequestSecondaryPDPContextActivationReject
2348{
2349 BIT8 messageType,
2350 SMCauseV smCause,
2351 ProtocolConfigOptionsTLV protocolConfigOpts optional,
2352 NBIFOM_ContainerTLV nBIFOM_Container optional
2353} with { variant "PRESENCE (messageType = '01011100'B)"; };
2354
2355// Notification - 9.5.16a
2356type record PDU_SM_Notification
2357{
2358 BIT8 messageType,
2359 NotificationIndicatorLV notificationIndicator
2360} with { variant "PRESENCE (messageType = '01011101'B)"; };
2361
2362// SM SM Status - 9.5.21
2363type record PDU_SM_SM_Status
2364{
2365 BIT8 messageType,
2366 SMCauseV smCause
2367} with { variant "PRESENCE (messageType = '01010101'B)"; };
2368
2369
2370// Activate MBMS Context Request - 9.5.22
2371type record PDU_SM_ActivateMBMSContextRequest
2372{
2373 BIT8 messageType,
2374 EnhancedNetworkSeviveAccessPointIDV requestedMBMS_NSAPI,
2375 LLC_SAPIV requestedLLCSAPI,
2376 MBMSBearerCapabilitiesLV supportdMBMSBearerCapabilities,
2377 PDPAddressLV requestedMulticastAddress,
2378 AccessPointNameLV accessPointName,
2379 MBMSProtocolConfigOptionsTLV mBMSprotocolConfigOptions optional,
2380 DevicePropertiesTV deviceProperties optional
2381} with { variant "PRESENCE (messageType = '01010110'B)";
2382 variant "TAG(deviceProperties, elementIdentifier = '1100'B; //C
2383 )"
2384};
2385
2386
2387// Activate MBMS Context Accept - 9.5.23
2388type record PDU_SM_ActivateMBMSContextAccept
2389{
2390 BIT8 messageType,
2391 TemporaryMobileGroupIDLV temporaryMobileGroupIDLV,
2392 LLC_SAPIV negotiatedLLCSAPI,
2393 MBMSProtocolConfigOptionsTLV mBMSprotocolConfigOptions optional
2394} with { variant "PRESENCE (messageType = '01010111'B)"; };
2395
2396
2397// Activate MBMS Context Reject - 9.5.24
2398type record PDU_SM_ActivateMBMSContextReject
2399{
2400 BIT8 messageType,
2401 SMCauseV smCause,
2402 MBMSProtocolConfigOptionsTLV mBMSprotocolConfigOptions optional,
2403 GPRSTimer3TLV backOffTimer optional,
2404 ReAttemptIndicatorTLV reAttemptIndicator optional
2405} with { variant "PRESENCE (messageType = '01011000'B)";
2406 variant "TAG (backOffTimer, elementIdentifier = '37'O)"
2407};
2408
2409
2410// Request MBMS Context Activation - 9.5.25
2411type record PDU_SM_RequestMBMSContextActivation
2412{
2413 BIT8 messageType,
2414 NSAPIV linkedNSAPI,
2415 PDPAddressLV offeredMulticastAddress,
2416 AccessPointNameLV accessPointName,
2417 MBMSProtocolConfigOptionsTLV mBMSprotocolConfigOptions optional
2418} with { variant "PRESENCE (messageType = '01011001'B)"; };
2419
2420
2421// Request MBMS Context Activation Reject - 9.5.26
2422type record PDU_SM_RequestMBMSContextActivationReject
2423{
2424 BIT8 messageType,
2425 SMCauseV smCause,
2426 MBMSProtocolConfigOptionsTLV mBMSprotocolConfigOptions optional
2427} with { variant "PRESENCE (messageType = '01011010'B)"; };
2428
2429
2430//==============================================================================
2431//==============================================================================
2432// GPRS SESSION MANAGEMENT MESSAGES Messages MS TO SGSN
2433//==============================================================================
2434//==============================================================================
2435type union L3_GSM_MS_SGSN
2436{
2437 PDU_SM_ActivatePDPContextRequest activatePDPContextRequest,
2438 PDU_SM_ActivateSecondaryPDPContextRequest activateSecondaryPDPContextRequest,
2439 PDU_SM_RequestPDPContextActivationReject requestPDPContextActivationReject,
2440 PDU_SM_ModifyPDPContextRequest_MS_SGSN modifyPDPContextRequest_MS_SGSN,
2441 PDU_SM_ModifyPDPContextAccept_MS_SGSN modifyPDPContextAccept_MS_SGSN,
2442 //SGSN_MS, MS_SGSN
2443 PDU_SM_DeactivatePDPContextRequest deactivatePDPContextRequest,
2444 //SGSN_MS, MS_SGSN
2445 PDU_SM_DeactivatePDPContextAccept deactivatePDPContextAccept,
2446 //SGSN_MS, MS_SGSN
2447 PDU_SM_SM_Status sM_Status,
2448 PDU_SM_ActivateMBMSContextRequest activateMBMSContextRequest,
2449 PDU_SM_RequestMBMSContextActivationReject requestMBMSContextActivationReject,
2450 PDU_SM_RequestSecondaryPDPContextActivationReject requestSecondaryPDPContextActivationReject,
2451 PDU_SM_Notification notification
2452};
2453
2454//==============================================================================
2455//==============================================================================
2456// GPRS SESSION MANAGEMENT MESSAGES Messages SGSN -> MS
2457//==============================================================================
2458//==============================================================================
2459type union L3_GSM_SGSN_MS
2460{
2461 PDU_SM_ActivatePDPContextAccept activatePDPContextAccept,
2462 PDU_SM_ActivatePDPContextReject activatePDPContextReject,
2463 PDU_SM_ActivateSecondaryPDPContextAccept activateSecondaryPDPContextAccept,
2464 PDU_SM_ActivateSecondaryPDPContextReject activateSecondaryPDPContextReject,
2465 PDU_SM_RequestPDPContextActivation requestPDPContextActivation,
2466 PDU_SM_ModifyPDPContextRequest_SGSN_MS modifyPDPContextRequest_SGSN_MS,
2467 PDU_SM_ModifyPDPContextAccept_SGSN_MS modifyPDPContextAccept_SGSN_MS,
2468 PDU_SM_ModifyPDPContextReject modifyPDPContextReject,
2469 //SGSN_MS, MS_SGSN
2470 PDU_SM_DeactivatePDPContextRequest deactivatePDPContextRequest,
2471 //SGSN_MS, MS_SGSN
2472 PDU_SM_DeactivatePDPContextAccept deactivatePDPContextAccept,
2473 //SGSN_MS, MS_SGSN
2474 PDU_SM_SM_Status sM_Status,
2475 PDU_SM_ActivateMBMSContextAccept activateMBMSContextAccept,
2476 PDU_SM_ActivateMBMSContextReject activateMBMSContextReject,
2477 PDU_SM_RequestMBMSContextActivation requestMBMSContextActivation,
2478 PDU_SM_RequestSecondaryPDPContextActivation requestSecondaryPDPContextActivation
2479};
2480
2481//==============================================================================
2482//==============================================================================
2483// GPRS Mobility Management Messages MS TO SGSN
2484//==============================================================================
2485//==============================================================================
2486type union L3_GMM_MS_SGSN
2487{
2488 PDU_GMM_AttachRequest attachRequest,
2489 PDU_GMM_AttachComplete attachComplete,
2490 PDU_GMM_DetachRequest_MS_SGSN detachRequest_MS_SGSN,
2491 PDU_GMM_DetachAccept_MS_SGSN detachAccept_MS_SGSN,
2492 PDU_GMM_P_TMSIReallocationComplete p_TMSIReallocationComplete,
2493 PDU_GMM_AuthenticationAndCipheringResponse authenticationAndCipheringResponse,
2494 PDU_GMM_AuthenticationAndCipheringFailure authenticationAndCipheringFailure,
2495 PDU_GMM_IdentityResponse identityResponse,
2496 PDU_GMM_RoutingAreaUpdateRequest routingAreaUpdateRequest,
2497 PDU_GMM_RoutingAreaUpdateComplete routingAreaUpdateComplete,
2498 //SGSN_MS, MS_SGSN
2499 PDU_GMM_GMM_Status gMM_Status,
2500 PDU_GMM_ServiceRequest serviceRequest
2501};
2502
2503//==============================================================================
2504//==============================================================================
2505// GPRS Mobility Management Messages SGSN TO MS
2506//==============================================================================
2507//==============================================================================
2508type union L3_GMM_SGSN_MS
2509{
2510 PDU_GMM_AttachAccept attachAccept,
2511 PDU_GMM_AttachReject attachReject,
2512 PDU_GMM_DetachRequest_SGSN_MS detachRequest_SGSN_MS,
2513 PDU_GMM_DetachAccept_SGSN_MS detachAccept_SGSN_MS,
2514 PDU_GMM_P_TMSIReallocationCommand p_TMSIReallocationCommand,
2515 PDU_GMM_AuthenticationAndCipheringRequest authenticationAndCipheringRequest,
2516 PDU_GMM_AuthenticationAndCipheringReject authenticationAndCipheringReject,
2517 PDU_GMM_IdentityRequest identityRequest,
2518 PDU_GMM_RoutingAreaUpdateAccept routingAreaUpdateAccept,
2519 PDU_GMM_RoutingAreaUpdateReject routingAreaUpdateReject,
2520 //SGSN_MS, MS_SGSN
2521 PDU_GMM_GMM_Status gMM_Status,
2522 PDU_GMM_GMM_Information gMM_Information,
2523 PDU_GMM_ServiceAccept serviceAccept,
2524 PDU_GMM_ServiceReject serviceReject
2525};
2526
2527}//end of module
2528with {
2529extension "version R1B"
2530encode "RAW"
2531}
2532