blob: 8370f26f307a5734adc8eecc3d839c6f83f7855e [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: GTPC_Types.ttcn
13// Rev: R1B
14// Prodnr: CNL 113 843
15// Contact: http://ttcn.ericsson.se
16// Reference: 3GPP TS 29.060 v13.5.0
17
18module GTPC_Types {
19
20import from General_Types all;
21
22// external encoding/decoding functions
23external function enc_PDU_GTPC(in PDU_GTPC gtpc_pdu) return octetstring
24with { extension "prototype(convert)"
25 extension "encode(RAW)"
26 }
27
28external function dec_PDU_GTPC(in octetstring udp_pdu, SystemUnderTest pl_SystemUnderTest := SGSN) return PDU_GTPC
29// for SGSN testing pl_SystemUnderTest is SGSN (default value)
30// for GGSN testing pl_SystemUnderTest is GGSN
31// for CGW testing pl_SystemUnderTest is CGW
32// for MME testing pl_SystemUnderTest is MME
33// in current implementation the decoder behavior is identical for
34// SGSN and MME
35
36// determines SUT, needed for decoding updatePDPContextRequest
37// and updatePDPContextResponse messages
38type enumerated SystemUnderTest{SGSN(0),GGSN(1),CGW(2),MME(3)};
39/////////////////////////////
40// Information Elements
41/////////////////////////////
42//Information Element with an IE Type Extension field - 7.7.0A
43//for future use
44type record IE_Type_Extension {
45 OCT1 type_gtpc,
46 LIN2_BO_LAST lengthf, //16 bits
47 IE_Extension_UnionType iE_Type_Extension
48
49} with {
50 variant (lengthf) "LENGTHTO(iE_Type_Extension)";
51 variant "PRESENCE( type_gtpc = 'EE'O)";
52};
53
54type union IE_Extension_UnionType
55{
56 IE_Extension_Type iE_Type_Extension
57}
58
59type record IE_Extension_Type
60{
61 OCT2 elementIdentifier,
62 octetstring valueField
63}
64
65
66//Cause - 7.7.1
67type record Cause_gtpc {
68 OCT1 type_gtpc,
69 OCT1 causevalue
70} with { variant "PRESENCE( type_gtpc = '01'O)"; };
71
72//IMSI - 7.7.2
73type record IMSI_gtpc {
74 OCT1 type_gtpc,
75 hexstring digits length(15),
76 HEX1 padding
77} with { variant "PRESENCE( type_gtpc = '02'O)"; };
78
79//Routing Area ID - 7.7.3
80// Note : the order of MNC digits is
81// MNC digit 3, MNC digit 1, MNC digit 2
82type record RoutingAreaIdentity {
83 OCT1 type_gtpc,
84 hexstring mcc_digits length(3),
85 hexstring mnc_digits length(3),
86 OCT2 lac,
87 OCT1 rac
88} with { variant "PRESENCE( type_gtpc = '03'O)"; };
89
90//TLLI - 7.7.4
91type record TLLI {
92 OCT1 type_gtpc,
93 OCT4 tlli_element
94} with { variant "PRESENCE( type_gtpc = '04'O)"; };
95
96//Packet TMSI - 7.7.5
97type record PacketTMSI {
98 OCT1 type_gtpc,
99 OCT4 p_tmsi
100} with { variant "PRESENCE( type_gtpc = '05'O)"; };
101
102//Reordering Required - 7.7.6
103type record ReorderingRequired {
104 OCT1 type_gtpc,
105 BIT1 reordreq,
106 BIT7 spare
107} with { variant "PRESENCE( type_gtpc = '08'O)"; };
108
109//Authentication Triplet - 7.7.7
110type record AuthenticationTriplet_GTPC {
111 OCT1 type_gtpc,
112 OCT16 rand,
113 OCT4 sres,
114 OCT8 kc
115} with { variant "PRESENCE( type_gtpc = '09'O)"; };
116
117type set of AuthenticationTriplet_GTPC AuthenticationTriplet_GTPC_SetOf;
118
119//MAP Cause - 7.7.8
120type record MAP_Cause {
121 OCT1 type_gtpc,
122 OCT1 mapCauseValue
123} with { variant "PRESENCE( type_gtpc = '0B'O)"; };
124
125//PTMSI Signature - 7.7.9
126type record PTMSI_Signature {
127 OCT1 type_gtpc,
128 OCT3 ptmsi_Signature
129} with { variant "PRESENCE( type_gtpc = '0C'O)"; };
130
131//MS Validated - 7.7.10
132type record MS_Validated {
133 OCT1 type_gtpc,
134 BIT1 msValidated,
135 BIT7 spare
136} with { variant "PRESENCE( type_gtpc = '0D'O)"; };
137
138//Recovery - 7.7.11
139type record Recovery_gtpc {
140 OCT1 type_gtpc,
141 OCT1 restartCounter
142} with { variant "PRESENCE(type_gtpc = '0E'O)";};
143
144//Selection Mode - 7.7.12
145type record SelectionMode {
146 OCT1 type_gtpc,
147 BIT2 selectModeValue,
148 BIT6 spare
149} with { variant "PRESENCE(type_gtpc = '0F'O)"; };
150
151//TEI Data I - 7.7.13
152type record TeidDataI {
153 OCT1 type_gtpc,
154 OCT4 teidDataI
155} with { variant "PRESENCE(type_gtpc = '10'O)"; };
156
157//TEI Control Plane - 7.7.14
158type record TeidControlPlane {
159 OCT1 type_gtpc,
160 OCT4 teidControlPlane
161} with { variant "PRESENCE(type_gtpc = '11'O)"; };
162
163//TEI Data II - 7.7.15
164type record of TeidDataII TeidDataII_List
165
166type record TeidDataII {
167 OCT1 type_gtpc,
168 BIT4 nsapi,
169 BIT4 unused,
170 OCT4 teidDataII
171} with { variant "PRESENCE(type_gtpc = '12'O)"; };
172
173//Teardown Ind -7.7.16
174type record TearDownInd {
175 OCT1 type_gtpc,
176 BIT1 tdInd,
177 BIT7 spare
178} with { variant "PRESENCE(type_gtpc = '13'O)"; };
179
180//NSAPI - 7.7.17
181type record NSAPI_GTPC {
182 OCT1 type_gtpc,
183 BIT4 nsapi,
184 BIT4 unused
185} with { variant "PRESENCE(type_gtpc = '14'O)"; };
186
187//RANAP Cause - 7.7.18
188type record RANAPCause {
189 OCT1 type_gtpc,
190 OCT1 ranapCause
191} with { variant "PRESENCE(type_gtpc = '15'O)"; };
192
193//RAB Context - 7.7.19
194type record of RABContext RABContext_List;
195
196type record RABContext {
197 OCT1 type_gtpc,
198 BIT4 nsapi,
199 BIT4 spare,
200 OCT2 dlgtp_u,
201 OCT2 ulgtp_u,
202 OCT2 dl_pdcp,
203 OCT2 ul_pdcp
204} with {variant "PRESENCE( type_gtpc = '16'O)";};
205
206//Radio Priority SMS - 7.7.20
207type record RadioPrioritySMS {
208 OCT1 type_gtpc,
209 BIT3 radioprioritySMS,
210 BIT5 reserved
211} with {variant "PRESENCE( type_gtpc = '17'O)";};
212
213//RadioPriority - 7.7.21
214
215type record of RadioPriority RadioPriority_List;
216
217type record RadioPriority {
218 OCT1 type_gtpc,
219 BIT3 radiopriority,
220 BIT1 reserved,
221 BIT4 nsapi
222} with {variant "PRESENCE( type_gtpc = '18'O)";};
223
224//Packet Flow Id - 7.7.22
225type record of PacketFlowID PacketFlowID_List
226
227type record PacketFlowID {
228 OCT1 type_gtpc,
229 BIT4 nsapi,
230 BIT4 reserved,
231 OCT1 packflowID
232} with {variant "PRESENCE( type_gtpc = '19'O)";};
233
234//Charging Characteristics - 7.7.23
235type record of ChargingCharacteristics_GTPC
236 ChargingCharacteristics_List_GTPC;
237
238type record ChargingCharacteristics_GTPC {
239 OCT1 type_gtpc,
240 OCT2 chargingChar
241} with {variant "PRESENCE( type_gtpc = '1A'O)";};
242
243//Trace Reference - 7.7.24
244type record TraceRef {
245 OCT1 type_gtpc,
246 OCT2 trace_ref
247} with {variant "PRESENCE( type_gtpc = '1B'O)";};
248
249//Trace Type - 7.7.25
250type record GTP_TraceType {
251 OCT1 type_gtpc,
252 OCT2 trace_type
253} with {variant "PRESENCE( type_gtpc = '1C'O)";};
254
255//MS Not Reachable Reason - 7.7.25A
256type record MSNotReachableReason {
257 OCT1 type_gtpc,
258 OCT1 reason_for_absence
259} with {variant "PRESENCE( type_gtpc = '1D'O)";};
260
261//Radio Priority LCS - 7.7.25B
262type record RadioPriorityLCS{
263 OCT1 type_gtpc,
264 LIN2_BO_LAST lengthf, //16 bits
265 BIT3 radioPriorityLCS,
266 BIT5 reserved
267} with { variant "PRESENCE( type_gtpc = '96'O)";
268 variant (lengthf) "LENGTHTO(radioPriorityLCS,reserved)"; };
269
270//Charging ID - 7.7.26
271type record ChargingID {
272 OCT1 type_gtpc,
273 OCT4 chargingID
274} with { variant "PRESENCE( type_gtpc = '7F'O)";};
275
276//End User Address ID - 7.7.27
277type record EndUserAddress{
278 OCT1 type_gtpc,
279 EndUserAddress_types endUserAddress
280} with { variant "PRESENCE( type_gtpc = '80'O)";};
281
282type union EndUserAddress_types {
283 EndUserAddressIPv4 endUserAddressIPv4,
284 EndUserAddressIPv6 endUserAddressIPv6,
285 EndUserAddressPPP endUserAddressPPP,
286 EndUserAddressIPv4andIPv6 endUserAddressIPv4andIPv6,
287 EndUserAddressOSPIHOS endUserAddressOSPIHOS
288} with { variant "TAG(endUserAddressIPv4, pdp_typenum = '21'O;
289 endUserAddressIPv6, pdp_typenum = '57'O;
290 endUserAddressPPP, pdp_typenum = '01'O;
291 endUserAddressIPv4andIPv6, pdp_typenum = '8D'O;
292 endUserAddressOSPIHOS, OTHERWISE;)" };
293
294type record EndUserAddressIPv4 {
295 LIN2_BO_LAST lengthf, //16 bits
296 BIT4 pdp_typeorg,
297 BIT4 spare,
298 OCT1 pdp_typenum,
299 OCT4 ipv4_address optional
300} with { variant (lengthf) "LENGTHTO(pdp_typeorg, spare, pdp_typenum,
301 ipv4_address)"; };
302
303type record EndUserAddressIPv6 {
304 LIN2_BO_LAST lengthf, //16 bits
305 BIT4 pdp_typeorg,
306 BIT4 spare,
307 OCT1 pdp_typenum,
308 OCT16 ipv6_address optional
309} with { variant (lengthf) "LENGTHTO(pdp_typeorg, spare, pdp_typenum,
310 ipv6_address)"; };
311
312type record EndUserAddressPPP {
313 LIN2_BO_LAST lengthf, //16 bits
314 BIT4 pdp_typeorg,
315 BIT4 spare,
316 OCT1 pdp_typenum
317} with { variant (lengthf) "LENGTHTO(pdp_typeorg, spare, pdp_typenum)"; };
318
319type record EndUserAddressIPv4andIPv6 {
320 LIN2_BO_LAST lengthf, //16 bits
321 BIT4 pdp_typeorg,
322 BIT4 spare,
323 OCT1 pdp_typenum,
324 OCT4 ipv4_address optional,
325 OCT16 ipv6_address optional
326} with { variant (lengthf) "LENGTHTO(pdp_typeorg, spare, pdp_typenum,ipv4_address,
327 ipv6_address)";
328 variant(ipv4_address) "PRESENCE(lengthf = 6,lengthf = 22)"
329 variant(ipv6_address) "PRESENCE(lengthf = 18,lengthf = 22)"
330};
331
332// ETHECS: specification not found in Technical Specification
333type record EndUserAddressOSPIHOS {
334 LIN2_BO_LAST lengthf, //16 bits
335 BIT4 pdp_typeorg,
336 BIT4 spare,
337 OCT1 pdp_typenum
338} with { variant (lengthf) "LENGTHTO(pdp_typeorg, spare, pdp_typenum)"; };
339
340//MM Context - 7.7.28
341type record MM_Context {
342 OCT1 type_gtpc,
343 MM_ContextU context
344} with { variant "PRESENCE( type_gtpc = '81'O)";};
345
346type union MM_ContextU {
347 MM_ContextGSM mmcontGSM,
348 MM_ContextUMTS mmcontUMTS,
349 MM_ContextGSMUMTS mmcontGSMUMTS,
350 MM_ContextUMTSReceive mmcontUMTSReceive
351} with { variant "TAG(mmcontGSM, security = '01'B;
352 mmcontUMTS, security = '10'B;
353 mmcontGSMUMTS, security = '11'B;
354 mmcontUMTSReceive, security = '00'B;)"; };
355
356
357type record MM_ContextGSM {
358 LIN2_BO_LAST lengthf,//16 bits
359 BIT3 cksn,
360 BIT5 spare,
361 BIT3 usedCipher,
362 integer noofVectors,
363 BIT2 security,
364 OCT8 kc,
365 octetstring triplet,
366 OCT2 drx_par,
367 integer msNetW_cap_length,
368 octetstring msNetw_cap optional,
369 LIN2_BO_LAST containerLength,
370 octetstring container optional
371} with { variant (lengthf) "LENGTHTO(cksn, spare, usedCipher, noofVectors,
372 security, kc, triplet, drx_par,
373 msNetW_cap_length, msNetw_cap,
374 containerLength, container
375 )";
376 variant (msNetW_cap_length) "LENGTHTO(msNetw_cap)";
377 variant (containerLength) "LENGTHTO(container)";
378 variant (noofVectors) "FIELDLENGTH(3)";
379 variant (noofVectors) "LENGTHTO(triplet)";
380 variant (noofVectors) "UNIT(224)";
381};
382
383type record MM_ContextUMTS {
384 LIN2_BO_LAST lengthf,
385 BIT3 ksi,
386 BIT3 usedGPRSIntegrityAlgorithm,
387 BIT1 ugipai,
388 BIT1 gupii,
389 BIT3 spare1,
390 integer noofVectors ,
391 BIT2 security,
392 OCT16 ck,
393 OCT16 ik,
394 LIN2_BO_LAST quintupletlength,
395 octetstring quintuplet,
396 OCT2 drx_par,
397 integer msNetW_cap_length,
398 octetstring msNetw_cap optional,
399 LIN2_BO_LAST containerLength,
400 octetstring container optional
401} with { variant (lengthf) "LENGTHTO(ksi, usedGPRSIntegrityAlgorithm, ugipai, gupii, spare1, noofVectors, security,
402 ck, ik, quintupletlength, quintuplet,
403 drx_par, msNetW_cap_length, msNetw_cap,
404 containerLength, container
405 )";
406 variant (quintupletlength) "LENGTHTO(quintuplet)";
407 variant (msNetW_cap_length) "LENGTHTO(msNetw_cap)";
408 variant (containerLength) "LENGTHTO(container)";
409 variant (noofVectors) "FIELDLENGTH(3)";
410};
411
412type record MM_ContextGSMUMTS {
413 LIN2_BO_LAST lengthf,
414 BIT3 cksn,
415 BIT5 spare,
416 BIT3 usedCipher,
417 integer noofVectors,
418 BIT2 security,
419 OCT8 kc,
420 LIN2_BO_LAST quintupletlength,
421 octetstring quintuplet,
422 OCT2 drx_par,
423 integer msNetW_cap_length,
424 octetstring msNetw_cap optional,
425 LIN2_BO_LAST containerLength,
426 octetstring container optional
427} with { variant (lengthf) "LENGTHTO(cksn, spare, usedCipher, noofVectors,
428 security, kc, quintupletlength, quintuplet,
429 drx_par, msNetW_cap_length, msNetw_cap,
430 containerLength, container
431 )";
432 variant (quintupletlength) "LENGTHTO(quintuplet)";
433 variant (msNetW_cap_length) "LENGTHTO(msNetw_cap)";
434 variant (containerLength) "LENGTHTO(container)";
435 variant (noofVectors) "FIELDLENGTH(3)";
436};
437
438type record MM_ContextUMTSReceive {
439 LIN2_BO_LAST lengthf,
440 BIT3 ksi,
441 BIT3 usedGPRSIntegrityAlgorithm,
442 BIT1 ugipai,
443 BIT1 gupii,
444 BIT3 usedCipher,
445 integer noofVectors,
446 BIT2 security,
447 OCT16 ck,
448 OCT16 ik,
449 LIN2_BO_LAST quintupletlength,
450 octetstring quintuplet,
451 OCT2 drx_par,
452 integer msNetW_cap_length,
453 octetstring msNetw_cap optional,
454 LIN2_BO_LAST containerLength,
455 octetstring container optional
456} with { variant (lengthf) "LENGTHTO(ksi, usedGPRSIntegrityAlgorithm, ugipai, gupii,
457 usedCipher, noofVectors,
458 security, ck, ik, quintupletlength,
459 quintuplet, drx_par,msNetW_cap_length,
460 msNetw_cap, containerLength, container
461 )";
462 variant (quintupletlength) "LENGTHTO(quintuplet)";
463 variant (msNetW_cap_length) "LENGTHTO(msNetw_cap)";
464 variant (containerLength) "LENGTHTO(container)";
465 variant (noofVectors) "FIELDLENGTH(3)";
466};
467
468//From 9.9.3.34 of 3GPP 24.301 according to Req. Spec. 4/1056-LPA 107 579/1 Rev D
469type record GTPC_UENetworkCapabilityV
470{
471 BIT8 eEA,
472 BIT7 eIA,
473 BIT1 spare,
474 BIT8 uEA optional,
475 BIT7 uIA optional,
476 BIT1 uCS2 optional,
477 BIT1 spare2 optional,
478 BIT1 vCC optional,
479 BIT6 spare3 optional,
480 octetstring spare4 length (0..8) optional
481}
482
483//PDP context - 7.7.29
484type record of PDP_Context_GTPC PDP_Context_GTPC_List;
485
486type record PDP_Context_GTPC {
487 OCT1 type_gtpc,
488 LIN2_BO_LAST lengthf,
489 BIT4 nsapi,
490 BIT1 order,
491 BIT1 asi,
492 BIT1 vaa,
493 BIT1 ea,
494 BIT4 sapi,
495 BIT4 spare1,
496 integer qos_subLength,
497 QualityOfServiceProfile_Value qos_sub,
498 integer qos_reqLength,
499 QualityOfServiceProfile_Value qos_req,
500 integer qos_negLength,
501 QualityOfServiceProfile_Value qos_neg,
502 OCT2 snd,
503 OCT2 snu,
504 OCT1 sendNPDUnum,
505 OCT1 receiveNPDUnum,
506 OCT4 uteidControlPlane,
507 OCT4 uteidData1,
508 OCT1 pdpcontext,
509 BIT4 pdp_typeorg,
510 BIT4 spare2,
511 OCT1 pdp_typenum,
512 integer pdp_addressLength,
513 octetstring pdp_address length (0..63),
514 integer ggsn_addressControlPlaneLength,
515 octetstring ggsn_addressControlPlane length (4..16),
516 integer ggsn_addressUserPlaneLength,
517 octetstring ggsn_addressUserPlane length (4..16),
518 integer apnLength,
519 octetstring apn,
520 BIT4 transactionId ,
521 BIT4 spare3,
522 OCT1 transactionID_cont,
523 OCT1 pdp_typenum2 optional,
524 LIN1 pdp_addresslength2 optional,
525 octetstring pdp_Address2 length (0..63) optional
526} with {variant "PRESENCE( type_gtpc = '82'O)";
527 variant (lengthf) "LENGTHTO(nsapi, order, asi, vaa, ea,
528 sapi, spare1, qos_subLength, qos_sub, qos_reqLength, qos_req,
529 qos_negLength, qos_neg, snd, snu, sendNPDUnum, receiveNPDUnum,
530 uteidControlPlane, uteidData1,pdpcontext, pdp_typeorg, spare2,
531 pdp_typenum, pdp_addressLength, pdp_address,
532 ggsn_addressControlPlaneLength, ggsn_addressControlPlane,
533 ggsn_addressUserPlaneLength, ggsn_addressUserPlane, apnLength, apn,
534 transactionId, spare3, transactionID_cont, pdp_typenum2,pdp_addresslength2,pdp_Address2)";
535 variant (qos_subLength) "LENGTHTO(qos_sub)";
536 variant (qos_reqLength) "LENGTHTO(qos_req)";
537 variant (qos_negLength) "LENGTHTO(qos_neg)";
538 variant (pdp_addressLength) "LENGTHTO(pdp_address)";
539 variant (ggsn_addressControlPlaneLength)
540 "LENGTHTO(ggsn_addressControlPlane)";
541 variant (ggsn_addressUserPlaneLength) "LENGTHTO(ggsn_addressUserPlane)";
542 variant (apnLength) "LENGTHTO(apn)";
543 variant (pdp_typenum2,pdp_addresslength2,pdp_Address2) "PRESENCE( ea = '1'B)";
544 variant (pdp_addresslength2) "LENGTHTO(pdp_Address2)";
545 };
546
547//Access Point Name - 7.7.30
548type record AccessPointName {
549 OCT1 type_gtpc,
550 LIN2_BO_LAST lengthf,
551 octetstring apn_value
552}with { variant "PRESENCE( type_gtpc = '83'O)";
553 variant (lengthf) "LENGTHTO(apn_value)"; };
554
555//Protocol Configuration Options - 7.7.31
556// 24.008 10.5.6.3
557type record ProtConfigOptions {
558 OCT1 type_gtpc,
559 LIN2_BO_LAST lengthf,
560 BIT3 configProtocol,
561 BIT4 spare,
562 BIT1 extension0,
563 ProtocolIDList protocols
564} with { variant "PRESENCE( type_gtpc = '84'O)";
565 variant (lengthf) "LENGTHTO(configProtocol, spare, extension0,
566 protocols)"; };
567
568type set of ProtocolElement ProtocolIDList;
569
570type record ProtocolElement {
571 OCT2 protocolID,
572 integer lengthProtoID,
573 octetstring protoIDContents
574} with { variant (lengthProtoID) "LENGTHTO(protoIDContents)" };
575
576//GSN Address - 7.7.32
577type record GSN_Address_GTPC {
578 OCT1 type_gtpc,
579 LIN2_BO_LAST lengthf,
580 octetstring addressf
581} with { variant "PRESENCE( type_gtpc = '85'O)";
582 variant (lengthf) "LENGTHTO(addressf)"; };
583
584//MS International PSTN/ISDN Num.(MSISDN) - 7.7.33
585type record MSISDN {
586 OCT1 type_gtpc,
587 LIN2_BO_LAST lengthf,
588 octetstring msisdn
589} with { variant "PRESENCE( type_gtpc = '86'O)";
590 variant (lengthf) "LENGTHTO(msisdn)"; };
591
592type record QoSV_GTPC
593{
594 BIT3 reliabilityClass,
595 BIT3 delayClass,
596 BIT2 spare1, // '00'B
597 BIT3 precedenceClass,
598 BIT1 spare2, //'0'B
599 BIT4 peakThroughput,
600 BIT5 meanThroughput,
601 BIT3 spare3, //'000'B
602 BIT3 deliverErroneusSDU optional, //opt because of V97
603 BIT2 deliveryOrder optional, //opt because of V97
604 BIT3 trafficClass optional, //opt because of V97
605 OCT1 maxSDUSize optional, //opt because of V97
606 OCT1 maxBitrateUplink optional, //opt because of V97
607 OCT1 maxBitrateDownlink optional, //opt because of V97
608 BIT4 sduErrorRatio optional, //opt because of V97
609 BIT4 residualBER optional, //opt because of V97
610 BIT2 trafficHandlingPriority optional, //opt because of V97
611 BIT6 transferDelay optional, //opt because of V97
612 OCT1 guaranteedBitRateUplink optional, //opt because of V97
613 OCT1 guaranteedBitRateDownlink optional, //opt because of V97
614 BIT4 sourceStatisticsDescriptor optional, //opt because of V97
615 BIT1 signallingIndication optional, //opt because of V97
616 BIT3 spare4 optional, //opt because of V97
617 // '000'B
618 OCT1 maxBitrateDownlinkExt optional, //opt because of V97
619 OCT1 guaranteedBitRateDownlinkExt optional, //opt because of V97
620 OCT1 maxBitrateUplinkExt optional, //opt because of V97
621 OCT1 guaranteedBitRateUplinkExt optional //opt because of V97
622};
623
624//Quality Of Service Profile - 7.7.34
625type record QualityOfServiceProfile {
626 OCT1 type_gtpc,
627 LIN2_BO_LAST lengthf,
628 OCT1 allocRetensionPrio,
629 QoSV_GTPC qos_ProfileValue
630} with { variant "PRESENCE( type_gtpc = '87'O)";
631 variant (lengthf) "LENGTHTO(allocRetensionPrio, qos_ProfileValue)";};
632
633type record QualityOfServiceProfile_Value {
634 OCT1 allocRetensionPrio,
635 QoSV_GTPC qos_ProfileValue
636}
637
638//Authentication Quituplet - 7.7.35
639type record AuthenticationQuintuplet_GTPC {
640 OCT1 type_gtpc,
641 LIN2_BO_LAST lengthf,
642 OCT16 rand,
643 integer xresLength,
644 octetstring xres,
645 OCT16 ck,
646 OCT16 ik,
647 integer autnLength,
648 octetstring autn
649} with { variant "PRESENCE( type_gtpc = '88'O)";
650 variant (lengthf) "LENGTHTO(rand, xresLength, xres, ck, ik,
651 autnLength, autn)";
652 variant (xresLength) "LENGTHTO(xres)";
653 variant (autnLength) "LENGTHTO(autn)"; };
654
655//Traffic Flow Template (TFT) - 7.7.36
656// 24.008 10.5.6.12
657type record TrafficFlowTemplate {
658 OCT1 type_gtpc,
659 LIN2_BO_LAST lengthf,
660 TrafficFlowTemplateV_GTPC tft
661} with { variant "PRESENCE( type_gtpc = '89'O)";
662 variant (lengthf) "LENGTHTO(tft)"; };
663
664
665type union TrafficFlowTemplateV_GTPC
666{
667 TrafficFlowTemplateV_CreateAddReplaceTFT_GTPC
668 trafficFlowTemplateV_CreateAddReplaceTFT,
669 TrafficFlowTemplateV_DeletePacketFilter_GTPC
670 trafficFlowTemplateV_DeletePacketFilter,
671 TrafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation_GTPC
672 trafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation
673};
674
675
676type record TrafficFlowTemplateV_CreateAddReplaceTFT_GTPC
677{
678 integer numberOfPacketFilters,
679 BIT1 eBIT,
680 BIT3 operationCodeTFT, //'001'B or
681 PacketFilterList_CreateAddReplaceTFT_GTPC packetFilterList_CreateAddReplaceTFT,
682 ParametersList_GTPC parametersList optional
683} with {
684 variant "PRESENCE (operationCodeTFT = '001'B, // Create New TFT
685 operationCodeTFT = '011'B, // Add packet filters to existing TFT
686 operationCodeTFT = '100'B // Replace packet filters in existing TFT
687 )";
688 variant(parametersList) "PRESENCE(eBIT = '1'B)";
689 variant(numberOfPacketFilters)"FIELDLENGTH(4)";
690 variant(numberOfPacketFilters)"LENGTHTO(packetFilterList_CreateAddReplaceTFT)";
691 variant(numberOfPacketFilters)"UNIT(elements)";
692};
693
694
695type record TrafficFlowTemplateV_DeletePacketFilter_GTPC
696{
697 integer numberOfPacketFilters,
698 BIT1 eBIT,
699 BIT3 operationCodeTFT,
700 //'101'B or '011'B or '100'B
701 PacketFilterList_DeletePacketFilter_GTPC packetFilterList_DeletePacketFilter,
702 ParametersList_GTPC parametersList optional
703} with {
704 variant "PRESENCE (operationCodeTFT = '101'B)" // Delete packet filters from existing TFT
705 variant(parametersList) "PRESENCE(eBIT = '1'B)";
706 variant(numberOfPacketFilters)"FIELDLENGTH(4)";
707 variant(numberOfPacketFilters)"LENGTHTO(packetFilterList_DeletePacketFilter)";
708 variant (numberOfPacketFilters)"UNIT(elements)";
709};
710
711
712type record TrafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation_GTPC
713{
714 BIT4 numberOfPacketFilters, //'0000'B
715 // numberOfPacketFilters is meaningless here since there is no PacketFilterList
716 BIT1 eBIT,
717 BIT3 operationCodeTFT, // '010'B or '110'B
718 ParametersList_GTPC parametersList optional
719} with {
720 variant "PRESENCE (operationCodeTFT = '010'B, // delete existing TFT
721 operationCodeTFT = '110'B // No TFT Operation
722 )";
723 variant (parametersList) "PRESENCE(eBIT = '1'B)"
724};
725
726
727type record of PacketFilter_GTPC PacketFilterList_CreateAddReplaceTFT_GTPC;
728
729
730type record PacketFilter_GTPC
731{
732 PacketFilterIdentifier_GTPC identifier,
733 OCT1 evaluationPrecedence,
734 LIN1 lengthIndicator,
735 octetstring contents
736} with { variant (lengthIndicator) "LENGTHTO (contents)"};
737
738
739type record of PacketFilterIdentifier_GTPC PacketFilterList_DeletePacketFilter_GTPC;
740
741
742type OCT1 PacketFilterIdentifier_GTPC;
743
744
745type record of Parameter_GTPC ParametersList_GTPC;
746
747
748type record Parameter_GTPC
749{
750 OCT1 parameterIdentifier,
751 LIN1 lengthIndicator,
752 octetstring contents
753} with { variant (lengthIndicator) "LENGTHTO (contents)"};
754
755
756//Target Identification - 7.7.37
757type record TargetIdentification {
758 OCT1 type_gtpc,
759 LIN2_BO_LAST lengthf,
760 HEX1 mcc1 optional,
761 HEX1 mcc2 optional,
762 HEX1 mcc3 optional,
763 HEX1 mnc3 optional,
764 HEX1 mnc1 optional,
765 HEX1 mnc2 optional,
766 OCT2 lac optional,
767 OCT1 rac optional,
768 OCT2 rnc_id optional,
769 octetstring extended_rnc_id optional
770} with { variant "PRESENCE( type_gtpc = '8A'O)";
771 variant (lengthf) "LENGTHTO(mcc1, mcc2, mcc3, mnc3, mnc1, mnc2,
772 lac, rac, rnc_id, extended_rnc_id)"; };
773
774//UTRAN Transparent container - 7.7.38
775type record UTRANTransparentContainer {
776 OCT1 type_gtpc,
777 LIN2_BO_LAST lengthf,
778 octetstring transparentfield
779} with { variant "PRESENCE( type_gtpc = '8B'O)";
780 variant (lengthf) "LENGTHTO(transparentfield)";};
781
782//RAB Setup Information - 7.7.39
783type record of RABSetupInformation RABSetupInformation_List
784
785type record RABSetupInformation{
786 OCT1 type_gtpc,
787 LIN2_BO_LAST lengthf,
788 BIT4 nsapi,
789 BIT4 unused,
790 OCT4 teidData optional,
791 octetstring rncIpAddress optional
792 } with { variant "PRESENCE( type_gtpc = '8C'O)";
793 variant (lengthf) "LENGTHTO(nsapi,unused,teidData,rncIpAddress)";};
794
795//Extension Header Type List - 7.7.40
796type record ExtensionHeaderTypeList_gtpc {
797 OCT1 type_gtpc,
798 integer lengthf,
799 octetstring extensionTypesList
800} with { variant "PRESENCE( type_gtpc = '8D'O)";
801 variant (lengthf) "LENGTHTO(extensionTypesList)"; };
802
803//Trigger ID - 7.7.41
804type record GTP_TriggerID {
805 OCT1 type_gtpc,
806 LIN2_BO_LAST lengthf,
807 octetstring triggerID
808} with { variant "PRESENCE( type_gtpc = '8E'O)";
809 variant (lengthf) "LENGTHTO(triggerID)";};
810
811//OMC Identity - 7.7.42
812type record OMCIdentity {
813 OCT1 type_gtpc,
814 LIN2_BO_LAST lengthf,
815 octetstring omcID
816} with { variant "PRESENCE( type_gtpc = '8F'O)";
817 variant (lengthf) "LENGTHTO(omcID)"; };
818
819//BSSGP RAN Information needed for RAN Transparent Container
820//From BSSGP specification 48.018 v9.3.0 according to CR 8446
821
822type union LIN2_2a_GTPC
823{
824integer length1,
825integer length2
826} with {
827 variant (length1) "FIELDLENGTH(7)";
828 variant (length2) "FIELDLENGTH(15)";
829 variant (length2) "BYTEORDER(last)";
830 variant (length1,length2) "FIELDORDER(msb)";
831 }
832
833type record PDU_in_Error_GTPC
834{
835 OCT1 iEI,
836 BIT1 ext,
837 LIN2_2a_GTPC lengthIndicator,
838 octetstring erroneous_BSSGP_PDU
839} with {
840 variant (lengthIndicator) "LENGTHTO (erroneous_BSSGP_PDU)";
841 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
842 length2, ext = '0'B;)";
843 variant (ext,lengthIndicator) "FIELDORDER(msb)";
844 };
845
846type record Cell_Identifier_GTPC
847{
848 OCT1 iEI,
849 BIT1 ext,
850 LIN2_2a_GTPC lengthIndicator,
851 HEX1 mccDigit1 ,
852 HEX1 mccDigit2 ,
853 HEX1 mccDigit3 ,
854 HEX1 mncDigit3 ,
855 HEX1 mncDigit1 ,
856 HEX1 mncDigit2 ,
857 OCT2 lac,
858 OCT1 rac,
859 OCT2 cI_value
860} with {
861 variant (lengthIndicator)
862 "LENGTHTO(mccDigit1,mccDigit2,mccDigit3,mncDigit3,mncDigit1,
863 mncDigit2,lac,rac,cI_value)";
864 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
865 length2, ext = '0'B;)";
866 variant (ext,lengthIndicator) "FIELDORDER(msb)";
867};
868
869type record Cause_BSSGP_GTPC
870 {
871 OCT1 iEI,
872 BIT1 ext,
873 LIN2_2a_GTPC lengthIndicator,
874 OCT1 cause_Value
875 } with {
876 variant (lengthIndicator) "LENGTHTO (cause_Value)";
877 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
878 length2, ext = '0'B;)";
879 variant (ext,lengthIndicator) "FIELDORDER(msb)";
880};
881
882//48.018 v9.3.0 11.3.61
883type record RIM_Application_Identity_GTPC
884{
885 OCT1 iEI,
886 BIT1 ext,
887 LIN2_2a_GTPC lengthIndicator,
888 OCT1 rIMApplicationIdentity
889} with {
890 variant (lengthIndicator) "LENGTHTO (rIMApplicationIdentity)";
891 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
892 length2, ext = '0'B;)";
893 variant (ext,lengthIndicator) "FIELDORDER(msb)";
894};
895
896//48.018 v9.3.0 11.3.62
897type record RIM_Sequence_Number_GTPC
898{
899 OCT1 iEI,
900 BIT1 ext,
901 LIN2_2a_GTPC lengthIndicator,
902 OCT4 rIMSequenceNumber
903} with {
904 variant (lengthIndicator) "LENGTHTO (rIMSequenceNumber)";
905 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
906 length2, ext = '0'B;)";
907 variant (ext,lengthIndicator) "FIELDORDER(msb)";
908};
909
910//48.018 v9.3.0 Table 11.3.62a.1
911type record RAN_Information_Request_RIM_Container_GTPC
912{
913OCT1 iEI,
914BIT1 ext,
915LIN2_2a_GTPC lengthIndicator,
916RIM_Application_Identity_GTPC rIM_Application_Identity,
917RIM_Sequence_Number_GTPC rIM_Sequence_Number,
918RIM_PDU_Indications_GTPC rIM_PDU_Indications,
919RIM_Protocol_Version_Number_GTPC rIM_Protocol_Version_Number optional,
920RAN_Information_Request_Application_Container_GTPC
921 application_Container optional,
922SON_TransferApplicationIdentity sON_TransferApplicationIdentity optional
923} with {
924 variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity,
925 rIM_Sequence_Number,rIM_PDU_Indications,rIM_Protocol_Version_Number,
926 application_Container,sON_TransferApplicationIdentity)";
927 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
928 length2, ext = '0'B;)";
929 variant (ext,lengthIndicator) "FIELDORDER(msb)";
930 variant "TAG (rIM_Protocol_Version_Number, iEI = '55'O)";
931 variant (application_Container) "PRESENCE (rIM_Application_Identity.rIMApplicationIdentity = '01'O;)";
932 variant (application_Container) "PRESENCE (rIM_Application_Identity.rIMApplicationIdentity = '02'O;)";
933 variant (application_Container) "PRESENCE (rIM_Application_Identity.rIMApplicationIdentity = '03'O;)";
934 variant (application_Container) "PRESENCE (rIM_Application_Identity.rIMApplicationIdentity = '04'O;)";
935 variant (application_Container) "PRESENCE (rIM_Application_Identity.rIMApplicationIdentity = '05'O;)";
936 variant (application_Container)
937 "CROSSTAG
938 (nacc,rIM_Application_Identity.rIMApplicationIdentity = '01'O;
939 si3 ,rIM_Application_Identity.rIMApplicationIdentity = '02'O;
940 mBMS,rIM_Application_Identity.rIMApplicationIdentity = '03'O;
941 sON, rIM_Application_Identity.rIMApplicationIdentity = '04'O;
942 uTRA_SI,rIM_Application_Identity.rIMApplicationIdentity = '05'O;
943 )"
944 variant (sON_TransferApplicationIdentity)
945 "PRESENCE
946 (rIM_Application_Identity.rIMApplicationIdentity = '04'O;)";
947};
948
949//48.018 v9.3.0 Table 11.3.62a.2
950type record RAN_Information_RIM_Container_GTPC
951{
952OCT1 iEI,
953BIT1 ext,
954LIN2_2a_GTPC lengthIndicator,
955RIM_Application_Identity_GTPC rIM_Application_Identity,
956RIM_Sequence_Number_GTPC rIM_Sequence_Number,
957RIM_PDU_Indications_GTPC rIM_PDU_Indications,
958RIM_Protocol_Version_Number_GTPC rIM_Protocol_Version_Number optional,
959ApplContainer_or_ApplErrContainer_GTPC
960 applContainer_or_ApplErrContainer optional,
961SON_TransferApplicationIdentity sON_TransferApplicationIdentity optional
962} with {
963 variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity,
964 rIM_Sequence_Number,rIM_PDU_Indications,rIM_Protocol_Version_Number,
965 applContainer_or_ApplErrContainer,sON_TransferApplicationIdentity)";
966 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
967 length2, ext = '0'B;)";
968 variant (ext,lengthIndicator) "FIELDORDER(msb)";
969 variant
970 "TAG (rIM_Protocol_Version_Number, iEI = '55'O;)";
971 variant (applContainer_or_ApplErrContainer) "PRESENCE(rIM_Application_Identity.rIMApplicationIdentity = '01'O;)";
972 variant (applContainer_or_ApplErrContainer) "PRESENCE(rIM_Application_Identity.rIMApplicationIdentity = '02'O;)";
973 variant (applContainer_or_ApplErrContainer) "PRESENCE(rIM_Application_Identity.rIMApplicationIdentity = '03'O;)";
974 variant (applContainer_or_ApplErrContainer) "PRESENCE(rIM_Application_Identity.rIMApplicationIdentity = '04'O;)";
975 variant (applContainer_or_ApplErrContainer) "PRESENCE(rIM_Application_Identity.rIMApplicationIdentity = '05'O;)";
976 variant (applContainer_or_ApplErrContainer)
977 "CROSSTAG(nacc,rIM_Application_Identity.rIMApplicationIdentity = '01'O;
978 si3,rIM_Application_Identity.rIMApplicationIdentity = '02'O;
979 mBMS,rIM_Application_Identity.rIMApplicationIdentity = '03'O;
980 sON,rIM_Application_Identity.rIMApplicationIdentity = '04'O;
981 uTRA_SI,rIM_Application_Identity.rIMApplicationIdentity = '05'O)";
982
983
984 variant (sON_TransferApplicationIdentity)
985 "PRESENCE
986 (rIM_Application_Identity.rIMApplicationIdentity = '04'O;)";
987};
988
989type union ApplContainer_or_ApplErrContainer_GTPC
990{
991 ApplContainer_or_ApplErrContainer_NACC_GTPC nacc,
992 ApplContainer_or_ApplErrContainer_SI3_GTPC si3,
993 ApplContainer_or_ApplErrContainer_MBMS_GTPC mBMS,
994 ApplContainer_or_ApplErrContainer_SON_GTPC sON,
995 ApplContainer_or_ApplErrContainer_UTRA_SI_GTPC uTRA_SI
996}
997
998type union ApplContainer_or_ApplErrContainer_NACC_GTPC
999{
1000 RAN_Information_Application_Container_NACC_GTPC application_Container,
1001 Application_Error_Container_NACC_GTPC application_Error_Container
1002} with {
1003 variant "TAG (
1004 application_Container, iEI = '4E'O;
1005 application_Error_Container, iEI = '56'O;)";
1006}
1007
1008type union ApplContainer_or_ApplErrContainer_SI3_GTPC
1009{
1010 RAN_Information_Application_Container_SI3_GTPC application_Container,
1011 Application_Error_Container_SI3_GTPC application_Error_Container
1012} with {
1013 variant "TAG (
1014 application_Container, iEI = '4E'O;
1015 application_Error_Container, iEI = '56'O;)";
1016}
1017
1018type union ApplContainer_or_ApplErrContainer_MBMS_GTPC
1019{
1020 RAN_Information_Application_Container_MBMS_GTPC application_Container,
1021 Application_Error_Container_MBMS_GTPC application_Error_Container
1022} with {
1023 variant "TAG (
1024 application_Container, iEI = '4E'O;
1025 application_Error_Container, iEI = '56'O;)";
1026}
1027
1028type union ApplContainer_or_ApplErrContainer_SON_GTPC
1029{
1030 RAN_Information_Application_Container_SON_GTPC application_Container,
1031 Application_Error_Container_SON_GTPC application_Error_Container
1032} with {
1033 variant "TAG (
1034 application_Container, iEI = '4E'O;
1035 application_Error_Container, iEI = '56'O;)";
1036}
1037
1038type union ApplContainer_or_ApplErrContainer_UTRA_SI_GTPC
1039{
1040 RAN_Information_Application_Container_UTRA_SI_GTPC application_Container,
1041 Application_Error_Container_UTRA_SI_GTPC application_Error_Container
1042} with {
1043 variant "TAG (
1044 application_Container, iEI = '4E'O;
1045 application_Error_Container, iEI = '56'O;)";
1046}
1047
1048
1049//48.018 v9.3.0 Table 11.3.62a.3
1050type record RAN_Information_Ack_RIM_Container_GTPC
1051{
1052OCT1 iEI,
1053BIT1 ext,
1054LIN2_2a_GTPC lengthIndicator,
1055RIM_Application_Identity_GTPC rIM_Application_Identity,
1056RIM_Sequence_Number_GTPC rIM_Sequence_Number,
1057RIM_Protocol_Version_Number_GTPC rIM_Protocol_Version_Number optional,
1058SON_TransferApplicationIdentity sON_TransferApplicationIdentity optional
1059} with {
1060 variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity,
1061 rIM_Sequence_Number,rIM_Protocol_Version_Number)";
1062 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1063 length2, ext = '0'B;)";
1064 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1065
1066 variant "TAG (rIM_Protocol_Version_Number, iEI = '55'O;)";
1067 variant (sON_TransferApplicationIdentity)
1068 "PRESENCE
1069 (rIM_Application_Identity.rIMApplicationIdentity = '04'O;)";
1070};
1071
1072//48.018 v9.3.0 Table 11.3.62a.4
1073type record RAN_Information_Error_RIM_Container_GTPC
1074{
1075OCT1 iEI,
1076BIT1 ext,
1077LIN2_2a_GTPC lengthIndicator,
1078RIM_Application_Identity_GTPC rIM_Application_Identity,
1079Cause_BSSGP_GTPC rIM_cause,
1080RIM_Protocol_Version_Number_GTPC rIM_Protocol_Version_Number optional,
1081PDU_in_Error_GTPC pDU_in_Error,
1082SON_TransferApplicationIdentity sON_TransferApplicationIdentity optional
1083} with {
1084 variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity,
1085 rIM_cause,rIM_Protocol_Version_Number,pDU_in_Error)";
1086 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1087 length2, ext = '0'B;)";
1088 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1089 variant "TAG (rIM_Protocol_Version_Number, iEI = '55'O)";
1090 variant (sON_TransferApplicationIdentity)
1091 "PRESENCE
1092 (rIM_Application_Identity.rIMApplicationIdentity = '04'O;)";
1093};
1094
1095//48.018 v9.3.0 Table 11.3.62a.5
1096type record RAN_Information_Application_Error_RIM_Container_GTPC
1097{
1098OCT1 iEI,
1099BIT1 ext,
1100LIN2_2a_GTPC lengthIndicator,
1101RIM_Application_Identity_GTPC rIM_Application_Identity,
1102RIM_Sequence_Number_GTPC rIM_Sequence_Number,
1103RIM_PDU_Indications_GTPC rIM_PDU_Indications,
1104RIM_Protocol_Version_Number_GTPC rIM_Protocol_Version_Number optional,
1105Application_Error_Container_GTPC application_Error_Container,
1106SON_TransferApplicationIdentity sON_TransferApplicationIdentity optional
1107} with {
1108 variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity,
1109 rIM_Sequence_Number,rIM_PDU_Indications,rIM_Protocol_Version_Number,
1110 application_Error_Container)";
1111 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1112 length2, ext = '0'B;)";
1113 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1114
1115 variant "TAG (rIM_Protocol_Version_Number, iEI = '55'O)";
1116
1117 variant (application_Error_Container)
1118 "CROSSTAG (nacc,rIM_Application_Identity.rIMApplicationIdentity = '01'O;
1119 si3,rIM_Application_Identity.rIMApplicationIdentity = '02'O;
1120 mBMS,rIM_Application_Identity.rIMApplicationIdentity = '03'O;
1121 sON,rIM_Application_Identity.rIMApplicationIdentity = '04'O;
1122 uTRA_SI,rIM_Application_Identity.rIMApplicationIdentity = '05'O)";
1123
1124 variant (sON_TransferApplicationIdentity)
1125 "PRESENCE
1126 (rIM_Application_Identity.rIMApplicationIdentity = '04'O;)";
1127};
1128
1129//48.018 v9.3.0 Table 11.3.64
1130type union Application_Error_Container_GTPC
1131{
1132 Application_Error_Container_NACC_GTPC nacc,
1133 Application_Error_Container_SI3_GTPC si3,
1134 Application_Error_Container_MBMS_GTPC mBMS,
1135 Application_Error_Container_SON_GTPC sON,
1136 Application_Error_Container_UTRA_SI_GTPC uTRA_SI
1137}
1138
1139//48.018 v9.3.0 Table 11.3.63.1
1140type union RAN_Information_Request_Application_Container_GTPC
1141{
1142 RAN_Information_Request_Application_Container_NACC_GTPC nacc,
1143 RAN_Information_Request_Application_Container_SI3_GTPC si3,
1144 RAN_Information_Request_Application_Container_MBMS_GTPC mBMS,
1145 RAN_Information_Request_Application_Container_SON_GTPC sON,
1146 RAN_Information_Request_Application_Container_UTRA_SI_GTPC uTRA_SI
1147}
1148
1149//48.018 v9.3.0 Table 11.3.63.1.1
1150type record RAN_Information_Request_Application_Container_NACC_GTPC
1151{
1152 OCT1 iEI,
1153 BIT1 ext,
1154 LIN2_2a_GTPC lengthIndicator,
1155 Cell_Identifier_GTPC reporting_Cell_Identifier
1156} with {
1157 variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier)";
1158 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1159 length2, ext = '0'B;)";
1160 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1161};
1162
1163//48.018 v9.3.0 Table 11.3.63.1.2
1164type record RAN_Information_Request_Application_Container_SI3_GTPC
1165{
1166 OCT1 iEI,
1167 BIT1 ext,
1168 LIN2_2a_GTPC lengthIndicator,
1169 Cell_Identifier_GTPC reporting_Cell_Identifier
1170} with {
1171 variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier)";
1172 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1173 length2, ext = '0'B;)";
1174 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1175}
1176
1177//48.018 v9.3.0 Table 11.3.63.1.3
1178type record RAN_Information_Request_Application_Container_MBMS_GTPC
1179{
1180 OCT1 iEI,
1181 BIT1 ext,
1182 LIN2_2a_GTPC lengthIndicator,
1183 Cell_Identifier_GTPC reporting_Cell_Identifier
1184} with {
1185 variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier)";
1186 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1187 length2, ext = '0'B;)";
1188 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1189}
1190
1191//48.018 v9.3.0 Table 11.3.63.1.4
1192type record RAN_Information_Request_Application_Container_SON_GTPC
1193{
1194 OCT1 iEI,
1195 BIT1 ext,
1196 LIN2_2a_GTPC lengthIndicator,
1197 Cell_Identifier_GTPC reporting_Cell_Identifier,
1198 octetstring sON_TransferRequestContainer // 3GPP TS 36.413
1199} with {
1200 variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier,sON_TransferRequestContainer)";
1201 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1202 length2, ext = '0'B;)";
1203 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1204}
1205
1206//48.018 v9.3.0 Table 11.3.63.1.5
1207type record RAN_Information_Request_Application_Container_UTRA_SI_GTPC
1208{
1209 OCT1 iEI,
1210 BIT1 ext,
1211 LIN2_2a_GTPC lengthIndicator,
1212 Cell_Identifier_GTPC reporting_Cell_Identifier
1213} with {
1214 variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier)";
1215 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1216 length2, ext = '0'B;)";
1217 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1218}
1219
1220//48.018 v9.3.0 Table 11.3.108
1221type record SON_TransferApplicationIdentity
1222{
1223 OCT1 iEI,
1224 BIT1 ext,
1225 LIN2_2a_GTPC lengthIndicator,
1226 octetstring sON_TransferApplicationIdentityValue
1227}
1228
1229//48.018 v9.3.0 Table 11.3.63.2.1
1230type record RAN_Information_Application_Container_NACC_GTPC
1231{
1232 OCT1 iEI,
1233 BIT1 ext,
1234 LIN2_2a_GTPC lengthIndicator,
1235 Cell_Identifier_GTPC reporting_Cell_Identifier,
1236 BIT1 typeBit,
1237 BIT7 number_of_SI_PSI,
1238 octetstring sI_PSI // 3GPP TS 44.018, 44.060
1239} with {
1240 variant (lengthIndicator)
1241 "LENGTHTO (reporting_Cell_Identifier,typeBit,number_of_SI_PSI,sI_PSI)";
1242 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1243 length2, ext = '0'B;)";
1244 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1245};
1246
1247//48.018 v9.3.0 Table 11.3.63.2.2
1248type record RAN_Information_Application_Container_SI3_GTPC
1249{
1250 OCT1 iEI,
1251 BIT1 ext,
1252 LIN2_2a_GTPC lengthIndicator,
1253 Cell_Identifier_GTPC reporting_Cell_Identifier,
1254 octetstring sI3 length (21) // 3GPP TS 44.018
1255} with {
1256 variant (lengthIndicator)
1257 "LENGTHTO (reporting_Cell_Identifier,sI3)";
1258 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1259 length2, ext = '0'B;)";
1260 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1261 variant (sI3)"FIELDLENGTH(21)" ;
1262};
1263
1264//48.018 v9.3.0 Table 11.3.63.2.3
1265type record RAN_Information_Application_Container_MBMS_GTPC
1266{
1267 OCT1 iEI,
1268 BIT1 ext,
1269 LIN2_2a_GTPC lengthIndicator,
1270 Cell_Identifier_GTPC reporting_Cell_Identifier,
1271 octetstring mBMS_ChannelReport
1272} with {
1273 variant (lengthIndicator)
1274 "LENGTHTO (reporting_Cell_Identifier,mBMS_ChannelReport)";
1275 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1276 length2, ext = '0'B;)";
1277 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1278};
1279
1280//48.018 v9.3.0 Table 11.3.63.2.4
1281type record RAN_Information_Application_Container_SON_GTPC
1282{
1283 OCT1 iEI,
1284 BIT1 ext,
1285 LIN2_2a_GTPC lengthIndicator,
1286 Cell_Identifier_GTPC reporting_Cell_Identifier,
1287 octetstring sON_TransferResponseContainer // 3GPP TS 36.413
1288
1289
1290} with {
1291 variant (lengthIndicator)
1292 "LENGTHTO (reporting_Cell_Identifier,sON_TransferResponseContainer)";
1293 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1294 length2, ext = '0'B;)";
1295 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1296};
1297
1298//48.018 v9.3.0 Table 11.3.63.2.5
1299type record RAN_Information_Application_Container_UTRA_SI_GTPC
1300{
1301 OCT1 iEI,
1302 BIT1 ext,
1303 LIN2_2a_GTPC lengthIndicator,
1304 Cell_Identifier_GTPC reporting_Cell_Identifier,
1305 octetstring uTRA_SI_Container // 3GPP TS25.331
1306
1307
1308} with {
1309 variant (lengthIndicator)
1310 "LENGTHTO (reporting_Cell_Identifier,uTRA_SI_Container)";
1311 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1312 length2, ext = '0'B;)";
1313 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1314};
1315
1316
1317//48.018 v9.3.0 11.3.64.1
1318type record Application_Error_Container_NACC_GTPC
1319{
1320 OCT1 iEI,
1321 BIT1 ext,
1322 LIN2_2a_GTPC lengthIndicator,
1323 OCT1 nACC_cause,
1324 Application_Container_IE_NACC_GTPC erroneousApplicationContainer
1325} with {
1326 variant (lengthIndicator)
1327 "LENGTHTO (nACC_cause,erroneousApplicationContainer)";
1328 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1329 length2, ext = '0'B;)";
1330 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1331};
1332
1333type union Application_Container_IE_NACC_GTPC
1334{
1335RAN_Information_Request_Application_Container_NACC_GTPC
1336 rAN_Information_Request_Application_Container,
1337
1338RAN_Information_Application_Container_NACC_GTPC
1339 rAN_Information_Application_Container
1340}
1341with {
1342 variant "TAG (
1343 rAN_Information_Request_Application_Container, iEI = '4D'O;
1344 rAN_Information_Application_Container, iEI = '4E'O)";
1345}
1346
1347
1348//48.018 v9.3.0 11.3.64.2
1349type record Application_Error_Container_SI3_GTPC
1350{
1351 OCT1 iEI,
1352 BIT1 ext,
1353 LIN2_2a_GTPC lengthIndicator,
1354 OCT1 sI3_cause,
1355 Application_Container_IE_SI3_GTPC erroneousApplicationContainer
1356} with {
1357 variant (lengthIndicator)
1358 "LENGTHTO (sI3_cause,erroneousApplicationContainer)";
1359 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1360 length2, ext = '0'B;)";
1361 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1362};
1363
1364
1365type union Application_Container_IE_SI3_GTPC
1366{
1367RAN_Information_Request_Application_Container_SI3_GTPC
1368 rAN_Information_Request_Application_Container,
1369
1370RAN_Information_Application_Container_SI3_GTPC
1371 rAN_Information_Application_Container
1372}
1373with {
1374 variant "TAG (
1375 rAN_Information_Request_Application_Container, iEI = '4D'O;
1376 rAN_Information_Application_Container, iEI = '4E'O)";
1377}
1378
1379//48.018 v9.3.0 11.3.64.3
1380type record Application_Error_Container_MBMS_GTPC
1381{
1382 OCT1 iEI,
1383 BIT1 ext,
1384 LIN2_2a_GTPC lengthIndicator,
1385 OCT1 mBMS_cause,
1386 Application_Container_IE_MBMS_GTPC erroneousApplicationContainer
1387} with {
1388 variant (lengthIndicator)
1389 "LENGTHTO (mBMS_cause,erroneousApplicationContainer)";
1390 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1391 length2, ext = '0'B;)";
1392 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1393};
1394
1395
1396type union Application_Container_IE_MBMS_GTPC
1397{
1398RAN_Information_Request_Application_Container_MBMS_GTPC
1399 rAN_Information_Request_Application_Container,
1400
1401RAN_Information_Application_Container_MBMS_GTPC
1402 rAN_Information_Application_Container
1403}
1404with {
1405 variant "TAG (
1406 rAN_Information_Request_Application_Container, iEI = '4D'O;
1407 rAN_Information_Application_Container, iEI = '4E'O)";
1408}
1409
1410//48.018 v9.3.0 11.3.64.4
1411type record Application_Error_Container_SON_GTPC
1412{
1413 OCT1 iEI,
1414 BIT1 ext,
1415 LIN2_2a_GTPC lengthIndicator,
1416 OCT1 sON_cause,
1417 Application_Container_IE_SON_GTPC erroneousApplicationContainer
1418} with {
1419 variant (lengthIndicator)
1420 "LENGTHTO (sON_cause,erroneousApplicationContainer)";
1421 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1422 length2, ext = '0'B;)";
1423 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1424};
1425
1426
1427type union Application_Container_IE_SON_GTPC
1428{
1429RAN_Information_Request_Application_Container_SON_GTPC
1430 rAN_Information_Request_Application_Container,
1431
1432RAN_Information_Application_Container_SON_GTPC
1433 rAN_Information_Application_Container
1434}
1435with {
1436 variant "TAG (
1437 rAN_Information_Request_Application_Container, iEI = '4D'O;
1438 rAN_Information_Application_Container, iEI = '4E'O)";
1439}
1440
1441
1442//48.018 v9.3.0 11.3.64.5
1443type record Application_Error_Container_UTRA_SI_GTPC
1444{
1445 OCT1 iEI,
1446 BIT1 ext,
1447 LIN2_2a_GTPC lengthIndicator,
1448 OCT1 uTRA_SI_cause,
1449 Application_Container_IE_SON_GTPC erroneousApplicationContainer
1450} with {
1451 variant (lengthIndicator)
1452 "LENGTHTO (uTRA_SI_cause,erroneousApplicationContainer)";
1453 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1454 length2, ext = '0'B;)";
1455 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1456};
1457
1458
1459type union Application_Container_IE_UTRA_SI_GTPC
1460{
1461RAN_Information_Request_Application_Container_UTRA_SI_GTPC
1462 rAN_Information_Request_Application_Container,
1463
1464RAN_Information_Application_Container_UTRA_SI_GTPC
1465 rAN_Information_Application_Container
1466}
1467with {
1468 variant "TAG (
1469 rAN_Information_Request_Application_Container, iEI = '4D'O;
1470 rAN_Information_Application_Container, iEI = '4E'O)";
1471}
1472
1473
1474//48.018 v9.3.0 11.3.65
1475type record RIM_PDU_Indications_GTPC
1476{
1477 OCT1 iEI,
1478 BIT1 ext,
1479 LIN2_2a_GTPC lengthIndicator,
1480 BIT1 ack,
1481 BIT3 pDU_Type_Extension,
1482 BIT4 reserved
1483} with {
1484 variant (lengthIndicator) "LENGTHTO (ack,pDU_Type_Extension,reserved)";
1485 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1486 length2, ext = '0'B;)";
1487 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1488};
1489
1490//48.018 v9.3.0 11.3.67
1491type record RIM_Protocol_Version_Number_GTPC
1492{
1493 OCT1 iEI,
1494 BIT1 ext,
1495 LIN2_2a_GTPC lengthIndicator,
1496 OCT1 rIMProtocolVersionNumber
1497} with {
1498 variant (lengthIndicator) "LENGTHTO (rIMProtocolVersionNumber)";
1499 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1500 length2, ext = '0'B;)";
1501 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1502};
1503
1504//48.018 v9.3.0 11.3.70
1505type record RIM_Routing_Information_GTPC
1506{
1507 OCT1 iEI,
1508 BIT1 ext,
1509 LIN2_2a_GTPC lengthIndicator,
1510 HEX1 rIMRoutingAddressDiscriminator,
1511 HEX1 spare,
1512 RIM_Routing_Address_GTPC rIM_Routing_Address
1513} with {
1514 variant (lengthIndicator)
1515 "LENGTHTO (rIMRoutingAddressDiscriminator,spare,rIM_Routing_Address)";
1516 variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
1517 length2, ext = '0'B;)";
1518 variant (ext,lengthIndicator) "FIELDORDER(msb)";
1519
1520 variant (rIM_Routing_Address)
1521 "CROSSTAG (cell_Identifier,rIMRoutingAddressDiscriminator = '0'H;
1522 rNCID, rIMRoutingAddressDiscriminator = '1'H;
1523 eNB_Identifier, rIMRoutingAddressDiscriminator = '2'H;)"
1524};
1525
1526type record Cell_Identifier_V_GTPC
1527{
1528 HEX1 mccDigit1,
1529 HEX1 mccDigit2,
1530 HEX1 mccDigit3,
1531 HEX1 mncDigit3,
1532 HEX1 mncDigit1,
1533 HEX1 mncDigit2,
1534 OCT2 lac,
1535 OCT1 rac,
1536 OCT2 cI_value
1537};
1538
1539type union RIM_Routing_Address_GTPC
1540{
1541 Cell_Identifier_V_GTPC cell_Identifier,
1542 RNC_ID_BSSGP_GTPC rNCID,
1543 ENB_Identifier eNB_Identifier
1544 }
1545
1546type record RNC_ID_BSSGP_GTPC
1547{
1548 HEX1 mccDigit1,
1549 HEX1 mccDigit2,
1550 HEX1 mccDigit3,
1551 HEX1 mncDigit3,
1552 HEX1 mncDigit1,
1553 HEX1 mncDigit2,
1554 OCT2 lAC,
1555 OCT1 rAC,
1556 HEX1 spare,
1557 integer rNC_ID
1558} with {
1559 variant (spare,rNC_ID) "FIELDORDER(msb)";
1560 variant (rNC_ID) "BYTEORDER(last)";
1561 variant (rNC_ID) "FIELDLENGTH(12)";
1562}
1563
1564type record ENB_Identifier
1565{
1566 HEX1 mccDigit1,
1567 HEX1 mccDigit2,
1568 HEX1 mccDigit3,
1569 HEX1 mncDigit3,
1570 HEX1 mncDigit1,
1571 HEX1 mncDigit2,
1572 OCT2 tAC,
1573 octetstring globalENB_ID
1574}
1575
1576//Note: the following structure is outdated
1577/*
1578type record GlobalRNC_ID_BSSGP_GTPC
1579{
1580 HEX1 mccDigit1,
1581 HEX1 mccDigit2,
1582 HEX1 mccDigit3,
1583 HEX1 mncDigit3,
1584 HEX1 mncDigit1,
1585 HEX1 mncDigit2,
1586
1587 integer rNC_ID
1588} with {
1589 variant (spare,rNC_ID) "FIELDORDER(msb)";
1590 variant (rNC_ID) "BYTEORDER(last)";
1591 variant (rNC_ID) "FIELDLENGTH(12)";
1592}
1593*/
1594
1595//48.018 v9.3.0 10.6.1
1596type record PDU_BSSGP_RAN_INFORMATION_REQUEST_GTPC
1597{
1598 OCT1 bssgpPduType,
1599 RIM_Routing_Information_GTPC destination_Cell_Identifier,
1600 RIM_Routing_Information_GTPC source_Cell_Identifier,
1601 RAN_Information_Request_RIM_Container_GTPC rIM_Container
1602};
1603
1604//48.018 v9.3.0 10.6.2
1605type record PDU_BSSGP_RAN_INFORMATION_GTPC
1606{
1607 OCT1 bssgpPduType,
1608 RIM_Routing_Information_GTPC destination_Cell_Identifier,
1609 RIM_Routing_Information_GTPC source_Cell_Identifier,
1610 RAN_Information_RIM_Container_GTPC rIM_Container
1611};
1612
1613//48.018 v9.3.0 10.6.3
1614type record PDU_BSSGP_RAN_INFORMATION_ACK_GTPC
1615{
1616 OCT1 bssgpPduType,
1617 RIM_Routing_Information_GTPC destination_Cell_Identifier,
1618 RIM_Routing_Information_GTPC source_Cell_Identifier,
1619 RAN_Information_Ack_RIM_Container_GTPC rIM_Container
1620};
1621
1622//48.018 v9.3.0 10.6.4
1623type record PDU_BSSGP_RAN_INFORMATION_ERROR_GTPC
1624{
1625 OCT1 bssgpPduType,
1626 RIM_Routing_Information_GTPC destination_Cell_Identifier,
1627 RIM_Routing_Information_GTPC source_Cell_Identifier,
1628 RAN_Information_Error_RIM_Container_GTPC rIM_Container
1629};
1630
1631//48.018 v9.3.0 10.6.5
1632type record PDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR_GTPC
1633{
1634 OCT1 bssgpPduType,
1635 RIM_Routing_Information_GTPC destination_Cell_Identifier,
1636 RIM_Routing_Information_GTPC source_Cell_Identifier,
1637 RAN_Information_Application_Error_RIM_Container_GTPC rIM_Container
1638};
1639
1640type union RANTransparentContainerField
1641{
1642PDU_BSSGP_RAN_INFORMATION_REQUEST_GTPC pDU_BSSGP_RAN_INFORMATION_REQUEST,
1643PDU_BSSGP_RAN_INFORMATION_GTPC pDU_BSSGP_RAN_INFORMATION,
1644PDU_BSSGP_RAN_INFORMATION_ACK_GTPC pDU_BSSGP_RAN_INFORMATION_ACK,
1645PDU_BSSGP_RAN_INFORMATION_ERROR_GTPC pDU_BSSGP_RAN_INFORMATION_ERROR,
1646PDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR_GTPC
1647 pDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR
1648} with { variant "TAG (
1649 pDU_BSSGP_RAN_INFORMATION_REQUEST, bssgpPduType ='71'O;
1650 pDU_BSSGP_RAN_INFORMATION, bssgpPduType ='70'O;
1651 pDU_BSSGP_RAN_INFORMATION_ACK, bssgpPduType ='72'O;
1652 pDU_BSSGP_RAN_INFORMATION_ERROR, bssgpPduType ='73'O;
1653 pDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR, bssgpPduType ='74'O
1654 )"
1655};
1656
1657//RAN Transparent Container 7.7.43
1658type record RANTransparentContainer{
1659 OCT1 type_gtpc,
1660 LIN2_BO_LAST lengthf,
1661 RANTransparentContainerField rANTransparentContainerField
1662} with { variant "PRESENCE( type_gtpc = '90'O)";
1663 variant (lengthf) "LENGTHTO(rANTransparentContainerField)"; };
1664
1665//Charging Gateway Address - 7.7.44
1666type record ChargingGatewayAddress {
1667 OCT1 type_gtpc,
1668 LIN2_BO_LAST lengthf,
1669 iPv4_iPv6_Address ipv_address
1670} with { variant "PRESENCE( type_gtpc = 'FB'O)";
1671 variant (lengthf) "LENGTHTO(ipv_address)";};
1672
1673type union iPv4_iPv6_Address{
1674 OCT4 iPv4_Address,
1675 OCT16 iPv6_Address
1676}
1677
1678//PDP Context Priorization - 7.7.45
1679type record PDPContextPriorization {
1680 OCT1 type_gtpc,
1681 LIN2_BO_LAST lengthf
1682} with { variant "PRESENCE( type_gtpc = '91'O)";};
1683
1684//Addititonal RAB Setup Information - 7.7.45A
1685
1686type record of AdditionalRABSetupInformation AdditionalRABSetupInformation_List
1687
1688type record AdditionalRABSetupInformation {
1689 OCT1 type_gtpc,
1690 LIN2_BO_LAST lengthf,
1691 BIT4 nsapi,
1692 BIT4 unused,
1693 OCT4 teidData optional,
1694 octetstring rncIpAddress optional
1695} with {variant "PRESENCE( type_gtpc = '92'O)";
1696 variant (lengthf) "LENGTHTO(nsapi,unused,teidData,rncIpAddress)"; };
1697
1698//Private Extension - 7.7.46
1699type record of PrivateExtension_gtpc PrivateExtension_gtpc_List;
1700
1701type record PrivateExtension_gtpc {
1702 OCT1 type_gtpc,
1703 LIN2_BO_LAST lengthf,
1704 OCT2 extensionID,
1705 octetstring extensionValue
1706} with {variant "PRESENCE( type_gtpc = 'FF'O)";
1707 variant (lengthf) "LENGTHTO(extensionID, extensionValue)"; };
1708
1709//SGSN Number - 7.7.47
1710type record SGSN_Number {
1711 OCT1 type_gtpc,
1712 LIN2_BO_LAST lengthf,
1713 octetstring sGSN_NumberValue
1714} with { variant "PRESENCE( type_gtpc = '93'O)";
1715 variant (lengthf) "LENGTHTO(sGSN_NumberValue)"; };
1716
1717//Common Flags - 7.7.48
1718type record CommonFlags {
1719 OCT1 type_gtpc,
1720 LIN2_BO_LAST lengthf,
1721 BIT1 prohibitPayloadCompression,
1722 BIT1 mBMS_ServiceType,
1723 BIT1 rAN_ProceduresReady,
1724 BIT1 mBMS_CountingInformation,
1725 BIT1 nO_QoS_Negotiation,
1726 BIT1 nRSN,
1727 BIT1 upgradeQoS_Supported,
1728 BIT1 dualAddressBearerFlag
1729} with { variant "PRESENCE( type_gtpc = '94'O)";
1730 variant (lengthf) "LENGTHTO(prohibitPayloadCompression,mBMS_ServiceType,
1731 rAN_ProceduresReady,mBMS_CountingInformation,
1732 nO_QoS_Negotiation,nRSN,upgradeQoS_Supported,dualAddressBearerFlag)"; };
1733
1734//APN Restriction - 7.7.49
1735type record APN_Restriction {
1736 OCT1 type_gtpc,
1737 LIN2_BO_LAST lengthf,
1738 OCT1 restrictionTypeValue
1739} with { variant "PRESENCE( type_gtpc = '95'O)";
1740 variant (lengthf) "LENGTHTO(restrictionTypeValue)"; };
1741
1742// RAT Type - 7.7.50
1743type record RATType {
1744 OCT1 type_gtpc,
1745 LIN2_BO_LAST lengthf,
1746 OCT1 ratTypeValue
1747} with { variant "PRESENCE( type_gtpc = '97'O)";
1748 variant (lengthf) "LENGTHTO(ratTypeValue)"; };
1749
1750// User Location Information - 7.7.51
1751type record UserLocationInformation {
1752 OCT1 type_gtpc,
1753 LIN2_BO_LAST lengthf,
1754 OCT1 geographicLocationType,
1755 GeographicLocation_gtpc geographicLocation
1756} with { variant "PRESENCE( type_gtpc = '98'O)";
1757 variant (lengthf) "LENGTHTO(geographicLocationType, geographicLocation)";
1758 variant (geographicLocation) "CROSSTAG(geographicLocationCGI, geographicLocationType='00'O;
1759 geographicLocationSAI, geographicLocationType='01'O;
1760 geographicLocationRAI, geographicLocationType='02'O)";};
1761
1762type union GeographicLocation_gtpc {
1763 GeographicLocationCGI geographicLocationCGI,
1764 GeographicLocationSAI geographicLocationSAI,
1765 GeographicLocationRAI geographicLocationRAI
1766}
1767
1768// Figure 7.7.51.2: Geographic Location field for CGI
1769type record GeographicLocationCGI {
1770 HEX1 mccDigit1,
1771 HEX1 mccDigit2,
1772 HEX1 mccDigit3,
1773 HEX1 mncDigit3,
1774 HEX1 mncDigit1,
1775 HEX1 mncDigit2,
1776 OCT2 lac,
1777 OCT2 cI_value
1778}
1779
1780// Figure 7.7.51.3: Geographic Location field for SAI
1781type record GeographicLocationSAI {
1782 HEX1 mccDigit1,
1783 HEX1 mccDigit2,
1784 HEX1 mccDigit3,
1785 HEX1 mncDigit3,
1786 HEX1 mncDigit1,
1787 HEX1 mncDigit2,
1788 OCT2 lac,
1789 OCT2 sac
1790}
1791
1792// Figure 7.7.51.4: Geographic Location field for RAI
1793type record GeographicLocationRAI {
1794 HEX1 mccDigit1,
1795 HEX1 mccDigit2,
1796 HEX1 mccDigit3,
1797 HEX1 mncDigit3,
1798 HEX1 mncDigit1,
1799 HEX1 mncDigit2,
1800 OCT2 lac,
1801 OCT2 rac
1802}
1803
1804// MS Time Zone - 7.7.52
1805type record MS_TimeZone {
1806 OCT1 type_gtpc,
1807 LIN2_BO_LAST lengthf,
1808 OCT1 timeZone,
1809 BIT2 daylightSavingTime,
1810 BIT3 spare1,
1811// This bit is proprietary, compared to the 3GPP definition of
1812// the Time Zone information element.
1813// The new field "SGSN Attempts to Update MS" is described in
1814// the following CPI documentation: GSN CDR Format,
1815// 1/190 83-AXB 250 05/6 Uen A.
1816// Web link to CPI: http://cpi2.al.sw.ericsson.se/alex?pr=PDU+PCN
1817 BIT1 sgsnAttempsToUpdateMS,
1818 BIT2 spare2
1819} with { variant "PRESENCE( type_gtpc = '99'O)";
1820 variant (lengthf) "LENGTHTO(timeZone, daylightSavingTime, spare1,
1821 sgsnAttempsToUpdateMS, spare2)"; };
1822
1823// IMEISV - 7.7.53
1824type record IMEISV_gtpc {
1825 OCT1 type_gtpc,
1826 LIN2_BO_LAST lengthf,
1827 OCT8 imeisv
1828} with { variant "PRESENCE( type_gtpc = '9A'O)";
1829 variant (lengthf) "LENGTHTO(imeisv)"; };
1830
1831// Camel Charging Information Container - 7.7.54
1832type record CamelChargingInformationContainer {
1833 OCT1 type_gtpc,
1834 LIN2_BO_LAST lengthf,
1835 octetstring camelInformationPDP_IE
1836} with { variant "PRESENCE( type_gtpc = '9B'O)";
1837 variant (lengthf) "LENGTHTO(camelInformationPDP_IE)"; };
1838
1839// MBMS UE Context Container - 7.7.55
1840type record of MBMS_UE_ContextContainer MBMS_UE_Context_List;
1841
1842type record MBMS_UE_ContextContainer {
1843 OCT1 type_gtpc,
1844 LIN2_BO_LAST lengthf,
1845 BIT4 spare1,
1846 BIT4 linkedNSAPI,
1847 OCT4 uteidControlPlane,
1848 OCT1 enhancedNSAPI,
1849 BIT4 pdp_typeorg,
1850 BIT4 spare2,
1851 OCT1 pdp_typenum,
1852 integer pdp_addressLength,
1853 octetstring pdp_address length (0..63),
1854 integer ggsn_addressControlPlaneLength,
1855 octetstring ggsn_addressControlPlane length (4..16),
1856 integer apnLength,
1857 octetstring apn,
1858 BIT4 transactionId,
1859 BIT4 spare3,
1860 OCT1 transactionID
1861} with {variant "PRESENCE( type_gtpc = '9C'O)";
1862 variant (lengthf) "LENGTHTO(spare1, linkedNSAPI,
1863 uteidControlPlane, enhancedNSAPI, pdp_typeorg, spare2,
1864 pdp_typenum, pdp_addressLength, pdp_address,
1865 ggsn_addressControlPlaneLength, ggsn_addressControlPlane,
1866 apnLength, apn, transactionId, spare3, transactionID)";
1867 variant (pdp_addressLength) "LENGTHTO(pdp_address)";
1868 variant (ggsn_addressControlPlaneLength)
1869 "LENGTHTO(ggsn_addressControlPlane)";
1870 variant (apnLength) "LENGTHTO(apn)";
1871 };
1872
1873// Temporary Mobile Group Identity - 7.7.56
1874type record TMGI_gtpc {
1875 OCT1 type_gtpc,
1876 LIN2_BO_LAST lengthf,
1877 OCT6 tMGIValue
1878} with { variant "PRESENCE( type_gtpc = '9D'O)";
1879 variant (lengthf) "LENGTHTO(tMGIValue)"; };
1880
1881// RIM Routing Address - 7.7.57
1882type record RIM_RoutingAddress {
1883 OCT1 type_gtpc,
1884 LIN2_BO_LAST lengthf,
1885 octetstring rIM_RoutingAddressValue
1886 //Left as octetstring because GTP spec does not include the RIM Routing
1887 // Address Discriminator and therefore decoding is not possible as in 48.018
1888 //CR 544 states that "The RIM Routing Address contains the destination RNC
1889 // Identity from the RAN INFORMATION message when the source is GERAN and
1890 // the target is UTRAN.
1891 //The RIM Routing Address contains the destination Cell Identifier from the
1892 // RAN INFORMATION message when the source is GERAN and the target ir GERAN.
1893} with { variant "PRESENCE( type_gtpc = '9E'O)";
1894 variant (lengthf) "LENGTHTO(rIM_RoutingAddressValue)"; };
1895
1896//MBMS Protocol Configuration Options - 7.7.58
1897type record MBMS_ProtocolConfigurationOptions {
1898 OCT1 type_gtpc,
1899 LIN2_BO_LAST lengthf,
1900 octetstring mBMS_ProtocolConfigurationOptions
1901} with { variant "PRESENCE( type_gtpc = '9F'O)";
1902 variant (lengthf) "LENGTHTO(mBMS_ProtocolConfigurationOptions)"; };
1903
1904// MBMS Session Duration - 7.7.59
1905type record MBMS_SessionDuration {
1906 OCT1 type_gtpc,
1907 LIN2_BO_LAST lengthf,
1908 OCT3 mBMS_SessionDurationValue
1909} with { variant "PRESENCE( type_gtpc = 'A8'O)";
1910 variant (lengthf) "LENGTHTO(mBMS_SessionDurationValue)"; };
1911
1912
1913// MBMS Service Area - 7.7.60
1914type record MBMS_ServiceArea {
1915 OCT1 type_gtpc,
1916 LIN2_BO_LAST lengthf,
1917 octetstring mBMS_ServiceAreaValue
1918} with { variant "PRESENCE( type_gtpc = 'A0'O)";
1919 variant (lengthf) "LENGTHTO(mBMS_ServiceAreaValue)"; };
1920
1921// Source RNC PDCP context info - 7.7.61
1922type record SourceRNC_PDCP_ContextInfo {
1923 OCT1 type_gtpc,
1924 LIN2_BO_LAST lengthf,
1925 octetstring rRC_Container
1926} with { variant "PRESENCE( type_gtpc = 'A1'O)";
1927 variant (lengthf) "LENGTHTO(rRC_Container)"; };
1928
1929// Additional Trace Info - 7.7.62
1930type record AdditionalTraceInfo {
1931 OCT1 type_gtpc,
1932 LIN2_BO_LAST lengthf,
1933 OCT3 traceReference2,
1934 OCT2 traceRecordingSessionReference,
1935 OCT1 triggeringEvents_GGSN,
1936 OCT1 traceDepth,
1937 OCT1 listOfInterfaces_GGSN,
1938 OCT1 traceActivityControl
1939} with { variant "PRESENCE( type_gtpc = 'A2'O)";
1940 variant (lengthf) "LENGTHTO(traceReference2,
1941 traceRecordingSessionReference, triggeringEvents_GGSN,
1942 traceDepth, listOfInterfaces_GGSN, traceActivityControl)";
1943 };
1944
1945// Hop Counter - 7.7.63
1946type record HopCounter_gtpc {
1947 OCT1 type_gtpc,
1948 LIN2_BO_LAST lengthf,
1949 integer hopCounter
1950} with { variant "PRESENCE( type_gtpc = 'A3'O)";
1951 variant (lengthf) "LENGTHTO(hopCounter)"; };
1952
1953// Selected PLMN ID - 7.7.64
1954type record Selected_PLMN_ID {
1955 OCT1 type_gtpc,
1956 LIN2_BO_LAST lengthf,
1957 OCT3 selected_PLMN_Identity
1958} with { variant "PRESENCE( type_gtpc = 'A4'O)";
1959 variant (lengthf) "LENGTHTO(selected_PLMN_Identity)"; };
1960
1961// MBMS Session Identifier - 7.7.65
1962type record MBMS_SessionIdentifier {
1963 OCT1 type_gtpc,
1964 LIN2_BO_LAST lengthf,
1965 OCT1 mBMS_SessionIdentifier
1966} with { variant "PRESENCE( type_gtpc = 'A5'O)";
1967 variant (lengthf) "LENGTHTO(mBMS_SessionIdentifier)"; };
1968
1969// MBMS 2G/3G Indicator - 7.7.66
1970type record MBMS_2G_3G_Indicator {
1971 OCT1 type_gtpc,
1972 LIN2_BO_LAST lengthf,
1973 OCT1 mBMS_2G_3G_Indicator
1974} with { variant "PRESENCE( type_gtpc = 'A6'O)";
1975 variant (lengthf) "LENGTHTO(mBMS_2G_3G_Indicator)"; };
1976
1977// Enhanced NSAPI - 7.7.67
1978type record Enhanced_NSAPI {
1979 OCT1 type_gtpc,
1980 LIN2_BO_LAST lengthf,
1981 OCT1 enhanced_NSAPI
1982} with { variant "PRESENCE( type_gtpc = 'A7'O)";
1983 variant (lengthf) "LENGTHTO(enhanced_NSAPI)"; };
1984
1985// Additional MBMS Trace Info - 7.7.68
1986type record AdditionalMBMSTraceInfo {
1987 OCT1 type_gtpc,
1988 LIN2_BO_LAST lengthf,
1989 OCT3 traceReference2,
1990 OCT2 traceRecordingSessionReference,
1991 OCT2 triggeringEvents_BM_SC,
1992 OCT1 traceDepth_BM_SC,
1993 OCT1 listOfInterfaces_BM_SC,
1994 OCT1 traceActivityControl_BM_SC
1995} with { variant "PRESENCE( type_gtpc = 'A9'O)";
1996 variant (lengthf) "LENGTHTO(traceReference2, traceRecordingSessionReference,
1997 triggeringEvents_BM_SC, traceDepth_BM_SC,
1998 listOfInterfaces_BM_SC, traceActivityControl_BM_SC)";
1999 };
2000
2001// MBMS Session Repetition Number - 7.7.69
2002type record MBMS_SessionRepetitionNumber {
2003 OCT1 type_gtpc,
2004 LIN2_BO_LAST lengthf,
2005 OCT1 mBMS_SessionRepetitionNumber
2006} with { variant "PRESENCE( type_gtpc = 'AA'O)";
2007 variant (lengthf) "LENGTHTO(mBMS_SessionRepetitionNumber)"; };
2008
2009// MBMS Time To Data Transfer - 7.7.70
2010type record MBMS_TimeToDataTransfer {
2011 OCT1 type_gtpc,
2012 LIN2_BO_LAST lengthf,
2013 OCT1 mBMS_TimeToDataTransfer
2014} with { variant "PRESENCE( type_gtpc = 'AB'O)";
2015 variant (lengthf) "LENGTHTO(mBMS_TimeToDataTransfer)"; };
2016
2017// BSS Container - 7.7.72
2018type record BSS_Container {
2019 OCT1 type_gtpc,
2020 LIN2_BO_LAST lengthf,
2021 octetstring bSS_Container // TODO FIXME: which Container is the BSS Container?
2022} with { variant "PRESENCE( type_gtpc = 'AD'O)";
2023 variant (lengthf) "LENGTHTO(bSS_Container)"; };
2024
2025
2026// Cell Identification - 7.7.73
2027
2028// Routing Area identification - from 24.008 10.5.5.15
2029type record RoutingAreaIdentificationV_gtpc
2030{
2031 HEX1 mccDigit1,
2032 HEX1 mccDigit2,
2033 HEX1 mccDigit3,
2034 HEX1 mncDigit3,
2035 HEX1 mncDigit1,
2036 HEX1 mncDigit2,
2037 OCT2 lac,
2038 OCT1 rac
2039};
2040
2041type record RNC_Identifier_gtpc {
2042 RoutingAreaIdentificationV_gtpc routingAreaIdentificationV_gtpc,
2043 integer rNC_ID,
2044 HEX1 spare
2045} with {
2046 variant (spare,rNC_ID) "FIELDORDER(msb)";
2047 variant (rNC_ID) "BYTEORDER(last)";
2048 variant (rNC_ID) "FIELDLENGTH(12)";
2049}
2050
2051type union Cell_ID_or_RNC_ID {
2052 Cell_Identifier_V_GTPC cell_Identifier,
2053 RNC_Identifier_gtpc rNC_Identifier
2054}
2055
2056type record Cell_Identification_gtpc {
2057 OCT1 type_gtpc,
2058 LIN2_BO_LAST lengthf,
2059 Cell_Identifier_V_GTPC targetCell_ID,
2060 OCT1 sourceType, //0 - Source Cell ID / 1- Source RNC ID in next field
2061 Cell_ID_or_RNC_ID source_Cell_ID_or_RNC_ID
2062} with {variant "PRESENCE( type_gtpc = 'AE'O)";
2063 variant (lengthf) "LENGTHTO(targetCell_ID,sourceType,source_Cell_ID_or_RNC_ID)";
2064 variant (source_Cell_ID_or_RNC_ID) "CROSSTAG ( cell_Identifier, sourceType = '00'O;
2065 rNC_Identifier, sourceType = '01'O)"; };
2066
2067// PDU Numbers - 7.7.74
2068type record of PDU_Numbers PDU_Numbers_List;
2069
2070type record PDU_Numbers {
2071 OCT1 type_gtpc,
2072 LIN2_BO_LAST lengthf,
2073 BIT4 nsapi,
2074 BIT4 spare,
2075 OCT2 dL_GTPU_SequenceNumber,
2076 OCT2 uL_GTPU_SequenceNumber,
2077 OCT2 sendNPDUnum,
2078 OCT2 receiveNPDUnum
2079} with {variant "PRESENCE( type_gtpc = 'AF'O)";
2080 variant (lengthf) "LENGTHTO(nsapi, spare, dL_GTPU_SequenceNumber, uL_GTPU_SequenceNumber,
2081 sendNPDUnum, receiveNPDUnum)"; };
2082
2083// BSSGP Cause - 7.7.75
2084type record BSSGP_Cause_gtpc {
2085 OCT1 type_gtpc,
2086 LIN2_BO_LAST lengthf,
2087 OCT1 bSSGP_Cause
2088} with { variant "PRESENCE( type_gtpc = 'B0'O)";
2089 variant (lengthf) "LENGTHTO(bSSGP_Cause)"; };
2090
2091// Required MBMS Bearer Capabilities - 7.7.76
2092type record RequiredMBMS_BearerCapabilities {
2093 OCT1 type_gtpc,
2094 LIN2_BO_LAST lengthf,
2095 octetstring reqMBMS_BearerCapValue
2096} with { variant "PRESENCE( type_gtpc = 'B1'O)";
2097 variant (lengthf) "LENGTHTO(reqMBMS_BearerCapValue)"; };
2098
2099// RIM Routing Address Discriminator 7.7.77
2100type record RIM_RoutingAddress_Discriminator {
2101 OCT1 type_gtpc,
2102 LIN2_BO_LAST lengthf,
2103 BIT4 rra_discriminator,
2104 BIT4 spare
2105} with { variant "PRESENCE( type_gtpc = 'B2'O)";
2106 variant (lengthf) "LENGTHTO(rra_discriminator,spare)"; };
2107
2108// ListOfSetupPFCs - 7.7.78
2109
2110// PFC/PFI as defined in BSSGP (48.018 - 11.3.83) which refers to L3 (24.008 - 10.5.6.11)
2111type record Single_PFI_gtpc
2112{
2113 BIT7 pFI_Value,
2114 BIT1 spare
2115}
2116
2117type record length (0..11) of Single_PFI_gtpc Multiple_PFIs_gtpc;
2118
2119type record ListOfSetupPFCsValue_gtpc
2120{
2121 integer number_of_PFCs (0..11), // note: 12 .. 255 are reserved!!!
2122 Multiple_PFIs_gtpc pFIs
2123} with
2124{
2125 variant (number_of_PFCs) "UNIT(elements),LENGTHTO(pFIs),FIELDLENGTH(8)";
2126}
2127
2128type record ListOfSetupPFCs_gtpc {
2129 OCT1 type_gtpc,
2130 LIN2_BO_LAST lengthf,
2131 ListOfSetupPFCsValue_gtpc listOfSetupPFCs
2132} with { variant "PRESENCE( type_gtpc = 'B3'O)";
2133 variant (lengthf) "LENGTHTO(listOfSetupPFCs)"; };
2134
2135// PS Handover XID Parameters 7.7.79
2136type record of PS_HandoverXIDParameters PS_HandoverXIDParameters_List;
2137
2138type record PS_HandoverXIDParameters {
2139 OCT1 type_gtpc,
2140 LIN2_BO_LAST lengthf,
2141 BIT4 sapi,
2142 BIT4 spare,
2143 LIN1 xID_ParametersLength,
2144 XID_Information_GTPC xID_Parameters optional
2145} with {
2146 variant (lengthf) "LENGTHTO(sapi,spare,xID_ParametersLength,xID_Parameters)";
2147 variant (xID_ParametersLength) "LENGTHTO(xID_Parameters)";
2148 variant "PRESENCE(type_gtpc = 'B4'O)"
2149 };
2150
2151//The following types are based on types in LLC_Types.ttcn
2152
2153type record of XID_GTPC XID_Information_GTPC;
2154
2155type record XID_GTPC
2156{
2157 BIT1 xl,
2158 BIT5 typefield,
2159 XID_length_GTPC xID_length,
2160 //Header_XID header_XID,
2161 XID_Data_GTPC xID_Data
2162} with {
2163 variant (xID_Data) "CROSSTAG( version, typefield = '00000'B;
2164 iOV_UI, typefield = '00001'B;
2165 iOV_I, typefield = '00010'B;
2166 t200, typefield = '00011'B;
2167 n200, typefield = '00100'B;
2168 n201_U, typefield = '00101'B;
2169 n201_I, typefield = '00110'B;
2170 mD, typefield = '00111'B;
2171 mU, typefield = '01000'B;
2172 kD, typefield = '01001'B;
2173 kU, typefield = '01010'B;
2174 l3param, typefield = '01011'B;
2175 reset, typefield = '01100'B;
2176
2177 )";
2178 variant "FIELDORDER(msb)";
2179 variant (xID_length) "CROSSTAG( short_len, xl = '0'B;
2180 long_len, xl = '1'B;)";
2181 variant (xID_length) "LENGTHTO (xID_Data)"
2182
2183 variant (xID_length) "PADDING(yes)"
2184};
2185
2186type union XID_length_GTPC
2187{
2188 integer short_len,
2189 integer long_len
2190}with {
2191 variant (short_len) "FIELDLENGTH(2)";
2192 variant (long_len) "FIELDLENGTH(8)";
2193 variant (long_len) "BYTEORDER(last)";
2194 variant (short_len) "FIELDORDER(msb)";
2195 variant (long_len) "FIELDORDER(msb)";
2196
2197}
2198
2199type union XID_Data_GTPC
2200{
2201 Version_GTPC version,
2202 IOV_UI_GTPC iOV_UI,
2203 IOV_I_GTPC iOV_I,
2204 T200_GTPC t200,
2205 N200_GTPC n200,
2206 N201_U_GTPC n201_U,
2207 N201_I_GTPC n201_I,
2208 MD_GTPC mD,
2209 MU_GTPC mU,
2210 KD_GTPC kD,
2211 KU_GTPC kU,
2212 L3param_GTPC l3param,
2213 Reset_LLC_GTPC reset
2214}
2215
2216type record Version_GTPC
2217{
2218 integer version_value (0..15),
2219 BIT4 spare
2220
2221} with {
2222 variant (version_value) "FIELDLENGTH(4)";
2223}
2224
2225type octetstring IOV_UI_GTPC length(4)
2226
2227
2228type octetstring IOV_I_GTPC length(4)
2229
2230
2231type record T200_GTPC
2232{
2233 BIT4 spare,
2234 integer t200Value
2235} with {
2236 variant (t200Value) "FIELDLENGTH(12)";
2237 variant (t200Value) "BYTEORDER(last)";
2238 variant "FIELDORDER(msb)";
2239};
2240
2241
2242type record N200_GTPC
2243{
2244 integer retransmissions (0..15),
2245 BIT4 spare
2246} with {
2247 variant (retransmissions) "FIELDLENGTH(4)";
2248}
2249
2250
2251type record N201_U_GTPC
2252{
2253 BIT5 spare,
2254 integer n201UValue
2255} with {
2256 variant (n201UValue) "FIELDLENGTH(11)";
2257 variant (n201UValue) "BYTEORDER(last)";
2258 variant "FIELDORDER(msb)";
2259};
2260
2261
2262type record N201_I_GTPC
2263{
2264 BIT5 spare,
2265 integer n201IValue
2266}
2267with {
2268 variant (n201IValue) "FIELDLENGTH(11)";
2269 variant (n201IValue) "BYTEORDER(last)";
2270 variant "FIELDORDER(msb)";
2271};
2272
2273type record MD_GTPC
2274{
2275 BIT1 spare,
2276 integer mDValue
2277} with {
2278 variant (mDValue) "FIELDLENGTH(15)";
2279 variant (mDValue) "BYTEORDER(last)";
2280 variant "FIELDORDER(msb)";
2281};
2282
2283
2284type record MU_GTPC
2285{
2286 BIT1 spare,
2287 integer mUValue
2288} with {
2289 variant (mUValue) "FIELDLENGTH(15)";
2290 variant (mUValue) "BYTEORDER(last)";
2291 variant "FIELDORDER(msb)";
2292};
2293
2294type integer KD_GTPC with {variant "FIELDLENGTH(8)";};
2295
2296type integer KU_GTPC with {variant "FIELDLENGTH(8)";};
2297
2298type octetstring L3param_GTPC;
2299
2300type octetstring Reset_LLC_GTPC length(0);
2301// end of types copied from LLC_Types.ttcn
2302
2303
2304// MS Info Change reporting Action 7.7.80
2305type record MS_InfoChangeReportingAction {
2306 OCT1 type_gtpc,
2307 LIN2_BO_LAST lengthf,
2308 OCT1 actionfield
2309} with { variant "PRESENCE( type_gtpc = 'B5'O)";
2310 variant (lengthf) "LENGTHTO(actionfield)"; };
2311
2312// Direct Tunnel Flags - 7.7.81
2313type record DirectTunnelFlags {
2314 OCT1 type_gtpc,
2315 LIN2_BO_LAST lengthf,
2316 BIT1 dTI,
2317 BIT1 gCSI,
2318 BIT1 eI,
2319 BIT5 spare
2320} with { variant "PRESENCE( type_gtpc = 'B6'O)";
2321 variant (lengthf) "LENGTHTO(dTI,gCSI,eI,spare)";};
2322
2323// Correlation ID - 7.7.82
2324type record CorrelationID {
2325 OCT1 type_gtpc,
2326 LIN2_BO_LAST lengthf,
2327 OCT1 correlationIDValue
2328} with { variant "PRESENCE( type_gtpc = 'B7'O)";
2329 variant (lengthf) "LENGTHTO(correlationIDValue)"; };
2330
2331// BearerControlMode - 7.7.83
2332type record BearerControlMode {
2333 OCT1 type_gtpc,
2334 LIN2_BO_LAST lengthf,
2335 OCT1 bearerControlModeValue
2336} with { variant "PRESENCE( type_gtpc = 'B8'O)";
2337 variant (lengthf) "LENGTHTO(bearerControlModeValue)"; };
2338
2339// MBMS Flow ID - 7.7.84
2340type record MBMS_FlowID {
2341 OCT1 type_gtpc,
2342 LIN2_BO_LAST lengthf,
2343 octetstring mBMS_FlowIDValue
2344} with { variant "PRESENCE( type_gtpc = 'B9'O)";
2345 variant (lengthf) "LENGTHTO(mBMS_FlowIDValue)"; };
2346
2347// MBMS IP Multicast Distribution - 7.7.85
2348type record MBMS_IPMulticastDistribution {
2349 OCT1 type_gtpc,
2350 LIN2_BO_LAST lengthf,
2351 OCT4 commonTEID,
2352 GSNAddress iPmulticastDistributionAddress,
2353 GSNAddress iPmulticastSourceAddress,
2354 OCT1 mBMS_HCIndicator
2355} with { variant "PRESENCE( type_gtpc = 'BA'O)";
2356 variant (lengthf) "LENGTHTO(commonTEID,iPmulticastDistributionAddress,
2357 iPmulticastSourceAddress,mBMS_HCIndicator)"; };
2358
2359// GSNAddress
2360type record GSNAddress {
2361 INT6b lengthf,
2362 BIT2 address_type,
2363 iPv4_iPv6_Address ipv_address
2364} with { variant (lengthf) "LENGTHTO(ipv_address)";};
2365
2366// MBMS Distribution Acknowledgement - 7.7.86
2367type record MBMS_DistributionAcknowledgement {
2368 OCT1 type_gtpc,
2369 LIN2_BO_LAST lengthf,
2370 BIT2 distributionIndication,
2371 BIT6 spare
2372} with { variant "PRESENCE( type_gtpc = 'BB'O)";
2373 variant (lengthf) "LENGTHTO(distributionIndication,spare)"; };
2374
2375// ReliableInterRATHandoverInfo - 7.7.87 - from 48.018 11.3.107
2376type record ReliableInterRATHandoverInfo
2377{
2378 OCT1 type_gtpc,
2379 LIN2_BO_LAST lengthf,
2380 BIT1 reliableInterRATHandoverInfoIndicator,
2381 BIT7 spare
2382} with { variant "PRESENCE( type_gtpc = 'BC'O)";
2383 variant (lengthf) "LENGTHTO(reliableInterRATHandoverInfoIndicator,spare)"; };
2384
2385//7.7.88
2386type record RFSP_Index
2387{
2388 OCT1 type_gtpc,
2389 LIN2_BO_LAST lengthf,
2390 LIN2_BO_LAST rFSPIndexValue (1..256)
2391} with { variant "PRESENCE( type_gtpc = 'BD'O)";
2392 variant (lengthf) "LENGTHTO(rFSPIndexValue)"; };
2393
2394//7.7.90
2395type record of FullyQualifiedDomainName FullyQualifiedDomainName_List;
2396
2397type record FullyQualifiedDomainName
2398{
2399 OCT1 type_gtpc,
2400 LIN2_BO_LAST lengthf,
2401 octetstring fQDN_Value
2402} with { variant "PRESENCE( type_gtpc = 'BE'O)";
2403 variant (lengthf) "LENGTHTO(fQDN_Value)"; };
2404
2405//7.7.91
2406type record EvolvedAllocationRetentionPriorityI
2407{
2408 OCT1 type_gtpc,
2409 LIN2_BO_LAST lengthf,
2410 BIT1 pVI,
2411 BIT1 spare1,
2412 integer pL,
2413 BIT1 pCI,
2414 BIT1 spare2
2415} with { variant "PRESENCE( type_gtpc = 'BF'O)";
2416 variant (lengthf) "LENGTHTO(pVI,spare1,pL,pCI,spare2)";
2417 variant (pL) "FIELDLENGTH(4)";};
2418
2419//7.7.92
2420type record of EvolvedAllocationRetentionPriorityII EvolvedAllocationRetentionPriorityII_List
2421
2422type record EvolvedAllocationRetentionPriorityII
2423{
2424 OCT1 type_gtpc,
2425 LIN2_BO_LAST lengthf,
2426 BIT4 nsapi,
2427 BIT4 unused,
2428 BIT1 pVI,
2429 BIT1 spare1,
2430 integer pL,
2431 BIT1 pCI,
2432 BIT1 spare2
2433} with { variant "PRESENCE( type_gtpc = 'C0'O)";
2434 variant (lengthf) "LENGTHTO(nsapi,unused,pVI,spare1,pL,pCI,spare2)";
2435 variant (pL) "FIELDLENGTH(4)";};
2436
2437//7.7.93
2438type record ExtendedCommonFlags
2439{
2440 OCT1 type_gtpc,
2441 LIN2_BO_LAST lengthf,
2442 BIT1 unauthenticatedIMSI,
2443 BIT1 cCRSI,
2444 BIT1 cPSR,
2445 BIT1 retLoc,
2446 BIT1 vB,
2447 BIT1 pCRI,
2448 BIT1 bDWI,
2449 BIT1 uASI
2450} with { variant "PRESENCE(type_gtpc = 'C1'O)";
2451 variant (lengthf) "LENGTHTO(unauthenticatedIMSI,cCRSI,cPSR,retLoc,vB,pCRI,bDWI,uASI)";};
2452
2453//7.7.94
2454type record UserCSGInformation
2455{
2456 OCT1 type_gtpc,
2457 LIN2_BO_LAST lengthf,
2458 HEX1 mccDigit1,
2459 HEX1 mccDigit2,
2460 HEX1 mccDigit3,
2461 HEX1 mncDigit3,
2462 HEX1 mncDigit1,
2463 HEX1 mncDigit2,
2464 BIT5 spare1,
2465 bitstring cSG_ID length(27), // "The coding ... is the responsibility of the operator..."
2466 BIT1 cMI,
2467 BIT5 spare2,
2468 integer accessMode (0..3)
2469} with { variant "PRESENCE( type_gtpc = 'C2'O)";
2470 variant (lengthf) "LENGTHTO(mccDigit1,mccDigit2,mccDigit3,mncDigit3,
2471 mncDigit1,mncDigit2,spare1,cSG_ID,
2472 cMI,spare2,accessMode)";
2473 variant (spare1,cSG_ID) "FIELDORDER(msb)";
2474 variant (cSG_ID) "FIELDLENGTH(27)";
2475 variant (accessMode) "FIELDLENGTH(2)";
2476};
2477
2478//7.7.95
2479type record CSGInfoReportingAction
2480{
2481 OCT1 type_gtpc,
2482 LIN2_BO_LAST lengthf,
2483 BIT1 uCCSG,
2484 BIT1 uCSHC,
2485 BIT1 uCUHC,
2486 BIT5 spare
2487} with { variant "PRESENCE( type_gtpc = 'C3'O)";
2488 variant (lengthf) "LENGTHTO(uCCSG,uCSHC,uCUHC,spare)";
2489};
2490
2491//7.7.96
2492type record CSG_Id
2493{
2494 OCT1 type_gtpc,
2495 LIN2_BO_LAST lengthf,
2496 BIT5 spare,
2497 bitstring cSG_ID length(27) // "The coding ... is the responsibility of the operator..."
2498} with { variant "PRESENCE(type_gtpc = 'C4'O)";
2499 variant (lengthf) "LENGTHTO(spare,cSG_ID)";
2500 variant (spare,cSG_ID) "FIELDORDER(msb)";
2501 variant (cSG_ID) "FIELDLENGTH(27)";
2502};
2503
2504//7.7.97
2505type record CSG_MembershipIndication
2506{
2507 OCT1 type_gtpc,
2508 LIN2_BO_LAST lengthf,
2509 BIT1 cMI_Value,
2510 BIT7 spare
2511} with { variant "PRESENCE(type_gtpc = 'C5'O)";
2512 variant (lengthf) "LENGTHTO(cMI_Value,spare)";
2513}
2514
2515//7.7.98
2516type record APN_AMBR
2517{
2518 OCT1 type_gtpc,
2519 LIN2_BO_LAST lengthf,
2520 LIN4_BO_LAST aPN_AMBR_Uplink,
2521 LIN4_BO_LAST aPN_AMBR_Downlink
2522} with { variant "PRESENCE(type_gtpc = 'C6'O)";
2523 variant (lengthf) "LENGTHTO(aPN_AMBR_Uplink,aPN_AMBR_Downlink)";
2524}
2525
2526//7.7.99
2527type record UE_Network_Capability {
2528 OCT1 type_gtpc,
2529 LIN2_BO_LAST lengthf,
2530 octetstring ue_network_capability
2531} with {
2532 variant "PRESENCE(type_gtpc = 'C7'O)";
2533 variant (lengthf) "LENGTHTO(ue_network_capability)";
2534}
2535
2536//7.7.100
2537type record UE_AMBR {
2538 OCT1 type_gtpc,
2539 LIN2_BO_LAST lengthf,
2540 LIN4_BO_LAST subscribed_ue_ambr_uplink,
2541 LIN4_BO_LAST subscribed_ue_ambr_downlink,
2542 LIN4_BO_LAST authorized_ue_ambr_uplink optional,
2543 LIN4_BO_LAST authorized_ue_ambr_downlink optional
2544} with {
2545 variant "PRESENCE(type_gtpc = 'C8'O)";
2546 variant (lengthf) "LENGTHTO(subscribed_ue_ambr_uplink,subscribed_ue_ambr_downlink,authorized_ue_ambr_uplink,authorized_ue_ambr_downlink)";
2547}
2548
2549//7.7.101
2550type record APN_AMBR_NSAPI {
2551 OCT1 type_gtpc,
2552 LIN2_BO_LAST lengthf (9),
2553 HEX1 nsapi,
2554 HEX1 spare,
2555 LIN4_BO_LAST authorized_apn_ambr_uplink,
2556 LIN4_BO_LAST authorized_apn_ambr_downlink
2557} with {
2558 variant "PRESENCE(type_gtpc = 'C9'O)";
2559 variant (lengthf) "LENGTHTO(spare, nsapi,authorized_apn_ambr_uplink,authorized_apn_ambr_downlink)";
2560}
2561
2562//7.7.102
2563type record GGSN_BackOffTime {
2564 OCT1 type_gtpc,
2565 LIN2_BO_LAST lengthf,
2566 BIT5 timerValue,
2567 BIT3 timerUnit,
2568 octetstring explicitly_specified optional
2569} with {
2570 variant "PRESENCE(type_gtpc = 'CA'O)";
2571 variant (lengthf) "LENGTHTO(timerValue, timerUnit, explicitly_specified)";
2572}
2573
2574//7.7.103
2575type record SignallingPriorityIndication {
2576 OCT1 type_gtpc,
2577 LIN2_BO_LAST lengthf,
2578 BIT1 lapi,
2579 BIT7 spare,
2580 octetstring explicitly_specified optional
2581} with {
2582 variant "PRESENCE(type_gtpc = 'CB'O)";
2583 variant (lengthf) "LENGTHTO(lapi, spare, explicitly_specified)";
2584}
2585
2586//7.7.104
2587type record SignallingPriorityIndication_NSAPI {
2588 OCT1 type_gtpc,
2589 LIN2_BO_LAST lengthf,
2590 BIT1 nsapi,
2591 BIT7 spare1,
2592 BIT1 lapi,
2593 BIT7 spare2,
2594 octetstring explicitly_specified optional
2595} with {
2596 variant "PRESENCE(type_gtpc = 'CC'O)";
2597 variant (lengthf) "LENGTHTO(nsapi, spare1, lapi, spare2, explicitly_specified)";
2598}
2599
2600//7.7.105
2601type record Higher_Bitrates_Than_16Mbps_Flag {
2602 OCT1 type_gtpc,
2603 LIN2_BO_LAST lengthf (1),
2604 LIN1 flag
2605} with {
2606 variant "PRESENCE(type_gtpc = 'CD'O)";
2607 variant (lengthf) "LENGTHTO(flag)";
2608}
2609
2610//7.7.106
2611// (void)
2612
2613//7.7.107
2614type record SRVCC_MM_Context {
2615 OCT1 type_gtpc,
2616 LIN2_BO_LAST lengthf,
2617 LIN1 mobile_station_classmark2_len,
2618 octetstring mobile_station_classmark2,
2619 LIN1 mobile_station_classmark3_len,
2620 octetstring mobile_station_classmark3,
2621 LIN1 supported_codec_list_len,
2622 octetstring supported_codec_list,
2623 octetstring explicitly_specified optional
2624} with {
2625 variant "PRESENCE(type_gtpc = 'CF'O)";
2626 variant (lengthf) "LENGTHTO(mobile_station_classmark2_len, mobile_station_classmark2,
2627 mobile_station_classmark3_len, mobile_station_classmark3,
2628 supported_codec_list_len, supported_codec_list,
2629 explicitly_specified)";
2630 variant (mobile_station_classmark2_len) "LENGTHTO(mobile_station_classmark2)";
2631 variant (mobile_station_classmark3_len) "LENGTHTO(mobile_station_classmark3)";
2632 variant (supported_codec_list_len) "LENGTHTO(supported_codec_list)";
2633}
2634
2635
2636//7.7.108
2637type record SRVCC_Flags {
2638 OCT1 type_gtpc,
2639 LIN2_BO_LAST lengthf,
2640 BIT1 ics,
2641 BIT7 spare,
2642 octetstring explicitly_specified optional
2643} with {
2644 variant "PRESENCE(type_gtpc = 'D0'O)";
2645 variant (lengthf) "LENGTHTO(ics, spare, explicitly_specified)";
2646}
2647
2648//7.7.109
2649type record STN_SR {
2650 OCT1 type_gtpc,
2651 LIN2_BO_LAST lengthf,
2652 OCT1 nanpi,
2653 Digits digits
2654} with {
2655 variant "PRESENCE(type_gtpc = 'D1'O)";
2656 variant (lengthf) "LENGTHTO(nanpi, digits)";
2657}
2658
2659type record of HEX1 Digits;
2660
2661//7.7.110
2662type record C_MSISDN {
2663 OCT1 type_gtpc,
2664 LIN2_BO_LAST lengthf,
2665 octetstring msisdn
2666} with {
2667 variant "PRESENCE(type_gtpc = 'D2'O)";
2668 variant (lengthf) "LENGTHTO(msisdn)";
2669}
2670
2671//7.7.111
2672type record Extended_RANAP_Cause {
2673 OCT1 type_gtpc,
2674 LIN2_BO_LAST lengthf,
2675 integer extended_ranap_cause (1..512),
2676 octetstring explicitly_specified optional
2677} with {
2678 variant "PRESENCE(type_gtpc = 'D3'O)";
2679 variant (lengthf) "LENGTHTO(extended_ranap_cause, explicitly_specified)";
2680 variant (extended_ranap_cause) "FIELDLENGTH(16), COMP(nosign), BYTEORDER(last)"
2681}
2682
2683//7.7.112
2684type record ENodeB_ID {
2685 OCT1 type_gtpc,
2686 LIN2_BO_LAST lengthf,
2687 OCT1 eNodeB_type,
2688 ENodeB_IDs eNodeB_ID
2689} with {
2690 variant "PRESENCE(type_gtpc = 'D4'O)";
2691 variant (lengthf) "LENGTHTO(eNodeB_type, eNodeB_ID)";
2692 variant "CROSSTAG(macroENodeB_ID, eNodeB_type = '00'O;
2693 homeENodeB_ID, eNodeB_type = '01'O;)"
2694}
2695
2696type union ENodeB_IDs
2697{
2698 HomeENodeB_ID homeENodeB_ID,
2699 MacroENodeB_ID macroENodeB_ID
2700}
2701
2702type record MacroENodeB_ID
2703{
2704 HEX1 mcc1,
2705 HEX1 mcc2,
2706 HEX1 mcc3,
2707 HEX1 mnc3,
2708 HEX1 mnc1,
2709 HEX1 mnc2,
2710 BIT4 spare,
2711 bitstring macroENodeB_ID length(20),
2712 OCT2 tac
2713} with {
2714 variant (spare,macroENodeB_ID) "FIELDORDER(msb)";
2715 variant (macroENodeB_ID) "FIELDLENGTH(20)";
2716}
2717
2718type record HomeENodeB_ID
2719{
2720 HEX1 mcc1,
2721 HEX1 mcc2,
2722 HEX1 mcc3,
2723 HEX1 mnc3,
2724 HEX1 mnc1,
2725 HEX1 mnc2,
2726 BIT4 spare,
2727 bitstring homeENodeB_ID length(28),
2728 OCT2 tac
2729} with {
2730 variant (spare,homeENodeB_ID) "FIELDORDER(msb)";
2731 variant (homeENodeB_ID) "FIELDLENGTH(28)";
2732}
2733
2734//7.7.113
2735type record SelectionMode_NSAPI {
2736 OCT1 type_gtpc,
2737 LIN2_BO_LAST lengthf,
2738 BIT4 nsapi,
2739 BIT4 spare1,
2740 BIT2 selectionMode,
2741 BIT6 spare2
2742} with {
2743 variant "PRESENCE(type_gtpc = 'D5'O)";
2744 variant (lengthf) "LENGTHTO(nsapi, spare1, selectionMode, spare2)";
2745}
2746
2747//7.7.114
2748type record ULI_Timestamp {
2749 OCT1 type_gtpc,
2750 LIN2_BO_LAST lengthf,
2751 OCT4 uliTimestampValue,
2752 octetstring explicitly_specified optional
2753} with {
2754 variant "PRESENCE(type_gtpc = 'D6'O)";
2755 variant (lengthf) "LENGTHTO(uliTimestampValue, explicitly_specified)";
2756}
2757
2758//7.7.115
2759type record LHN_ID_NSAPI {
2760 OCT1 type_gtpc,
2761 LIN2_BO_LAST lengthf,
2762 BIT4 nsapi,
2763 BIT4 spare,
2764 octetstring lHN_ID optional
2765} with {
2766 variant "PRESENCE(type_gtpc = 'D7'O)";
2767 variant (lengthf) "LENGTHTO(nsapi, spare, lHN_ID)";
2768}
2769
2770//7.7.116
2771type record CN_OperatorSelectionEntity {
2772 OCT1 type_gtpc,
2773 LIN2_BO_LAST lengthf,
2774 BIT2 selectionEntity,
2775 BIT6 spare,
2776 octetstring explicitly_specified optional
2777} with {
2778 variant "PRESENCE(type_gtpc = 'D8'O)";
2779 variant (lengthf) "LENGTHTO(selectionEntity, spare, explicitly_specified)";
2780}
2781
2782//7.7.117
2783type record UE_UsageType {
2784 OCT1 type_gtpc,
2785 LIN2_BO_LAST lengthf,
2786 LIN4_BO_LAST uE_UsageTypeValue
2787 } with {
2788 variant "PRESENCE(type_gtpc = 'D9'O)";
2789 variant (lengthf) "LENGTHTO(uE_UsageTypeValue)";
2790}
2791
2792//7.7.118
2793type record ExtendedCommonFlagsII {
2794 OCT1 type_gtpc,
2795 LIN2_BO_LAST lengthf,
2796 BIT1 pnsi,
2797 BIT1 dtci,
2798 BIT6 spare,
2799 octetstring explicitly_specified optional
2800 } with {
2801 variant "PRESENCE(type_gtpc = 'DA'O)";
2802 variant (lengthf) "LENGTHTO(pnsi, dtci, spare, explicitly_specified)";
2803}
2804
2805//7.7.119
2806type record NodeIdentifier {
2807 OCT1 type_gtpc,
2808 LIN2_BO_LAST lengthf,
2809 octetstring nodeIdentifier
2810 } with {
2811 variant "PRESENCE(type_gtpc = 'DB'O)";
2812 variant (lengthf) "LENGTHTO( nodeIdentifier)";
2813}
2814
2815/////////////////////////////
2816// Message Type Values
2817// 7.1 Table 1
2818/////////////////////////////
2819type OCT1 MessageType_gtpc;
2820
2821// 0 For future use. Shall not be sent. If received, shall be treated as an
2822// Unknown message
2823
2824const MessageType_gtpc echoRequest := '01'O;
2825const MessageType_gtpc echoResponse := '02'O;
2826const MessageType_gtpc versionNotSupported := '03'O;
2827
2828// 4 - 7: For GTP'
2829
2830// 8 - 15 for future use. Shall not be sent.
2831// If received, shall be treated as an Unknown message
2832
2833const MessageType_gtpc createPDPContextRequest := '10'O;
2834const MessageType_gtpc createPDPContextResponse := '11'O;
2835const MessageType_gtpc updatePDPContextRequest := '12'O;
2836const MessageType_gtpc updatePDPContextResponse := '13'O;
2837const MessageType_gtpc deletePDPContextRequest := '14'O;
2838const MessageType_gtpc deletePDPContextResponse := '15'O;
2839const MessageType_gtpc initiatePDPContextActivationRequest := '16'O;
2840const MessageType_gtpc initiatePDPContextActivationResponse := '17'O;
2841
2842// 24 - 25 for future use.
2843// Shall not be sent. If received, shall be treated as an Unknown message
2844
2845// 26 for GTP-U only
2846
2847const MessageType_gtpc pduNotificationRequest := '1B'O;
2848const MessageType_gtpc pduNotificationResponse := '1C'O;
2849const MessageType_gtpc pduNotificationRejectRequest := '1D'O;
2850const MessageType_gtpc pduNotificationRejectResponse := '1E'O;
2851
2852const MessageType_gtpc supportedExtHeadersNotification := '1F'O;
2853const MessageType_gtpc sendRoutingInfoForGPRSRequest := '20'O;
2854const MessageType_gtpc sendRoutingInfoForGPRSResponse := '21'O;
2855const MessageType_gtpc failureReportRequest := '22'O;
2856const MessageType_gtpc failureReportResponse := '23'O;
2857const MessageType_gtpc noteMS_GPRSPresentRequest := '24'O;
2858const MessageType_gtpc noteMS_GPRSPresentResponse := '25'O;
2859
2860// 38 - 47 for future use. Shall not be sent.
2861// If received, shall be treated as an Unknown message
2862
2863const MessageType_gtpc identificationRequest := '30'O;
2864const MessageType_gtpc identificationResponse := '31'O;
2865const MessageType_gtpc sgsnContextRequest := '32'O;
2866const MessageType_gtpc sgsnContextResponse := '33'O;
2867const MessageType_gtpc sgsnContextAcknowledge := '34'O;
2868const MessageType_gtpc forwardRelocationRequest := '35'O;
2869const MessageType_gtpc forwardRelocationResponse := '36'O;
2870const MessageType_gtpc forwardRelocationComplete := '37'O;
2871const MessageType_gtpc relocationCancelRequest := '38'O;
2872const MessageType_gtpc relocationCancelResponse := '39'O;
2873const MessageType_gtpc forwardSRNSContext := '3A'O;
2874const MessageType_gtpc forwardRelocationCompleteAcknowledge := '3B'O;
2875const MessageType_gtpc forwardSRNSContextAcknowledge := '3C'O;
2876const MessageType_gtpc ueRegistrationQueryRequest := '3D'O;
2877const MessageType_gtpc ueRegistrationQueryResponse := '3E'O;
2878
2879// 63 - 69 for future use. Shall not be sent. If received, shall be treated as
2880// an Unknown message
2881
2882const MessageType_gtpc rANInformationRelay := '46'O;
2883
2884// 71 -95 for future use. Shall not be sent. If received, shall be treated as
2885// an Unknown message
2886
2887const MessageType_gtpc mBMSNotificationRequest := '60'O;
2888const MessageType_gtpc mBMSNotificationResponse := '61'O;
2889const MessageType_gtpc mBMSNotificationRejectRequest := '62'O;
2890const MessageType_gtpc mBMSNotificationRejectResponse := '63'O;
2891const MessageType_gtpc createMBMSContextRequest := '64'O;
2892const MessageType_gtpc createMBMSContextResponse := '65'O;
2893const MessageType_gtpc updateMBMSContextRequest := '66'O;
2894const MessageType_gtpc updateMBMSContextResponse := '67'O;
2895const MessageType_gtpc deleteMBMSContextRequest := '68'O;
2896const MessageType_gtpc deleteMBMSContextResponse := '69'O;
2897
2898// 106-111 for future use. Shall not be sent. If received, shall be treated as
2899// an Unknown message
2900
2901const MessageType_gtpc mBMSRegistrationRequest := '70'O;
2902const MessageType_gtpc mBMSRegistrationResponse := '71'O;
2903const MessageType_gtpc mBMSDeRegistrationRequest := '72'O;
2904const MessageType_gtpc mBMSDeRegistrationResponse := '73'O;
2905
2906const MessageType_gtpc mBMSSessionStartRequest := '74'O;
2907const MessageType_gtpc mBMSSessionStartResponse := '75'O;
2908const MessageType_gtpc mBMSSessionStopRequest := '76'O;
2909const MessageType_gtpc mBMSSessionStopResponse := '77'O;
2910
2911const MessageType_gtpc mBMSSessionUpdateRequest := '78'O;
2912const MessageType_gtpc mBMSSessionUpdateResponse := '79'O;
2913
2914// 122 - 127 for future use. Shall not be sent.
2915// If received, shall be treated as an Unknown message
2916
2917const MessageType_gtpc mS_InfoChangeNotificationRequest := '80'O;
2918const MessageType_gtpc mS_InfoChangeNotificationResponse := '81'O
2919
2920// 130 - 239 for future use. Shall not be sent.
2921// If received, shall be treated as an Unknown message
2922
2923// 240 - 241 not used in GTP-C
2924
2925// 242 - 254 for future use. Shall not be sent.
2926// If received, shall be treated as an Unknown message
2927
2928// 255 not used in GTP-C
2929
2930const MessageType_gtpc g_PDU := 'FF'O;
2931
2932
2933/////////////////////////////
2934// GTP-C messages
2935/////////////////////////////
2936// Echo Request - 7.2.1
2937type record EchoRequest {
2938 PrivateExtension_gtpc_List private_extension_gtpc optional
2939}
2940
2941// Echo Response - 7.2.2
2942type record EchoResponse {
2943 Recovery_gtpc recovery,
2944 PrivateExtension_gtpc_List private_extension_gtpc optional
2945}
2946
2947// Version Not Supported - 7.2.3
2948type record VersionNotSupported {
2949};
2950
2951// Supported Extension Headers Notification - 7.2.4
2952type record SupportedExtensionHeadersNotification {
2953 ExtensionHeaderTypeList_gtpc extensionHeaderTypeList
2954} with {variant ""};
2955
2956// Create PDP Context Request - 7.3.1
2957type record CreatePDPContextRequest {
2958 IMSI_gtpc imsi optional,
2959 RoutingAreaIdentity rai optional,
2960 Recovery_gtpc recovery optional,
2961 SelectionMode selectionMode optional,
2962 TeidDataI teidDataI,
2963 TeidControlPlane teidControlPlane optional,
2964 NSAPI_GTPC nsapi,
2965 NSAPI_GTPC linked_nsapi optional,
2966 ChargingCharacteristics_GTPC charging_char optional,
2967 TraceRef trace_ref optional,
2968 GTP_TraceType trace_type optional,
2969 EndUserAddress endUserAddress optional,
2970 AccessPointName accessPointName optional,
2971 ProtConfigOptions protConfigOptions optional,
2972 GSN_Address_GTPC sgsn_addr_signalling,
2973 GSN_Address_GTPC sgsn_addr_traffic,
2974 MSISDN msisdn optional,
2975 QualityOfServiceProfile qualityOfServiceProfile,
2976 TrafficFlowTemplate tft optional,
2977 GTP_TriggerID triggerId optional,
2978 OMCIdentity omcId optional,
2979 CommonFlags commonFlags optional,
2980 APN_Restriction aPN_Restriction optional,
2981 RATType ratType optional,
2982 UserLocationInformation userLocationInformation optional,
2983 MS_TimeZone mS_TimeZone optional,
2984 IMEISV_gtpc imeisv optional,
2985 CamelChargingInformationContainer camelChargingInformationContainer optional,
2986 AdditionalTraceInfo additionalTraceInfo optional,
2987 CorrelationID correlationID optional,
2988 EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional,
2989 ExtendedCommonFlags extendedCommonFlags optional,
2990 UserCSGInformation userCSGInformation optional,
2991 APN_AMBR aPN_AMBR optional,
2992 SignallingPriorityIndication signallingPriorityIndication optional,
2993 CN_OperatorSelectionEntity cN_OperatorSelectionEntity optional,
2994 PrivateExtension_gtpc_List private_extension_gtpc optional
2995};
2996
2997// Create PDP Context Response - 7.3.2
2998type record CreatePDPContextResponse {
2999 Cause_gtpc cause,
3000 ReorderingRequired reorderingRequired optional,
3001 Recovery_gtpc recovery optional,
3002 TeidDataI teidDataI optional,
3003 TeidControlPlane teidControlPlane optional,
3004 NSAPI_GTPC nsapi optional,
3005 ChargingID chargingID optional,
3006 EndUserAddress endUserAddress optional,
3007 ProtConfigOptions protConfigOptions optional,
3008 GSN_Address_GTPC ggsn_addr_controlPlane optional,
3009 GSN_Address_GTPC ggsn_addr_traffic optional,
3010 GSN_Address_GTPC alt_ggsn_addr_controlPane optional,
3011 GSN_Address_GTPC alt_ggsn_addr_traffic optional,
3012 QualityOfServiceProfile qualityOfServiceProfile optional,
3013 CommonFlags commonFlags optional,
3014 APN_Restriction aPN_Restriction optional,
3015 MS_InfoChangeReportingAction mS_InfoChangeReportingAction optional,
3016 BearerControlMode bearerControlMode optional,
3017 EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional,
3018 ExtendedCommonFlags extendedCommonFlag optional,
3019 CSGInfoReportingAction csg_information_reporting_action optional,
3020 APN_AMBR aPN_AMBR optional,
3021 GGSN_BackOffTime gGSN_BackOffTime optional,
3022 PrivateExtension_gtpc_List private_extension_gtpc optional
3023};
3024
3025
3026// Update PDP Context Request - 7.3.3
3027type union UpdatePDPContextRequest {
3028 UpdatePDPContextRequestSGSN updatePDPContextRequestSGSN,
3029 UpdatePDPContextRequestGGSN updatePDPContextRequestGGSN,
3030 UpdatePDPContextRequestCGW updatePDPContextRequestCGW
3031};
3032
3033//from SGSN
3034type record UpdatePDPContextRequestSGSN {
3035 IMSI_gtpc imsi optional,
3036 RoutingAreaIdentity rai optional,
3037 Recovery_gtpc recovery optional,
3038 TeidDataI teidDataI,
3039 TeidControlPlane teidControlPlane optional,
3040 NSAPI_GTPC nsapi,
3041 TraceRef trace_ref optional,
3042 GTP_TraceType trace_type optional,
3043 ProtConfigOptions protConfigOptions optional,
3044 GSN_Address_GTPC sgsn_addr_controlPlane,
3045 GSN_Address_GTPC sgsn_addr_traffic,
3046 GSN_Address_GTPC alt_ggsn_addr_controlPane optional,
3047 GSN_Address_GTPC alt_ggsn_addr_traffic optional,
3048 QualityOfServiceProfile qualityOfServiceProfile,
3049 TrafficFlowTemplate tft optional,
3050 GTP_TriggerID triggerId optional,
3051 OMCIdentity omcId optional,
3052 CommonFlags commonFlags optional,
3053 RATType ratType optional,
3054 UserLocationInformation userLocationInformation optional,
3055 MS_TimeZone mS_TimeZone optional,
3056 AdditionalTraceInfo additionalTraceInfo optional,
3057 DirectTunnelFlags directTunnelFlags optional,
3058 EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional,
3059 ExtendedCommonFlags extendedCommonFlags optional,
3060 UserCSGInformation userCSGInformation optional,
3061 APN_AMBR aPN_AMBR optional,
3062 SignallingPriorityIndication signallingPriorityIndication optional,
3063 CN_OperatorSelectionEntity cN_OperatorSelectionEntity optional,
3064 PrivateExtension_gtpc_List private_extension_gtpc optional
3065};
3066
3067//from GGSN
3068type record UpdatePDPContextRequestGGSN {
3069 IMSI_gtpc imsi optional,
3070 Recovery_gtpc recovery optional,
3071 NSAPI_GTPC nsapi,
3072 EndUserAddress endUserAddress optional,
3073 ProtConfigOptions protConfigOptions optional,
3074 QualityOfServiceProfile qualityOfServiceProfile optional,
3075 TrafficFlowTemplate tft optional,
3076 CommonFlags commonFlags optional,
3077 APN_Restriction aPN_Restriction optional,
3078 MS_InfoChangeReportingAction mS_InfoChangeReportingAction optional,
3079 DirectTunnelFlags directTunnelFlags optional,
3080 BearerControlMode bearerControlMode optional,
3081 EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional,
3082 ExtendedCommonFlags extendedCommonFlags optional,
3083 CSGInfoReportingAction cSGInfoReportingAction optional,
3084 APN_AMBR aPN_AMBR optional,
3085 PrivateExtension_gtpc_List private_extension_gtpc optional
3086};
3087
3088//from CGW
3089type record UpdatePDPContextRequestCGW {
3090 IMSI_gtpc imsi optional,
3091 Recovery_gtpc recovery optional,
3092 NSAPI_GTPC nsapi,
3093 EndUserAddress endUserAddress optional,
3094 ProtConfigOptions protConfigOptions optional,
3095 QualityOfServiceProfile qualityOfServiceProfile optional,
3096 TrafficFlowTemplate tft optional,
3097 CommonFlags commonFlags optional,
3098 APN_Restriction aPN_Restriction optional,
3099 MS_InfoChangeReportingAction mS_InfoChangeReportingAction optional,
3100 DirectTunnelFlags directTunnelFlags optional,
3101 BearerControlMode bearerControlMode optional,
3102 EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional,
3103 CSGInfoReportingAction cSGInfoReportingAction optional,
3104 APN_AMBR aPN_AMBR optional,
3105 PrivateExtension_gtpc_List private_extension_gtpc optional
3106};
3107
3108// Update PDP Context Response - 7.3.4
3109type union UpdatePDPContextResponse {
3110 UpdatePDPContextResponseSGSN updatePDPContextResponseSGSN,
3111 UpdatePDPContextResponseGGSN updatePDPContextResponseGGSN,
3112 UpdatePDPContextResponseCGW updatePDPContextResponseCGW
3113};
3114
3115//from GGSN
3116type record UpdatePDPContextResponseGGSN {
3117 Cause_gtpc cause,
3118 Recovery_gtpc recovery optional,
3119 TeidDataI teidDataI optional,
3120 TeidControlPlane teidControlPlane optional,
3121 ChargingID chargingID optional,
3122 ProtConfigOptions protConfigOptions optional,
3123 GSN_Address_GTPC ggsn_addr_controlPlane optional,
3124 GSN_Address_GTPC ggsn_addr_traffic optional,
3125 GSN_Address_GTPC alt_ggsn_addr_controlPane optional,
3126 GSN_Address_GTPC alt_ggsn_addr_traffic optional,
3127 QualityOfServiceProfile qualityOfServiceProfile optional,
3128 CommonFlags commonFlags optional,
3129 APN_Restriction aPN_Restriction optional,
3130 MS_InfoChangeReportingAction mS_InfoChangeReportingAction optional,
3131 BearerControlMode bearerControlMode optional,
3132 EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional,
3133 CSGInfoReportingAction csg_information_reporting_action optional,
3134 APN_AMBR aPN_AMBR optional,
3135 PrivateExtension_gtpc_List private_extension_gtpc optional
3136};
3137
3138//from CGW
3139type record UpdatePDPContextResponseCGW {
3140 Cause_gtpc cause,
3141 Recovery_gtpc recovery optional,
3142 TeidDataI teidDataI optional,
3143 TeidControlPlane teidControlPlane optional,
3144 ChargingID chargingID optional,
3145 ProtConfigOptions protConfigOptions optional,
3146 GSN_Address_GTPC ggsn_addr_controlPlane optional,
3147 GSN_Address_GTPC ggsn_addr_traffic optional,
3148 GSN_Address_GTPC alt_ggsn_addr_controlPane optional,
3149 GSN_Address_GTPC alt_ggsn_addr_traffic optional,
3150 QualityOfServiceProfile qualityOfServiceProfile optional,
3151 CommonFlags commonFlags optional,
3152 APN_Restriction aPN_Restriction optional,
3153 MS_InfoChangeReportingAction mS_InfoChangeReportingAction optional,
3154 BearerControlMode bearerControlMode optional,
3155 EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional,
3156 APN_AMBR aPN_AMBR optional,
3157 ChargingGatewayAddress chargingGatewayAddress optional,
3158 ChargingGatewayAddress alt_chargingGatewayAddress optional,
3159 PrivateExtension_gtpc_List private_extension_gtpc optional
3160};
3161
3162//from SGSN
3163type record UpdatePDPContextResponseSGSN {
3164 Cause_gtpc cause,
3165 Recovery_gtpc recovery optional,
3166 TeidDataI teidDataI optional,
3167 ProtConfigOptions protConfigOptions optional,
3168 GSN_Address_GTPC sgsn_addr_traffic optional,
3169 QualityOfServiceProfile qualityOfServiceProfile optional,
3170 UserLocationInformation userLocationInformation optional,
3171 MS_TimeZone mS_TimeZone optional,
3172 DirectTunnelFlags directTunnelFlags optional,
3173 EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional,
3174 APN_AMBR aPN_AMBR optional,
3175 PrivateExtension_gtpc_List private_extension_gtpc optional
3176};
3177
3178
3179// Delete PDP Context Request - 7.3.5
3180type record DeletePDPContextRequest {
3181 Cause_gtpc cause optional,
3182 TearDownInd tearDownIndicator optional,
3183 NSAPI_GTPC nsapi,
3184 ProtConfigOptions protConfigOptions optional,
3185 UserLocationInformation userLocationInformation optional,
3186 MS_TimeZone mS_TimeZone optional,
3187 ExtendedCommonFlags extendedCommonFlags optional,
3188 ULI_Timestamp uLI_Timestamp optional,
3189 PrivateExtension_gtpc_List private_extension_gtpc optional
3190};
3191
3192// Delete PDP Context Response - 7.3.6
3193type record DeletePDPContextResponse {
3194 Cause_gtpc cause,
3195 ProtConfigOptions protConfigOptions optional,
3196 UserLocationInformation userLocationInformation optional,
3197 MS_TimeZone mS_TimeZone optional,
3198 ULI_Timestamp uLI_Timestamp optional,
3199 PrivateExtension_gtpc_List private_extension_gtpc optional
3200};
3201
3202// PDU Notification Request - 7.3.8
3203type record PDU_NotificationRequest {
3204 IMSI_gtpc imsi,
3205 TeidControlPlane teidControlPlane,
3206 EndUserAddress endUserAddress,
3207 AccessPointName accessPointName,
3208 ProtConfigOptions protConfigOptions optional,
3209 GSN_Address_GTPC ggsn_addr_controlPlane,
3210 PrivateExtension_gtpc_List private_extension_gtpc optional
3211};
3212
3213// PDU Notification Response - 7.3.9
3214type record PDU_NotificationResponse {
3215 Cause_gtpc cause,
3216 PrivateExtension_gtpc_List private_extension_gtpc optional
3217}
3218
3219// PDU Notification Reject Request - 7.3.10
3220type record PDU_NotificationRejectRequest {
3221 Cause_gtpc cause,
3222 TeidControlPlane teidControlPlane,
3223 EndUserAddress endUserAddress,
3224 AccessPointName accessPointName,
3225 ProtConfigOptions protConfigOptions optional,
3226 PrivateExtension_gtpc_List private_extension_gtpc optional
3227};
3228
3229// PDU Notification Reject Response - 7.3.11
3230type record PDU_NotificationRejectResponse {
3231 Cause_gtpc cause,
3232 PrivateExtension_gtpc_List private_extension_gtpc optional
3233}
3234
3235// Initiate PDP Context Activation Request 7.3.12
3236type record InitiatePDPContextActivationRequest
3237{
3238 NSAPI_GTPC linkedNSAPI,
3239 ProtConfigOptions protConfigOptions optional,
3240 QualityOfServiceProfile qualityOfServiceProfile,
3241 TrafficFlowTemplate tft optional,
3242 CorrelationID correlationID,
3243 EvolvedAllocationRetentionPriorityI evolvedAllocationRetentionPriorityI optional,
3244 PrivateExtension_gtpc_List private_extension_gtpc optional
3245};
3246
3247// Initiate PDP Context Activation Response 7.3.13
3248type record InitiatePDPContextActivationResponse
3249{
3250 Cause_gtpc cause,
3251 ProtConfigOptions protConfigOptions optional,
3252 PrivateExtension_gtpc_List private_extension_gtpc optional
3253};
3254
3255// Send Routeing Information for GPRS Request - 7.4.1
3256type record SendRouteingInformationForGPRSRequest {
3257 IMSI_gtpc imsi,
3258 PrivateExtension_gtpc_List private_extension_gtpc optional
3259}
3260
3261// Send Routeing Information for GPRS Response - 7.4.2
3262type record SendRouteingInformationForGPRSResponse {
3263 Cause_gtpc cause,
3264 IMSI_gtpc imsi,
3265 MAP_Cause map_Cause optional,
3266 MSNotReachableReason mS_not_ReachableReason optional,
3267 GSN_Address_GTPC gsn_Address optional,
3268 PrivateExtension_gtpc_List private_extension_gtpc optional
3269};
3270
3271// Failure Report Request - 7.4.3
3272type record FailureReportRequest {
3273 IMSI_gtpc imsi,
3274 PrivateExtension_gtpc_List private_extension_gtpc optional
3275}
3276
3277// Failure Report Response - 7.4.4
3278type record FailureReportResponse {
3279 Cause_gtpc cause,
3280 MAP_Cause map_Cause optional,
3281 PrivateExtension_gtpc_List private_extension_gtpc optional
3282};
3283
3284// Note MS GPRS Present Request - 7.4.5
3285type record NoteMS_GPRSPresentRequest {
3286 IMSI_gtpc imsi,
3287 GSN_Address_GTPC gsn_Address,
3288 PrivateExtension_gtpc_List private_extension_gtpc optional
3289}
3290
3291// Note MS GPRS Present Response - 7.4.6
3292type record NoteMS_GPRSPresentResponse {
3293 Cause_gtpc cause,
3294 PrivateExtension_gtpc_List private_extension_gtpc optional
3295}
3296
3297// Identification Request - 7.5.1
3298type record IdentificationRequest {
3299 RoutingAreaIdentity routingAreaIdentity,
3300 PacketTMSI packetTMSI,
3301 PTMSI_Signature ptmsi_Signature optional,
3302 GSN_Address_GTPC sgsn_addr_controlPlane optional,
3303 HopCounter_gtpc hopCounter optional,
3304 PrivateExtension_gtpc_List private_extension_gtpc optional
3305};
3306
3307// Identification Response - 7.5.2
3308type record IdentificationResponse {
3309 Cause_gtpc cause,
3310 IMSI_gtpc imsi optional,
3311 AuthenticationTriplet_GTPC_SetOf authenticationTriplet optional,
3312 AuthenticationQuintuplet_GTPC authenticationQuintuplet optional,
3313 AuthenticationQuintuplet_GTPC authenticationQuintuplet2 optional,
3314 AuthenticationQuintuplet_GTPC authenticationQuintuplet3 optional,
3315 AuthenticationQuintuplet_GTPC authenticationQuintuplet4 optional,
3316 AuthenticationQuintuplet_GTPC authenticationQuintuplet5 optional,
3317 UE_UsageType uE_UsageType optional,
3318 PrivateExtension_gtpc_List private_extension_gtpc optional
3319};
3320
3321// SGSN Context Request - 7.5.3
3322type record SGSN_ContextRequest {
3323 IMSI_gtpc imsi optional,
3324 RoutingAreaIdentity routingAreaIdentity ,
3325 TLLI tlli optional,
3326 PacketTMSI packetTMSI optional,
3327 PTMSI_Signature ptmsi_Signature optional,
3328 MS_Validated ms_Validated optional,
3329 TeidControlPlane teidControlPlane,
3330 GSN_Address_GTPC sgsn_addr_controlPlane,
3331 GSN_Address_GTPC alternative_sgsn_addr_controlPlane optional,
3332 SGSN_Number sGSN_Number optional,
3333 RATType ratType optional,
3334 HopCounter_gtpc hopCounter optional,
3335 PrivateExtension_gtpc_List private_extension_gtpc optional
3336};
3337
3338// SGSN Context Response - 7.5.4
3339 type record SGSN_ContextResponse
3340{
3341 Cause_gtpc cause,
3342 IMSI_gtpc imsi optional,
3343 TeidControlPlane teidControlPlane optional,
3344 RABContext_List rabContext optional,
3345 RadioPrioritySMS radioPrioritySMS optional,
3346 RadioPriority_List radioPriority optional,
3347 PacketFlowID_List packetFlowID optional,
3348 ChargingCharacteristics_List_GTPC charging_char optional,
3349 MM_Context mm_Context optional,
3350 PDP_Context_GTPC_List pdp_Context optional,
3351 GSN_Address_GTPC sgsn_addr_controlPlane optional,
3352 PDPContextPriorization pdpContextPriorization optional,
3353 RadioPriorityLCS radioPriority_LCS optional,
3354 MBMS_UE_Context_List mBMS_UE_Context optional,
3355 RFSP_Index subscribedRFSP_Index optional,
3356 RFSP_Index rFSP_IndexInUse optional,
3357 FullyQualifiedDomainName_List colocatedGGSN_PGW_FQDN optional,
3358 EvolvedAllocationRetentionPriorityII_List evolvedAllocationRetentionPriorityII optional,
3359 ExtendedCommonFlags extendedCommonFlags optional,
3360 UE_Network_Capability ue_network_capability optional,
3361 UE_AMBR ue_ambr optional,
3362 APN_AMBR_NSAPI apn_ambr_nsapi optional,
3363 SignallingPriorityIndication_NSAPI signallingPriorityIndication_nsapi optional,
3364 Higher_Bitrates_Than_16Mbps_Flag higher_bitrates_than_16mbps_flag optional,
3365 SelectionMode_NSAPI selectionMode_nsapi optional,
3366 LHN_ID_NSAPI localHomeNetworkID_nsapi optional,
3367 UE_UsageType uE_UsageType optional,
3368 ExtendedCommonFlagsII extendedCommonFlagsII optional,
3369 PrivateExtension_gtpc_List private_extension_gtpc optional
3370};
3371
3372
3373// SGSN Context Acknowledge - 7.5.5
3374type record SGSN_ContextAcknowledge {
3375 Cause_gtpc cause,
3376 TeidDataII_List teidDataII optional,
3377 GSN_Address_GTPC sgsn_AddressForUserTraffic optional,
3378 SGSN_Number sgsn_Number optional,
3379 NodeIdentifier nodeIdentifier optional,
3380 PrivateExtension_gtpc_List private_extension_gtpc optional
3381};
3382
3383// Forward Relocation Request - 7.5.6
3384type record ForwardRelocationRequest {
3385 IMSI_gtpc imsi optional,
3386 TeidControlPlane teidControlPlane,
3387 RANAPCause ranapCause,
3388 PacketFlowID_List packetFlowID optional,
3389 ChargingCharacteristics_List_GTPC charging_char optional,
3390 MM_Context mmContext,
3391 PDP_Context_GTPC_List pdpContext optional,
3392 GSN_Address_GTPC sgsn_addr_controlPlane,
3393 TargetIdentification targetId,
3394 UTRANTransparentContainer transpContainer,
3395 PDPContextPriorization pdpContextPriorization optional,
3396 MBMS_UE_Context_List mBMS_UE_Context optional,
3397 Selected_PLMN_ID selected_PLMN_ID optional,
3398 BSS_Container bSS_Container optional,
3399 Cell_Identification_gtpc cell_Identification optional,
3400 BSSGP_Cause_gtpc bSSGP_Cause_gtpc optional,
3401 PS_HandoverXIDParameters_List pS_HandoverXIDParameters optional,
3402 DirectTunnelFlags directTunnelFlags optional,
3403 ReliableInterRATHandoverInfo reliableInterRATHandoverInfo optional,
3404 RFSP_Index subscribedRFSP_Index optional,
3405 RFSP_Index rFSP_IndexInUse optional,
3406 FullyQualifiedDomainName_List colocatedGGSN_PGW_FQDN optional,
3407 EvolvedAllocationRetentionPriorityII_List evolvedAllocationRetentionPriorityII optional,
3408 ExtendedCommonFlags extendedCommonFlags optional,
3409 CSG_Id cSG_Id optional,
3410 CSG_MembershipIndication cSG_MembershipIndication optional,
3411 UE_Network_Capability ue_network_capability optional,
3412 UE_AMBR ue_ambr optional,
3413 APN_AMBR_NSAPI apn_ambr_nsapi optional,
3414 SignallingPriorityIndication_NSAPI signallingPriorityIndication_nsapi optional,
3415 Higher_Bitrates_Than_16Mbps_Flag higher_bitrates_than_16mbps_flag optional,
3416 SRVCC_MM_Context srvcc_mm_context optional,
3417 SRVCC_Flags srvcc_flags optional,
3418 STN_SR stn_sr optional,
3419 C_MSISDN c_msisdn optional,
3420 Extended_RANAP_Cause extended_ranap_cause optional,
3421 ENodeB_ID eNodeB_ID optional,
3422 SelectionMode_NSAPI selectionMode_nsapi optional,
3423 UE_UsageType uE_UsageType optional,
3424 ExtendedCommonFlagsII extendedCommonFlagsII optional,
3425 PrivateExtension_gtpc_List private_extension_gtpc optional //to be compatible with GTP 9.11.0
3426};
3427
3428
3429
3430
3431// Forward Relocation Response - 7.5.7
3432type record ForwardRelocationResponse {
3433 Cause_gtpc cause,
3434 TeidControlPlane teidControlPlane optional,
3435 TeidDataII_List teidDataII optional,
3436 RANAPCause ranapCause optional,
3437 GSN_Address_GTPC sgsn_addr_controlPlane optional,
3438 GSN_Address_GTPC sgsn_addr_traffic optional,
3439 UTRANTransparentContainer transpContainer optional,
3440 RABSetupInformation_List rabSetupInfo optional,
3441 AdditionalRABSetupInformation_List additionalRABSetupInfo optional,
3442 SGSN_Number sGSN_Number optional,
3443 BSS_Container bSS_Container optional,
3444 BSSGP_Cause_gtpc bSSGP_Cause_gtpc optional,
3445 ListOfSetupPFCs_gtpc listOfSetupPFCs_gtpc optional,
3446 Extended_RANAP_Cause extended_ranap_cause optional,
3447 PrivateExtension_gtpc_List private_extension_gtpc optional
3448};
3449
3450// Forward Relocation Complete - 7.5.8
3451type record ForwardRelocationComplete {
3452 PrivateExtension_gtpc_List private_extension_gtpc optional
3453}
3454
3455// Relocation Cancel Request - 7.5.9
3456type record RelocationCancelRequest {
3457 IMSI_gtpc imsi optional,
3458 IMEISV_gtpc imeisv_gtpc optional,
3459 ExtendedCommonFlags extended_common_flags optional,
3460 Extended_RANAP_Cause extended_ranap_cause optional,
3461 PrivateExtension_gtpc_List private_extension_gtpc optional
3462}
3463
3464// Relocation Cancel Response - 7.5.10
3465type record RelocationCancelResponse {
3466 Cause_gtpc cause,
3467 PrivateExtension_gtpc_List private_extension_gtpc optional
3468}
3469
3470// Forward Relocation Complete Acknowledge - 7.5.11
3471type record ForwardRelocationCompleteAcknowledge {
3472 Cause_gtpc cause,
3473 PrivateExtension_gtpc_List private_extension_gtpc optional
3474}
3475
3476// 60 Forward SRNS Context Acknowledge - 7.5.12
3477type record ForwardSRNSContextAcknowledge {
3478 Cause_gtpc cause,
3479 PrivateExtension_gtpc_List private_extension_gtpc optional
3480}
3481
3482// Forward SRNS Context - 7.5.13
3483type record ForwardSRNSContext {
3484 RABContext_List rabContext,
3485 SourceRNC_PDCP_ContextInfo sourceRNC_PDCP_ContextInfo optional,
3486 PDU_Numbers_List pDU_Numbers optional,
3487 PrivateExtension_gtpc_List private_extension_gtpc optional
3488};
3489
3490// RAN InformationRelay - 7.5.14.1
3491type record RANInformationRelay{
3492 RANTransparentContainer transparentContainer,
3493 RIM_RoutingAddress rIM_RoutingAddress optional,
3494 RIM_RoutingAddress_Discriminator rIM_RoutingAddress_Discriminator optional,
3495 PrivateExtension_gtpc_List private_extension_gtpc optional
3496};
3497
3498// UE Registration Query Request - 7.5.15
3499type record UERegistrationQueryRequest {
3500 IMSI_gtpc imsi,
3501 PrivateExtension_gtpc_List private_extension_gtpc optional
3502}
3503
3504// UE Registration Query Response - 7.5.16
3505type record UERegistrationQueryResponse {
3506 Cause_gtpc cause,
3507 IMSI_gtpc imsi,
3508 Selected_PLMN_ID selected_PLMN_ID optional,
3509 PrivateExtension_gtpc_List private_extension_gtpc optional
3510}
3511
3512// MBMS Notification Request - 7.5A.1.1
3513type record MBMSNotificationRequest
3514{
3515 IMSI_gtpc imsi,
3516 TeidControlPlane teidControlPlane,
3517 NSAPI_GTPC nsapi,
3518 EndUserAddress endUserAddress,
3519 AccessPointName accessPointName,
3520 GSN_Address_GTPC ggsn_addr_controlPlane,
3521 MBMS_ProtocolConfigurationOptions mBMS_ProtocolConfigurationOptions optional,
3522 PrivateExtension_gtpc_List private_extension_gtpc optional
3523};
3524
3525// MBMS Notification Response - 7.5A.1.2
3526type record MBMSNotificationResponse
3527{
3528 Cause_gtpc cause,
3529 PrivateExtension_gtpc_List private_extension_gtpc optional
3530}
3531
3532// MBMS Notification Reject Request - 7.5A.1.3
3533type record MBMSNotificationRejectRequest
3534{
3535 Cause_gtpc cause,
3536 TeidControlPlane teidControlPlane,
3537 NSAPI_GTPC nsapi,
3538 EndUserAddress endUserAddress,
3539 AccessPointName accessPointName,
3540 GSN_Address_GTPC sgsn_addr_controlPlane optional,
3541 PrivateExtension_gtpc_List private_extension_gtpc optional
3542};
3543
3544// MBMS Notification Reject Response - 7.5A.1.4
3545type record MBMSNotificationRejectResponse
3546{
3547 Cause_gtpc cause,
3548 PrivateExtension_gtpc_List private_extension_gtpc optional
3549}
3550
3551// Create MBMS Context Request - 7.5A.1.5
3552type record CreateMBMSContextRequest
3553{
3554 IMSI_gtpc imsi optional,
3555 RoutingAreaIdentity rai,
3556 Recovery_gtpc recovery optional,
3557 SelectionMode selectionMode optional,
3558 TeidControlPlane teidControlPlane optional,
3559 TraceRef trace_ref optional,
3560 GTP_TraceType trace_type optional,
3561 EndUserAddress endUserAddress,
3562 AccessPointName accessPointName,
3563 GSN_Address_GTPC sGSNAddressForSignalling,
3564 MSISDN msisdn optional,
3565 GTP_TriggerID triggerId optional,
3566 OMCIdentity omcId optional,
3567 RATType ratType optional,
3568 UserLocationInformation userLocationInformation optional,
3569 MS_TimeZone mS_TimeZone optional,
3570 IMEISV_gtpc imeisv optional,
3571 MBMS_ProtocolConfigurationOptions mBMS_ProtocolConfigurationOptions optional,
3572 AdditionalTraceInfo additionalTraceInfo optional,
3573 Enhanced_NSAPI enhanced_NSAPI,
3574 AdditionalMBMSTraceInfo additionalMBMSTraceInfo optional,
3575 PrivateExtension_gtpc_List private_extension_gtpc optional
3576};
3577
3578// Create MBMS Context Response - 7.5A.1.6
3579type record CreateMBMSContextResponse
3580{
3581 Cause_gtpc cause,
3582 Recovery_gtpc recovery optional,
3583 TeidControlPlane teidControlPlane optional,
3584 ChargingID chargingID optional,
3585 GSN_Address_GTPC ggsn_addr_controlPlane optional,
3586 GSN_Address_GTPC alternative_ggsn_addr_controlPlane optional,
3587 MBMS_ProtocolConfigurationOptions mBMS_ProtocolConfigurationOptions optional,
3588 ChargingGatewayAddress chargingGatewayAddress optional,
3589 ChargingGatewayAddress alt_chargingGatewayAddress optional,
3590 PrivateExtension_gtpc_List private_extension_gtpc optional
3591};
3592
3593// Update MBMS Context Request - 7.5A.1.7
3594type record UpdateMBMSContextRequest
3595{
3596 RoutingAreaIdentity rai,
3597 Recovery_gtpc recovery optional,
3598 TeidControlPlane teidControlPlane optional,
3599 TraceRef trace_ref optional,
3600 GTP_TraceType trace_type optional,
3601 GSN_Address_GTPC sgsn_addr_controlPlane,
3602 GSN_Address_GTPC alternative_sgsn_addr_controlPlane optional,
3603 GTP_TriggerID triggerId optional,
3604 OMCIdentity omcId optional,
3605 RATType ratType optional,
3606 UserLocationInformation userLocationInformation optional,
3607 MS_TimeZone mS_TimeZone optional,
3608 AdditionalTraceInfo additionalTraceInfo optional,
3609 Enhanced_NSAPI enhanced_NSAPI,
3610 AdditionalMBMSTraceInfo additionalMBMSTraceInfo optional,
3611 PrivateExtension_gtpc_List private_extension_gtpc optional
3612};
3613
3614// Update MBMS Context Response - 7.5A.1.8
3615type record UpdateMBMSContextResponse
3616{
3617 Cause_gtpc cause,
3618 Recovery_gtpc recovery optional,
3619 TeidControlPlane teidControlPlane optional,
3620 ChargingID chargingID optional,
3621 GSN_Address_GTPC ggsn_addr_controlPlane optional,
3622 GSN_Address_GTPC alternative_ggsn_addr_controlPlane optional,
3623 ChargingGatewayAddress chargingGatewayAddress optional,
3624 ChargingGatewayAddress alt_chargingGatewayAddress optional,
3625 PrivateExtension_gtpc_List private_extension_gtpc optional
3626};
3627
3628// Delete MBMS Context Request - 7.5A.1.9
3629type record DeleteMBMSContextRequest
3630{
3631 IMSI_gtpc imsi optional,
3632 TeidControlPlane teidControlPlane optional,
3633 EndUserAddress endUserAddress optional,
3634 AccessPointName accessPointName optional,
3635 MBMS_ProtocolConfigurationOptions mBMS_ProtocolConfigurationOptions optional,
3636 Enhanced_NSAPI enhanced_NSAPI optional,
3637 PrivateExtension_gtpc_List private_extension_gtpc optional
3638};
3639
3640// Delete MBMS Context Response - 7.5A.1.10
3641type record DeleteMBMSContextResponse
3642{
3643 Cause_gtpc cause,
3644 MBMS_ProtocolConfigurationOptions mBMS_ProtocolConfigurationOptions optional,
3645 PrivateExtension_gtpc_List private_extension_gtpc optional
3646};
3647
3648// MBMS Registration Request - 7.5A.2.1
3649type record MBMSRegistrationRequest_gtpc
3650{
3651 TeidControlPlane teidControlPlane optional,
3652 EndUserAddress endUserAddress,
3653 AccessPointName accessPointName,
3654 GSN_Address_GTPC sgsn_addr_controlPlane optional,
3655 GSN_Address_GTPC alternative_sgsn_addr_controlPlane optional,
3656 PrivateExtension_gtpc_List private_extension_gtpc optional
3657};
3658
3659// MBMS Registration Response - 7.5A.2.2
3660type record MBMSRegistrationResponse_gtpc
3661{
3662 Cause_gtpc cause,
3663 TeidControlPlane teidControlPlane optional,
3664 GSN_Address_GTPC ggsn_addr_controlPlane optional,
3665 TMGI_gtpc tMGI optional,
3666 RequiredMBMS_BearerCapabilities reqMBMS_BearerCapabilities optional,
3667 PrivateExtension_gtpc_List private_extension_gtpc optional
3668};
3669
3670// MBMS De-registration Request - 7.5A.2.3
3671type record MBMSDeRegistrationRequest
3672{
3673 EndUserAddress endUserAddress,
3674 AccessPointName accessPointName,
3675 PrivateExtension_gtpc_List private_extension_gtpc optional
3676}
3677
3678// MBMS De-Registration Response - 7.5A.2.4
3679type record MBMSDeRegistrationResponse
3680{
3681 Cause_gtpc cause,
3682 PrivateExtension_gtpc_List private_extension_gtpc optional
3683}
3684
3685
3686// MBMS Session Start Request 7.5A.2.5
3687type record MBMSSessionStartRequest
3688{
3689 Recovery_gtpc recovery optional,
3690 TeidControlPlane teidControlPlane optional,
3691 EndUserAddress endUserAddress,
3692 AccessPointName accessPointName,
3693 GSN_Address_GTPC ggsn_addr_controlPlane optional,
3694 GSN_Address_GTPC alternative_ggsn_addr_controlPlane optional,
3695 QualityOfServiceProfile qualityOfServiceProfile,
3696 CommonFlags commonFlags,
3697 TMGI_gtpc tMGI,
3698 MBMS_ServiceArea mBMS_ServiceArea,
3699 MBMS_SessionIdentifier mBMS_SessionIdentifier optional,
3700 MBMS_2G_3G_Indicator mBMS_2G_3G_Indicator,
3701 MBMS_SessionDuration mBMS_SessionDuration,
3702 MBMS_SessionRepetitionNumber mBMS_SessionRepetitionNumber optional,
3703 MBMS_TimeToDataTransfer mBMS_TimeToDataTransfer,
3704 MBMS_FlowID mBMS_FlowID optional,
3705 MBMS_IPMulticastDistribution mBMS_IPMulticastDistribution optional,
3706 PrivateExtension_gtpc_List private_extension_gtpc optional
3707};
3708
3709// 117 MBMS Session Start Response 7.5A.2.6
3710type record MBMSSessionStartResponse_gtpc
3711{
3712 Cause_gtpc cause,
3713 Recovery_gtpc recovery optional,
3714 TeidDataI teidDataI optional,
3715 TeidControlPlane teidControlPlane optional,
3716 GSN_Address_GTPC sgsn_addr_controlPlane optional,
3717 GSN_Address_GTPC sgsn_addr_traffic optional,
3718 GSN_Address_GTPC alt_sgsn_addr_traffic optional,
3719 MBMS_DistributionAcknowledgement mBMS_DistributionAcknowledgement optional,
3720 PrivateExtension_gtpc_List private_extension_gtpc optional
3721};
3722
3723// MBMS Session Stop Request - 7.5A.2.7
3724type record MBMSSessionStopRequest
3725{
3726 EndUserAddress endUserAddress,
3727 AccessPointName accessPointName,
3728 MBMS_FlowID mBMS_FlowID optional,
3729 PrivateExtension_gtpc_List private_extension_gtpc optional
3730};
3731
3732// MBMS Session Stop Response - 7.5A.2.8
3733type record MBMSSessionStopResponse_gtpc
3734{
3735 Cause_gtpc cause,
3736 PrivateExtension_gtpc_List private_extension_gtpc optional
3737}
3738
3739// MBMS Session Update Request - 7.5A.2.9
3740type record MBMSSessionUpdateRequest
3741{
3742 TeidControlPlane teidControlPlane optional,
3743 EndUserAddress endUserAddress,
3744 AccessPointName accessPointName,
3745 GSN_Address_GTPC ggsn_addr_controlPlane optional,
3746 TMGI_gtpc tMGI,
3747 MBMS_ServiceArea mBMS_ServiceArea,
3748 MBMS_SessionIdentifier mBMS_SessionIdentifier optional,
3749 MBMS_SessionDuration mBMS_SessionDuration,
3750 MBMS_SessionRepetitionNumber mBMS_SessionRepetitionNumber optional,
3751 MBMS_FlowID mBMS_FlowID optional,
3752 PrivateExtension_gtpc_List private_extension_gtpc optional
3753};
3754
3755// MBMS Session Update Response - 7.5A.2.10
3756type record MBMSSessionUpdateResponse
3757{
3758 Cause_gtpc cause,
3759 TeidDataI teidDataI optional,
3760 TeidControlPlane teidControlPlane optional,
3761 GSN_Address_GTPC sgsn_addr_DataI optional,
3762 GSN_Address_GTPC sgsn_addr_controlPlane optional,
3763 PrivateExtension_gtpc_List private_extension_gtpc optional
3764};
3765
3766// MS Info Change Notification Request 7.5B.1.1
3767type record MS_InfoChangeNotificationRequest
3768{
3769 IMSI_gtpc imsi optional,
3770 NSAPI_GTPC linkedNSAPI optional,
3771 RATType ratType,
3772 UserLocationInformation userLocationInformation optional,
3773 IMEISV_gtpc imeisv_gtpc optional,
3774 ExtendedCommonFlags extended_common_flags optional,
3775 UserCSGInformation userCSGInformation optional,
3776 PrivateExtension_gtpc_List private_extension_gtpc optional
3777};
3778
3779// MS Info Change Notification Response 7.5B.1.2
3780type record MS_InfoChangeNotificationResponse
3781{
3782 Cause_gtpc cause,
3783 IMSI_gtpc imsi optional,
3784 NSAPI_GTPC linkedNSAPI optional,
3785 IMEISV_gtpc imeisv_gtpc optional,
3786 MS_InfoChangeReportingAction mS_InfoChangeReportingAction optional,
3787 CSGInfoReportingAction cSGInfoReportingAction optional,
3788 PrivateExtension_gtpc_List private_extension_gtpc optional
3789};
3790
3791type union GTPC_PDUs {
3792 EchoRequest echoRequest,
3793 EchoResponse echoResponse,
3794 VersionNotSupported versionNotSupported,
3795 CreatePDPContextRequest createPDPContextRequest,
3796 CreatePDPContextResponse createPDPContextResponse,
3797 UpdatePDPContextRequest updatePDPContextRequest,
3798 UpdatePDPContextResponse updatePDPContextResponse,
3799 DeletePDPContextRequest deletePDPContextRequest,
3800 DeletePDPContextResponse deletePDPContextResponse,
3801 PDU_NotificationRequest pdu_NotificationRequest,
3802 PDU_NotificationResponse pdu_NotificationResponse,
3803 PDU_NotificationRejectRequest pdu_NotificationRejectRequest,
3804 PDU_NotificationRejectResponse pdu_NotificationRejectResponse,
3805 InitiatePDPContextActivationRequest initiatePDPContextActivationRequest,
3806 InitiatePDPContextActivationResponse initiatePDPContextActivationResponse,
3807 SupportedExtensionHeadersNotification supportedExtensionHeadersNotification,
3808 SendRouteingInformationForGPRSRequest sendRouteingInformationForGPRSRequest,
3809 SendRouteingInformationForGPRSResponse sendRouteingInformationForGPRSResponse,
3810 FailureReportRequest failureReportRequest,
3811 FailureReportResponse failureReportResponse,
3812 NoteMS_GPRSPresentRequest noteMS_GPRSPresentRequest,
3813 NoteMS_GPRSPresentResponse noteMS_GPRSPresentResponse,
3814 IdentificationRequest identificationRequest,
3815 IdentificationResponse identificationResponse,
3816 SGSN_ContextRequest sgsn_ContextRequest,
3817 SGSN_ContextResponse sgsn_ContextResponse,
3818 SGSN_ContextAcknowledge sgsn_ContextAcknowledge,
3819 ForwardRelocationRequest forwardRelocationRequest,
3820 ForwardRelocationResponse forwardRelocationResponse,
3821 ForwardRelocationComplete forwardRelocationComplete,
3822 RelocationCancelRequest relocationCancelRequest,
3823 RelocationCancelResponse relocationCancelResponse,
3824 ForwardSRNSContext forwardSRNSContext,
3825 ForwardRelocationCompleteAcknowledge forwardRelocationCompleteAcknowledge,
3826 ForwardSRNSContextAcknowledge forwardSRNSContextAcknowledge,
3827 UERegistrationQueryRequest uERegistrationQueryRequest,
3828 UERegistrationQueryResponse uERegistrationQueryResponse,
3829 RANInformationRelay ranInformationRelay,
3830 MBMSNotificationRequest mBMSNotificationRequest,
3831 MBMSNotificationResponse mBMSNotificationResponse,
3832 MBMSNotificationRejectRequest mBMSNotificationRejectRequest,
3833 MBMSNotificationRejectResponse mBMSNotificationRejectResponse,
3834 CreateMBMSContextRequest createMBMSContextRequest,
3835 CreateMBMSContextResponse createMBMSContextResponse,
3836 UpdateMBMSContextRequest updateMBMSContextRequest,
3837 UpdateMBMSContextResponse updateMBMSContextResponse,
3838 DeleteMBMSContextRequest deleteMBMSContextRequest,
3839 DeleteMBMSContextResponse deleteMBMSContextResponse,
3840 MBMSRegistrationRequest_gtpc mBMSRegistrationRequest,
3841 MBMSRegistrationResponse_gtpc mBMSRegistrationResponse,
3842 MBMSDeRegistrationRequest mBMSDeRegistrationRequest,
3843 MBMSDeRegistrationResponse mBMSDeRegistrationResponse,
3844 MBMSSessionStartRequest mBMSSessionStartRequest,
3845 MBMSSessionStartResponse_gtpc mBMSSessionStartResponse,
3846 MBMSSessionStopRequest mBMSSessionStopRequest,
3847 MBMSSessionStopResponse_gtpc mBMSSessionStopResponse,
3848 MBMSSessionUpdateRequest mBMSSessionUpdateRequest,
3849 MBMSSessionUpdateResponse mBMSSessionUpdateResponse,
3850 MS_InfoChangeNotificationRequest mS_InfoChangeNotificationRequest,
3851 MS_InfoChangeNotificationResponse mS_InfoChangeNotificationResponse
3852} with { variant ""};
3853
3854
3855/////////////////////////////
3856// PDU definition
3857/////////////////////////////
3858type record PDU_GTPC {
3859 BIT1 pn_bit,
3860 BIT1 s_bit,
3861 BIT1 e_bit,
3862 BIT1 spare,
3863 BIT1 pt,
3864 BIT3 version,
3865 OCT1 messageType,
3866 LIN2_BO_LAST lengthf,
3867 OCT4 teid,
3868 GTPC_Header_optional_part opt_part optional,
3869 GTPC_PDUs gtpc_pdu
3870} with {
3871 variant (lengthf) "LENGTHTO(opt_part, gtpc_pdu)";
3872 variant (opt_part) "PRESENCE({pn_bit = '1'B, s_bit = '1'B, e_bit = '1'B})";
3873 variant (gtpc_pdu) "CROSSTAG( echoRequest, messageType = '01'O;
3874 echoResponse, messageType = '02'O;
3875 versionNotSupported, messageType = '03'O;
3876 createPDPContextRequest, messageType = '10'O;
3877 createPDPContextResponse, messageType = '11'O;
3878 updatePDPContextRequest, messageType = '12'O;
3879 updatePDPContextResponse, messageType = '13'O;
3880 deletePDPContextRequest, messageType = '14'O;
3881 deletePDPContextResponse, messageType = '15'O;
3882 initiatePDPContextActivationRequest, messageType = '16'O;
3883 initiatePDPContextActivationResponse, messageType = '17'O;
3884 pdu_NotificationRequest, messageType = '1B'O;
3885 pdu_NotificationResponse, messageType = '1C'O;
3886 pdu_NotificationRejectRequest, messageType = '1D'O;
3887 pdu_NotificationRejectResponse, messageType = '1E'O;
3888 supportedExtensionHeadersNotification, messageType ='1F'O;
3889 sendRouteingInformationForGPRSRequest, messageType = '20'O;
3890 sendRouteingInformationForGPRSResponse, messageType = '21'O;
3891 failureReportRequest, messageType = '22'O;
3892 failureReportResponse, messageType = '23'O;
3893 noteMS_GPRSPresentRequest, messageType = '24'O;
3894 noteMS_GPRSPresentResponse, messageType = '25'O;
3895 identificationRequest, messageType = '30'O;
3896 identificationResponse, messageType = '31'O;
3897 sgsn_ContextRequest, messageType = '32'O;
3898 sgsn_ContextResponse, messageType = '33'O;
3899 sgsn_ContextAcknowledge, messageType = '34'O;
3900 forwardRelocationRequest, messageType = '35'O;
3901 forwardRelocationResponse, messageType = '36'O;
3902 forwardRelocationComplete, messageType = '37'O;
3903 relocationCancelRequest, messageType = '38'O;
3904 relocationCancelResponse, messageType = '39'O;
3905 forwardSRNSContext, messageType = '3A'O;
3906 forwardRelocationCompleteAcknowledge, messageType = '3B'O;
3907 forwardSRNSContextAcknowledge, messageType = '3C'O;
3908 uERegistrationQueryRequest, messageType = '3D'O;
3909 uERegistrationQueryResponse, messageType = '3F'O;
3910 ranInformationRelay, messageType = '46'O;
3911 mBMSNotificationRequest, messageType = '60'O;
3912 mBMSNotificationResponse, messageType = '61'O;
3913 mBMSNotificationRejectRequest, messageType = '62'O;
3914 mBMSNotificationRejectResponse, messageType = '63'O;
3915 createMBMSContextRequest, messageType = '64'O;
3916 createMBMSContextResponse, messageType = '65'O;
3917 updateMBMSContextRequest, messageType = '66'O;
3918 updateMBMSContextResponse, messageType = '67'O;
3919 deleteMBMSContextRequest, messageType = '68'O;
3920 deleteMBMSContextResponse, messageType = '69'O;
3921 mBMSRegistrationRequest, messageType = '70'O;
3922 mBMSRegistrationResponse, messageType = '71'O;
3923 mBMSDeRegistrationRequest, messageType = '72'O;
3924 mBMSDeRegistrationResponse, messageType = '73'O;
3925 mBMSSessionStartRequest, messageType = '74'O;
3926 mBMSSessionStartResponse, messageType = '75'O;
3927 mBMSSessionStopRequest, messageType = '76'O;
3928 mBMSSessionStopResponse, messageType = '77'O;
3929 mBMSSessionUpdateRequest, messageType = '78'O;
3930 mBMSSessionUpdateResponse, messageType = '79'O;
3931 mS_InfoChangeNotificationRequest, messageType = '80'O;
3932 mS_InfoChangeNotificationResponse, messageType = '81'O
3933 )";
3934};
3935
3936type record GTPC_Header_optional_part {
3937 OCT2 sequenceNumber,
3938 OCT1 npduNumber,
3939 OCT1 nextExtHeader,
3940 GTPC_ExtensionHeader_List gTPC_extensionHeader_List optional
3941}
3942
3943type record of GTPC_ExtensionHeader GTPC_ExtensionHeader_List;
3944
3945type record GTPC_ExtensionHeader {
3946 integer lengthfield,
3947 octetstring content,
3948 octetstring nextExtHeader length(1)
3949} with { variant (lengthfield) "LENGTHTO(lengthfield,content,nextExtHeader)";
3950 variant (lengthfield) "UNIT(32)";
3951};
3952
3953}//end of module
3954with {
3955extension "version R1B"
3956encode "RAW"
3957}
3958