Coverage Report

Created: 2024-02-11 06:14

/src/open5gs/lib/gtp/v1/message.c
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
3
 * Copyright (C) 2022 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de>
4
 * Copyright (C) 2023 by Sukchan Lee <acetcom@gmail.com>
5
 *
6
 * This file is part of Open5GS.
7
 *
8
 * This program is free software: you can redistribute it and/or modify
9
 * it under the terms of the GNU Affero General Public License as published by
10
 * the Free Software Foundation, either version 3 of the License, or
11
 * (at your option) any later version.
12
 *
13
 * This program is distributed in the hope that it will be useful,
14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
 * GNU General Public License for more details.
17
 *
18
 * You should have received a copy of the GNU General Public License
19
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
20
 */
21
22
/*******************************************************************************
23
 * This file had been created by gtp1-tlv.py script v0.1.0
24
 * Please do not modify this file but regenerate it via script.
25
 * Created on: 2023-12-11 17:21:37.071241 by pespin
26
 * from 29060-h40.docx
27
 ******************************************************************************/
28
29
#include "ogs-gtp.h"
30
31
ogs_tlv_desc_t ogs_gtp1_tlv_desc_cause =
32
{
33
    OGS_TV_UINT8,
34
    "Cause",
35
    OGS_GTP1_CAUSE_TYPE,
36
    1,
37
    0,
38
    sizeof(ogs_gtp1_tlv_cause_t),
39
    { NULL }
40
};
41
42
ogs_tlv_desc_t ogs_gtp1_tlv_desc_imsi =
43
{
44
    OGS_TV_FIXED_STR,
45
    "IMSI",
46
    OGS_GTP1_IMSI_TYPE,
47
    8,
48
    0,
49
    sizeof(ogs_gtp1_tlv_imsi_t),
50
    { NULL }
51
};
52
53
ogs_tlv_desc_t ogs_gtp1_tlv_desc_rai =
54
{
55
    OGS_TV_FIXED_STR,
56
    "RAI",
57
    OGS_GTP1_RAI_TYPE,
58
    6,
59
    0,
60
    sizeof(ogs_gtp1_tlv_rai_t),
61
    { NULL }
62
};
63
64
ogs_tlv_desc_t ogs_gtp1_tlv_desc_tlli =
65
{
66
    OGS_TV_UINT32,
67
    "TLLI",
68
    OGS_GTP1_TLLI_TYPE,
69
    4,
70
    0,
71
    sizeof(ogs_gtp1_tlv_tlli_t),
72
    { NULL }
73
};
74
75
ogs_tlv_desc_t ogs_gtp1_tlv_desc_p_tmsi =
76
{
77
    OGS_TV_UINT32,
78
    "P-TMSI",
79
    OGS_GTP1_P_TMSI_TYPE,
80
    4,
81
    0,
82
    sizeof(ogs_gtp1_tlv_p_tmsi_t),
83
    { NULL }
84
};
85
86
ogs_tlv_desc_t ogs_gtp1_tlv_desc_reordering_required =
87
{
88
    OGS_TV_UINT8,
89
    "Reordering Required",
90
    OGS_GTP1_REORDERING_REQUIRED_TYPE,
91
    1,
92
    0,
93
    sizeof(ogs_gtp1_tlv_reordering_required_t),
94
    { NULL }
95
};
96
97
ogs_tlv_desc_t ogs_gtp1_tlv_desc_authentication_triplet =
98
{
99
    OGS_TV_FIXED_STR,
100
    "Authentication Triplet",
101
    OGS_GTP1_AUTHENTICATION_TRIPLET_TYPE,
102
    28,
103
    0,
104
    sizeof(ogs_gtp1_tlv_authentication_triplet_t),
105
    { NULL }
106
};
107
108
ogs_tlv_desc_t ogs_gtp1_tlv_desc_map_cause =
109
{
110
    OGS_TV_FIXED_STR,
111
    "MAP Cause",
112
    OGS_GTP1_MAP_CAUSE_TYPE,
113
    1,
114
    0,
115
    sizeof(ogs_gtp1_tlv_map_cause_t),
116
    { NULL }
117
};
118
119
ogs_tlv_desc_t ogs_gtp1_tlv_desc_p_tmsi_signature =
120
{
121
    OGS_TV_UINT24,
122
    "P-TMSI Signature",
123
    OGS_GTP1_P_TMSI_SIGNATURE_TYPE,
124
    3,
125
    0,
126
    sizeof(ogs_gtp1_tlv_p_tmsi_signature_t),
127
    { NULL }
128
};
129
130
ogs_tlv_desc_t ogs_gtp1_tlv_desc_ms_validated =
131
{
132
    OGS_TV_UINT8,
133
    "MS Validated",
134
    OGS_GTP1_MS_VALIDATED_TYPE,
135
    1,
136
    0,
137
    sizeof(ogs_gtp1_tlv_ms_validated_t),
138
    { NULL }
139
};
140
141
ogs_tlv_desc_t ogs_gtp1_tlv_desc_recovery =
142
{
143
    OGS_TV_UINT8,
144
    "Recovery",
145
    OGS_GTP1_RECOVERY_TYPE,
146
    1,
147
    0,
148
    sizeof(ogs_gtp1_tlv_recovery_t),
149
    { NULL }
150
};
151
152
ogs_tlv_desc_t ogs_gtp1_tlv_desc_selection_mode =
153
{
154
    OGS_TV_UINT8,
155
    "Selection Mode",
156
    OGS_GTP1_SELECTION_MODE_TYPE,
157
    1,
158
    0,
159
    sizeof(ogs_gtp1_tlv_selection_mode_t),
160
    { NULL }
161
};
162
163
ogs_tlv_desc_t ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_data_i =
164
{
165
    OGS_TV_UINT32,
166
    "Tunnel Endpoint Identifier Data I",
167
    OGS_GTP1_TUNNEL_ENDPOINT_IDENTIFIER_DATA_I_TYPE,
168
    4,
169
    0,
170
    sizeof(ogs_gtp1_tlv_tunnel_endpoint_identifier_data_i_t),
171
    { NULL }
172
};
173
174
ogs_tlv_desc_t ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane =
175
{
176
    OGS_TV_UINT32,
177
    "Tunnel Endpoint Identifier Control Plane",
178
    OGS_GTP1_TUNNEL_ENDPOINT_IDENTIFIER_CONTROL_PLANE_TYPE,
179
    4,
180
    0,
181
    sizeof(ogs_gtp1_tlv_tunnel_endpoint_identifier_control_plane_t),
182
    { NULL }
183
};
184
185
ogs_tlv_desc_t ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_data_ii =
186
{
187
    OGS_TV_FIXED_STR,
188
    "Tunnel Endpoint Identifier Data II",
189
    OGS_GTP1_TUNNEL_ENDPOINT_IDENTIFIER_DATA_II_TYPE,
190
    5,
191
    0,
192
    sizeof(ogs_gtp1_tlv_tunnel_endpoint_identifier_data_ii_t),
193
    { NULL }
194
};
195
196
ogs_tlv_desc_t ogs_gtp1_tlv_desc_teardown_ind =
197
{
198
    OGS_TV_UINT8,
199
    "Teardown Ind",
200
    OGS_GTP1_TEARDOWN_IND_TYPE,
201
    1,
202
    0,
203
    sizeof(ogs_gtp1_tlv_teardown_ind_t),
204
    { NULL }
205
};
206
207
ogs_tlv_desc_t ogs_gtp1_tlv_desc_nsapi =
208
{
209
    OGS_TV_UINT8,
210
    "NSAPI",
211
    OGS_GTP1_NSAPI_TYPE,
212
    1,
213
    0,
214
    sizeof(ogs_gtp1_tlv_nsapi_t),
215
    { NULL }
216
};
217
218
ogs_tlv_desc_t ogs_gtp1_tlv_desc_ranap_cause =
219
{
220
    OGS_TV_UINT8,
221
    "RANAP Cause",
222
    OGS_GTP1_RANAP_CAUSE_TYPE,
223
    1,
224
    0,
225
    sizeof(ogs_gtp1_tlv_ranap_cause_t),
226
    { NULL }
227
};
228
229
ogs_tlv_desc_t ogs_gtp1_tlv_desc_rab_context =
230
{
231
    OGS_TV_FIXED_STR,
232
    "RAB Context",
233
    OGS_GTP1_RAB_CONTEXT_TYPE,
234
    9,
235
    0,
236
    sizeof(ogs_gtp1_tlv_rab_context_t),
237
    { NULL }
238
};
239
240
ogs_tlv_desc_t ogs_gtp1_tlv_desc_radio_priority_sms =
241
{
242
    OGS_TV_UINT8,
243
    "Radio Priority SMS",
244
    OGS_GTP1_RADIO_PRIORITY_SMS_TYPE,
245
    1,
246
    0,
247
    sizeof(ogs_gtp1_tlv_radio_priority_sms_t),
248
    { NULL }
249
};
250
251
ogs_tlv_desc_t ogs_gtp1_tlv_desc_radio_priority =
252
{
253
    OGS_TV_UINT8,
254
    "Radio Priority",
255
    OGS_GTP1_RADIO_PRIORITY_TYPE,
256
    1,
257
    0,
258
    sizeof(ogs_gtp1_tlv_radio_priority_t),
259
    { NULL }
260
};
261
262
ogs_tlv_desc_t ogs_gtp1_tlv_desc_packet_flow_id =
263
{
264
    OGS_TV_UINT16,
265
    "Packet Flow Id",
266
    OGS_GTP1_PACKET_FLOW_ID_TYPE,
267
    2,
268
    0,
269
    sizeof(ogs_gtp1_tlv_packet_flow_id_t),
270
    { NULL }
271
};
272
273
ogs_tlv_desc_t ogs_gtp1_tlv_desc_charging_characteristics =
274
{
275
    OGS_TV_FIXED_STR,
276
    "Charging Characteristics",
277
    OGS_GTP1_CHARGING_CHARACTERISTICS_TYPE,
278
    2,
279
    0,
280
    sizeof(ogs_gtp1_tlv_charging_characteristics_t),
281
    { NULL }
282
};
283
284
ogs_tlv_desc_t ogs_gtp1_tlv_desc_trace_reference =
285
{
286
    OGS_TV_UINT16,
287
    "Trace Reference",
288
    OGS_GTP1_TRACE_REFERENCE_TYPE,
289
    2,
290
    0,
291
    sizeof(ogs_gtp1_tlv_trace_reference_t),
292
    { NULL }
293
};
294
295
ogs_tlv_desc_t ogs_gtp1_tlv_desc_trace_type =
296
{
297
    OGS_TV_UINT16,
298
    "Trace Type",
299
    OGS_GTP1_TRACE_TYPE_TYPE,
300
    2,
301
    0,
302
    sizeof(ogs_gtp1_tlv_trace_type_t),
303
    { NULL }
304
};
305
306
ogs_tlv_desc_t ogs_gtp1_tlv_desc_ms_not_reachable_reason =
307
{
308
    OGS_TV_UINT8,
309
    "MS Not Reachable Reason",
310
    OGS_GTP1_MS_NOT_REACHABLE_REASON_TYPE,
311
    1,
312
    0,
313
    sizeof(ogs_gtp1_tlv_ms_not_reachable_reason_t),
314
    { NULL }
315
};
316
317
ogs_tlv_desc_t ogs_gtp1_tlv_desc_charging_id =
318
{
319
    OGS_TV_UINT32,
320
    "Charging ID",
321
    OGS_GTP1_CHARGING_ID_TYPE,
322
    4,
323
    0,
324
    sizeof(ogs_gtp1_tlv_charging_id_t),
325
    { NULL }
326
};
327
328
ogs_tlv_desc_t ogs_gtp1_tlv_desc_end_user_address =
329
{
330
    OGS_TLV_VAR_STR,
331
    "End User Address",
332
    OGS_GTP1_END_USER_ADDRESS_TYPE,
333
    0,
334
    0,
335
    sizeof(ogs_gtp1_tlv_end_user_address_t),
336
    { NULL }
337
};
338
339
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mm_context =
340
{
341
    OGS_TLV_VAR_STR,
342
    "MM Context",
343
    OGS_GTP1_MM_CONTEXT_TYPE,
344
    0,
345
    0,
346
    sizeof(ogs_gtp1_tlv_mm_context_t),
347
    { NULL }
348
};
349
350
ogs_tlv_desc_t ogs_gtp1_tlv_desc_pdp_context =
351
{
352
    OGS_TLV_VAR_STR,
353
    "PDP Context",
354
    OGS_GTP1_PDP_CONTEXT_TYPE,
355
    0,
356
    0,
357
    sizeof(ogs_gtp1_tlv_pdp_context_t),
358
    { NULL }
359
};
360
361
ogs_tlv_desc_t ogs_gtp1_tlv_desc_access_point_name =
362
{
363
    OGS_TLV_VAR_STR,
364
    "Access Point Name",
365
    OGS_GTP1_ACCESS_POINT_NAME_TYPE,
366
    0,
367
    0,
368
    sizeof(ogs_gtp1_tlv_access_point_name_t),
369
    { NULL }
370
};
371
372
ogs_tlv_desc_t ogs_gtp1_tlv_desc_protocol_configuration_options =
373
{
374
    OGS_TLV_VAR_STR,
375
    "Protocol Configuration Options",
376
    OGS_GTP1_PROTOCOL_CONFIGURATION_OPTIONS_TYPE,
377
    0,
378
    0,
379
    sizeof(ogs_gtp1_tlv_protocol_configuration_options_t),
380
    { NULL }
381
};
382
383
ogs_tlv_desc_t ogs_gtp1_tlv_desc_gsn_address =
384
{
385
    OGS_TLV_VAR_STR,
386
    "GSN Address",
387
    OGS_GTP1_GSN_ADDRESS_TYPE,
388
    0,
389
    0,
390
    sizeof(ogs_gtp1_tlv_gsn_address_t),
391
    { NULL }
392
};
393
394
ogs_tlv_desc_t ogs_gtp1_tlv_desc_msisdn =
395
{
396
    OGS_TLV_VAR_STR,
397
    "MSISDN",
398
    OGS_GTP1_MSISDN_TYPE,
399
    0,
400
    0,
401
    sizeof(ogs_gtp1_tlv_msisdn_t),
402
    { NULL }
403
};
404
405
ogs_tlv_desc_t ogs_gtp1_tlv_desc_quality_of_service_profile =
406
{
407
    OGS_TLV_VAR_STR,
408
    "Quality of Service Profile",
409
    OGS_GTP1_QUALITY_OF_SERVICE_PROFILE_TYPE,
410
    0,
411
    0,
412
    sizeof(ogs_gtp1_tlv_quality_of_service_profile_t),
413
    { NULL }
414
};
415
416
ogs_tlv_desc_t ogs_gtp1_tlv_desc_authentication_quintuplet =
417
{
418
    OGS_TLV_VAR_STR,
419
    "Authentication Quintuplet",
420
    OGS_GTP1_AUTHENTICATION_QUINTUPLET_TYPE,
421
    0,
422
    0,
423
    sizeof(ogs_gtp1_tlv_authentication_quintuplet_t),
424
    { NULL }
425
};
426
427
ogs_tlv_desc_t ogs_gtp1_tlv_desc_traffic_flow_template =
428
{
429
    OGS_TLV_VAR_STR,
430
    "Traffic Flow Template",
431
    OGS_GTP1_TRAFFIC_FLOW_TEMPLATE_TYPE,
432
    0,
433
    0,
434
    sizeof(ogs_gtp1_tlv_traffic_flow_template_t),
435
    { NULL }
436
};
437
438
ogs_tlv_desc_t ogs_gtp1_tlv_desc_target_identification =
439
{
440
    OGS_TLV_VAR_STR,
441
    "Target Identification",
442
    OGS_GTP1_TARGET_IDENTIFICATION_TYPE,
443
    0,
444
    0,
445
    sizeof(ogs_gtp1_tlv_target_identification_t),
446
    { NULL }
447
};
448
449
ogs_tlv_desc_t ogs_gtp1_tlv_desc_utran_transparent_container =
450
{
451
    OGS_TLV_VAR_STR,
452
    "UTRAN Transparent Container",
453
    OGS_GTP1_UTRAN_TRANSPARENT_CONTAINER_TYPE,
454
    0,
455
    0,
456
    sizeof(ogs_gtp1_tlv_utran_transparent_container_t),
457
    { NULL }
458
};
459
460
ogs_tlv_desc_t ogs_gtp1_tlv_desc_rab_setup_information =
461
{
462
    OGS_TLV_VAR_STR,
463
    "RAB Setup Information",
464
    OGS_GTP1_RAB_SETUP_INFORMATION_TYPE,
465
    0,
466
    0,
467
    sizeof(ogs_gtp1_tlv_rab_setup_information_t),
468
    { NULL }
469
};
470
471
ogs_tlv_desc_t ogs_gtp1_tlv_desc_extension_header_type_list =
472
{
473
    OGS_TLV_VAR_STR,
474
    "Extension Header Type List",
475
    OGS_GTP1_EXTENSION_HEADER_TYPE_LIST_TYPE,
476
    0,
477
    0,
478
    sizeof(ogs_gtp1_tlv_extension_header_type_list_t),
479
    { NULL }
480
};
481
482
ogs_tlv_desc_t ogs_gtp1_tlv_desc_trigger_id =
483
{
484
    OGS_TLV_VAR_STR,
485
    "Trigger Id",
486
    OGS_GTP1_TRIGGER_ID_TYPE,
487
    0,
488
    0,
489
    sizeof(ogs_gtp1_tlv_trigger_id_t),
490
    { NULL }
491
};
492
493
ogs_tlv_desc_t ogs_gtp1_tlv_desc_omc_identity =
494
{
495
    OGS_TLV_VAR_STR,
496
    "OMC Identity",
497
    OGS_GTP1_OMC_IDENTITY_TYPE,
498
    0,
499
    0,
500
    sizeof(ogs_gtp1_tlv_omc_identity_t),
501
    { NULL }
502
};
503
504
ogs_tlv_desc_t ogs_gtp1_tlv_desc_ran_transparent_container =
505
{
506
    OGS_TLV_VAR_STR,
507
    "RAN Transparent Container",
508
    OGS_GTP1_RAN_TRANSPARENT_CONTAINER_TYPE,
509
    0,
510
    0,
511
    sizeof(ogs_gtp1_tlv_ran_transparent_container_t),
512
    { NULL }
513
};
514
515
ogs_tlv_desc_t ogs_gtp1_tlv_desc_pdp_context_prioritization =
516
{
517
    OGS_TLV_FIXED_STR,
518
    "PDP Context Prioritization",
519
    OGS_GTP1_PDP_CONTEXT_PRIORITIZATION_TYPE,
520
    0,
521
    0,
522
    sizeof(ogs_gtp1_tlv_pdp_context_prioritization_t),
523
    { NULL }
524
};
525
526
ogs_tlv_desc_t ogs_gtp1_tlv_desc_additional_rab_setup_information =
527
{
528
    OGS_TLV_VAR_STR,
529
    "Additional RAB Setup Information",
530
    OGS_GTP1_ADDITIONAL_RAB_SETUP_INFORMATION_TYPE,
531
    0,
532
    0,
533
    sizeof(ogs_gtp1_tlv_additional_rab_setup_information_t),
534
    { NULL }
535
};
536
537
ogs_tlv_desc_t ogs_gtp1_tlv_desc_sgsn_number =
538
{
539
    OGS_TLV_VAR_STR,
540
    "SGSN Number",
541
    OGS_GTP1_SGSN_NUMBER_TYPE,
542
    0,
543
    0,
544
    sizeof(ogs_gtp1_tlv_sgsn_number_t),
545
    { NULL }
546
};
547
548
ogs_tlv_desc_t ogs_gtp1_tlv_desc_common_flags =
549
{
550
    OGS_TLV_FIXED_STR,
551
    "Common Flags",
552
    OGS_GTP1_COMMON_FLAGS_TYPE,
553
    1,
554
    0,
555
    sizeof(ogs_gtp1_tlv_common_flags_t),
556
    { NULL }
557
};
558
559
ogs_tlv_desc_t ogs_gtp1_tlv_desc_apn_restriction =
560
{
561
    OGS_TLV_UINT8,
562
    "APN Restriction",
563
    OGS_GTP1_APN_RESTRICTION_TYPE,
564
    1,
565
    0,
566
    sizeof(ogs_gtp1_tlv_apn_restriction_t),
567
    { NULL }
568
};
569
570
ogs_tlv_desc_t ogs_gtp1_tlv_desc_radio_priority_lcs =
571
{
572
    OGS_TLV_FIXED_STR,
573
    "Radio Priority LCS",
574
    OGS_GTP1_RADIO_PRIORITY_LCS_TYPE,
575
    1,
576
    0,
577
    sizeof(ogs_gtp1_tlv_radio_priority_lcs_t),
578
    { NULL }
579
};
580
581
ogs_tlv_desc_t ogs_gtp1_tlv_desc_rat_type =
582
{
583
    OGS_TLV_UINT8,
584
    "RAT Type",
585
    OGS_GTP1_RAT_TYPE_TYPE,
586
    1,
587
    0,
588
    sizeof(ogs_gtp1_tlv_rat_type_t),
589
    { NULL }
590
};
591
592
ogs_tlv_desc_t ogs_gtp1_tlv_desc_user_location_information =
593
{
594
    OGS_TLV_VAR_STR,
595
    "User Location Information",
596
    OGS_GTP1_USER_LOCATION_INFORMATION_TYPE,
597
    0,
598
    0,
599
    sizeof(ogs_gtp1_tlv_user_location_information_t),
600
    { NULL }
601
};
602
603
ogs_tlv_desc_t ogs_gtp1_tlv_desc_ms_time_zone =
604
{
605
    OGS_TLV_FIXED_STR,
606
    "MS Time Zone",
607
    OGS_GTP1_MS_TIME_ZONE_TYPE,
608
    2,
609
    0,
610
    sizeof(ogs_gtp1_tlv_ms_time_zone_t),
611
    { NULL }
612
};
613
614
ogs_tlv_desc_t ogs_gtp1_tlv_desc_sv =
615
{
616
    OGS_TLV_FIXED_STR,
617
    "SV",
618
    OGS_GTP1_SV_TYPE,
619
    8,
620
    0,
621
    sizeof(ogs_gtp1_tlv_sv_t),
622
    { NULL }
623
};
624
625
ogs_tlv_desc_t ogs_gtp1_tlv_desc_camel_charging_information_container =
626
{
627
    OGS_TLV_VAR_STR,
628
    "CAMEL Charging Information Container",
629
    OGS_GTP1_CAMEL_CHARGING_INFORMATION_CONTAINER_TYPE,
630
    0,
631
    0,
632
    sizeof(ogs_gtp1_tlv_camel_charging_information_container_t),
633
    { NULL }
634
};
635
636
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_ue_context =
637
{
638
    OGS_TLV_VAR_STR,
639
    "MBMS UE Context",
640
    OGS_GTP1_MBMS_UE_CONTEXT_TYPE,
641
    0,
642
    0,
643
    sizeof(ogs_gtp1_tlv_mbms_ue_context_t),
644
    { NULL }
645
};
646
647
ogs_tlv_desc_t ogs_gtp1_tlv_desc_tmgi =
648
{
649
    OGS_TLV_FIXED_STR,
650
    "TMGI",
651
    OGS_GTP1_TMGI_TYPE,
652
    6,
653
    0,
654
    sizeof(ogs_gtp1_tlv_tmgi_t),
655
    { NULL }
656
};
657
658
ogs_tlv_desc_t ogs_gtp1_tlv_desc_rim_routing_address =
659
{
660
    OGS_TLV_VAR_STR,
661
    "RIM Routing Address",
662
    OGS_GTP1_RIM_ROUTING_ADDRESS_TYPE,
663
    0,
664
    0,
665
    sizeof(ogs_gtp1_tlv_rim_routing_address_t),
666
    { NULL }
667
};
668
669
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_protocol_configuration_options =
670
{
671
    OGS_TLV_VAR_STR,
672
    "MBMS Protocol Configuration Options",
673
    OGS_GTP1_MBMS_PROTOCOL_CONFIGURATION_OPTIONS_TYPE,
674
    0,
675
    0,
676
    sizeof(ogs_gtp1_tlv_mbms_protocol_configuration_options_t),
677
    { NULL }
678
};
679
680
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_service_area =
681
{
682
    OGS_TLV_VAR_STR,
683
    "MBMS Service Area",
684
    OGS_GTP1_MBMS_SERVICE_AREA_TYPE,
685
    0,
686
    0,
687
    sizeof(ogs_gtp1_tlv_mbms_service_area_t),
688
    { NULL }
689
};
690
691
ogs_tlv_desc_t ogs_gtp1_tlv_desc_source_rnc_pdcp_context_info =
692
{
693
    OGS_TLV_VAR_STR,
694
    "Source RNC PDCP context info",
695
    OGS_GTP1_SOURCE_RNC_PDCP_CONTEXT_INFO_TYPE,
696
    0,
697
    0,
698
    sizeof(ogs_gtp1_tlv_source_rnc_pdcp_context_info_t),
699
    { NULL }
700
};
701
702
ogs_tlv_desc_t ogs_gtp1_tlv_desc_additional_trace_info =
703
{
704
    OGS_TLV_FIXED_STR,
705
    "Additional Trace Info",
706
    OGS_GTP1_ADDITIONAL_TRACE_INFO_TYPE,
707
    9,
708
    0,
709
    sizeof(ogs_gtp1_tlv_additional_trace_info_t),
710
    { NULL }
711
};
712
713
ogs_tlv_desc_t ogs_gtp1_tlv_desc_hop_counter =
714
{
715
    OGS_TLV_FIXED_STR,
716
    "Hop Counter",
717
    OGS_GTP1_HOP_COUNTER_TYPE,
718
    1,
719
    0,
720
    sizeof(ogs_gtp1_tlv_hop_counter_t),
721
    { NULL }
722
};
723
724
ogs_tlv_desc_t ogs_gtp1_tlv_desc_selected_plmn_id =
725
{
726
    OGS_TLV_FIXED_STR,
727
    "Selected PLMN ID",
728
    OGS_GTP1_SELECTED_PLMN_ID_TYPE,
729
    3,
730
    0,
731
    sizeof(ogs_gtp1_tlv_selected_plmn_id_t),
732
    { NULL }
733
};
734
735
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_session_identifier =
736
{
737
    OGS_TLV_FIXED_STR,
738
    "MBMS Session Identifier",
739
    OGS_GTP1_MBMS_SESSION_IDENTIFIER_TYPE,
740
    1,
741
    0,
742
    sizeof(ogs_gtp1_tlv_mbms_session_identifier_t),
743
    { NULL }
744
};
745
746
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_2g_3g_indicator =
747
{
748
    OGS_TLV_FIXED_STR,
749
    "MBMS 2G/3G Indicator",
750
    OGS_GTP1_MBMS_2G_3G_INDICATOR_TYPE,
751
    1,
752
    0,
753
    sizeof(ogs_gtp1_tlv_mbms_2g_3g_indicator_t),
754
    { NULL }
755
};
756
757
ogs_tlv_desc_t ogs_gtp1_tlv_desc_enhanced_nsapi =
758
{
759
    OGS_TLV_FIXED_STR,
760
    "Enhanced NSAPI",
761
    OGS_GTP1_ENHANCED_NSAPI_TYPE,
762
    1,
763
    0,
764
    sizeof(ogs_gtp1_tlv_enhanced_nsapi_t),
765
    { NULL }
766
};
767
768
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_session_duration =
769
{
770
    OGS_TLV_FIXED_STR,
771
    "MBMS Session Duration",
772
    OGS_GTP1_MBMS_SESSION_DURATION_TYPE,
773
    3,
774
    0,
775
    sizeof(ogs_gtp1_tlv_mbms_session_duration_t),
776
    { NULL }
777
};
778
779
ogs_tlv_desc_t ogs_gtp1_tlv_desc_additional_mbms_trace_info =
780
{
781
    OGS_TLV_FIXED_STR,
782
    "Additional MBMS Trace Info",
783
    OGS_GTP1_ADDITIONAL_MBMS_TRACE_INFO_TYPE,
784
    8,
785
    0,
786
    sizeof(ogs_gtp1_tlv_additional_mbms_trace_info_t),
787
    { NULL }
788
};
789
790
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_session_repetition_number =
791
{
792
    OGS_TLV_FIXED_STR,
793
    "MBMS Session Repetition Number",
794
    OGS_GTP1_MBMS_SESSION_REPETITION_NUMBER_TYPE,
795
    1,
796
    0,
797
    sizeof(ogs_gtp1_tlv_mbms_session_repetition_number_t),
798
    { NULL }
799
};
800
801
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_time_to_data_transfer =
802
{
803
    OGS_TLV_FIXED_STR,
804
    "MBMS Time To Data Transfer",
805
    OGS_GTP1_MBMS_TIME_TO_DATA_TRANSFER_TYPE,
806
    1,
807
    0,
808
    sizeof(ogs_gtp1_tlv_mbms_time_to_data_transfer_t),
809
    { NULL }
810
};
811
812
ogs_tlv_desc_t ogs_gtp1_tlv_desc_bss_container =
813
{
814
    OGS_TLV_VAR_STR,
815
    "BSS Container",
816
    OGS_GTP1_BSS_CONTAINER_TYPE,
817
    0,
818
    0,
819
    sizeof(ogs_gtp1_tlv_bss_container_t),
820
    { NULL }
821
};
822
823
ogs_tlv_desc_t ogs_gtp1_tlv_desc_cell_identification =
824
{
825
    OGS_TLV_FIXED_STR,
826
    "Cell Identification",
827
    OGS_GTP1_CELL_IDENTIFICATION_TYPE,
828
    17,
829
    0,
830
    sizeof(ogs_gtp1_tlv_cell_identification_t),
831
    { NULL }
832
};
833
834
ogs_tlv_desc_t ogs_gtp1_tlv_desc_pdu_numbers =
835
{
836
    OGS_TLV_FIXED_STR,
837
    "PDU Numbers",
838
    OGS_GTP1_PDU_NUMBERS_TYPE,
839
    9,
840
    0,
841
    sizeof(ogs_gtp1_tlv_pdu_numbers_t),
842
    { NULL }
843
};
844
845
ogs_tlv_desc_t ogs_gtp1_tlv_desc_bssgp_cause =
846
{
847
    OGS_TLV_FIXED_STR,
848
    "BSSGP Cause",
849
    OGS_GTP1_BSSGP_CAUSE_TYPE,
850
    1,
851
    0,
852
    sizeof(ogs_gtp1_tlv_bssgp_cause_t),
853
    { NULL }
854
};
855
856
ogs_tlv_desc_t ogs_gtp1_tlv_desc_required_mbms_bearer_capabilities =
857
{
858
    OGS_TLV_VAR_STR,
859
    "Required MBMS bearer capabilities",
860
    OGS_GTP1_REQUIRED_MBMS_BEARER_CAPABILITIES_TYPE,
861
    0,
862
    0,
863
    sizeof(ogs_gtp1_tlv_required_mbms_bearer_capabilities_t),
864
    { NULL }
865
};
866
867
ogs_tlv_desc_t ogs_gtp1_tlv_desc_rim_routing_address_discriminator =
868
{
869
    OGS_TLV_FIXED_STR,
870
    "RIM Routing Address Discriminator",
871
    OGS_GTP1_RIM_ROUTING_ADDRESS_DISCRIMINATOR_TYPE,
872
    1,
873
    0,
874
    sizeof(ogs_gtp1_tlv_rim_routing_address_discriminator_t),
875
    { NULL }
876
};
877
878
ogs_tlv_desc_t ogs_gtp1_tlv_desc_list_of_set_up_pfcs =
879
{
880
    OGS_TLV_VAR_STR,
881
    "List of set-up PFCs",
882
    OGS_GTP1_LIST_OF_SET_UP_PFCS_TYPE,
883
    0,
884
    0,
885
    sizeof(ogs_gtp1_tlv_list_of_set_up_pfcs_t),
886
    { NULL }
887
};
888
889
ogs_tlv_desc_t ogs_gtp1_tlv_desc_ps_handover_xid_parameters =
890
{
891
    OGS_TLV_VAR_STR,
892
    "PS Handover XID Parameters",
893
    OGS_GTP1_PS_HANDOVER_XID_PARAMETERS_TYPE,
894
    0,
895
    0,
896
    sizeof(ogs_gtp1_tlv_ps_handover_xid_parameters_t),
897
    { NULL }
898
};
899
900
ogs_tlv_desc_t ogs_gtp1_tlv_desc_ms_info_change_reporting_action =
901
{
902
    OGS_TLV_FIXED_STR,
903
    "MS Info Change Reporting Action",
904
    OGS_GTP1_MS_INFO_CHANGE_REPORTING_ACTION_TYPE,
905
    1,
906
    0,
907
    sizeof(ogs_gtp1_tlv_ms_info_change_reporting_action_t),
908
    { NULL }
909
};
910
911
ogs_tlv_desc_t ogs_gtp1_tlv_desc_direct_tunnel_flags =
912
{
913
    OGS_TLV_VAR_STR,
914
    "Direct Tunnel Flags",
915
    OGS_GTP1_DIRECT_TUNNEL_FLAGS_TYPE,
916
    0,
917
    0,
918
    sizeof(ogs_gtp1_tlv_direct_tunnel_flags_t),
919
    { NULL }
920
};
921
922
ogs_tlv_desc_t ogs_gtp1_tlv_desc_correlation_id =
923
{
924
    OGS_TLV_FIXED_STR,
925
    "Correlation-ID",
926
    OGS_GTP1_CORRELATION_ID_TYPE,
927
    1,
928
    0,
929
    sizeof(ogs_gtp1_tlv_correlation_id_t),
930
    { NULL }
931
};
932
933
ogs_tlv_desc_t ogs_gtp1_tlv_desc_bearer_control_mode =
934
{
935
    OGS_TLV_FIXED_STR,
936
    "Bearer Control Mode",
937
    OGS_GTP1_BEARER_CONTROL_MODE_TYPE,
938
    1,
939
    0,
940
    sizeof(ogs_gtp1_tlv_bearer_control_mode_t),
941
    { NULL }
942
};
943
944
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_flow_identifier =
945
{
946
    OGS_TLV_VAR_STR,
947
    "MBMS Flow Identifier",
948
    OGS_GTP1_MBMS_FLOW_IDENTIFIER_TYPE,
949
    0,
950
    0,
951
    sizeof(ogs_gtp1_tlv_mbms_flow_identifier_t),
952
    { NULL }
953
};
954
955
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_ip_multicast_distribution =
956
{
957
    OGS_TLV_VAR_STR,
958
    "MBMS IP Multicast Distribution",
959
    OGS_GTP1_MBMS_IP_MULTICAST_DISTRIBUTION_TYPE,
960
    0,
961
    0,
962
    sizeof(ogs_gtp1_tlv_mbms_ip_multicast_distribution_t),
963
    { NULL }
964
};
965
966
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_distribution_acknowledgement =
967
{
968
    OGS_TLV_FIXED_STR,
969
    "MBMS Distribution Acknowledgement",
970
    OGS_GTP1_MBMS_DISTRIBUTION_ACKNOWLEDGEMENT_TYPE,
971
    1,
972
    0,
973
    sizeof(ogs_gtp1_tlv_mbms_distribution_acknowledgement_t),
974
    { NULL }
975
};
976
977
ogs_tlv_desc_t ogs_gtp1_tlv_desc_reliable_inter_rat_handover_info =
978
{
979
    OGS_TLV_FIXED_STR,
980
    "Reliable INTER RAT HANDOVER INFO",
981
    OGS_GTP1_RELIABLE_INTER_RAT_HANDOVER_INFO_TYPE,
982
    1,
983
    0,
984
    sizeof(ogs_gtp1_tlv_reliable_inter_rat_handover_info_t),
985
    { NULL }
986
};
987
988
ogs_tlv_desc_t ogs_gtp1_tlv_desc_rfsp_index =
989
{
990
    OGS_TLV_FIXED_STR,
991
    "RFSP Index",
992
    OGS_GTP1_RFSP_INDEX_TYPE,
993
    2,
994
    0,
995
    sizeof(ogs_gtp1_tlv_rfsp_index_t),
996
    { NULL }
997
};
998
999
ogs_tlv_desc_t ogs_gtp1_tlv_desc_fqdn =
1000
{
1001
    OGS_TLV_VAR_STR,
1002
    "FQDN",
1003
    OGS_GTP1_FQDN_TYPE,
1004
    0,
1005
    0,
1006
    sizeof(ogs_gtp1_tlv_fqdn_t),
1007
    { NULL }
1008
};
1009
1010
ogs_tlv_desc_t ogs_gtp1_tlv_desc_evolved_allocation_retention_priority_i =
1011
{
1012
    OGS_TLV_FIXED_STR,
1013
    "Evolved Allocation/Retention Priority I",
1014
    OGS_GTP1_EVOLVED_ALLOCATION_RETENTION_PRIORITY_I_TYPE,
1015
    1,
1016
    0,
1017
    sizeof(ogs_gtp1_tlv_evolved_allocation_retention_priority_i_t),
1018
    { NULL }
1019
};
1020
1021
ogs_tlv_desc_t ogs_gtp1_tlv_desc_evolved_allocation_retention_priority_ii =
1022
{
1023
    OGS_TLV_FIXED_STR,
1024
    "Evolved Allocation/Retention Priority II",
1025
    OGS_GTP1_EVOLVED_ALLOCATION_RETENTION_PRIORITY_II_TYPE,
1026
    2,
1027
    0,
1028
    sizeof(ogs_gtp1_tlv_evolved_allocation_retention_priority_ii_t),
1029
    { NULL }
1030
};
1031
1032
ogs_tlv_desc_t ogs_gtp1_tlv_desc_extended_common_flags =
1033
{
1034
    OGS_TLV_VAR_STR,
1035
    "Extended Common Flags",
1036
    OGS_GTP1_EXTENDED_COMMON_FLAGS_TYPE,
1037
    0,
1038
    0,
1039
    sizeof(ogs_gtp1_tlv_extended_common_flags_t),
1040
    { NULL }
1041
};
1042
1043
ogs_tlv_desc_t ogs_gtp1_tlv_desc_uci =
1044
{
1045
    OGS_TLV_FIXED_STR,
1046
    "UCI",
1047
    OGS_GTP1_UCI_TYPE,
1048
    8,
1049
    0,
1050
    sizeof(ogs_gtp1_tlv_uci_t),
1051
    { NULL }
1052
};
1053
1054
ogs_tlv_desc_t ogs_gtp1_tlv_desc_csg_information_reporting_action =
1055
{
1056
    OGS_TLV_VAR_STR,
1057
    "CSG Information Reporting Action",
1058
    OGS_GTP1_CSG_INFORMATION_REPORTING_ACTION_TYPE,
1059
    0,
1060
    0,
1061
    sizeof(ogs_gtp1_tlv_csg_information_reporting_action_t),
1062
    { NULL }
1063
};
1064
1065
ogs_tlv_desc_t ogs_gtp1_tlv_desc_csg_id =
1066
{
1067
    OGS_TLV_FIXED_STR,
1068
    "CSG ID",
1069
    OGS_GTP1_CSG_ID_TYPE,
1070
    4,
1071
    0,
1072
    sizeof(ogs_gtp1_tlv_csg_id_t),
1073
    { NULL }
1074
};
1075
1076
ogs_tlv_desc_t ogs_gtp1_tlv_desc_cmi =
1077
{
1078
    OGS_TLV_FIXED_STR,
1079
    "CMI",
1080
    OGS_GTP1_CMI_TYPE,
1081
    1,
1082
    0,
1083
    sizeof(ogs_gtp1_tlv_cmi_t),
1084
    { NULL }
1085
};
1086
1087
ogs_tlv_desc_t ogs_gtp1_tlv_desc_ambr =
1088
{
1089
    OGS_TLV_FIXED_STR,
1090
    "AMBR",
1091
    OGS_GTP1_AMBR_TYPE,
1092
    8,
1093
    0,
1094
    sizeof(ogs_gtp1_tlv_ambr_t),
1095
    { NULL }
1096
};
1097
1098
ogs_tlv_desc_t ogs_gtp1_tlv_desc_ue_network_capability =
1099
{
1100
    OGS_TLV_VAR_STR,
1101
    "UE Network Capability",
1102
    OGS_GTP1_UE_NETWORK_CAPABILITY_TYPE,
1103
    0,
1104
    0,
1105
    sizeof(ogs_gtp1_tlv_ue_network_capability_t),
1106
    { NULL }
1107
};
1108
1109
ogs_tlv_desc_t ogs_gtp1_tlv_desc_ue_ambr =
1110
{
1111
    OGS_TLV_VAR_STR,
1112
    "UE-AMBR",
1113
    OGS_GTP1_UE_AMBR_TYPE,
1114
    0,
1115
    0,
1116
    sizeof(ogs_gtp1_tlv_ue_ambr_t),
1117
    { NULL }
1118
};
1119
1120
ogs_tlv_desc_t ogs_gtp1_tlv_desc_apn_ambr_with_nsapi =
1121
{
1122
    OGS_TLV_FIXED_STR,
1123
    "APN-AMBR with NSAPI",
1124
    OGS_GTP1_APN_AMBR_WITH_NSAPI_TYPE,
1125
    9,
1126
    0,
1127
    sizeof(ogs_gtp1_tlv_apn_ambr_with_nsapi_t),
1128
    { NULL }
1129
};
1130
1131
ogs_tlv_desc_t ogs_gtp1_tlv_desc_ggsn_back_off_time =
1132
{
1133
    OGS_TLV_VAR_STR,
1134
    "GGSN Back-Off Time",
1135
    OGS_GTP1_GGSN_BACK_OFF_TIME_TYPE,
1136
    0,
1137
    0,
1138
    sizeof(ogs_gtp1_tlv_ggsn_back_off_time_t),
1139
    { NULL }
1140
};
1141
1142
ogs_tlv_desc_t ogs_gtp1_tlv_desc_signalling_priority_indication =
1143
{
1144
    OGS_TLV_VAR_STR,
1145
    "Signalling Priority Indication",
1146
    OGS_GTP1_SIGNALLING_PRIORITY_INDICATION_TYPE,
1147
    0,
1148
    0,
1149
    sizeof(ogs_gtp1_tlv_signalling_priority_indication_t),
1150
    { NULL }
1151
};
1152
1153
ogs_tlv_desc_t ogs_gtp1_tlv_desc_signalling_priority_indication_with_nsapi =
1154
{
1155
    OGS_TLV_VAR_STR,
1156
    "Signalling Priority Indication with NSAPI",
1157
    OGS_GTP1_SIGNALLING_PRIORITY_INDICATION_WITH_NSAPI_TYPE,
1158
    0,
1159
    0,
1160
    sizeof(ogs_gtp1_tlv_signalling_priority_indication_with_nsapi_t),
1161
    { NULL }
1162
};
1163
1164
ogs_tlv_desc_t ogs_gtp1_tlv_desc_higher_bitrates_than_16_mbps_flag =
1165
{
1166
    OGS_TLV_FIXED_STR,
1167
    "Higher bitrates than 16 Mbps flag",
1168
    OGS_GTP1_HIGHER_BITRATES_THAN_16_MBPS_FLAG_TYPE,
1169
    1,
1170
    0,
1171
    sizeof(ogs_gtp1_tlv_higher_bitrates_than_16_mbps_flag_t),
1172
    { NULL }
1173
};
1174
1175
ogs_tlv_desc_t ogs_gtp1_tlv_desc_additional_mm_context_for_srvcc =
1176
{
1177
    OGS_TLV_VAR_STR,
1178
    "Additional MM context for SRVCC",
1179
    OGS_GTP1_ADDITIONAL_MM_CONTEXT_FOR_SRVCC_TYPE,
1180
    0,
1181
    0,
1182
    sizeof(ogs_gtp1_tlv_additional_mm_context_for_srvcc_t),
1183
    { NULL }
1184
};
1185
1186
ogs_tlv_desc_t ogs_gtp1_tlv_desc_additional_flags_for_srvcc =
1187
{
1188
    OGS_TLV_VAR_STR,
1189
    "Additional flags for SRVCC",
1190
    OGS_GTP1_ADDITIONAL_FLAGS_FOR_SRVCC_TYPE,
1191
    0,
1192
    0,
1193
    sizeof(ogs_gtp1_tlv_additional_flags_for_srvcc_t),
1194
    { NULL }
1195
};
1196
1197
ogs_tlv_desc_t ogs_gtp1_tlv_desc_stn_sr =
1198
{
1199
    OGS_TLV_VAR_STR,
1200
    "STN-SR",
1201
    OGS_GTP1_STN_SR_TYPE,
1202
    0,
1203
    0,
1204
    sizeof(ogs_gtp1_tlv_stn_sr_t),
1205
    { NULL }
1206
};
1207
1208
ogs_tlv_desc_t ogs_gtp1_tlv_desc_c_msisdn =
1209
{
1210
    OGS_TLV_VAR_STR,
1211
    "C-MSISDN",
1212
    OGS_GTP1_C_MSISDN_TYPE,
1213
    0,
1214
    0,
1215
    sizeof(ogs_gtp1_tlv_c_msisdn_t),
1216
    { NULL }
1217
};
1218
1219
ogs_tlv_desc_t ogs_gtp1_tlv_desc_extended_ranap_cause =
1220
{
1221
    OGS_TLV_VAR_STR,
1222
    "Extended RANAP Cause",
1223
    OGS_GTP1_EXTENDED_RANAP_CAUSE_TYPE,
1224
    0,
1225
    0,
1226
    sizeof(ogs_gtp1_tlv_extended_ranap_cause_t),
1227
    { NULL }
1228
};
1229
1230
ogs_tlv_desc_t ogs_gtp1_tlv_desc_enodeb_id =
1231
{
1232
    OGS_TLV_VAR_STR,
1233
    "eNodeB ID",
1234
    OGS_GTP1_ENODEB_ID_TYPE,
1235
    0,
1236
    0,
1237
    sizeof(ogs_gtp1_tlv_enodeb_id_t),
1238
    { NULL }
1239
};
1240
1241
ogs_tlv_desc_t ogs_gtp1_tlv_desc_selection_mode_with_nsapi =
1242
{
1243
    OGS_TLV_FIXED_STR,
1244
    "Selection Mode with NSAPI",
1245
    OGS_GTP1_SELECTION_MODE_WITH_NSAPI_TYPE,
1246
    2,
1247
    0,
1248
    sizeof(ogs_gtp1_tlv_selection_mode_with_nsapi_t),
1249
    { NULL }
1250
};
1251
1252
ogs_tlv_desc_t ogs_gtp1_tlv_desc_uli_timestamp =
1253
{
1254
    OGS_TLV_VAR_STR,
1255
    "ULI Timestamp",
1256
    OGS_GTP1_ULI_TIMESTAMP_TYPE,
1257
    0,
1258
    0,
1259
    sizeof(ogs_gtp1_tlv_uli_timestamp_t),
1260
    { NULL }
1261
};
1262
1263
ogs_tlv_desc_t ogs_gtp1_tlv_desc_lhn_id_with_nsapi =
1264
{
1265
    OGS_TLV_VAR_STR,
1266
    "LHN-ID with NSAPI",
1267
    OGS_GTP1_LHN_ID_WITH_NSAPI_TYPE,
1268
    0,
1269
    0,
1270
    sizeof(ogs_gtp1_tlv_lhn_id_with_nsapi_t),
1271
    { NULL }
1272
};
1273
1274
ogs_tlv_desc_t ogs_gtp1_tlv_desc_cn_operator_selection_entity =
1275
{
1276
    OGS_TLV_VAR_STR,
1277
    "CN Operator Selection Entity",
1278
    OGS_GTP1_CN_OPERATOR_SELECTION_ENTITY_TYPE,
1279
    0,
1280
    0,
1281
    sizeof(ogs_gtp1_tlv_cn_operator_selection_entity_t),
1282
    { NULL }
1283
};
1284
1285
ogs_tlv_desc_t ogs_gtp1_tlv_desc_ue_usage_type =
1286
{
1287
    OGS_TLV_VAR_STR,
1288
    "UE Usage Type",
1289
    OGS_GTP1_UE_USAGE_TYPE_TYPE,
1290
    0,
1291
    0,
1292
    sizeof(ogs_gtp1_tlv_ue_usage_type_t),
1293
    { NULL }
1294
};
1295
1296
ogs_tlv_desc_t ogs_gtp1_tlv_desc_extended_common_flags_ii =
1297
{
1298
    OGS_TLV_VAR_STR,
1299
    "Extended Common Flags II",
1300
    OGS_GTP1_EXTENDED_COMMON_FLAGS_II_TYPE,
1301
    0,
1302
    0,
1303
    sizeof(ogs_gtp1_tlv_extended_common_flags_ii_t),
1304
    { NULL }
1305
};
1306
1307
ogs_tlv_desc_t ogs_gtp1_tlv_desc_node_identifier =
1308
{
1309
    OGS_TLV_VAR_STR,
1310
    "Node Identifier",
1311
    OGS_GTP1_NODE_IDENTIFIER_TYPE,
1312
    0,
1313
    0,
1314
    sizeof(ogs_gtp1_tlv_node_identifier_t),
1315
    { NULL }
1316
};
1317
1318
ogs_tlv_desc_t ogs_gtp1_tlv_desc_ciot_optimizations_support_indication =
1319
{
1320
    OGS_TLV_VAR_STR,
1321
    "CIoT Optimizations Support Indication",
1322
    OGS_GTP1_CIOT_OPTIMIZATIONS_SUPPORT_INDICATION_TYPE,
1323
    0,
1324
    0,
1325
    sizeof(ogs_gtp1_tlv_ciot_optimizations_support_indication_t),
1326
    { NULL }
1327
};
1328
1329
ogs_tlv_desc_t ogs_gtp1_tlv_desc_scef_pdn_connection =
1330
{
1331
    OGS_TLV_VAR_STR,
1332
    "SCEF PDN Connection",
1333
    OGS_GTP1_SCEF_PDN_CONNECTION_TYPE,
1334
    0,
1335
    0,
1336
    sizeof(ogs_gtp1_tlv_scef_pdn_connection_t),
1337
    { NULL }
1338
};
1339
1340
ogs_tlv_desc_t ogs_gtp1_tlv_desc_iov_updates_counter =
1341
{
1342
    OGS_TLV_FIXED_STR,
1343
    "IOV_updates counter",
1344
    OGS_GTP1_IOV_UPDATES_COUNTER_TYPE,
1345
    1,
1346
    0,
1347
    sizeof(ogs_gtp1_tlv_iov_updates_counter_t),
1348
    { NULL }
1349
};
1350
1351
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mapped_ue_usage_type =
1352
{
1353
    OGS_TLV_VAR_STR,
1354
    "Mapped UE Usage Type",
1355
    OGS_GTP1_MAPPED_UE_USAGE_TYPE_TYPE,
1356
    0,
1357
    0,
1358
    sizeof(ogs_gtp1_tlv_mapped_ue_usage_type_t),
1359
    { NULL }
1360
};
1361
1362
ogs_tlv_desc_t ogs_gtp1_tlv_desc_up_function_selection_indication_flags =
1363
{
1364
    OGS_TLV_VAR_STR,
1365
    "UP Function Selection Indication Flags",
1366
    OGS_GTP1_UP_FUNCTION_SELECTION_INDICATION_FLAGS_TYPE,
1367
    0,
1368
    0,
1369
    sizeof(ogs_gtp1_tlv_up_function_selection_indication_flags_t),
1370
    { NULL }
1371
};
1372
1373
ogs_tlv_desc_t ogs_gtp1_tlv_desc_special_ie_type_for_ie_type_extension =
1374
{
1375
    OGS_TLV_VAR_STR,
1376
    "Special IE type for IE Type Extension",
1377
    OGS_GTP1_SPECIAL_IE_TYPE_FOR_IE_TYPE_EXTENSION_TYPE,
1378
    0,
1379
    0,
1380
    sizeof(ogs_gtp1_tlv_special_ie_type_for_ie_type_extension_t),
1381
    { NULL }
1382
};
1383
1384
ogs_tlv_desc_t ogs_gtp1_tlv_desc_charging_gateway_address =
1385
{
1386
    OGS_TLV_VAR_STR,
1387
    "Charging Gateway Address",
1388
    OGS_GTP1_CHARGING_GATEWAY_ADDRESS_TYPE,
1389
    0,
1390
    0,
1391
    sizeof(ogs_gtp1_tlv_charging_gateway_address_t),
1392
    { NULL }
1393
};
1394
1395
ogs_tlv_desc_t ogs_gtp1_tlv_desc_echo_request =
1396
{
1397
    OGS_TLV_MESSAGE,
1398
    "Echo Request",
1399
    0, 0, 0, 0, {
1400
    NULL,
1401
}};
1402
1403
ogs_tlv_desc_t ogs_gtp1_tlv_desc_echo_response =
1404
{
1405
    OGS_TLV_MESSAGE,
1406
    "Echo Response",
1407
    0, 0, 0, 0, {
1408
        &ogs_gtp1_tlv_desc_recovery,
1409
    NULL,
1410
}};
1411
1412
ogs_tlv_desc_t ogs_gtp1_tlv_desc_create_pdp_context_request =
1413
{
1414
    OGS_TLV_MESSAGE,
1415
    "Create PDP Context Request",
1416
    0, 0, 0, 0, {
1417
        &ogs_gtp1_tlv_desc_imsi,
1418
        &ogs_gtp1_tlv_desc_rai,
1419
        &ogs_gtp1_tlv_desc_recovery,
1420
        &ogs_gtp1_tlv_desc_selection_mode,
1421
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_data_i,
1422
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
1423
        &ogs_gtp1_tlv_desc_nsapi,
1424
        &ogs_gtp1_tlv_desc_nsapi,
1425
        &ogs_gtp1_tlv_desc_charging_characteristics,
1426
        &ogs_gtp1_tlv_desc_trace_reference,
1427
        &ogs_gtp1_tlv_desc_trace_type,
1428
        &ogs_gtp1_tlv_desc_end_user_address,
1429
        &ogs_gtp1_tlv_desc_access_point_name,
1430
        &ogs_gtp1_tlv_desc_protocol_configuration_options,
1431
        &ogs_gtp1_tlv_desc_gsn_address,
1432
        &ogs_gtp1_tlv_desc_gsn_address,
1433
        &ogs_gtp1_tlv_desc_msisdn,
1434
        &ogs_gtp1_tlv_desc_quality_of_service_profile,
1435
        &ogs_gtp1_tlv_desc_traffic_flow_template,
1436
        &ogs_gtp1_tlv_desc_trigger_id,
1437
        &ogs_gtp1_tlv_desc_omc_identity,
1438
        &ogs_gtp1_tlv_desc_common_flags,
1439
        &ogs_gtp1_tlv_desc_apn_restriction,
1440
        &ogs_gtp1_tlv_desc_rat_type,
1441
        &ogs_gtp1_tlv_desc_user_location_information,
1442
        &ogs_gtp1_tlv_desc_ms_time_zone,
1443
        &ogs_gtp1_tlv_desc_sv,
1444
        &ogs_gtp1_tlv_desc_camel_charging_information_container,
1445
        &ogs_gtp1_tlv_desc_additional_trace_info,
1446
        &ogs_gtp1_tlv_desc_correlation_id,
1447
        &ogs_gtp1_tlv_desc_evolved_allocation_retention_priority_i,
1448
        &ogs_gtp1_tlv_desc_extended_common_flags,
1449
        &ogs_gtp1_tlv_desc_uci,
1450
        &ogs_gtp1_tlv_desc_ambr,
1451
        &ogs_gtp1_tlv_desc_signalling_priority_indication,
1452
        &ogs_gtp1_tlv_desc_cn_operator_selection_entity,
1453
        &ogs_gtp1_tlv_desc_mapped_ue_usage_type,
1454
        &ogs_gtp1_tlv_desc_up_function_selection_indication_flags,
1455
    NULL,
1456
}};
1457
1458
ogs_tlv_desc_t ogs_gtp1_tlv_desc_create_pdp_context_response =
1459
{
1460
    OGS_TLV_MESSAGE,
1461
    "Create PDP Context Response",
1462
    0, 0, 0, 0, {
1463
        &ogs_gtp1_tlv_desc_cause,
1464
        &ogs_gtp1_tlv_desc_reordering_required,
1465
        &ogs_gtp1_tlv_desc_recovery,
1466
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_data_i,
1467
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
1468
        &ogs_gtp1_tlv_desc_nsapi,
1469
        &ogs_gtp1_tlv_desc_charging_id,
1470
        &ogs_gtp1_tlv_desc_end_user_address,
1471
        &ogs_gtp1_tlv_desc_protocol_configuration_options,
1472
        &ogs_gtp1_tlv_desc_gsn_address,
1473
        &ogs_gtp1_tlv_desc_gsn_address,
1474
        &ogs_gtp1_tlv_desc_gsn_address,
1475
        &ogs_gtp1_tlv_desc_gsn_address,
1476
        &ogs_gtp1_tlv_desc_quality_of_service_profile,
1477
        &ogs_gtp1_tlv_desc_charging_gateway_address,
1478
        &ogs_gtp1_tlv_desc_charging_gateway_address,
1479
        &ogs_gtp1_tlv_desc_common_flags,
1480
        &ogs_gtp1_tlv_desc_apn_restriction,
1481
        &ogs_gtp1_tlv_desc_ms_info_change_reporting_action,
1482
        &ogs_gtp1_tlv_desc_bearer_control_mode,
1483
        &ogs_gtp1_tlv_desc_evolved_allocation_retention_priority_i,
1484
        &ogs_gtp1_tlv_desc_extended_common_flags,
1485
        &ogs_gtp1_tlv_desc_csg_information_reporting_action,
1486
        &ogs_gtp1_tlv_desc_ambr,
1487
        &ogs_gtp1_tlv_desc_ggsn_back_off_time,
1488
        &ogs_gtp1_tlv_desc_extended_common_flags_ii,
1489
    NULL,
1490
}};
1491
1492
ogs_tlv_desc_t ogs_gtp1_tlv_desc_update_pdp_context_request =
1493
{
1494
    OGS_TLV_MESSAGE,
1495
    "Update PDP Context Request",
1496
    0, 0, 0, 0, {
1497
        &ogs_gtp1_tlv_desc_imsi,
1498
        &ogs_gtp1_tlv_desc_rai,
1499
        &ogs_gtp1_tlv_desc_recovery,
1500
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_data_i,
1501
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
1502
        &ogs_gtp1_tlv_desc_nsapi,
1503
        &ogs_gtp1_tlv_desc_trace_reference,
1504
        &ogs_gtp1_tlv_desc_trace_type,
1505
        &ogs_gtp1_tlv_desc_protocol_configuration_options,
1506
        &ogs_gtp1_tlv_desc_gsn_address,
1507
        &ogs_gtp1_tlv_desc_gsn_address,
1508
        &ogs_gtp1_tlv_desc_gsn_address,
1509
        &ogs_gtp1_tlv_desc_gsn_address,
1510
        &ogs_gtp1_tlv_desc_quality_of_service_profile,
1511
        &ogs_gtp1_tlv_desc_traffic_flow_template,
1512
        &ogs_gtp1_tlv_desc_trigger_id,
1513
        &ogs_gtp1_tlv_desc_omc_identity,
1514
        &ogs_gtp1_tlv_desc_common_flags,
1515
        &ogs_gtp1_tlv_desc_rat_type,
1516
        &ogs_gtp1_tlv_desc_user_location_information,
1517
        &ogs_gtp1_tlv_desc_ms_time_zone,
1518
        &ogs_gtp1_tlv_desc_additional_trace_info,
1519
        &ogs_gtp1_tlv_desc_direct_tunnel_flags,
1520
        &ogs_gtp1_tlv_desc_evolved_allocation_retention_priority_i,
1521
        &ogs_gtp1_tlv_desc_extended_common_flags,
1522
        &ogs_gtp1_tlv_desc_uci,
1523
        &ogs_gtp1_tlv_desc_ambr,
1524
        &ogs_gtp1_tlv_desc_signalling_priority_indication,
1525
        &ogs_gtp1_tlv_desc_cn_operator_selection_entity,
1526
        &ogs_gtp1_tlv_desc_sv,
1527
    NULL,
1528
}};
1529
1530
ogs_tlv_desc_t ogs_gtp1_tlv_desc_update_pdp_context_response =
1531
{
1532
    OGS_TLV_MESSAGE,
1533
    "Update PDP Context Response",
1534
    0, 0, 0, 0, {
1535
        &ogs_gtp1_tlv_desc_cause,
1536
        &ogs_gtp1_tlv_desc_recovery,
1537
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_data_i,
1538
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
1539
        &ogs_gtp1_tlv_desc_charging_id,
1540
        &ogs_gtp1_tlv_desc_protocol_configuration_options,
1541
        &ogs_gtp1_tlv_desc_gsn_address,
1542
        &ogs_gtp1_tlv_desc_gsn_address,
1543
        &ogs_gtp1_tlv_desc_gsn_address,
1544
        &ogs_gtp1_tlv_desc_gsn_address,
1545
        &ogs_gtp1_tlv_desc_quality_of_service_profile,
1546
        &ogs_gtp1_tlv_desc_charging_gateway_address,
1547
        &ogs_gtp1_tlv_desc_charging_gateway_address,
1548
        &ogs_gtp1_tlv_desc_common_flags,
1549
        &ogs_gtp1_tlv_desc_apn_restriction,
1550
        &ogs_gtp1_tlv_desc_bearer_control_mode,
1551
        &ogs_gtp1_tlv_desc_ms_info_change_reporting_action,
1552
        &ogs_gtp1_tlv_desc_evolved_allocation_retention_priority_i,
1553
        &ogs_gtp1_tlv_desc_csg_information_reporting_action,
1554
        &ogs_gtp1_tlv_desc_ambr,
1555
    NULL,
1556
}};
1557
1558
ogs_tlv_desc_t ogs_gtp1_tlv_desc_delete_pdp_context_request =
1559
{
1560
    OGS_TLV_MESSAGE,
1561
    "Delete PDP Context Request",
1562
    0, 0, 0, 0, {
1563
        &ogs_gtp1_tlv_desc_cause,
1564
        &ogs_gtp1_tlv_desc_teardown_ind,
1565
        &ogs_gtp1_tlv_desc_nsapi,
1566
        &ogs_gtp1_tlv_desc_protocol_configuration_options,
1567
        &ogs_gtp1_tlv_desc_user_location_information,
1568
        &ogs_gtp1_tlv_desc_ms_time_zone,
1569
        &ogs_gtp1_tlv_desc_extended_common_flags,
1570
        &ogs_gtp1_tlv_desc_uli_timestamp,
1571
    NULL,
1572
}};
1573
1574
ogs_tlv_desc_t ogs_gtp1_tlv_desc_delete_pdp_context_response =
1575
{
1576
    OGS_TLV_MESSAGE,
1577
    "Delete PDP Context Response",
1578
    0, 0, 0, 0, {
1579
        &ogs_gtp1_tlv_desc_cause,
1580
        &ogs_gtp1_tlv_desc_protocol_configuration_options,
1581
        &ogs_gtp1_tlv_desc_user_location_information,
1582
        &ogs_gtp1_tlv_desc_ms_time_zone,
1583
        &ogs_gtp1_tlv_desc_uli_timestamp,
1584
    NULL,
1585
}};
1586
1587
ogs_tlv_desc_t ogs_gtp1_tlv_desc_initiate_pdp_context_activation_request =
1588
{
1589
    OGS_TLV_MESSAGE,
1590
    "Initiate PDP Context Activation Request",
1591
    0, 0, 0, 0, {
1592
        &ogs_gtp1_tlv_desc_nsapi,
1593
        &ogs_gtp1_tlv_desc_protocol_configuration_options,
1594
        &ogs_gtp1_tlv_desc_quality_of_service_profile,
1595
        &ogs_gtp1_tlv_desc_traffic_flow_template,
1596
        &ogs_gtp1_tlv_desc_correlation_id,
1597
        &ogs_gtp1_tlv_desc_evolved_allocation_retention_priority_i,
1598
    NULL,
1599
}};
1600
1601
ogs_tlv_desc_t ogs_gtp1_tlv_desc_initiate_pdp_context_activation_response =
1602
{
1603
    OGS_TLV_MESSAGE,
1604
    "Initiate PDP Context Activation Response",
1605
    0, 0, 0, 0, {
1606
        &ogs_gtp1_tlv_desc_cause,
1607
        &ogs_gtp1_tlv_desc_protocol_configuration_options,
1608
    NULL,
1609
}};
1610
1611
ogs_tlv_desc_t ogs_gtp1_tlv_desc_pdu_notification_request =
1612
{
1613
    OGS_TLV_MESSAGE,
1614
    "PDU Notification Request",
1615
    0, 0, 0, 0, {
1616
        &ogs_gtp1_tlv_desc_imsi,
1617
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
1618
        &ogs_gtp1_tlv_desc_end_user_address,
1619
        &ogs_gtp1_tlv_desc_access_point_name,
1620
        &ogs_gtp1_tlv_desc_protocol_configuration_options,
1621
        &ogs_gtp1_tlv_desc_gsn_address,
1622
    NULL,
1623
}};
1624
1625
ogs_tlv_desc_t ogs_gtp1_tlv_desc_pdu_notification_response =
1626
{
1627
    OGS_TLV_MESSAGE,
1628
    "PDU Notification Response",
1629
    0, 0, 0, 0, {
1630
        &ogs_gtp1_tlv_desc_cause,
1631
    NULL,
1632
}};
1633
1634
ogs_tlv_desc_t ogs_gtp1_tlv_desc_pdu_notification_reject_request =
1635
{
1636
    OGS_TLV_MESSAGE,
1637
    "PDU Notification Reject Request",
1638
    0, 0, 0, 0, {
1639
        &ogs_gtp1_tlv_desc_cause,
1640
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
1641
        &ogs_gtp1_tlv_desc_end_user_address,
1642
        &ogs_gtp1_tlv_desc_access_point_name,
1643
        &ogs_gtp1_tlv_desc_protocol_configuration_options,
1644
    NULL,
1645
}};
1646
1647
ogs_tlv_desc_t ogs_gtp1_tlv_desc_pdu_notification_reject_response =
1648
{
1649
    OGS_TLV_MESSAGE,
1650
    "PDU Notification Reject Response",
1651
    0, 0, 0, 0, {
1652
        &ogs_gtp1_tlv_desc_cause,
1653
    NULL,
1654
}};
1655
1656
ogs_tlv_desc_t ogs_gtp1_tlv_desc_supported_extension_headers_notification =
1657
{
1658
    OGS_TLV_MESSAGE,
1659
    "Supported Extension Headers Notification",
1660
    0, 0, 0, 0, {
1661
        &ogs_gtp1_tlv_desc_extension_header_type_list,
1662
    NULL,
1663
}};
1664
1665
ogs_tlv_desc_t ogs_gtp1_tlv_desc_send_routeing_information_for_gprs_request =
1666
{
1667
    OGS_TLV_MESSAGE,
1668
    "Send Routeing Information for GPRS Request",
1669
    0, 0, 0, 0, {
1670
        &ogs_gtp1_tlv_desc_imsi,
1671
    NULL,
1672
}};
1673
1674
ogs_tlv_desc_t ogs_gtp1_tlv_desc_send_routeing_information_for_gprs_response =
1675
{
1676
    OGS_TLV_MESSAGE,
1677
    "Send Routeing Information for GPRS Response",
1678
    0, 0, 0, 0, {
1679
        &ogs_gtp1_tlv_desc_cause,
1680
        &ogs_gtp1_tlv_desc_imsi,
1681
        &ogs_gtp1_tlv_desc_map_cause,
1682
        &ogs_gtp1_tlv_desc_ms_not_reachable_reason,
1683
        &ogs_gtp1_tlv_desc_gsn_address,
1684
    NULL,
1685
}};
1686
1687
ogs_tlv_desc_t ogs_gtp1_tlv_desc_failure_report_request =
1688
{
1689
    OGS_TLV_MESSAGE,
1690
    "Failure Report Request",
1691
    0, 0, 0, 0, {
1692
        &ogs_gtp1_tlv_desc_imsi,
1693
    NULL,
1694
}};
1695
1696
ogs_tlv_desc_t ogs_gtp1_tlv_desc_failure_report_response =
1697
{
1698
    OGS_TLV_MESSAGE,
1699
    "Failure Report Response",
1700
    0, 0, 0, 0, {
1701
        &ogs_gtp1_tlv_desc_cause,
1702
        &ogs_gtp1_tlv_desc_map_cause,
1703
    NULL,
1704
}};
1705
1706
ogs_tlv_desc_t ogs_gtp1_tlv_desc_note_ms_gprs_present_request =
1707
{
1708
    OGS_TLV_MESSAGE,
1709
    "Note MS GPRS Present Request",
1710
    0, 0, 0, 0, {
1711
        &ogs_gtp1_tlv_desc_imsi,
1712
        &ogs_gtp1_tlv_desc_gsn_address,
1713
    NULL,
1714
}};
1715
1716
ogs_tlv_desc_t ogs_gtp1_tlv_desc_note_ms_gprs_present_response =
1717
{
1718
    OGS_TLV_MESSAGE,
1719
    "Note MS GPRS Present Response",
1720
    0, 0, 0, 0, {
1721
        &ogs_gtp1_tlv_desc_cause,
1722
    NULL,
1723
}};
1724
1725
ogs_tlv_desc_t ogs_gtp1_tlv_desc_identification_request =
1726
{
1727
    OGS_TLV_MESSAGE,
1728
    "Identification Request",
1729
    0, 0, 0, 0, {
1730
        &ogs_gtp1_tlv_desc_rai,
1731
        &ogs_gtp1_tlv_desc_p_tmsi,
1732
        &ogs_gtp1_tlv_desc_p_tmsi_signature,
1733
        &ogs_gtp1_tlv_desc_gsn_address,
1734
        &ogs_gtp1_tlv_desc_hop_counter,
1735
    NULL,
1736
}};
1737
1738
ogs_tlv_desc_t ogs_gtp1_tlv_desc_identification_response =
1739
{
1740
    OGS_TLV_MESSAGE,
1741
    "Identification Response",
1742
    0, 0, 0, 0, {
1743
        &ogs_gtp1_tlv_desc_cause,
1744
        &ogs_gtp1_tlv_desc_imsi,
1745
        &ogs_gtp1_tlv_desc_authentication_triplet,
1746
        &ogs_gtp1_tlv_desc_authentication_quintuplet,
1747
        &ogs_gtp1_tlv_desc_ue_usage_type,
1748
        &ogs_gtp1_tlv_desc_iov_updates_counter,
1749
    NULL,
1750
}};
1751
1752
ogs_tlv_desc_t ogs_gtp1_tlv_desc_sgsn_context_request =
1753
{
1754
    OGS_TLV_MESSAGE,
1755
    "SGSN Context Request",
1756
    0, 0, 0, 0, {
1757
        &ogs_gtp1_tlv_desc_imsi,
1758
        &ogs_gtp1_tlv_desc_rai,
1759
        &ogs_gtp1_tlv_desc_tlli,
1760
        &ogs_gtp1_tlv_desc_p_tmsi,
1761
        &ogs_gtp1_tlv_desc_p_tmsi_signature,
1762
        &ogs_gtp1_tlv_desc_ms_validated,
1763
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
1764
        &ogs_gtp1_tlv_desc_gsn_address,
1765
        &ogs_gtp1_tlv_desc_gsn_address,
1766
        &ogs_gtp1_tlv_desc_sgsn_number,
1767
        &ogs_gtp1_tlv_desc_rat_type,
1768
        &ogs_gtp1_tlv_desc_hop_counter,
1769
    NULL,
1770
}};
1771
1772
ogs_tlv_desc_t ogs_gtp1_tlv_desc_sgsn_context_response =
1773
{
1774
    OGS_TLV_MESSAGE,
1775
    "SGSN Context Response",
1776
    0, 0, 0, 0, {
1777
        &ogs_gtp1_tlv_desc_cause,
1778
        &ogs_gtp1_tlv_desc_imsi,
1779
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
1780
        &ogs_gtp1_tlv_desc_rab_context,
1781
        &ogs_gtp1_tlv_desc_radio_priority_sms,
1782
        &ogs_gtp1_tlv_desc_radio_priority,
1783
        &ogs_gtp1_tlv_desc_packet_flow_id,
1784
        &ogs_gtp1_tlv_desc_charging_characteristics,
1785
        &ogs_gtp1_tlv_desc_radio_priority_lcs,
1786
        &ogs_gtp1_tlv_desc_mm_context,
1787
        &ogs_gtp1_tlv_desc_pdp_context,
1788
        &ogs_gtp1_tlv_desc_gsn_address,
1789
        &ogs_gtp1_tlv_desc_gsn_address,
1790
        &ogs_gtp1_tlv_desc_gsn_address,
1791
        &ogs_gtp1_tlv_desc_pdp_context_prioritization,
1792
        &ogs_gtp1_tlv_desc_mbms_ue_context,
1793
        &ogs_gtp1_tlv_desc_rfsp_index,
1794
        &ogs_gtp1_tlv_desc_rfsp_index,
1795
        &ogs_gtp1_tlv_desc_fqdn,
1796
        &ogs_gtp1_tlv_desc_evolved_allocation_retention_priority_ii,
1797
        &ogs_gtp1_tlv_desc_extended_common_flags,
1798
        &ogs_gtp1_tlv_desc_ue_network_capability,
1799
        &ogs_gtp1_tlv_desc_ue_ambr,
1800
        &ogs_gtp1_tlv_desc_apn_ambr_with_nsapi,
1801
        &ogs_gtp1_tlv_desc_signalling_priority_indication_with_nsapi,
1802
        &ogs_gtp1_tlv_desc_higher_bitrates_than_16_mbps_flag,
1803
        &ogs_gtp1_tlv_desc_selection_mode_with_nsapi,
1804
        &ogs_gtp1_tlv_desc_lhn_id_with_nsapi,
1805
        &ogs_gtp1_tlv_desc_ue_usage_type,
1806
        &ogs_gtp1_tlv_desc_extended_common_flags_ii,
1807
        &ogs_gtp1_tlv_desc_scef_pdn_connection,
1808
        &ogs_gtp1_tlv_desc_iov_updates_counter,
1809
    NULL,
1810
}};
1811
1812
ogs_tlv_desc_t ogs_gtp1_tlv_desc_sgsn_context_acknowledge =
1813
{
1814
    OGS_TLV_MESSAGE,
1815
    "SGSN Context Acknowledge",
1816
    0, 0, 0, 0, {
1817
        &ogs_gtp1_tlv_desc_cause,
1818
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_data_ii,
1819
        &ogs_gtp1_tlv_desc_gsn_address,
1820
        &ogs_gtp1_tlv_desc_sgsn_number,
1821
        &ogs_gtp1_tlv_desc_node_identifier,
1822
    NULL,
1823
}};
1824
1825
ogs_tlv_desc_t ogs_gtp1_tlv_desc_forward_relocation_request =
1826
{
1827
    OGS_TLV_MESSAGE,
1828
    "Forward Relocation Request",
1829
    0, 0, 0, 0, {
1830
        &ogs_gtp1_tlv_desc_imsi,
1831
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
1832
        &ogs_gtp1_tlv_desc_ranap_cause,
1833
        &ogs_gtp1_tlv_desc_packet_flow_id,
1834
        &ogs_gtp1_tlv_desc_charging_characteristics,
1835
        &ogs_gtp1_tlv_desc_mm_context,
1836
        &ogs_gtp1_tlv_desc_pdp_context,
1837
        &ogs_gtp1_tlv_desc_gsn_address,
1838
        &ogs_gtp1_tlv_desc_gsn_address,
1839
        &ogs_gtp1_tlv_desc_gsn_address,
1840
        &ogs_gtp1_tlv_desc_target_identification,
1841
        &ogs_gtp1_tlv_desc_utran_transparent_container,
1842
        &ogs_gtp1_tlv_desc_pdp_context_prioritization,
1843
        &ogs_gtp1_tlv_desc_mbms_ue_context,
1844
        &ogs_gtp1_tlv_desc_selected_plmn_id,
1845
        &ogs_gtp1_tlv_desc_bss_container,
1846
        &ogs_gtp1_tlv_desc_cell_identification,
1847
        &ogs_gtp1_tlv_desc_bssgp_cause,
1848
        &ogs_gtp1_tlv_desc_ps_handover_xid_parameters,
1849
        &ogs_gtp1_tlv_desc_direct_tunnel_flags,
1850
        &ogs_gtp1_tlv_desc_reliable_inter_rat_handover_info,
1851
        &ogs_gtp1_tlv_desc_rfsp_index,
1852
        &ogs_gtp1_tlv_desc_rfsp_index,
1853
        &ogs_gtp1_tlv_desc_fqdn,
1854
        &ogs_gtp1_tlv_desc_evolved_allocation_retention_priority_ii,
1855
        &ogs_gtp1_tlv_desc_extended_common_flags,
1856
        &ogs_gtp1_tlv_desc_csg_id,
1857
        &ogs_gtp1_tlv_desc_cmi,
1858
        &ogs_gtp1_tlv_desc_ue_network_capability,
1859
        &ogs_gtp1_tlv_desc_ue_ambr,
1860
        &ogs_gtp1_tlv_desc_apn_ambr_with_nsapi,
1861
        &ogs_gtp1_tlv_desc_signalling_priority_indication_with_nsapi,
1862
        &ogs_gtp1_tlv_desc_higher_bitrates_than_16_mbps_flag,
1863
        &ogs_gtp1_tlv_desc_additional_mm_context_for_srvcc,
1864
        &ogs_gtp1_tlv_desc_additional_flags_for_srvcc,
1865
        &ogs_gtp1_tlv_desc_stn_sr,
1866
        &ogs_gtp1_tlv_desc_c_msisdn,
1867
        &ogs_gtp1_tlv_desc_extended_ranap_cause,
1868
        &ogs_gtp1_tlv_desc_enodeb_id,
1869
        &ogs_gtp1_tlv_desc_selection_mode_with_nsapi,
1870
        &ogs_gtp1_tlv_desc_ue_usage_type,
1871
        &ogs_gtp1_tlv_desc_extended_common_flags_ii,
1872
        &ogs_gtp1_tlv_desc_scef_pdn_connection,
1873
    NULL,
1874
}};
1875
1876
ogs_tlv_desc_t ogs_gtp1_tlv_desc_forward_relocation_response =
1877
{
1878
    OGS_TLV_MESSAGE,
1879
    "Forward Relocation Response",
1880
    0, 0, 0, 0, {
1881
        &ogs_gtp1_tlv_desc_cause,
1882
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
1883
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_data_ii,
1884
        &ogs_gtp1_tlv_desc_ranap_cause,
1885
        &ogs_gtp1_tlv_desc_gsn_address,
1886
        &ogs_gtp1_tlv_desc_gsn_address,
1887
        &ogs_gtp1_tlv_desc_utran_transparent_container,
1888
        &ogs_gtp1_tlv_desc_rab_setup_information,
1889
        &ogs_gtp1_tlv_desc_additional_rab_setup_information,
1890
        &ogs_gtp1_tlv_desc_sgsn_number,
1891
        &ogs_gtp1_tlv_desc_bss_container,
1892
        &ogs_gtp1_tlv_desc_bssgp_cause,
1893
        &ogs_gtp1_tlv_desc_list_of_set_up_pfcs,
1894
        &ogs_gtp1_tlv_desc_extended_ranap_cause,
1895
        &ogs_gtp1_tlv_desc_node_identifier,
1896
    NULL,
1897
}};
1898
1899
ogs_tlv_desc_t ogs_gtp1_tlv_desc_forward_relocation_complete =
1900
{
1901
    OGS_TLV_MESSAGE,
1902
    "Forward Relocation Complete",
1903
    0, 0, 0, 0, {
1904
    NULL,
1905
}};
1906
1907
ogs_tlv_desc_t ogs_gtp1_tlv_desc_relocation_cancel_request =
1908
{
1909
    OGS_TLV_MESSAGE,
1910
    "Relocation Cancel Request",
1911
    0, 0, 0, 0, {
1912
        &ogs_gtp1_tlv_desc_imsi,
1913
        &ogs_gtp1_tlv_desc_sv,
1914
        &ogs_gtp1_tlv_desc_extended_common_flags,
1915
        &ogs_gtp1_tlv_desc_extended_ranap_cause,
1916
    NULL,
1917
}};
1918
1919
ogs_tlv_desc_t ogs_gtp1_tlv_desc_relocation_cancel_response =
1920
{
1921
    OGS_TLV_MESSAGE,
1922
    "Relocation Cancel Response",
1923
    0, 0, 0, 0, {
1924
        &ogs_gtp1_tlv_desc_cause,
1925
    NULL,
1926
}};
1927
1928
ogs_tlv_desc_t ogs_gtp1_tlv_desc_forward_srns_context =
1929
{
1930
    OGS_TLV_MESSAGE,
1931
    "Forward SRNS Context",
1932
    0, 0, 0, 0, {
1933
        &ogs_gtp1_tlv_desc_rab_context,
1934
        &ogs_gtp1_tlv_desc_source_rnc_pdcp_context_info,
1935
        &ogs_gtp1_tlv_desc_pdu_numbers,
1936
    NULL,
1937
}};
1938
1939
ogs_tlv_desc_t ogs_gtp1_tlv_desc_forward_relocation_complete_acknowledge =
1940
{
1941
    OGS_TLV_MESSAGE,
1942
    "Forward Relocation Complete Acknowledge",
1943
    0, 0, 0, 0, {
1944
        &ogs_gtp1_tlv_desc_cause,
1945
    NULL,
1946
}};
1947
1948
ogs_tlv_desc_t ogs_gtp1_tlv_desc_forward_srns_context_acknowledge =
1949
{
1950
    OGS_TLV_MESSAGE,
1951
    "Forward SRNS Context Acknowledge",
1952
    0, 0, 0, 0, {
1953
        &ogs_gtp1_tlv_desc_cause,
1954
    NULL,
1955
}};
1956
1957
ogs_tlv_desc_t ogs_gtp1_tlv_desc_ue_registration_query_request =
1958
{
1959
    OGS_TLV_MESSAGE,
1960
    "UE Registration Query Request",
1961
    0, 0, 0, 0, {
1962
        &ogs_gtp1_tlv_desc_imsi,
1963
    NULL,
1964
}};
1965
1966
ogs_tlv_desc_t ogs_gtp1_tlv_desc_ue_registration_query_response =
1967
{
1968
    OGS_TLV_MESSAGE,
1969
    "UE Registration Query Response",
1970
    0, 0, 0, 0, {
1971
        &ogs_gtp1_tlv_desc_cause,
1972
        &ogs_gtp1_tlv_desc_imsi,
1973
        &ogs_gtp1_tlv_desc_selected_plmn_id,
1974
    NULL,
1975
}};
1976
1977
ogs_tlv_desc_t ogs_gtp1_tlv_desc_ran_information_relay =
1978
{
1979
    OGS_TLV_MESSAGE,
1980
    "RAN Information Relay",
1981
    0, 0, 0, 0, {
1982
        &ogs_gtp1_tlv_desc_ran_transparent_container,
1983
        &ogs_gtp1_tlv_desc_rim_routing_address,
1984
        &ogs_gtp1_tlv_desc_rim_routing_address_discriminator,
1985
    NULL,
1986
}};
1987
1988
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_notification_request =
1989
{
1990
    OGS_TLV_MESSAGE,
1991
    "MBMS Notification Request",
1992
    0, 0, 0, 0, {
1993
        &ogs_gtp1_tlv_desc_imsi,
1994
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
1995
        &ogs_gtp1_tlv_desc_nsapi,
1996
        &ogs_gtp1_tlv_desc_end_user_address,
1997
        &ogs_gtp1_tlv_desc_access_point_name,
1998
        &ogs_gtp1_tlv_desc_gsn_address,
1999
        &ogs_gtp1_tlv_desc_mbms_protocol_configuration_options,
2000
    NULL,
2001
}};
2002
2003
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_notification_response =
2004
{
2005
    OGS_TLV_MESSAGE,
2006
    "MBMS Notification Response",
2007
    0, 0, 0, 0, {
2008
        &ogs_gtp1_tlv_desc_cause,
2009
    NULL,
2010
}};
2011
2012
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_notification_reject_request =
2013
{
2014
    OGS_TLV_MESSAGE,
2015
    "MBMS Notification Reject Request",
2016
    0, 0, 0, 0, {
2017
        &ogs_gtp1_tlv_desc_cause,
2018
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
2019
        &ogs_gtp1_tlv_desc_nsapi,
2020
        &ogs_gtp1_tlv_desc_end_user_address,
2021
        &ogs_gtp1_tlv_desc_access_point_name,
2022
        &ogs_gtp1_tlv_desc_gsn_address,
2023
    NULL,
2024
}};
2025
2026
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_notification_reject_response =
2027
{
2028
    OGS_TLV_MESSAGE,
2029
    "MBMS Notification Reject Response",
2030
    0, 0, 0, 0, {
2031
        &ogs_gtp1_tlv_desc_cause,
2032
    NULL,
2033
}};
2034
2035
ogs_tlv_desc_t ogs_gtp1_tlv_desc_create_mbms_context_request =
2036
{
2037
    OGS_TLV_MESSAGE,
2038
    "Create MBMS Context Request",
2039
    0, 0, 0, 0, {
2040
        &ogs_gtp1_tlv_desc_imsi,
2041
        &ogs_gtp1_tlv_desc_rai,
2042
        &ogs_gtp1_tlv_desc_recovery,
2043
        &ogs_gtp1_tlv_desc_selection_mode,
2044
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
2045
        &ogs_gtp1_tlv_desc_trace_reference,
2046
        &ogs_gtp1_tlv_desc_trace_type,
2047
        &ogs_gtp1_tlv_desc_end_user_address,
2048
        &ogs_gtp1_tlv_desc_access_point_name,
2049
        &ogs_gtp1_tlv_desc_gsn_address,
2050
        &ogs_gtp1_tlv_desc_msisdn,
2051
        &ogs_gtp1_tlv_desc_trigger_id,
2052
        &ogs_gtp1_tlv_desc_omc_identity,
2053
        &ogs_gtp1_tlv_desc_rat_type,
2054
        &ogs_gtp1_tlv_desc_user_location_information,
2055
        &ogs_gtp1_tlv_desc_ms_time_zone,
2056
        &ogs_gtp1_tlv_desc_sv,
2057
        &ogs_gtp1_tlv_desc_mbms_protocol_configuration_options,
2058
        &ogs_gtp1_tlv_desc_additional_trace_info,
2059
        &ogs_gtp1_tlv_desc_enhanced_nsapi,
2060
        &ogs_gtp1_tlv_desc_additional_mbms_trace_info,
2061
    NULL,
2062
}};
2063
2064
ogs_tlv_desc_t ogs_gtp1_tlv_desc_create_mbms_context_response =
2065
{
2066
    OGS_TLV_MESSAGE,
2067
    "Create MBMS Context Response",
2068
    0, 0, 0, 0, {
2069
        &ogs_gtp1_tlv_desc_cause,
2070
        &ogs_gtp1_tlv_desc_recovery,
2071
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
2072
        &ogs_gtp1_tlv_desc_charging_id,
2073
        &ogs_gtp1_tlv_desc_gsn_address,
2074
        &ogs_gtp1_tlv_desc_gsn_address,
2075
        &ogs_gtp1_tlv_desc_charging_gateway_address,
2076
        &ogs_gtp1_tlv_desc_charging_gateway_address,
2077
        &ogs_gtp1_tlv_desc_mbms_protocol_configuration_options,
2078
    NULL,
2079
}};
2080
2081
ogs_tlv_desc_t ogs_gtp1_tlv_desc_update_mbms_context_request =
2082
{
2083
    OGS_TLV_MESSAGE,
2084
    "Update MBMS Context Request",
2085
    0, 0, 0, 0, {
2086
        &ogs_gtp1_tlv_desc_rai,
2087
        &ogs_gtp1_tlv_desc_recovery,
2088
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
2089
        &ogs_gtp1_tlv_desc_trace_reference,
2090
        &ogs_gtp1_tlv_desc_trace_type,
2091
        &ogs_gtp1_tlv_desc_gsn_address,
2092
        &ogs_gtp1_tlv_desc_gsn_address,
2093
        &ogs_gtp1_tlv_desc_trigger_id,
2094
        &ogs_gtp1_tlv_desc_omc_identity,
2095
        &ogs_gtp1_tlv_desc_rat_type,
2096
        &ogs_gtp1_tlv_desc_user_location_information,
2097
        &ogs_gtp1_tlv_desc_ms_time_zone,
2098
        &ogs_gtp1_tlv_desc_additional_trace_info,
2099
        &ogs_gtp1_tlv_desc_enhanced_nsapi,
2100
        &ogs_gtp1_tlv_desc_additional_mbms_trace_info,
2101
    NULL,
2102
}};
2103
2104
ogs_tlv_desc_t ogs_gtp1_tlv_desc_update_mbms_context_response =
2105
{
2106
    OGS_TLV_MESSAGE,
2107
    "Update MBMS Context Response",
2108
    0, 0, 0, 0, {
2109
        &ogs_gtp1_tlv_desc_cause,
2110
        &ogs_gtp1_tlv_desc_recovery,
2111
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
2112
        &ogs_gtp1_tlv_desc_charging_id,
2113
        &ogs_gtp1_tlv_desc_gsn_address,
2114
        &ogs_gtp1_tlv_desc_gsn_address,
2115
        &ogs_gtp1_tlv_desc_charging_gateway_address,
2116
        &ogs_gtp1_tlv_desc_charging_gateway_address,
2117
    NULL,
2118
}};
2119
2120
ogs_tlv_desc_t ogs_gtp1_tlv_desc_delete_mbms_context_request =
2121
{
2122
    OGS_TLV_MESSAGE,
2123
    "Delete MBMS Context Request",
2124
    0, 0, 0, 0, {
2125
        &ogs_gtp1_tlv_desc_imsi,
2126
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
2127
        &ogs_gtp1_tlv_desc_end_user_address,
2128
        &ogs_gtp1_tlv_desc_access_point_name,
2129
        &ogs_gtp1_tlv_desc_mbms_protocol_configuration_options,
2130
        &ogs_gtp1_tlv_desc_enhanced_nsapi,
2131
    NULL,
2132
}};
2133
2134
ogs_tlv_desc_t ogs_gtp1_tlv_desc_delete_mbms_context_response =
2135
{
2136
    OGS_TLV_MESSAGE,
2137
    "Delete MBMS Context Response",
2138
    0, 0, 0, 0, {
2139
        &ogs_gtp1_tlv_desc_cause,
2140
        &ogs_gtp1_tlv_desc_mbms_protocol_configuration_options,
2141
    NULL,
2142
}};
2143
2144
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_registration_request =
2145
{
2146
    OGS_TLV_MESSAGE,
2147
    "MBMS Registration Request",
2148
    0, 0, 0, 0, {
2149
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
2150
        &ogs_gtp1_tlv_desc_end_user_address,
2151
        &ogs_gtp1_tlv_desc_access_point_name,
2152
        &ogs_gtp1_tlv_desc_gsn_address,
2153
        &ogs_gtp1_tlv_desc_gsn_address,
2154
    NULL,
2155
}};
2156
2157
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_registration_response =
2158
{
2159
    OGS_TLV_MESSAGE,
2160
    "MBMS Registration Response",
2161
    0, 0, 0, 0, {
2162
        &ogs_gtp1_tlv_desc_cause,
2163
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
2164
        &ogs_gtp1_tlv_desc_gsn_address,
2165
        &ogs_gtp1_tlv_desc_tmgi,
2166
        &ogs_gtp1_tlv_desc_required_mbms_bearer_capabilities,
2167
    NULL,
2168
}};
2169
2170
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_de_registration_request =
2171
{
2172
    OGS_TLV_MESSAGE,
2173
    "MBMS De-Registration Request",
2174
    0, 0, 0, 0, {
2175
        &ogs_gtp1_tlv_desc_end_user_address,
2176
        &ogs_gtp1_tlv_desc_access_point_name,
2177
    NULL,
2178
}};
2179
2180
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_de_registration_response =
2181
{
2182
    OGS_TLV_MESSAGE,
2183
    "MBMS De-Registration Response",
2184
    0, 0, 0, 0, {
2185
        &ogs_gtp1_tlv_desc_cause,
2186
    NULL,
2187
}};
2188
2189
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_session_start_request =
2190
{
2191
    OGS_TLV_MESSAGE,
2192
    "MBMS Session Start Request",
2193
    0, 0, 0, 0, {
2194
        &ogs_gtp1_tlv_desc_recovery,
2195
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
2196
        &ogs_gtp1_tlv_desc_end_user_address,
2197
        &ogs_gtp1_tlv_desc_access_point_name,
2198
        &ogs_gtp1_tlv_desc_gsn_address,
2199
        &ogs_gtp1_tlv_desc_gsn_address,
2200
        &ogs_gtp1_tlv_desc_quality_of_service_profile,
2201
        &ogs_gtp1_tlv_desc_common_flags,
2202
        &ogs_gtp1_tlv_desc_tmgi,
2203
        &ogs_gtp1_tlv_desc_mbms_service_area,
2204
        &ogs_gtp1_tlv_desc_mbms_session_identifier,
2205
        &ogs_gtp1_tlv_desc_mbms_2g_3g_indicator,
2206
        &ogs_gtp1_tlv_desc_mbms_session_duration,
2207
        &ogs_gtp1_tlv_desc_mbms_session_repetition_number,
2208
        &ogs_gtp1_tlv_desc_mbms_time_to_data_transfer,
2209
        &ogs_gtp1_tlv_desc_mbms_flow_identifier,
2210
        &ogs_gtp1_tlv_desc_mbms_ip_multicast_distribution,
2211
    NULL,
2212
}};
2213
2214
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_session_start_response =
2215
{
2216
    OGS_TLV_MESSAGE,
2217
    "MBMS Session Start Response",
2218
    0, 0, 0, 0, {
2219
        &ogs_gtp1_tlv_desc_cause,
2220
        &ogs_gtp1_tlv_desc_recovery,
2221
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_data_i,
2222
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
2223
        &ogs_gtp1_tlv_desc_gsn_address,
2224
        &ogs_gtp1_tlv_desc_gsn_address,
2225
        &ogs_gtp1_tlv_desc_gsn_address,
2226
        &ogs_gtp1_tlv_desc_mbms_distribution_acknowledgement,
2227
    NULL,
2228
}};
2229
2230
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_session_stop_request =
2231
{
2232
    OGS_TLV_MESSAGE,
2233
    "MBMS Session Stop Request",
2234
    0, 0, 0, 0, {
2235
        &ogs_gtp1_tlv_desc_end_user_address,
2236
        &ogs_gtp1_tlv_desc_access_point_name,
2237
        &ogs_gtp1_tlv_desc_mbms_flow_identifier,
2238
    NULL,
2239
}};
2240
2241
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_session_stop_response =
2242
{
2243
    OGS_TLV_MESSAGE,
2244
    "MBMS Session Stop Response",
2245
    0, 0, 0, 0, {
2246
        &ogs_gtp1_tlv_desc_cause,
2247
    NULL,
2248
}};
2249
2250
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_session_update_request =
2251
{
2252
    OGS_TLV_MESSAGE,
2253
    "MBMS Session Update Request",
2254
    0, 0, 0, 0, {
2255
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
2256
        &ogs_gtp1_tlv_desc_end_user_address,
2257
        &ogs_gtp1_tlv_desc_access_point_name,
2258
        &ogs_gtp1_tlv_desc_gsn_address,
2259
        &ogs_gtp1_tlv_desc_tmgi,
2260
        &ogs_gtp1_tlv_desc_mbms_session_duration,
2261
        &ogs_gtp1_tlv_desc_mbms_service_area,
2262
        &ogs_gtp1_tlv_desc_mbms_session_identifier,
2263
        &ogs_gtp1_tlv_desc_mbms_session_repetition_number,
2264
        &ogs_gtp1_tlv_desc_mbms_flow_identifier,
2265
    NULL,
2266
}};
2267
2268
ogs_tlv_desc_t ogs_gtp1_tlv_desc_mbms_session_update_response =
2269
{
2270
    OGS_TLV_MESSAGE,
2271
    "MBMS Session Update Response",
2272
    0, 0, 0, 0, {
2273
        &ogs_gtp1_tlv_desc_cause,
2274
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_data_i,
2275
        &ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
2276
        &ogs_gtp1_tlv_desc_gsn_address,
2277
        &ogs_gtp1_tlv_desc_gsn_address,
2278
    NULL,
2279
}};
2280
2281
2282
int ogs_gtp1_parse_msg(ogs_gtp1_message_t *gtp1_message, ogs_pkbuf_t *pkbuf)
2283
0
{
2284
0
    int rv = OGS_ERROR;
2285
0
    ogs_gtp1_header_t *h = NULL;
2286
0
    uint16_t size = 0;
2287
2288
0
    ogs_assert(gtp1_message);
2289
0
    ogs_assert(pkbuf);
2290
0
    ogs_assert(pkbuf->len);
2291
2292
0
    h = (ogs_gtp1_header_t *)pkbuf->data;
2293
0
    ogs_assert(h);
2294
2295
0
    memset(gtp1_message, 0, sizeof(ogs_gtp1_message_t));
2296
2297
0
    if (h->e || h->s || h->pn)
2298
0
        size = OGS_GTPV1C_HEADER_LEN;
2299
0
    else
2300
0
        size = OGS_GTPV1C_HEADER_LEN - 4;
2301
2302
0
    if (ogs_pkbuf_pull(pkbuf, size) == NULL) {
2303
0
        ogs_error("ogs_pkbuf_pull() failed [len:%d]", pkbuf->len);
2304
0
        return OGS_ERROR;
2305
0
    }
2306
0
    memcpy(&gtp1_message->h, pkbuf->data - size, size);
2307
2308
0
    gtp1_message->h.teid = be32toh(gtp1_message->h.teid);
2309
2310
0
    if (pkbuf->len == 0) {
2311
0
        ogs_assert(ogs_pkbuf_push(pkbuf, size));
2312
0
        return OGS_OK;
2313
0
    }
2314
2315
0
    switch(gtp1_message->h.type) {
2316
0
    case OGS_GTP1_ECHO_REQUEST_TYPE:
2317
0
        break;
2318
0
    case OGS_GTP1_ECHO_RESPONSE_TYPE:
2319
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->echo_response,
2320
0
                &ogs_gtp1_tlv_desc_echo_response, pkbuf, OGS_TLV_MODE_T1_L2);
2321
0
        break;
2322
0
    case OGS_GTP1_CREATE_PDP_CONTEXT_REQUEST_TYPE:
2323
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->create_pdp_context_request,
2324
0
                &ogs_gtp1_tlv_desc_create_pdp_context_request, pkbuf, OGS_TLV_MODE_T1_L2);
2325
0
        break;
2326
0
    case OGS_GTP1_CREATE_PDP_CONTEXT_RESPONSE_TYPE:
2327
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->create_pdp_context_response,
2328
0
                &ogs_gtp1_tlv_desc_create_pdp_context_response, pkbuf, OGS_TLV_MODE_T1_L2);
2329
0
        break;
2330
0
    case OGS_GTP1_UPDATE_PDP_CONTEXT_REQUEST_TYPE:
2331
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->update_pdp_context_request,
2332
0
                &ogs_gtp1_tlv_desc_update_pdp_context_request, pkbuf, OGS_TLV_MODE_T1_L2);
2333
0
        break;
2334
0
    case OGS_GTP1_UPDATE_PDP_CONTEXT_RESPONSE_TYPE:
2335
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->update_pdp_context_response,
2336
0
                &ogs_gtp1_tlv_desc_update_pdp_context_response, pkbuf, OGS_TLV_MODE_T1_L2);
2337
0
        break;
2338
0
    case OGS_GTP1_DELETE_PDP_CONTEXT_REQUEST_TYPE:
2339
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->delete_pdp_context_request,
2340
0
                &ogs_gtp1_tlv_desc_delete_pdp_context_request, pkbuf, OGS_TLV_MODE_T1_L2);
2341
0
        break;
2342
0
    case OGS_GTP1_DELETE_PDP_CONTEXT_RESPONSE_TYPE:
2343
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->delete_pdp_context_response,
2344
0
                &ogs_gtp1_tlv_desc_delete_pdp_context_response, pkbuf, OGS_TLV_MODE_T1_L2);
2345
0
        break;
2346
0
    case OGS_GTP1_INITIATE_PDP_CONTEXT_ACTIVATION_REQUEST_TYPE:
2347
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->initiate_pdp_context_activation_request,
2348
0
                &ogs_gtp1_tlv_desc_initiate_pdp_context_activation_request, pkbuf, OGS_TLV_MODE_T1_L2);
2349
0
        break;
2350
0
    case OGS_GTP1_INITIATE_PDP_CONTEXT_ACTIVATION_RESPONSE_TYPE:
2351
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->initiate_pdp_context_activation_response,
2352
0
                &ogs_gtp1_tlv_desc_initiate_pdp_context_activation_response, pkbuf, OGS_TLV_MODE_T1_L2);
2353
0
        break;
2354
0
    case OGS_GTP1_PDU_NOTIFICATION_REQUEST_TYPE:
2355
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->pdu_notification_request,
2356
0
                &ogs_gtp1_tlv_desc_pdu_notification_request, pkbuf, OGS_TLV_MODE_T1_L2);
2357
0
        break;
2358
0
    case OGS_GTP1_PDU_NOTIFICATION_RESPONSE_TYPE:
2359
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->pdu_notification_response,
2360
0
                &ogs_gtp1_tlv_desc_pdu_notification_response, pkbuf, OGS_TLV_MODE_T1_L2);
2361
0
        break;
2362
0
    case OGS_GTP1_PDU_NOTIFICATION_REJECT_REQUEST_TYPE:
2363
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->pdu_notification_reject_request,
2364
0
                &ogs_gtp1_tlv_desc_pdu_notification_reject_request, pkbuf, OGS_TLV_MODE_T1_L2);
2365
0
        break;
2366
0
    case OGS_GTP1_PDU_NOTIFICATION_REJECT_RESPONSE_TYPE:
2367
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->pdu_notification_reject_response,
2368
0
                &ogs_gtp1_tlv_desc_pdu_notification_reject_response, pkbuf, OGS_TLV_MODE_T1_L2);
2369
0
        break;
2370
0
    case OGS_GTP1_SUPPORTED_EXTENSION_HEADERS_NOTIFICATION_TYPE:
2371
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->supported_extension_headers_notification,
2372
0
                &ogs_gtp1_tlv_desc_supported_extension_headers_notification, pkbuf, OGS_TLV_MODE_T1_L2);
2373
0
        break;
2374
0
    case OGS_GTP1_SEND_ROUTEING_INFORMATION_FOR_GPRS_REQUEST_TYPE:
2375
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->send_routeing_information_for_gprs_request,
2376
0
                &ogs_gtp1_tlv_desc_send_routeing_information_for_gprs_request, pkbuf, OGS_TLV_MODE_T1_L2);
2377
0
        break;
2378
0
    case OGS_GTP1_SEND_ROUTEING_INFORMATION_FOR_GPRS_RESPONSE_TYPE:
2379
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->send_routeing_information_for_gprs_response,
2380
0
                &ogs_gtp1_tlv_desc_send_routeing_information_for_gprs_response, pkbuf, OGS_TLV_MODE_T1_L2);
2381
0
        break;
2382
0
    case OGS_GTP1_FAILURE_REPORT_REQUEST_TYPE:
2383
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->failure_report_request,
2384
0
                &ogs_gtp1_tlv_desc_failure_report_request, pkbuf, OGS_TLV_MODE_T1_L2);
2385
0
        break;
2386
0
    case OGS_GTP1_FAILURE_REPORT_RESPONSE_TYPE:
2387
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->failure_report_response,
2388
0
                &ogs_gtp1_tlv_desc_failure_report_response, pkbuf, OGS_TLV_MODE_T1_L2);
2389
0
        break;
2390
0
    case OGS_GTP1_NOTE_MS_GPRS_PRESENT_REQUEST_TYPE:
2391
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->note_ms_gprs_present_request,
2392
0
                &ogs_gtp1_tlv_desc_note_ms_gprs_present_request, pkbuf, OGS_TLV_MODE_T1_L2);
2393
0
        break;
2394
0
    case OGS_GTP1_NOTE_MS_GPRS_PRESENT_RESPONSE_TYPE:
2395
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->note_ms_gprs_present_response,
2396
0
                &ogs_gtp1_tlv_desc_note_ms_gprs_present_response, pkbuf, OGS_TLV_MODE_T1_L2);
2397
0
        break;
2398
0
    case OGS_GTP1_IDENTIFICATION_REQUEST_TYPE:
2399
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->identification_request,
2400
0
                &ogs_gtp1_tlv_desc_identification_request, pkbuf, OGS_TLV_MODE_T1_L2);
2401
0
        break;
2402
0
    case OGS_GTP1_IDENTIFICATION_RESPONSE_TYPE:
2403
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->identification_response,
2404
0
                &ogs_gtp1_tlv_desc_identification_response, pkbuf, OGS_TLV_MODE_T1_L2);
2405
0
        break;
2406
0
    case OGS_GTP1_SGSN_CONTEXT_REQUEST_TYPE:
2407
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->sgsn_context_request,
2408
0
                &ogs_gtp1_tlv_desc_sgsn_context_request, pkbuf, OGS_TLV_MODE_T1_L2);
2409
0
        break;
2410
0
    case OGS_GTP1_SGSN_CONTEXT_RESPONSE_TYPE:
2411
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->sgsn_context_response,
2412
0
                &ogs_gtp1_tlv_desc_sgsn_context_response, pkbuf, OGS_TLV_MODE_T1_L2);
2413
0
        break;
2414
0
    case OGS_GTP1_SGSN_CONTEXT_ACKNOWLEDGE_TYPE:
2415
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->sgsn_context_acknowledge,
2416
0
                &ogs_gtp1_tlv_desc_sgsn_context_acknowledge, pkbuf, OGS_TLV_MODE_T1_L2);
2417
0
        break;
2418
0
    case OGS_GTP1_FORWARD_RELOCATION_REQUEST_TYPE:
2419
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->forward_relocation_request,
2420
0
                &ogs_gtp1_tlv_desc_forward_relocation_request, pkbuf, OGS_TLV_MODE_T1_L2);
2421
0
        break;
2422
0
    case OGS_GTP1_FORWARD_RELOCATION_RESPONSE_TYPE:
2423
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->forward_relocation_response,
2424
0
                &ogs_gtp1_tlv_desc_forward_relocation_response, pkbuf, OGS_TLV_MODE_T1_L2);
2425
0
        break;
2426
0
    case OGS_GTP1_FORWARD_RELOCATION_COMPLETE_TYPE:
2427
0
        break;
2428
0
    case OGS_GTP1_RELOCATION_CANCEL_REQUEST_TYPE:
2429
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->relocation_cancel_request,
2430
0
                &ogs_gtp1_tlv_desc_relocation_cancel_request, pkbuf, OGS_TLV_MODE_T1_L2);
2431
0
        break;
2432
0
    case OGS_GTP1_RELOCATION_CANCEL_RESPONSE_TYPE:
2433
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->relocation_cancel_response,
2434
0
                &ogs_gtp1_tlv_desc_relocation_cancel_response, pkbuf, OGS_TLV_MODE_T1_L2);
2435
0
        break;
2436
0
    case OGS_GTP1_FORWARD_SRNS_CONTEXT_TYPE:
2437
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->forward_srns_context,
2438
0
                &ogs_gtp1_tlv_desc_forward_srns_context, pkbuf, OGS_TLV_MODE_T1_L2);
2439
0
        break;
2440
0
    case OGS_GTP1_FORWARD_RELOCATION_COMPLETE_ACKNOWLEDGE_TYPE:
2441
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->forward_relocation_complete_acknowledge,
2442
0
                &ogs_gtp1_tlv_desc_forward_relocation_complete_acknowledge, pkbuf, OGS_TLV_MODE_T1_L2);
2443
0
        break;
2444
0
    case OGS_GTP1_FORWARD_SRNS_CONTEXT_ACKNOWLEDGE_TYPE:
2445
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->forward_srns_context_acknowledge,
2446
0
                &ogs_gtp1_tlv_desc_forward_srns_context_acknowledge, pkbuf, OGS_TLV_MODE_T1_L2);
2447
0
        break;
2448
0
    case OGS_GTP1_UE_REGISTRATION_QUERY_REQUEST_TYPE:
2449
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->ue_registration_query_request,
2450
0
                &ogs_gtp1_tlv_desc_ue_registration_query_request, pkbuf, OGS_TLV_MODE_T1_L2);
2451
0
        break;
2452
0
    case OGS_GTP1_UE_REGISTRATION_QUERY_RESPONSE_TYPE:
2453
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->ue_registration_query_response,
2454
0
                &ogs_gtp1_tlv_desc_ue_registration_query_response, pkbuf, OGS_TLV_MODE_T1_L2);
2455
0
        break;
2456
0
    case OGS_GTP1_RAN_INFORMATION_RELAY_TYPE:
2457
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->ran_information_relay,
2458
0
                &ogs_gtp1_tlv_desc_ran_information_relay, pkbuf, OGS_TLV_MODE_T1_L2);
2459
0
        break;
2460
0
    case OGS_GTP1_MBMS_NOTIFICATION_REQUEST_TYPE:
2461
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->mbms_notification_request,
2462
0
                &ogs_gtp1_tlv_desc_mbms_notification_request, pkbuf, OGS_TLV_MODE_T1_L2);
2463
0
        break;
2464
0
    case OGS_GTP1_MBMS_NOTIFICATION_RESPONSE_TYPE:
2465
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->mbms_notification_response,
2466
0
                &ogs_gtp1_tlv_desc_mbms_notification_response, pkbuf, OGS_TLV_MODE_T1_L2);
2467
0
        break;
2468
0
    case OGS_GTP1_MBMS_NOTIFICATION_REJECT_REQUEST_TYPE:
2469
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->mbms_notification_reject_request,
2470
0
                &ogs_gtp1_tlv_desc_mbms_notification_reject_request, pkbuf, OGS_TLV_MODE_T1_L2);
2471
0
        break;
2472
0
    case OGS_GTP1_MBMS_NOTIFICATION_REJECT_RESPONSE_TYPE:
2473
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->mbms_notification_reject_response,
2474
0
                &ogs_gtp1_tlv_desc_mbms_notification_reject_response, pkbuf, OGS_TLV_MODE_T1_L2);
2475
0
        break;
2476
0
    case OGS_GTP1_CREATE_MBMS_CONTEXT_REQUEST_TYPE:
2477
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->create_mbms_context_request,
2478
0
                &ogs_gtp1_tlv_desc_create_mbms_context_request, pkbuf, OGS_TLV_MODE_T1_L2);
2479
0
        break;
2480
0
    case OGS_GTP1_CREATE_MBMS_CONTEXT_RESPONSE_TYPE:
2481
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->create_mbms_context_response,
2482
0
                &ogs_gtp1_tlv_desc_create_mbms_context_response, pkbuf, OGS_TLV_MODE_T1_L2);
2483
0
        break;
2484
0
    case OGS_GTP1_UPDATE_MBMS_CONTEXT_REQUEST_TYPE:
2485
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->update_mbms_context_request,
2486
0
                &ogs_gtp1_tlv_desc_update_mbms_context_request, pkbuf, OGS_TLV_MODE_T1_L2);
2487
0
        break;
2488
0
    case OGS_GTP1_UPDATE_MBMS_CONTEXT_RESPONSE_TYPE:
2489
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->update_mbms_context_response,
2490
0
                &ogs_gtp1_tlv_desc_update_mbms_context_response, pkbuf, OGS_TLV_MODE_T1_L2);
2491
0
        break;
2492
0
    case OGS_GTP1_DELETE_MBMS_CONTEXT_REQUEST_TYPE:
2493
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->delete_mbms_context_request,
2494
0
                &ogs_gtp1_tlv_desc_delete_mbms_context_request, pkbuf, OGS_TLV_MODE_T1_L2);
2495
0
        break;
2496
0
    case OGS_GTP1_DELETE_MBMS_CONTEXT_RESPONSE_TYPE:
2497
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->delete_mbms_context_response,
2498
0
                &ogs_gtp1_tlv_desc_delete_mbms_context_response, pkbuf, OGS_TLV_MODE_T1_L2);
2499
0
        break;
2500
0
    case OGS_GTP1_MBMS_REGISTRATION_REQUEST_TYPE:
2501
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->mbms_registration_request,
2502
0
                &ogs_gtp1_tlv_desc_mbms_registration_request, pkbuf, OGS_TLV_MODE_T1_L2);
2503
0
        break;
2504
0
    case OGS_GTP1_MBMS_REGISTRATION_RESPONSE_TYPE:
2505
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->mbms_registration_response,
2506
0
                &ogs_gtp1_tlv_desc_mbms_registration_response, pkbuf, OGS_TLV_MODE_T1_L2);
2507
0
        break;
2508
0
    case OGS_GTP1_MBMS_DE_REGISTRATION_REQUEST_TYPE:
2509
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->mbms_de_registration_request,
2510
0
                &ogs_gtp1_tlv_desc_mbms_de_registration_request, pkbuf, OGS_TLV_MODE_T1_L2);
2511
0
        break;
2512
0
    case OGS_GTP1_MBMS_DE_REGISTRATION_RESPONSE_TYPE:
2513
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->mbms_de_registration_response,
2514
0
                &ogs_gtp1_tlv_desc_mbms_de_registration_response, pkbuf, OGS_TLV_MODE_T1_L2);
2515
0
        break;
2516
0
    case OGS_GTP1_MBMS_SESSION_START_REQUEST_TYPE:
2517
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->mbms_session_start_request,
2518
0
                &ogs_gtp1_tlv_desc_mbms_session_start_request, pkbuf, OGS_TLV_MODE_T1_L2);
2519
0
        break;
2520
0
    case OGS_GTP1_MBMS_SESSION_START_RESPONSE_TYPE:
2521
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->mbms_session_start_response,
2522
0
                &ogs_gtp1_tlv_desc_mbms_session_start_response, pkbuf, OGS_TLV_MODE_T1_L2);
2523
0
        break;
2524
0
    case OGS_GTP1_MBMS_SESSION_STOP_REQUEST_TYPE:
2525
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->mbms_session_stop_request,
2526
0
                &ogs_gtp1_tlv_desc_mbms_session_stop_request, pkbuf, OGS_TLV_MODE_T1_L2);
2527
0
        break;
2528
0
    case OGS_GTP1_MBMS_SESSION_STOP_RESPONSE_TYPE:
2529
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->mbms_session_stop_response,
2530
0
                &ogs_gtp1_tlv_desc_mbms_session_stop_response, pkbuf, OGS_TLV_MODE_T1_L2);
2531
0
        break;
2532
0
    case OGS_GTP1_MBMS_SESSION_UPDATE_REQUEST_TYPE:
2533
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->mbms_session_update_request,
2534
0
                &ogs_gtp1_tlv_desc_mbms_session_update_request, pkbuf, OGS_TLV_MODE_T1_L2);
2535
0
        break;
2536
0
    case OGS_GTP1_MBMS_SESSION_UPDATE_RESPONSE_TYPE:
2537
0
        rv = ogs_tlv_parse_msg_desc(&gtp1_message->mbms_session_update_response,
2538
0
                &ogs_gtp1_tlv_desc_mbms_session_update_response, pkbuf, OGS_TLV_MODE_T1_L2);
2539
0
        break;
2540
0
    default:
2541
0
        ogs_warn("Not implemented(type:%d)", gtp1_message->h.type);
2542
0
        break;
2543
0
    }
2544
2545
0
    ogs_assert(ogs_pkbuf_push(pkbuf, size));
2546
2547
0
    return rv;
2548
0
}
2549
2550
ogs_pkbuf_t *ogs_gtp1_build_msg(ogs_gtp1_message_t *gtp1_message)
2551
0
{
2552
0
    ogs_pkbuf_t *pkbuf = NULL;
2553
2554
0
    ogs_assert(gtp1_message);
2555
0
    switch(gtp1_message->h.type) {
2556
0
    case OGS_GTP1_ECHO_REQUEST_TYPE:
2557
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_echo_request,
2558
0
                &gtp1_message->echo_request, OGS_TLV_MODE_T1_L2);
2559
0
        break;
2560
0
    case OGS_GTP1_ECHO_RESPONSE_TYPE:
2561
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_echo_response,
2562
0
                &gtp1_message->echo_response, OGS_TLV_MODE_T1_L2);
2563
0
        break;
2564
0
    case OGS_GTP1_CREATE_PDP_CONTEXT_REQUEST_TYPE:
2565
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_create_pdp_context_request,
2566
0
                &gtp1_message->create_pdp_context_request, OGS_TLV_MODE_T1_L2);
2567
0
        break;
2568
0
    case OGS_GTP1_CREATE_PDP_CONTEXT_RESPONSE_TYPE:
2569
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_create_pdp_context_response,
2570
0
                &gtp1_message->create_pdp_context_response, OGS_TLV_MODE_T1_L2);
2571
0
        break;
2572
0
    case OGS_GTP1_UPDATE_PDP_CONTEXT_REQUEST_TYPE:
2573
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_update_pdp_context_request,
2574
0
                &gtp1_message->update_pdp_context_request, OGS_TLV_MODE_T1_L2);
2575
0
        break;
2576
0
    case OGS_GTP1_UPDATE_PDP_CONTEXT_RESPONSE_TYPE:
2577
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_update_pdp_context_response,
2578
0
                &gtp1_message->update_pdp_context_response, OGS_TLV_MODE_T1_L2);
2579
0
        break;
2580
0
    case OGS_GTP1_DELETE_PDP_CONTEXT_REQUEST_TYPE:
2581
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_delete_pdp_context_request,
2582
0
                &gtp1_message->delete_pdp_context_request, OGS_TLV_MODE_T1_L2);
2583
0
        break;
2584
0
    case OGS_GTP1_DELETE_PDP_CONTEXT_RESPONSE_TYPE:
2585
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_delete_pdp_context_response,
2586
0
                &gtp1_message->delete_pdp_context_response, OGS_TLV_MODE_T1_L2);
2587
0
        break;
2588
0
    case OGS_GTP1_INITIATE_PDP_CONTEXT_ACTIVATION_REQUEST_TYPE:
2589
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_initiate_pdp_context_activation_request,
2590
0
                &gtp1_message->initiate_pdp_context_activation_request, OGS_TLV_MODE_T1_L2);
2591
0
        break;
2592
0
    case OGS_GTP1_INITIATE_PDP_CONTEXT_ACTIVATION_RESPONSE_TYPE:
2593
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_initiate_pdp_context_activation_response,
2594
0
                &gtp1_message->initiate_pdp_context_activation_response, OGS_TLV_MODE_T1_L2);
2595
0
        break;
2596
0
    case OGS_GTP1_PDU_NOTIFICATION_REQUEST_TYPE:
2597
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_pdu_notification_request,
2598
0
                &gtp1_message->pdu_notification_request, OGS_TLV_MODE_T1_L2);
2599
0
        break;
2600
0
    case OGS_GTP1_PDU_NOTIFICATION_RESPONSE_TYPE:
2601
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_pdu_notification_response,
2602
0
                &gtp1_message->pdu_notification_response, OGS_TLV_MODE_T1_L2);
2603
0
        break;
2604
0
    case OGS_GTP1_PDU_NOTIFICATION_REJECT_REQUEST_TYPE:
2605
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_pdu_notification_reject_request,
2606
0
                &gtp1_message->pdu_notification_reject_request, OGS_TLV_MODE_T1_L2);
2607
0
        break;
2608
0
    case OGS_GTP1_PDU_NOTIFICATION_REJECT_RESPONSE_TYPE:
2609
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_pdu_notification_reject_response,
2610
0
                &gtp1_message->pdu_notification_reject_response, OGS_TLV_MODE_T1_L2);
2611
0
        break;
2612
0
    case OGS_GTP1_SUPPORTED_EXTENSION_HEADERS_NOTIFICATION_TYPE:
2613
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_supported_extension_headers_notification,
2614
0
                &gtp1_message->supported_extension_headers_notification, OGS_TLV_MODE_T1_L2);
2615
0
        break;
2616
0
    case OGS_GTP1_SEND_ROUTEING_INFORMATION_FOR_GPRS_REQUEST_TYPE:
2617
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_send_routeing_information_for_gprs_request,
2618
0
                &gtp1_message->send_routeing_information_for_gprs_request, OGS_TLV_MODE_T1_L2);
2619
0
        break;
2620
0
    case OGS_GTP1_SEND_ROUTEING_INFORMATION_FOR_GPRS_RESPONSE_TYPE:
2621
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_send_routeing_information_for_gprs_response,
2622
0
                &gtp1_message->send_routeing_information_for_gprs_response, OGS_TLV_MODE_T1_L2);
2623
0
        break;
2624
0
    case OGS_GTP1_FAILURE_REPORT_REQUEST_TYPE:
2625
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_failure_report_request,
2626
0
                &gtp1_message->failure_report_request, OGS_TLV_MODE_T1_L2);
2627
0
        break;
2628
0
    case OGS_GTP1_FAILURE_REPORT_RESPONSE_TYPE:
2629
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_failure_report_response,
2630
0
                &gtp1_message->failure_report_response, OGS_TLV_MODE_T1_L2);
2631
0
        break;
2632
0
    case OGS_GTP1_NOTE_MS_GPRS_PRESENT_REQUEST_TYPE:
2633
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_note_ms_gprs_present_request,
2634
0
                &gtp1_message->note_ms_gprs_present_request, OGS_TLV_MODE_T1_L2);
2635
0
        break;
2636
0
    case OGS_GTP1_NOTE_MS_GPRS_PRESENT_RESPONSE_TYPE:
2637
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_note_ms_gprs_present_response,
2638
0
                &gtp1_message->note_ms_gprs_present_response, OGS_TLV_MODE_T1_L2);
2639
0
        break;
2640
0
    case OGS_GTP1_IDENTIFICATION_REQUEST_TYPE:
2641
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_identification_request,
2642
0
                &gtp1_message->identification_request, OGS_TLV_MODE_T1_L2);
2643
0
        break;
2644
0
    case OGS_GTP1_IDENTIFICATION_RESPONSE_TYPE:
2645
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_identification_response,
2646
0
                &gtp1_message->identification_response, OGS_TLV_MODE_T1_L2);
2647
0
        break;
2648
0
    case OGS_GTP1_SGSN_CONTEXT_REQUEST_TYPE:
2649
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_sgsn_context_request,
2650
0
                &gtp1_message->sgsn_context_request, OGS_TLV_MODE_T1_L2);
2651
0
        break;
2652
0
    case OGS_GTP1_SGSN_CONTEXT_RESPONSE_TYPE:
2653
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_sgsn_context_response,
2654
0
                &gtp1_message->sgsn_context_response, OGS_TLV_MODE_T1_L2);
2655
0
        break;
2656
0
    case OGS_GTP1_SGSN_CONTEXT_ACKNOWLEDGE_TYPE:
2657
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_sgsn_context_acknowledge,
2658
0
                &gtp1_message->sgsn_context_acknowledge, OGS_TLV_MODE_T1_L2);
2659
0
        break;
2660
0
    case OGS_GTP1_FORWARD_RELOCATION_REQUEST_TYPE:
2661
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_forward_relocation_request,
2662
0
                &gtp1_message->forward_relocation_request, OGS_TLV_MODE_T1_L2);
2663
0
        break;
2664
0
    case OGS_GTP1_FORWARD_RELOCATION_RESPONSE_TYPE:
2665
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_forward_relocation_response,
2666
0
                &gtp1_message->forward_relocation_response, OGS_TLV_MODE_T1_L2);
2667
0
        break;
2668
0
    case OGS_GTP1_FORWARD_RELOCATION_COMPLETE_TYPE:
2669
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_forward_relocation_complete,
2670
0
                &gtp1_message->forward_relocation_complete, OGS_TLV_MODE_T1_L2);
2671
0
        break;
2672
0
    case OGS_GTP1_RELOCATION_CANCEL_REQUEST_TYPE:
2673
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_relocation_cancel_request,
2674
0
                &gtp1_message->relocation_cancel_request, OGS_TLV_MODE_T1_L2);
2675
0
        break;
2676
0
    case OGS_GTP1_RELOCATION_CANCEL_RESPONSE_TYPE:
2677
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_relocation_cancel_response,
2678
0
                &gtp1_message->relocation_cancel_response, OGS_TLV_MODE_T1_L2);
2679
0
        break;
2680
0
    case OGS_GTP1_FORWARD_SRNS_CONTEXT_TYPE:
2681
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_forward_srns_context,
2682
0
                &gtp1_message->forward_srns_context, OGS_TLV_MODE_T1_L2);
2683
0
        break;
2684
0
    case OGS_GTP1_FORWARD_RELOCATION_COMPLETE_ACKNOWLEDGE_TYPE:
2685
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_forward_relocation_complete_acknowledge,
2686
0
                &gtp1_message->forward_relocation_complete_acknowledge, OGS_TLV_MODE_T1_L2);
2687
0
        break;
2688
0
    case OGS_GTP1_FORWARD_SRNS_CONTEXT_ACKNOWLEDGE_TYPE:
2689
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_forward_srns_context_acknowledge,
2690
0
                &gtp1_message->forward_srns_context_acknowledge, OGS_TLV_MODE_T1_L2);
2691
0
        break;
2692
0
    case OGS_GTP1_UE_REGISTRATION_QUERY_REQUEST_TYPE:
2693
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_ue_registration_query_request,
2694
0
                &gtp1_message->ue_registration_query_request, OGS_TLV_MODE_T1_L2);
2695
0
        break;
2696
0
    case OGS_GTP1_UE_REGISTRATION_QUERY_RESPONSE_TYPE:
2697
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_ue_registration_query_response,
2698
0
                &gtp1_message->ue_registration_query_response, OGS_TLV_MODE_T1_L2);
2699
0
        break;
2700
0
    case OGS_GTP1_RAN_INFORMATION_RELAY_TYPE:
2701
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_ran_information_relay,
2702
0
                &gtp1_message->ran_information_relay, OGS_TLV_MODE_T1_L2);
2703
0
        break;
2704
0
    case OGS_GTP1_MBMS_NOTIFICATION_REQUEST_TYPE:
2705
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_mbms_notification_request,
2706
0
                &gtp1_message->mbms_notification_request, OGS_TLV_MODE_T1_L2);
2707
0
        break;
2708
0
    case OGS_GTP1_MBMS_NOTIFICATION_RESPONSE_TYPE:
2709
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_mbms_notification_response,
2710
0
                &gtp1_message->mbms_notification_response, OGS_TLV_MODE_T1_L2);
2711
0
        break;
2712
0
    case OGS_GTP1_MBMS_NOTIFICATION_REJECT_REQUEST_TYPE:
2713
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_mbms_notification_reject_request,
2714
0
                &gtp1_message->mbms_notification_reject_request, OGS_TLV_MODE_T1_L2);
2715
0
        break;
2716
0
    case OGS_GTP1_MBMS_NOTIFICATION_REJECT_RESPONSE_TYPE:
2717
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_mbms_notification_reject_response,
2718
0
                &gtp1_message->mbms_notification_reject_response, OGS_TLV_MODE_T1_L2);
2719
0
        break;
2720
0
    case OGS_GTP1_CREATE_MBMS_CONTEXT_REQUEST_TYPE:
2721
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_create_mbms_context_request,
2722
0
                &gtp1_message->create_mbms_context_request, OGS_TLV_MODE_T1_L2);
2723
0
        break;
2724
0
    case OGS_GTP1_CREATE_MBMS_CONTEXT_RESPONSE_TYPE:
2725
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_create_mbms_context_response,
2726
0
                &gtp1_message->create_mbms_context_response, OGS_TLV_MODE_T1_L2);
2727
0
        break;
2728
0
    case OGS_GTP1_UPDATE_MBMS_CONTEXT_REQUEST_TYPE:
2729
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_update_mbms_context_request,
2730
0
                &gtp1_message->update_mbms_context_request, OGS_TLV_MODE_T1_L2);
2731
0
        break;
2732
0
    case OGS_GTP1_UPDATE_MBMS_CONTEXT_RESPONSE_TYPE:
2733
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_update_mbms_context_response,
2734
0
                &gtp1_message->update_mbms_context_response, OGS_TLV_MODE_T1_L2);
2735
0
        break;
2736
0
    case OGS_GTP1_DELETE_MBMS_CONTEXT_REQUEST_TYPE:
2737
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_delete_mbms_context_request,
2738
0
                &gtp1_message->delete_mbms_context_request, OGS_TLV_MODE_T1_L2);
2739
0
        break;
2740
0
    case OGS_GTP1_DELETE_MBMS_CONTEXT_RESPONSE_TYPE:
2741
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_delete_mbms_context_response,
2742
0
                &gtp1_message->delete_mbms_context_response, OGS_TLV_MODE_T1_L2);
2743
0
        break;
2744
0
    case OGS_GTP1_MBMS_REGISTRATION_REQUEST_TYPE:
2745
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_mbms_registration_request,
2746
0
                &gtp1_message->mbms_registration_request, OGS_TLV_MODE_T1_L2);
2747
0
        break;
2748
0
    case OGS_GTP1_MBMS_REGISTRATION_RESPONSE_TYPE:
2749
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_mbms_registration_response,
2750
0
                &gtp1_message->mbms_registration_response, OGS_TLV_MODE_T1_L2);
2751
0
        break;
2752
0
    case OGS_GTP1_MBMS_DE_REGISTRATION_REQUEST_TYPE:
2753
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_mbms_de_registration_request,
2754
0
                &gtp1_message->mbms_de_registration_request, OGS_TLV_MODE_T1_L2);
2755
0
        break;
2756
0
    case OGS_GTP1_MBMS_DE_REGISTRATION_RESPONSE_TYPE:
2757
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_mbms_de_registration_response,
2758
0
                &gtp1_message->mbms_de_registration_response, OGS_TLV_MODE_T1_L2);
2759
0
        break;
2760
0
    case OGS_GTP1_MBMS_SESSION_START_REQUEST_TYPE:
2761
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_mbms_session_start_request,
2762
0
                &gtp1_message->mbms_session_start_request, OGS_TLV_MODE_T1_L2);
2763
0
        break;
2764
0
    case OGS_GTP1_MBMS_SESSION_START_RESPONSE_TYPE:
2765
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_mbms_session_start_response,
2766
0
                &gtp1_message->mbms_session_start_response, OGS_TLV_MODE_T1_L2);
2767
0
        break;
2768
0
    case OGS_GTP1_MBMS_SESSION_STOP_REQUEST_TYPE:
2769
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_mbms_session_stop_request,
2770
0
                &gtp1_message->mbms_session_stop_request, OGS_TLV_MODE_T1_L2);
2771
0
        break;
2772
0
    case OGS_GTP1_MBMS_SESSION_STOP_RESPONSE_TYPE:
2773
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_mbms_session_stop_response,
2774
0
                &gtp1_message->mbms_session_stop_response, OGS_TLV_MODE_T1_L2);
2775
0
        break;
2776
0
    case OGS_GTP1_MBMS_SESSION_UPDATE_REQUEST_TYPE:
2777
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_mbms_session_update_request,
2778
0
                &gtp1_message->mbms_session_update_request, OGS_TLV_MODE_T1_L2);
2779
0
        break;
2780
0
    case OGS_GTP1_MBMS_SESSION_UPDATE_RESPONSE_TYPE:
2781
0
        pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_mbms_session_update_response,
2782
0
                &gtp1_message->mbms_session_update_response, OGS_TLV_MODE_T1_L2);
2783
0
        break;
2784
0
    default:
2785
0
        ogs_warn("Not implemented(type:%d)", gtp1_message->h.type);
2786
0
        break;
2787
0
    }
2788
2789
0
    return pkbuf;
2790
0
}
2791