[Release-17] Upgrade GTPv1/v2 to v17.4.0/v17.7.0

This commit is contained in:
Sukchan Lee 2023-03-05 12:37:14 +09:00
parent fd9c211005
commit 3b8a1386e4
51 changed files with 801 additions and 443 deletions

View File

@ -21,8 +21,8 @@
/*******************************************************************************
* This file had been created by gtp1-tlv.py script v0.1.0
* Please do not modify this file but regenerate it via script.
* Created on: 2023-03-05 00:10:59.164127 by acetcom
* from 29060-g00.docx
* Created on: 2023-03-05 12:29:34.542862 by acetcom
* from 29060-h40.docx
******************************************************************************/
#include "ogs-gtp.h"
@ -1785,6 +1785,8 @@ ogs_tlv_desc_t ogs_gtp1_tlv_desc_sgsn_context_response =
&ogs_gtp1_tlv_desc_mm_context,
&ogs_gtp1_tlv_desc_pdp_context,
&ogs_gtp1_tlv_desc_gsn_address,
&ogs_gtp1_tlv_desc_gsn_address,
&ogs_gtp1_tlv_desc_gsn_address,
&ogs_gtp1_tlv_desc_pdp_context_prioritization,
&ogs_gtp1_tlv_desc_mbms_ue_context,
&ogs_gtp1_tlv_desc_rfsp_index,
@ -1803,8 +1805,6 @@ ogs_tlv_desc_t ogs_gtp1_tlv_desc_sgsn_context_response =
&ogs_gtp1_tlv_desc_extended_common_flags_ii,
&ogs_gtp1_tlv_desc_scef_pdn_connection,
&ogs_gtp1_tlv_desc_iov_updates_counter,
&ogs_gtp1_tlv_desc_gsn_address,
&ogs_gtp1_tlv_desc_gsn_address,
NULL,
}};
@ -1834,6 +1834,8 @@ ogs_tlv_desc_t ogs_gtp1_tlv_desc_forward_relocation_request =
&ogs_gtp1_tlv_desc_mm_context,
&ogs_gtp1_tlv_desc_pdp_context,
&ogs_gtp1_tlv_desc_gsn_address,
&ogs_gtp1_tlv_desc_gsn_address,
&ogs_gtp1_tlv_desc_gsn_address,
&ogs_gtp1_tlv_desc_target_identification,
&ogs_gtp1_tlv_desc_utran_transparent_container,
&ogs_gtp1_tlv_desc_pdp_context_prioritization,
@ -1867,8 +1869,6 @@ ogs_tlv_desc_t ogs_gtp1_tlv_desc_forward_relocation_request =
&ogs_gtp1_tlv_desc_ue_usage_type,
&ogs_gtp1_tlv_desc_extended_common_flags_ii,
&ogs_gtp1_tlv_desc_scef_pdn_connection,
&ogs_gtp1_tlv_desc_gsn_address,
&ogs_gtp1_tlv_desc_gsn_address,
NULL,
}};
@ -1929,7 +1929,9 @@ ogs_tlv_desc_t ogs_gtp1_tlv_desc_forward_srns_context =
OGS_TLV_MESSAGE,
"Forward SRNS Context",
0, 0, 0, 0, {
&ogs_gtp1_tlv_desc_cause,
&ogs_gtp1_tlv_desc_rab_context,
&ogs_gtp1_tlv_desc_source_rnc_pdcp_context_info,
&ogs_gtp1_tlv_desc_pdu_numbers,
NULL,
}};
@ -1947,9 +1949,7 @@ ogs_tlv_desc_t ogs_gtp1_tlv_desc_forward_srns_context_acknowledge =
OGS_TLV_MESSAGE,
"Forward SRNS Context Acknowledge",
0, 0, 0, 0, {
&ogs_gtp1_tlv_desc_rab_context,
&ogs_gtp1_tlv_desc_source_rnc_pdcp_context_info,
&ogs_gtp1_tlv_desc_pdu_numbers,
&ogs_gtp1_tlv_desc_cause,
NULL,
}};
@ -2116,6 +2116,20 @@ ogs_tlv_desc_t ogs_gtp1_tlv_desc_update_mbms_context_response =
NULL,
}};
ogs_tlv_desc_t ogs_gtp1_tlv_desc_delete_mbms_context_request =
{
OGS_TLV_MESSAGE,
"Delete MBMS Context Request",
0, 0, 0, 0, {
&ogs_gtp1_tlv_desc_imsi,
&ogs_gtp1_tlv_desc_tunnel_endpoint_identifier_control_plane,
&ogs_gtp1_tlv_desc_end_user_address,
&ogs_gtp1_tlv_desc_access_point_name,
&ogs_gtp1_tlv_desc_mbms_protocol_configuration_options,
&ogs_gtp1_tlv_desc_enhanced_nsapi,
NULL,
}};
ogs_tlv_desc_t ogs_gtp1_tlv_desc_delete_mbms_context_response =
{
OGS_TLV_MESSAGE,
@ -2478,6 +2492,10 @@ int ogs_gtp1_parse_msg(ogs_gtp1_message_t *gtp1_message, ogs_pkbuf_t *pkbuf)
rv = ogs_tlv_parse_msg_desc(&gtp1_message->update_mbms_context_response,
&ogs_gtp1_tlv_desc_update_mbms_context_response, pkbuf, OGS_TLV_MODE_T1_L2);
break;
case OGS_GTP1_DELETE_MBMS_CONTEXT_REQUEST_TYPE:
rv = ogs_tlv_parse_msg_desc(&gtp1_message->delete_mbms_context_request,
&ogs_gtp1_tlv_desc_delete_mbms_context_request, pkbuf, OGS_TLV_MODE_T1_L2);
break;
case OGS_GTP1_DELETE_MBMS_CONTEXT_RESPONSE_TYPE:
rv = ogs_tlv_parse_msg_desc(&gtp1_message->delete_mbms_context_response,
&ogs_gtp1_tlv_desc_delete_mbms_context_response, pkbuf, OGS_TLV_MODE_T1_L2);
@ -2718,6 +2736,10 @@ ogs_pkbuf_t *ogs_gtp1_build_msg(ogs_gtp1_message_t *gtp1_message)
pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_update_mbms_context_response,
&gtp1_message->update_mbms_context_response, OGS_TLV_MODE_T1_L2);
break;
case OGS_GTP1_DELETE_MBMS_CONTEXT_REQUEST_TYPE:
pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_delete_mbms_context_request,
&gtp1_message->delete_mbms_context_request, OGS_TLV_MODE_T1_L2);
break;
case OGS_GTP1_DELETE_MBMS_CONTEXT_RESPONSE_TYPE:
pkbuf = ogs_tlv_build_msg(&ogs_gtp1_tlv_desc_delete_mbms_context_response,
&gtp1_message->delete_mbms_context_response, OGS_TLV_MODE_T1_L2);

View File

@ -21,8 +21,8 @@
/*******************************************************************************
* This file had been created by gtp1-tlv.py script v0.1.0
* Please do not modify this file but regenerate it via script.
* Created on: 2023-03-05 00:10:59.158386 by acetcom
* from 29060-g00.docx
* Created on: 2023-03-05 12:29:34.536821 by acetcom
* from 29060-h40.docx
******************************************************************************/
#if !defined(OGS_GTP_INSIDE) && !defined(OGS_GTP_COMPILATION)
@ -856,7 +856,9 @@ typedef struct ogs_gtp1_sgsn_context_response_s {
ogs_gtp1_tlv_mm_context_t mm_context;
ogs_gtp1_tlv_pdp_context_t pdp_context;
ogs_gtp1_tlv_gsn_address_t sgsn_address_for_control_plane;
ogs_gtp1_tlv_pdp_context_prioritization_t pdp_context_prioritization_;
ogs_gtp1_tlv_gsn_address_t alternative_ggsn_address_for_control_plane;
ogs_gtp1_tlv_gsn_address_t alternative_ggsn_address_for_user_traffic;
ogs_gtp1_tlv_pdp_context_prioritization_t pdp_context_prioritization;
ogs_gtp1_tlv_mbms_ue_context_t mbms_ue_context;
ogs_gtp1_tlv_rfsp_index_t subscribed_rfsp_index;
ogs_gtp1_tlv_rfsp_index_t rfsp_index_in_use;
@ -874,8 +876,6 @@ typedef struct ogs_gtp1_sgsn_context_response_s {
ogs_gtp1_tlv_extended_common_flags_ii_t extended_common_flags_ii;
ogs_gtp1_tlv_scef_pdn_connection_t ue_scef_pdn_connection;
ogs_gtp1_tlv_iov_updates_counter_t iov_updates_counter;
ogs_gtp1_tlv_gsn_address_t alternative_ggsn_address_for_control_plane;
ogs_gtp1_tlv_gsn_address_t alternative_ggsn_address_for_user_traffic;
} ogs_gtp1_sgsn_context_response_t;
typedef struct ogs_gtp1_sgsn_context_acknowledge_s {
@ -895,13 +895,15 @@ typedef struct ogs_gtp1_forward_relocation_request_s {
ogs_gtp1_tlv_mm_context_t mm_context;
ogs_gtp1_tlv_pdp_context_t pdp_context;
ogs_gtp1_tlv_gsn_address_t sgsn_address_for_control_plane;
ogs_gtp1_tlv_gsn_address_t alternative_ggsn_address_for_control_plane;
ogs_gtp1_tlv_gsn_address_t alternative_ggsn_address_for_user_traffic;
ogs_gtp1_tlv_target_identification_t target_identification;
ogs_gtp1_tlv_utran_transparent_container_t utran_transparent_container;
ogs_gtp1_tlv_pdp_context_prioritization_t pdp_context_prioritization_;
ogs_gtp1_tlv_pdp_context_prioritization_t pdp_context_prioritization;
ogs_gtp1_tlv_mbms_ue_context_t mbms_ue_context;
ogs_gtp1_tlv_selected_plmn_id_t selected_plmn_id;
ogs_gtp1_tlv_bss_container_t bss_container;
ogs_gtp1_tlv_cell_identification_t cell_identification_;
ogs_gtp1_tlv_cell_identification_t cell_identification;
ogs_gtp1_tlv_bssgp_cause_t bssgp_cause;
ogs_gtp1_tlv_ps_handover_xid_parameters_t ps_handover_xid_parameters;
ogs_gtp1_tlv_direct_tunnel_flags_t direct_tunnel_flags;
@ -928,8 +930,6 @@ typedef struct ogs_gtp1_forward_relocation_request_s {
ogs_gtp1_tlv_ue_usage_type_t ue_usage_type;
ogs_gtp1_tlv_extended_common_flags_ii_t extended_common_flags_ii;
ogs_gtp1_tlv_scef_pdn_connection_t ue_scef_pdn_connection;
ogs_gtp1_tlv_gsn_address_t alternative_ggsn_address_for_control_plane;
ogs_gtp1_tlv_gsn_address_t alternative_ggsn_address_for_user_traffic;
} ogs_gtp1_forward_relocation_request_t;
typedef struct ogs_gtp1_forward_relocation_response_s {
@ -965,7 +965,9 @@ typedef struct ogs_gtp1_relocation_cancel_response_s {
} ogs_gtp1_relocation_cancel_response_t;
typedef struct ogs_gtp1_forward_srns_context_s {
ogs_gtp1_tlv_cause_t cause;
ogs_gtp1_tlv_rab_context_t rab_context;
ogs_gtp1_tlv_source_rnc_pdcp_context_info_t source_rnc_pdcp_context_info;
ogs_gtp1_tlv_pdu_numbers_t pdu_numbers;
} ogs_gtp1_forward_srns_context_t;
typedef struct ogs_gtp1_forward_relocation_complete_acknowledge_s {
@ -973,9 +975,7 @@ typedef struct ogs_gtp1_forward_relocation_complete_acknowledge_s {
} ogs_gtp1_forward_relocation_complete_acknowledge_t;
typedef struct ogs_gtp1_forward_srns_context_acknowledge_s {
ogs_gtp1_tlv_rab_context_t rab_context;
ogs_gtp1_tlv_source_rnc_pdcp_context_info_t source_rnc_pdcp_context_info;
ogs_gtp1_tlv_pdu_numbers_t pdu_numbers;
ogs_gtp1_tlv_cause_t cause;
} ogs_gtp1_forward_srns_context_acknowledge_t;
typedef struct ogs_gtp1_ue_registration_query_request_s {
@ -983,7 +983,7 @@ typedef struct ogs_gtp1_ue_registration_query_request_s {
} ogs_gtp1_ue_registration_query_request_t;
typedef struct ogs_gtp1_ue_registration_query_response_s {
ogs_gtp1_tlv_cause_t cause_;
ogs_gtp1_tlv_cause_t cause;
ogs_gtp1_tlv_imsi_t imsi;
ogs_gtp1_tlv_selected_plmn_id_t selected_plmn_id;
} ogs_gtp1_ue_registration_query_response_t;
@ -1086,6 +1086,15 @@ typedef struct ogs_gtp1_update_mbms_context_response_s {
ogs_gtp1_tlv_charging_gateway_address_t alternative_charging_gateway_address;
} ogs_gtp1_update_mbms_context_response_t;
typedef struct ogs_gtp1_delete_mbms_context_request_s {
ogs_gtp1_tlv_imsi_t imsi;
ogs_gtp1_tlv_tunnel_endpoint_identifier_control_plane_t tunnel_endpoint_identifier_control_plane;
ogs_gtp1_tlv_end_user_address_t end_user_address;
ogs_gtp1_tlv_access_point_name_t access_point_name;
ogs_gtp1_tlv_mbms_protocol_configuration_options_t mbms_protocol_configuration_options;
ogs_gtp1_tlv_enhanced_nsapi_t enhanced_nsapi;
} ogs_gtp1_delete_mbms_context_request_t;
typedef struct ogs_gtp1_delete_mbms_context_response_s {
ogs_gtp1_tlv_cause_t cause;
ogs_gtp1_tlv_mbms_protocol_configuration_options_t mbms_protocol_configuration_options;
@ -1129,11 +1138,11 @@ typedef struct ogs_gtp1_mbms_session_start_request_s {
ogs_gtp1_tlv_mbms_service_area_t mbms_service_area;
ogs_gtp1_tlv_mbms_session_identifier_t mbms_session_identifier;
ogs_gtp1_tlv_mbms_2g_3g_indicator_t mbms_2g_3g_indicator;
ogs_gtp1_tlv_mbms_session_duration_t mbms_session_duration_;
ogs_gtp1_tlv_mbms_session_duration_t mbms_session_duration;
ogs_gtp1_tlv_mbms_session_repetition_number_t mbms_session_repetition_number;
ogs_gtp1_tlv_mbms_time_to_data_transfer_t mbms_time_to_data_transfer;
ogs_gtp1_tlv_mbms_flow_identifier_t mbms_flow_identifier;
ogs_gtp1_tlv_mbms_ip_multicast_distribution_t mbms_ip_multicast_distribution_;
ogs_gtp1_tlv_mbms_ip_multicast_distribution_t mbms_ip_multicast_distribution;
} ogs_gtp1_mbms_session_start_request_t;
typedef struct ogs_gtp1_mbms_session_start_response_s {
@ -1226,6 +1235,7 @@ typedef struct ogs_gtp1_message_s {
ogs_gtp1_create_mbms_context_response_t create_mbms_context_response;
ogs_gtp1_update_mbms_context_request_t update_mbms_context_request;
ogs_gtp1_update_mbms_context_response_t update_mbms_context_response;
ogs_gtp1_delete_mbms_context_request_t delete_mbms_context_request;
ogs_gtp1_delete_mbms_context_response_t delete_mbms_context_response;
ogs_gtp1_mbms_registration_request_t mbms_registration_request;
ogs_gtp1_mbms_registration_response_t mbms_registration_response;

Binary file not shown.

Binary file not shown.

View File

@ -4,9 +4,11 @@ user@host ~/Documents/git/open5gs/lib/gtp/v1/support$ \
sudo pip3 install python-docx
* Change the format of standard specification
from 29060-g00.doc to 29060-g00.docx
from 29060-h40.doc to 29060-h40.docx
using Microsoft Office 2007+
* Adjust table cell in 29060-h40.docx
* Generate TLV support files
user@host ~/Documents/git/open5gs/lib/gtp/v1/support$ \
python3 gtp1-tlv.py -f 29060-g00.docx -o ..
python3 gtp1-tlv.py -f 29060-h40.docx -o ..

View File

@ -0,0 +1,8 @@
ies = []
ies.append({ "ie_value" : "IMSI", "presence" : "Conditional", "reference" : "7.7.2"})
ies.append({ "ie_value" : "Tunnel Endpoint Identifier Control Plane", "presence" : "Conditional", "reference" : "7.7.14"})
ies.append({ "ie_value" : "End User Address", "presence" : "Conditional", "reference" : "7.7.27"})
ies.append({ "ie_value" : "Access Point Name", "presence" : "Conditional", "reference" : "7.7.30"})
ies.append({ "ie_value" : "MBMS Protocol Configuration Options", "presence" : "Optional", "reference" : "7.7.58"})
ies.append({ "ie_value" : "Enhanced NSAPI", "presence" : "Conditional", "reference" : "7.7.67"})
msg_list[key]["ies"] = ies

View File

@ -11,6 +11,8 @@ ies.append({ "ie_value" : "Radio Priority LCS", "presence" : "Optional", "refere
ies.append({ "ie_value" : "MM Context", "presence" : "Conditional", "reference" : "7.7.28"})
ies.append({ "ie_value" : "PDP Context", "presence" : "Conditional", "reference" : "7.7.29"})
ies.append({ "ie_value" : "SGSN Address for Control Plane", "presence" : "Conditional", "reference" : "7.7.32"})
ies.append({ "ie_value" : "Alternative GGSN Address for control Plane", "presence" : "Optional", "reference" : "7.7.32"})
ies.append({ "ie_value" : "Alternative GGSN Address for user traffic", "presence" : "Optional", "reference" : "7.7.32"})
ies.append({ "ie_value" : "PDP Context Prioritization", "presence" : "Optional", "reference" : "7.7.45"})
ies.append({ "ie_value" : "MBMS UE Context", "presence" : "Optional", "reference" : "7.7.55"})
ies.append({ "ie_value" : "Subscribed RFSP Index", "presence" : "Optional", "reference" : "7.7.88"})
@ -29,6 +31,4 @@ ies.append({ "ie_value" : "UE Usage Type", "presence" : "Optional", "reference"
ies.append({ "ie_value" : "Extended Common Flags II", "presence" : "Optional", "reference" : "7.7.118"})
ies.append({ "ie_value" : "UE SCEF PDN Connection", "presence" : "Optional", "reference" : "7.7.121"})
ies.append({ "ie_value" : "IOV_updates counter", "presence" : "Optional", "reference" : "7.7.122"})
ies.append({ "ie_value" : "Alternative GGSN Address for control Plane", "presence" : "Optional", "reference" : "7.7.32"})
ies.append({ "ie_value" : "Alternative GGSN Address for user traffic", "presence" : "Optional", "reference" : "7.7.32"})
msg_list[key]["ies"] = ies

View File

@ -7,6 +7,8 @@ ies.append({ "ie_value" : "Charging Characteristics", "presence" : "Optional", "
ies.append({ "ie_value" : "MM Context", "presence" : "Mandatory", "reference" : "7.7.28"})
ies.append({ "ie_value" : "PDP Context", "presence" : "Conditional", "reference" : "7.7.29"})
ies.append({ "ie_value" : "SGSN Address for Control plane", "presence" : "Mandatory", "reference" : "7.7.32"})
ies.append({ "ie_value" : "Alternative GGSN Address for control Plane", "presence" : "Optional", "reference" : "7.7.32"})
ies.append({ "ie_value" : "Alternative GGSN Address for user traffic", "presence" : "Optional", "reference" : "7.7.32"})
ies.append({ "ie_value" : "Target Identification", "presence" : "Mandatory", "reference" : "7.7.37"})
ies.append({ "ie_value" : "UTRAN transparent container", "presence" : "Mandatory", "reference" : "7.7.38"})
ies.append({ "ie_value" : "PDP Context Prioritization", "presence" : "Optional", "reference" : "7.7.45"})
@ -40,6 +42,4 @@ ies.append({ "ie_value" : "Selection Mode with NSAPI", "presence" : "Optional",
ies.append({ "ie_value" : "UE Usage Type", "presence" : "Optional", "reference" : "7.7.117"})
ies.append({ "ie_value" : "Extended Common Flags II", "presence" : "Optional", "reference" : "7.7.118"})
ies.append({ "ie_value" : "UE SCEF PDN Connection", "presence" : "Optional", "reference" : "7.7.121"})
ies.append({ "ie_value" : "Alternative GGSN Address for control Plane", "presence" : "Optional", "reference" : "7.7.32"})
ies.append({ "ie_value" : "Alternative GGSN Address for user traffic", "presence" : "Optional", "reference" : "7.7.32"})
msg_list[key]["ies"] = ies

View File

@ -1,3 +1,5 @@
ies = []
ies.append({ "ie_value" : "Cause", "presence" : "Mandatory", "reference" : "7.7.1"})
ies.append({ "ie_value" : "RAB Context", "presence" : "Mandatory", "reference" : "7.7.19"})
ies.append({ "ie_value" : "Source RNC PDCP context info", "presence" : "Optional", "reference" : "7.7.61"})
ies.append({ "ie_value" : "PDU Numbers", "presence" : "Optional", "reference" : "7.7.74"})
msg_list[key]["ies"] = ies

View File

@ -1,5 +1,3 @@
ies = []
ies.append({ "ie_value" : "RAB Context", "presence" : "Mandatory", "reference" : "7.7.19"})
ies.append({ "ie_value" : "Source RNC PDCP context info", "presence" : "Optional", "reference" : "7.7.61"})
ies.append({ "ie_value" : "PDU Numbers", "presence" : "Optional", "reference" : "7.7.74"})
ies.append({ "ie_value" : "Cause", "presence" : "Mandatory", "reference" : "7.7.1"})
msg_list[key]["ies"] = ies

View File

@ -356,9 +356,9 @@ msg_list["Forward Relocation Response"]["table"] = 41
msg_list["Forward Relocation Complete"]["table"] = 42
msg_list["Relocation Cancel Request"]["table"] = 43
msg_list["Relocation Cancel Response"]["table"] = 44
msg_list["Forward SRNS Context"]["table"] = 45
msg_list["Forward Relocation Complete Acknowledge"]["table"] = 46
msg_list["Forward SRNS Context Acknowledge"]["table"] = 47
msg_list["Forward Relocation Complete Acknowledge"]["table"] = 45
msg_list["Forward SRNS Context Acknowledge"]["table"] = 46
msg_list["Forward SRNS Context"]["table"] = 47
msg_list["UE Registration Query Request"]["table"] = 49
msg_list["UE Registration Query Response"]["table"] = 50
msg_list["RAN Information Relay"]["table"] = 48
@ -387,10 +387,11 @@ msg_list["MBMS Session Update Response"]["table"] = 70
for key in msg_list.keys():
if "table" in msg_list[key].keys():
d_info("[" + key + "]")
if key == "Delete MBMS Context Request":
d_info('skipping, broken in source document')
# FIXME: manually generate the cells for each row
continue
# Manually modify the standard document by acetcom
# if key == "Delete MBMS Context Request":
# d_info('skipping, broken in source document')
# # FIXME: manually generate the cells for each row
# continue
cachefile = cachedir + "tlv-msg-" + msg_list[key]["type"] + ".py"
if os.path.isfile(cachefile) and os.access(cachefile, os.R_OK):
exec(open(cachefile).read())

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
* Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
*
* This file is part of Open5GS.
*
@ -20,8 +20,8 @@
/*******************************************************************************
* This file had been created by gtp-tlv.py script v0.1.0
* Please do not modify this file but regenerate it via script.
* Created on: 2023-03-05 00:10:47.974480 by acetcom
* from 29274-g30.docx
* Created on: 2023-03-05 11:59:11.018342 by acetcom
* from 29274-h70.docx
******************************************************************************/
#include "ogs-gtp.h"
@ -70,6 +70,17 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_stn_sr_0 =
{ NULL }
};
ogs_tlv_desc_t ogs_gtp2_tlv_desc_srvcc_cause_0 =
{
OGS_TLV_VAR_STR,
"SRVCC Cause",
OGS_GTP2_SRVCC_CAUSE_TYPE,
0,
0,
sizeof(ogs_gtp2_tlv_srvcc_cause_t),
{ NULL }
};
ogs_tlv_desc_t ogs_gtp2_tlv_desc_apn_0 =
{
OGS_TLV_VAR_STR,
@ -906,6 +917,28 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_fqdn_1 =
{ NULL }
};
ogs_tlv_desc_t ogs_gtp2_tlv_desc_fqdn_2 =
{
OGS_TLV_VAR_STR,
"FQDN",
OGS_GTP2_FQDN_TYPE,
0,
2,
sizeof(ogs_gtp2_tlv_fqdn_t),
{ NULL }
};
ogs_tlv_desc_t ogs_gtp2_tlv_desc_fqdn_3 =
{
OGS_TLV_VAR_STR,
"FQDN",
OGS_GTP2_FQDN_TYPE,
0,
3,
sizeof(ogs_gtp2_tlv_fqdn_t),
{ NULL }
};
ogs_tlv_desc_t ogs_gtp2_tlv_desc_ti_0 =
{
OGS_TLV_VAR_STR,
@ -1742,6 +1775,94 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_pc5_qos_flow_0 =
{ NULL }
};
ogs_tlv_desc_t ogs_gtp2_tlv_desc_sgi_ptp_tunnel_address_0 =
{
OGS_TLV_VAR_STR,
"SGi PtP Tunnel Address",
OGS_GTP2_SGI_PTP_TUNNEL_ADDRESS_TYPE,
0,
0,
sizeof(ogs_gtp2_tlv_sgi_ptp_tunnel_address_t),
{ NULL }
};
ogs_tlv_desc_t ogs_gtp2_tlv_desc_pgw_fqdn_0 =
{
OGS_TLV_VAR_STR,
"PGW FQDN",
OGS_GTP2_PGW_FQDN_TYPE,
0,
0,
sizeof(ogs_gtp2_tlv_pgw_fqdn_t),
{ NULL }
};
ogs_tlv_desc_t ogs_gtp2_tlv_desc_pgw_fqdn_1 =
{
OGS_TLV_VAR_STR,
"PGW FQDN",
OGS_GTP2_PGW_FQDN_TYPE,
0,
1,
sizeof(ogs_gtp2_tlv_pgw_fqdn_t),
{ NULL }
};
ogs_tlv_desc_t ogs_gtp2_tlv_desc_group_id_0 =
{
OGS_TLV_VAR_STR,
"Group Id",
OGS_GTP2_GROUP_ID_TYPE,
0,
0,
sizeof(ogs_gtp2_tlv_group_id_t),
{ NULL }
};
ogs_tlv_desc_t ogs_gtp2_tlv_desc_group_id_1 =
{
OGS_TLV_VAR_STR,
"Group Id",
OGS_GTP2_GROUP_ID_TYPE,
0,
1,
sizeof(ogs_gtp2_tlv_group_id_t),
{ NULL }
};
ogs_tlv_desc_t ogs_gtp2_tlv_desc_pscell_id_0 =
{
OGS_TLV_VAR_STR,
"PSCell ID",
OGS_GTP2_PSCELL_ID_TYPE,
0,
0,
sizeof(ogs_gtp2_tlv_pscell_id_t),
{ NULL }
};
ogs_tlv_desc_t ogs_gtp2_tlv_desc_up_security_policy_0 =
{
OGS_TLV_VAR_STR,
"UP Security Policy",
OGS_GTP2_UP_SECURITY_POLICY_TYPE,
0,
0,
sizeof(ogs_gtp2_tlv_up_security_policy_t),
{ NULL }
};
ogs_tlv_desc_t ogs_gtp2_tlv_desc_alternative_imsi_0 =
{
OGS_TLV_VAR_STR,
"Alternative IMSI",
OGS_GTP2_ALTERNATIVE_IMSI_TYPE,
0,
0,
sizeof(ogs_gtp2_tlv_alternative_imsi_t),
{ NULL }
};
ogs_tlv_desc_t ogs_gtp2_tlv_desc_pc5_qos_parameters_0 =
{
OGS_TLV_COMPOUND,
@ -1772,6 +1893,28 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_remote_ue_context_0 =
}
};
ogs_tlv_desc_t ogs_gtp2_tlv_desc_pgw_change_info_0 =
{
OGS_TLV_COMPOUND,
"PGW Change Info",
OGS_GTP2_PGW_CHANGE_INFO_TYPE,
0,
0,
sizeof(ogs_gtp2_tlv_pgw_change_info_t),
{
&ogs_gtp2_tlv_desc_pgw_fqdn_0,
&ogs_gtp2_tlv_desc_ip_address_0,
&ogs_gtp2_tlv_desc_pgw_fqdn_1,
&ogs_gtp2_tlv_desc_group_id_0,
&ogs_gtp2_tlv_desc_ip_address_1,
&ogs_gtp2_tlv_desc_ip_address_3,
&ogs_gtp2_tlv_desc_fq_csid_0,
&ogs_gtp2_tlv_desc_ip_address_2,
&ogs_gtp2_tlv_desc_group_id_1,
NULL,
}
};
ogs_tlv_desc_t ogs_gtp2_tlv_desc_v2x_context_0 =
{
OGS_TLV_COMPOUND,
@ -1900,6 +2043,8 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_pdn_connection_0 =
&ogs_gtp2_tlv_desc_remote_ue_context_0,
&ogs_gtp2_tlv_desc_pdn_type_0,
&ogs_gtp2_tlv_desc_header_compression_configuration_0,
&ogs_gtp2_tlv_desc_pgw_change_info_0,
&ogs_gtp2_tlv_desc_up_security_policy_0,
NULL,
}
};
@ -2151,6 +2296,12 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_create_session_response =
&ogs_gtp2_tlv_desc_f_container_0,
&ogs_gtp2_tlv_desc_charging_id_0,
&ogs_gtp2_tlv_desc_epco_0,
&ogs_gtp2_tlv_desc_fqdn_1,
&ogs_gtp2_tlv_desc_sgi_ptp_tunnel_address_0,
&ogs_gtp2_tlv_desc_pgw_change_info_0,
&ogs_gtp2_tlv_desc_fqdn_3,
&ogs_gtp2_tlv_desc_ip_address_1,
&ogs_gtp2_tlv_desc_up_security_policy_0,
NULL,
}};
@ -2173,6 +2324,7 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_modify_bearer_request =
&ogs_gtp2_tlv_desc_recovery_0,
&ogs_gtp2_tlv_desc_ue_time_zone_0,
&ogs_gtp2_tlv_desc_fq_csid_0,
&ogs_gtp2_tlv_desc_fq_csid_1,
&ogs_gtp2_tlv_desc_uci_0,
&ogs_gtp2_tlv_desc_ip_address_1,
&ogs_gtp2_tlv_desc_port_number_1,
@ -2193,6 +2345,7 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_modify_bearer_request =
&ogs_gtp2_tlv_desc_twan_identifier_0,
&ogs_gtp2_tlv_desc_twan_identifier_timestamp_0,
&ogs_gtp2_tlv_desc_secondary_rat_usage_data_report_0,
&ogs_gtp2_tlv_desc_pscell_id_0,
NULL,
}};
@ -2227,6 +2380,7 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_modify_bearer_response =
&ogs_gtp2_tlv_desc_overload_control_information_0,
&ogs_gtp2_tlv_desc_overload_control_information_1,
&ogs_gtp2_tlv_desc_charging_id_0,
&ogs_gtp2_tlv_desc_pgw_change_info_0,
NULL,
}};
@ -2257,6 +2411,7 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_delete_session_request =
&ogs_gtp2_tlv_desc_epco_0,
&ogs_gtp2_tlv_desc_port_number_1,
&ogs_gtp2_tlv_desc_secondary_rat_usage_data_report_0,
&ogs_gtp2_tlv_desc_pscell_id_0,
NULL,
}};
@ -2319,6 +2474,7 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_delete_bearer_command =
&ogs_gtp2_tlv_desc_overload_control_information_1,
&ogs_gtp2_tlv_desc_f_teid_0,
&ogs_gtp2_tlv_desc_secondary_rat_usage_data_report_0,
&ogs_gtp2_tlv_desc_pscell_id_0,
NULL,
}};
@ -2359,6 +2515,7 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_bearer_resource_command =
&ogs_gtp2_tlv_desc_f_container_0,
&ogs_gtp2_tlv_desc_epco_0,
&ogs_gtp2_tlv_desc_f_teid_2,
&ogs_gtp2_tlv_desc_pscell_id_0,
NULL,
}};
@ -2411,6 +2568,7 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_create_bearer_request =
&ogs_gtp2_tlv_desc_overload_control_information_0,
&ogs_gtp2_tlv_desc_overload_control_information_1,
&ogs_gtp2_tlv_desc_f_container_0,
&ogs_gtp2_tlv_desc_pgw_change_info_0,
NULL,
}};
@ -2423,6 +2581,7 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_create_bearer_response =
&ogs_gtp2_tlv_desc_bearer_context_0,
&ogs_gtp2_tlv_desc_recovery_0,
&ogs_gtp2_tlv_desc_fq_csid_0,
&ogs_gtp2_tlv_desc_fq_csid_1,
&ogs_gtp2_tlv_desc_fq_csid_2,
&ogs_gtp2_tlv_desc_fq_csid_3,
&ogs_gtp2_tlv_desc_pco_0,
@ -2439,6 +2598,7 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_create_bearer_response =
&ogs_gtp2_tlv_desc_port_number_0,
&ogs_gtp2_tlv_desc_f_container_0,
&ogs_gtp2_tlv_desc_port_number_1,
&ogs_gtp2_tlv_desc_pscell_id_0,
NULL,
}};
@ -2464,6 +2624,7 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_update_bearer_request =
&ogs_gtp2_tlv_desc_overload_control_information_0,
&ogs_gtp2_tlv_desc_overload_control_information_1,
&ogs_gtp2_tlv_desc_f_container_0,
&ogs_gtp2_tlv_desc_pgw_change_info_0,
NULL,
}};
@ -2494,6 +2655,7 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_update_bearer_response =
&ogs_gtp2_tlv_desc_port_number_0,
&ogs_gtp2_tlv_desc_f_container_0,
&ogs_gtp2_tlv_desc_port_number_1,
&ogs_gtp2_tlv_desc_pscell_id_0,
NULL,
}};
@ -2519,6 +2681,7 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_delete_bearer_request =
&ogs_gtp2_tlv_desc_f_container_0,
&ogs_gtp2_tlv_desc_apn_rate_control_status_0,
&ogs_gtp2_tlv_desc_epco_0,
&ogs_gtp2_tlv_desc_pgw_change_info_0,
NULL,
}};
@ -2551,6 +2714,7 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_delete_bearer_response =
&ogs_gtp2_tlv_desc_f_container_0,
&ogs_gtp2_tlv_desc_port_number_1,
&ogs_gtp2_tlv_desc_secondary_rat_usage_data_report_0,
&ogs_gtp2_tlv_desc_pscell_id_0,
NULL,
}};
@ -2609,6 +2773,7 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_release_access_bearers_request =
&ogs_gtp2_tlv_desc_node_type_0,
&ogs_gtp2_tlv_desc_indication_0,
&ogs_gtp2_tlv_desc_secondary_rat_usage_data_report_0,
&ogs_gtp2_tlv_desc_pscell_id_0,
NULL,
}};
@ -2670,6 +2835,7 @@ ogs_tlv_desc_t ogs_gtp2_tlv_desc_modify_access_bearers_request =
&ogs_gtp2_tlv_desc_bearer_context_1,
&ogs_gtp2_tlv_desc_recovery_0,
&ogs_gtp2_tlv_desc_secondary_rat_usage_data_report_0,
&ogs_gtp2_tlv_desc_pscell_id_0,
NULL,
}};

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
* Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
*
* This file is part of Open5GS.
*
@ -20,8 +20,8 @@
/*******************************************************************************
* This file had been created by gtp-tlv.py script v0.1.0
* Please do not modify this file but regenerate it via script.
* Created on: 2023-03-05 00:10:47.969299 by acetcom
* from 29274-g30.docx
* Created on: 2023-03-05 11:59:11.013000 by acetcom
* from 29274-h70.docx
******************************************************************************/
#if !defined(OGS_GTP_INSIDE) && !defined(OGS_GTP_COMPILATION)
@ -138,6 +138,7 @@ typedef struct ogs_gtp2_header_s {
#define OGS_GTP2_CAUSE_TYPE 2
#define OGS_GTP2_RECOVERY_TYPE 3
#define OGS_GTP2_STN_SR_TYPE 51
#define OGS_GTP2_SRVCC_CAUSE_TYPE 56
#define OGS_GTP2_APN_TYPE 71
#define OGS_GTP2_AMBR_TYPE 72
#define OGS_GTP2_EBI_TYPE 73
@ -269,12 +270,20 @@ typedef struct ogs_gtp2_header_s {
#define OGS_GTP2_SERVICES_AUTHORIZED_TYPE 210
#define OGS_GTP2_BIT_RATE_TYPE 211
#define OGS_GTP2_PC5_QOS_FLOW_TYPE 212
#define OGS_GTP2_SGI_PTP_TUNNEL_ADDRESS_TYPE 213
#define OGS_GTP2_PGW_CHANGE_INFO_TYPE 214
#define OGS_GTP2_PGW_FQDN_TYPE 215
#define OGS_GTP2_GROUP_ID_TYPE 216
#define OGS_GTP2_PSCELL_ID_TYPE 217
#define OGS_GTP2_UP_SECURITY_POLICY_TYPE 218
#define OGS_GTP2_ALTERNATIVE_IMSI_TYPE 219
/* Information Element TLV Descriptor */
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_imsi_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_cause_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_recovery_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_stn_sr_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_srvcc_cause_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_apn_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_ambr_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_ebi_0;
@ -351,6 +360,8 @@ extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_emlpp_priority_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_node_type_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_fqdn_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_fqdn_1;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_fqdn_2;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_fqdn_3;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_ti_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_mbms_session_duration_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_mbms_service_area_0;
@ -427,10 +438,19 @@ extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_services_authorized_1;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_bit_rate_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_bit_rate_1;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_pc5_qos_flow_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_sgi_ptp_tunnel_address_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_pgw_fqdn_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_pgw_fqdn_1;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_group_id_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_group_id_1;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_pscell_id_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_up_security_policy_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_alternative_imsi_0;
/* Group Information Element TLV Descriptor */
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_pc5_qos_parameters_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_remote_ue_context_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_pgw_change_info_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_v2x_context_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_bearer_context_0;
extern ogs_tlv_desc_t ogs_gtp2_tlv_desc_bearer_context_1;
@ -503,6 +523,7 @@ typedef ogs_tlv_octet_t ogs_gtp2_tlv_imsi_t;
typedef ogs_tlv_octet_t ogs_gtp2_tlv_cause_t;
typedef ogs_tlv_uint8_t ogs_gtp2_tlv_recovery_t;
typedef ogs_tlv_octet_t ogs_gtp2_tlv_stn_sr_t;
typedef ogs_tlv_octet_t ogs_gtp2_tlv_srvcc_cause_t;
typedef ogs_tlv_octet_t ogs_gtp2_tlv_apn_t;
typedef ogs_tlv_octet_t ogs_gtp2_tlv_ambr_t;
typedef ogs_tlv_uint8_t ogs_gtp2_tlv_ebi_t;
@ -626,6 +647,12 @@ typedef ogs_tlv_octet_t ogs_gtp2_tlv_additional_rrm_policy_index_t;
typedef ogs_tlv_octet_t ogs_gtp2_tlv_services_authorized_t;
typedef ogs_tlv_octet_t ogs_gtp2_tlv_bit_rate_t;
typedef ogs_tlv_octet_t ogs_gtp2_tlv_pc5_qos_flow_t;
typedef ogs_tlv_octet_t ogs_gtp2_tlv_sgi_ptp_tunnel_address_t;
typedef ogs_tlv_octet_t ogs_gtp2_tlv_pgw_fqdn_t;
typedef ogs_tlv_octet_t ogs_gtp2_tlv_group_id_t;
typedef ogs_tlv_octet_t ogs_gtp2_tlv_pscell_id_t;
typedef ogs_tlv_octet_t ogs_gtp2_tlv_up_security_policy_t;
typedef ogs_tlv_octet_t ogs_gtp2_tlv_alternative_imsi_t;
/* Structure for Group Information Element */
typedef struct ogs_gtp2_tlv_pc5_qos_parameters_s {
@ -640,6 +667,19 @@ typedef struct ogs_gtp2_tlv_remote_ue_context_s {
ogs_gtp2_tlv_remote_ue_ip_information_t remote_ue_ip_information;
} ogs_gtp2_tlv_remote_ue_context_t;
typedef struct ogs_gtp2_tlv_pgw_change_info_s {
ogs_tlv_presence_t presence;
ogs_gtp2_tlv_pgw_fqdn_t pgw_set_fqdn;
ogs_gtp2_tlv_ip_address_t alternative_pgw_c_smf_ip_address;
ogs_gtp2_tlv_pgw_fqdn_t alternative_pgw_c_smf_fqdn;
ogs_gtp2_tlv_group_id_t group_id;
ogs_gtp2_tlv_ip_address_t new_pgw_c_smf_ip_address;
ogs_gtp2_tlv_ip_address_t new_sgw_c_ip_address;
ogs_gtp2_tlv_fq_csid_t pgw_c_smf_fq_csid;
ogs_gtp2_tlv_ip_address_t pgw_control_plane_ip_address;
ogs_gtp2_tlv_group_id_t new_group_id;
} ogs_gtp2_tlv_pgw_change_info_t;
typedef struct ogs_gtp2_tlv_v2x_context_s {
ogs_tlv_presence_t presence;
ogs_gtp2_tlv_services_authorized_t lte_v2x_services_authorized;
@ -689,14 +729,14 @@ typedef struct ogs_gtp2_tlv_pdn_connection_s {
ogs_gtp2_tlv_ebi_t linked_eps_bearer_id;
ogs_gtp2_tlv_f_teid_t pgw_s5_s8_ip_address_for_control_plane_or_pmip; /* Instance : 0 */
ogs_gtp2_tlv_fqdn_t pgw_node_name;
ogs_gtp2_tlv_bearer_context_t bearer_contexts_;
ogs_gtp2_tlv_bearer_context_t bearer_contexts;
ogs_gtp2_tlv_ambr_t aggregate_maximum_bit_rate;
ogs_gtp2_tlv_charging_characteristics_t charging_characteristics;
ogs_gtp2_tlv_change_reporting_action_t change_reporting_action;
ogs_gtp2_tlv_csg_information_reporting_action_t csg_information_reporting_action;
ogs_gtp2_tlv_enb_information_reporting_t hnb_information_reporting_;
ogs_gtp2_tlv_enb_information_reporting_t hnb_information_reporting;
ogs_gtp2_tlv_indication_t indication_flags;
ogs_gtp2_tlv_signalling_priority_indication_t signalling_priority_indication__;
ogs_gtp2_tlv_signalling_priority_indication_t signalling_priority_indication;
ogs_gtp2_tlv_change_to_report_flags_t change_to_report_flags;
ogs_gtp2_tlv_fqdn_t local_home_network_id;
ogs_gtp2_tlv_presence_reporting_area_action_t presence_reporting_area_action;
@ -704,6 +744,8 @@ typedef struct ogs_gtp2_tlv_pdn_connection_s {
ogs_gtp2_tlv_remote_ue_context_t remote_ue_context_connected;
ogs_gtp2_tlv_pdn_type_t pdn_type;
ogs_gtp2_tlv_header_compression_configuration_t header_compression_configuration;
ogs_gtp2_tlv_pgw_change_info_t pgw_change_info;
ogs_gtp2_tlv_up_security_policy_t up_security_policy;
} ogs_gtp2_tlv_pdn_connection_t;
typedef struct ogs_gtp2_tlv_overload_control_information_s {
@ -799,7 +841,7 @@ typedef struct ogs_gtp2_create_session_request_s {
ogs_gtp2_tlv_counter_t mo_exception_data_counter;
ogs_gtp2_tlv_port_number_t ue_tcp_port;
ogs_gtp2_tlv_mapped_ue_usage_type_t mapped_ue_usage_type;
ogs_gtp2_tlv_uli_t user_location_information_for_sgw_;
ogs_gtp2_tlv_uli_t user_location_information_for_sgw;
ogs_gtp2_tlv_fqdn_t sgw_u_node_name;
ogs_gtp2_tlv_secondary_rat_usage_data_report_t secondary_rat_usage_data_report;
ogs_gtp2_tlv_up_function_selection_indication_flags_t up_function_selection_indication_flags;
@ -808,7 +850,7 @@ typedef struct ogs_gtp2_create_session_request_s {
typedef struct ogs_gtp2_create_session_response_s {
ogs_gtp2_tlv_cause_t cause;
ogs_gtp2_tlv_change_reporting_action_t change_reporting_action_;
ogs_gtp2_tlv_change_reporting_action_t change_reporting_action;
ogs_gtp2_tlv_csg_information_reporting_action_t csg_information_reporting_action;
ogs_gtp2_tlv_enb_information_reporting_t hnb_information_reporting;
ogs_gtp2_tlv_f_teid_t sender_f_teid_for_control_plane;
@ -829,7 +871,7 @@ typedef struct ogs_gtp2_create_session_response_s {
ogs_gtp2_tlv_ldn_t pgw_ldn;
ogs_gtp2_tlv_epc_timer_t pgw_back_off_time;
ogs_gtp2_tlv_apco_t additional_protocol_configuration_options;
ogs_gtp2_tlv_ip4cp_t trusted_wlan_ipv4_parameters_;
ogs_gtp2_tlv_ip4cp_t trusted_wlan_ipv4_parameters;
ogs_gtp2_tlv_indication_t indication_flags;
ogs_gtp2_tlv_presence_reporting_area_action_t presence_reporting_area_action;
ogs_gtp2_tlv_load_control_information_t pgw_s_node_level_load_control_information;
@ -840,6 +882,12 @@ typedef struct ogs_gtp2_create_session_response_s {
ogs_gtp2_tlv_f_container_t nbifom_container;
ogs_gtp2_tlv_charging_id_t pdn_connection_charging_id;
ogs_gtp2_tlv_epco_t extended_protocol_configuration_options;
ogs_gtp2_tlv_fqdn_t pgw_node_name;
ogs_gtp2_tlv_sgi_ptp_tunnel_address_t sgi_ptp_tunnel_address;
ogs_gtp2_tlv_pgw_change_info_t pgw_change_info;
ogs_gtp2_tlv_fqdn_t alternative_pgw_c_smf_fqdn;
ogs_gtp2_tlv_ip_address_t alternative_pgw_c_smf_ip_address;
ogs_gtp2_tlv_up_security_policy_t up_security_policy;
} ogs_gtp2_create_session_response_t;
typedef struct ogs_gtp2_modify_bearer_request_s {
@ -856,6 +904,7 @@ typedef struct ogs_gtp2_modify_bearer_request_s {
ogs_gtp2_tlv_recovery_t recovery;
ogs_gtp2_tlv_ue_time_zone_t ue_time_zone;
ogs_gtp2_tlv_fq_csid_t mme_fq_csid;
ogs_gtp2_tlv_fq_csid_t sgw_fq_csid;
ogs_gtp2_tlv_uci_t user_csg_information;
ogs_gtp2_tlv_ip_address_t ue_local_ip_address;
ogs_gtp2_tlv_port_number_t ue_udp_port;
@ -872,10 +921,11 @@ typedef struct ogs_gtp2_modify_bearer_request_s {
ogs_gtp2_tlv_serving_plmn_rate_control_t serving_plmn_rate_control;
ogs_gtp2_tlv_counter_t mo_exception_data_counter;
ogs_gtp2_tlv_imsi_t imsi;
ogs_gtp2_tlv_uli_t user_location_information_for_sgw_;
ogs_gtp2_tlv_uli_t user_location_information_for_sgw;
ogs_gtp2_tlv_twan_identifier_t wlan_location_information;
ogs_gtp2_tlv_twan_identifier_timestamp_t wlan_location_timestamp;
ogs_gtp2_tlv_secondary_rat_usage_data_report_t secondary_rat_usage_data_report;
ogs_gtp2_tlv_pscell_id_t pscell_id;
} ogs_gtp2_modify_bearer_request_t;
typedef struct ogs_gtp2_modify_bearer_response_s {
@ -888,7 +938,7 @@ typedef struct ogs_gtp2_modify_bearer_response_s {
ogs_gtp2_tlv_bearer_context_t bearer_contexts_marked_for_removal;
ogs_gtp2_tlv_change_reporting_action_t change_reporting_action;
ogs_gtp2_tlv_csg_information_reporting_action_t csg_information_reporting_action;
ogs_gtp2_tlv_enb_information_reporting_t hnb_information_reporting_;
ogs_gtp2_tlv_enb_information_reporting_t hnb_information_reporting;
ogs_gtp2_tlv_fqdn_t charging_gateway_name;
ogs_gtp2_tlv_ip_address_t charging_gateway_address;
ogs_gtp2_tlv_fq_csid_t pgw_fq_csid;
@ -904,6 +954,7 @@ typedef struct ogs_gtp2_modify_bearer_response_s {
ogs_gtp2_tlv_overload_control_information_t pgw_s_overload_control_information;
ogs_gtp2_tlv_overload_control_information_t sgw_s_overload_control_information;
ogs_gtp2_tlv_charging_id_t pdn_connection_charging_id;
ogs_gtp2_tlv_pgw_change_info_t pgw_change_info;
} ogs_gtp2_modify_bearer_response_t;
typedef struct ogs_gtp2_delete_session_request_s {
@ -929,6 +980,7 @@ typedef struct ogs_gtp2_delete_session_request_s {
ogs_gtp2_tlv_epco_t extended_protocol_configuration_options;
ogs_gtp2_tlv_port_number_t ue_tcp_port;
ogs_gtp2_tlv_secondary_rat_usage_data_report_t secondary_rat_usage_data_report;
ogs_gtp2_tlv_pscell_id_t pscell_id;
} ogs_gtp2_delete_session_request_t;
typedef struct ogs_gtp2_delete_session_response_s {
@ -971,6 +1023,7 @@ typedef struct ogs_gtp2_delete_bearer_command_s {
ogs_gtp2_tlv_overload_control_information_t sgw_s_overload_control_information;
ogs_gtp2_tlv_f_teid_t sender_f_teid_for_control_plane;
ogs_gtp2_tlv_secondary_rat_usage_data_report_t secondary_rat_usage_data_report;
ogs_gtp2_tlv_pscell_id_t pscell_id;
} ogs_gtp2_delete_bearer_command_t;
typedef struct ogs_gtp2_delete_bearer_failure_indication_s {
@ -995,12 +1048,13 @@ typedef struct ogs_gtp2_bearer_resource_command_s {
ogs_gtp2_tlv_f_teid_t s4_u_sgsn_f_teid;
ogs_gtp2_tlv_f_teid_t s12_rnc_f_teid;
ogs_gtp2_tlv_pco_t protocol_configuration_options;
ogs_gtp2_tlv_signalling_priority_indication_t signalling_priority_indication__;
ogs_gtp2_tlv_signalling_priority_indication_t signalling_priority_indication;
ogs_gtp2_tlv_overload_control_information_t mme_s4_sgsn_s_overload_control_information;
ogs_gtp2_tlv_overload_control_information_t sgw_s_overload_control_information;
ogs_gtp2_tlv_f_container_t nbifom_container;
ogs_gtp2_tlv_epco_t extended_protocol_configuration_options;
ogs_gtp2_tlv_f_teid_t sender_f_teid_for_control_plane;
ogs_gtp2_tlv_pscell_id_t pscell_id;
} ogs_gtp2_bearer_resource_command_t;
typedef struct ogs_gtp2_bearer_resource_failure_indication_s {
@ -1038,6 +1092,7 @@ typedef struct ogs_gtp2_create_bearer_request_s {
ogs_gtp2_tlv_overload_control_information_t pgw_s_overload_control_information;
ogs_gtp2_tlv_overload_control_information_t sgw_s_overload_control_information;
ogs_gtp2_tlv_f_container_t nbifom_container;
ogs_gtp2_tlv_pgw_change_info_t pgw_change_info;
} ogs_gtp2_create_bearer_request_t;
typedef struct ogs_gtp2_create_bearer_response_s {
@ -1045,6 +1100,7 @@ typedef struct ogs_gtp2_create_bearer_response_s {
ogs_gtp2_tlv_bearer_context_t bearer_contexts;
ogs_gtp2_tlv_recovery_t recovery;
ogs_gtp2_tlv_fq_csid_t mme_fq_csid;
ogs_gtp2_tlv_fq_csid_t sgw_fq_csid;
ogs_gtp2_tlv_fq_csid_t epdg_fq_csid;
ogs_gtp2_tlv_fq_csid_t twan_fq_csid;
ogs_gtp2_tlv_pco_t protocol_configuration_options;
@ -1061,6 +1117,7 @@ typedef struct ogs_gtp2_create_bearer_response_s {
ogs_gtp2_tlv_port_number_t ue_udp_port;
ogs_gtp2_tlv_f_container_t nbifom_container;
ogs_gtp2_tlv_port_number_t ue_tcp_port;
ogs_gtp2_tlv_pscell_id_t pscell_id;
} ogs_gtp2_create_bearer_response_t;
typedef struct ogs_gtp2_update_bearer_request_s {
@ -1070,7 +1127,7 @@ typedef struct ogs_gtp2_update_bearer_request_s {
ogs_gtp2_tlv_ambr_t aggregate_maximum_bit_rate;
ogs_gtp2_tlv_change_reporting_action_t change_reporting_action;
ogs_gtp2_tlv_csg_information_reporting_action_t csg_information_reporting_action;
ogs_gtp2_tlv_enb_information_reporting_t hnb_information_reporting_;
ogs_gtp2_tlv_enb_information_reporting_t hnb_information_reporting;
ogs_gtp2_tlv_indication_t indication_flags;
ogs_gtp2_tlv_fq_csid_t pgw_fq_csid;
ogs_gtp2_tlv_fq_csid_t sgw_fq_csid;
@ -1081,6 +1138,7 @@ typedef struct ogs_gtp2_update_bearer_request_s {
ogs_gtp2_tlv_overload_control_information_t pgw_s_overload_control_information;
ogs_gtp2_tlv_overload_control_information_t sgw_s_overload_control_information;
ogs_gtp2_tlv_f_container_t nbifom_container;
ogs_gtp2_tlv_pgw_change_info_t pgw_change_info;
} ogs_gtp2_update_bearer_request_t;
typedef struct ogs_gtp2_update_bearer_response_s {
@ -1106,6 +1164,7 @@ typedef struct ogs_gtp2_update_bearer_response_s {
ogs_gtp2_tlv_port_number_t ue_udp_port;
ogs_gtp2_tlv_f_container_t nbifom_container;
ogs_gtp2_tlv_port_number_t ue_tcp_port;
ogs_gtp2_tlv_pscell_id_t pscell_id;
} ogs_gtp2_update_bearer_response_t;
typedef struct ogs_gtp2_delete_bearer_request_s {
@ -1126,6 +1185,7 @@ typedef struct ogs_gtp2_delete_bearer_request_s {
ogs_gtp2_tlv_f_container_t nbifom_container;
ogs_gtp2_tlv_apn_rate_control_status_t apn_rate_control_status;
ogs_gtp2_tlv_epco_t extended_protocol_configuration_options;
ogs_gtp2_tlv_pgw_change_info_t pgw_change_info;
} ogs_gtp2_delete_bearer_request_t;
typedef struct ogs_gtp2_delete_bearer_response_s {
@ -1153,6 +1213,7 @@ typedef struct ogs_gtp2_delete_bearer_response_s {
ogs_gtp2_tlv_f_container_t nbifom_container;
ogs_gtp2_tlv_port_number_t ue_tcp_port;
ogs_gtp2_tlv_secondary_rat_usage_data_report_t secondary_rat_usage_data_report;
ogs_gtp2_tlv_pscell_id_t pscell_id;
} ogs_gtp2_delete_bearer_response_t;
typedef struct ogs_gtp2_create_indirect_data_forwarding_tunnel_request_s {
@ -1184,6 +1245,7 @@ typedef struct ogs_gtp2_release_access_bearers_request_s {
ogs_gtp2_tlv_node_type_t originating_node;
ogs_gtp2_tlv_indication_t indication_flags;
ogs_gtp2_tlv_secondary_rat_usage_data_report_t secondary_rat_usage_data_report;
ogs_gtp2_tlv_pscell_id_t pscell_id;
} ogs_gtp2_release_access_bearers_request_t;
typedef struct ogs_gtp2_release_access_bearers_response_s {
@ -1211,7 +1273,7 @@ typedef struct ogs_gtp2_downlink_data_notification_acknowledge_s {
ogs_gtp2_tlv_cause_t cause;
ogs_gtp2_tlv_delay_value_t data_notification_delay;
ogs_gtp2_tlv_recovery_t recovery;
ogs_gtp2_tlv_throttling_t dl_low_priority_traffic_throttling_;
ogs_gtp2_tlv_throttling_t dl_low_priority_traffic_throttling;
ogs_gtp2_tlv_imsi_t imsi;
ogs_gtp2_tlv_epc_timer_t dl_buffering_duration;
ogs_gtp2_tlv_integer_number_t dl_buffering_suggested_packet_count;
@ -1225,6 +1287,7 @@ typedef struct ogs_gtp2_modify_access_bearers_request_s {
ogs_gtp2_tlv_bearer_context_t bearer_contexts_to_be_removed;
ogs_gtp2_tlv_recovery_t recovery;
ogs_gtp2_tlv_secondary_rat_usage_data_report_t secondary_rat_usage_data_report;
ogs_gtp2_tlv_pscell_id_t pscell_id;
} ogs_gtp2_modify_access_bearers_request_t;
typedef struct ogs_gtp2_modify_access_bearers_response_s {

Binary file not shown.

Binary file not shown.

View File

@ -4,9 +4,11 @@ user@host ~/Documents/git/open5gs/lib/gtp/v2/support$ \
sudo pip3 install python-docx
* Change the format of standard specification
from 29274-g30.doc to 29274-g30.docx
from 29274-h70.doc to 29274-h70.docx
using Microsoft Office 2007+
* Adjust table cell in 29274-h70.docx
* Generate TLV support files
user@host ~/Documents/git/open5gs/lib/gtp/v2/support$ \
python3 gtp-tlv.py -f 29274-g30.docx -o ..
python3 gtp-tlv.py -f 29274-h70.docx -o ..

View File

@ -50,17 +50,36 @@ group_list["Load Control Information"] = { "index" : "281", "type" : "181", "ies
added_ies = group_list["Overload Control Information"]["ies"]
added_ies.append({ "ie_type" : "APN", "ie_value" : "List of Access Point Name", "presence" : "CO", "instance" : "0", "comment" : "The IE may (only) be present in the PGWs Overload Control Information IE.For indicating the APN level overload, the PGW shall include one or more instances of this IE, up to maximum of 10, with the same type and instance value, representing a list of APN(s) (sharing the same Overload Reduction Metric and Period of Validity). See NOTE 1."})
group_list["Overload Control Information"] = { "index" : "280", "type" : "180", "ies" : added_ies }
# [Table 7.2.3-2: Bearer Context within Create Bearer Request] Index = 21
# [Table 7.2.2-6: PGW Change Info within Create Session Response] Index = 20
ies = []
ies.append({ "ie_type" : "PGW FQDN", "ie_value" : "PGW Set FQDN", "presence" : "C", "instance" : "0", "comment" : "When present, this IE shall contain the PGW Set FQDN of the PGW-C/SMF set to which the PGW-C/SMF belongs.(NOTE)"})
ies.append({ "ie_type" : "IP Address", "ie_value" : "Alternative PGW-C/SMF IP Address", "presence" : "C", "instance" : "0", "comment" : "When present, this IE shall contain alternative PGW-C/SMF IP addresses within the PGW-C/SMF set to which the PGW-C/SMF belongs.Several IEs with the same type and instance value may be included to represent a list of Alternative PGW-C/SMF IP Addresses.(NOTE)"})
type_list["PGW FQDN"]["max_instance"] = "1"
ies.append({ "ie_type" : "PGW FQDN", "ie_value" : "Alternative PGW-C/SMF FQDN", "presence" : "C", "instance" : "1", "comment" : "When present, this IE shall contain alternative PGW-C/SMF FQDN within the PGW-C/SMF set to which the PGW-C/SMF belongs.Several IEs with the same type and instance value may be included to represent a list of Alternative PGW-C/SMF FQDNs.(NOTE)"})
ies.append({ "ie_type" : "Group Id", "ie_value" : "Group Id", "presence" : "O", "instance" : "0", "comment" : "When present, this IE shall identify the group to which the PDN connection pertains (see clause31.6 of 3GPPTS23.007[17])."})
group_list["PGW Change Info"] = { "index" : "314", "type" : "214", "ies" : ies }
# [Table 7.2.3-2: Bearer Context within Create Bearer Request] Index = 22
added_ies = group_list["Bearer Context"]["ies"]
added_ies.append({ "ie_type" : "PCO", "ie_value" : "Protocol Configuration Options", "presence" : "O", "instance" : "0", "comment" : "This IE may be sent on the S5/S8 and S4/S11 interfaces if ePCO is not supported by the UE or the network. This bearer level IE takes precedence over the PCO IE in the message body if they both exist."})
added_ies.append({ "ie_type" : "ePCO", "ie_value" : "Extended Protocol Configuration Options", "presence" : "O", "instance" : "0", "comment" : "This IE may be sent on the S5/S8 and S11 interfaces if the UE and the network support ePCO."})
added_ies.append({ "ie_type" : "Maximum Packet Loss Rate", "ie_value" : "Maximum Packet Loss Rate", "presence" : "O", "instance" : "0", "comment" : "This IE may be included on the S5/S8 interfaces if the PGW needs to send Maximum Packet Loss Rate as specified in clause5.4.1 of 3GPPTS23.401[3]. This IE is only applicable for QCI 1."})
group_list["Bearer Context"] = { "index" : "193", "type" : "93", "ies" : added_ies }
# [Table 7.2.3-3: Load Control Information within Create Bearer Request] Index = 22
# [Table 7.2.3-3: Load Control Information within Create Bearer Request] Index = 23
added_ies = group_list["Load Control Information"]["ies"]
# [Table 7.2.3-4: Overload Control Information within Create Bearer Request] Index = 23
# [Table 7.2.3-4: Overload Control Information within Create Bearer Request] Index = 24
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.4-2: Bearer Context within Create Bearer Response] Index = 25
# [Table 7.2.3-5: PGW Change Info within Create Bearer Request] Index = 25
added_ies = group_list["PGW Change Info"]["ies"]
type_list["IP Address"]["max_instance"] = "1"
added_ies.append({ "ie_type" : "IP Address", "ie_value" : "New PGW-C/SMF IP Address", "presence" : "C", "instance" : "1", "comment" : "This IE shall be included by a PGW if the PGW S5/S8/S2b IP Address for the control plane for the PDN connection is required to be changed (see PGW triggered PDN connection restoration in clauses31.4 and 31.4B and 31.6.3 of 3GPPTS23.007[17])."})
type_list["IP Address"]["max_instance"] = "3"
added_ies.append({ "ie_type" : "IP Address", "ie_value" : "New SGW-C IP Address", "presence" : "O", "instance" : "3", "comment" : "This IE may be included by a combined SGW/PGW to contain the SGW-C S11 IP address (pertaining to the combined SGW/PGW sending the PGW Change Info IE). The MME should use this information when deciding to which SGW-C S11 IP address should the Create Session Request message be sent, during a combined SGW-C/PGW-C/SMF triggered restoration procedure as specified in clauses31.4a and 31.6.3A of 3GPPTS23.007[17]."})
added_ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "PGW-C/SMF FQ-CSID", "presence" : "C", "instance" : "0", "comment" : "This IE shall be included if the New PGW-C/SMF IP Address IE is present and if the PGW-C/SMF requests the MME/ePDG to re-establish all the PDN connections associated with a PGW-C/SMF FQ-CSID towards the PGW-C indicated in New PGW-C/SMF IP Address IE.When present, it shall contain the PGW-C/SMF FQ-CSID for which the PDN connections are requested to be re-established.Several IEs with the same IE type may be present to represent several FQ-CSIDsof PDN connections that need to be moved to the New PGW-C/SMF IP Address.See also clause31.6 of 3GPPTS23.007[17]."})
added_ies.append({ "ie_type" : "IP Address", "ie_value" : "PGW Control Plane IP Address", "presence" : "C", "instance" : "2", "comment" : "This IE shall be included if the New PGW-C/SMF IP Address IE is present and if the PGW-C/SMF requests the MME/ePDG to re-establish all the PDN connections of which PGW S5/S8/ S2a/S2b F-TEID contains the PGW Control Plane IP Address towards the PGW-C indicated in New PGW-C/SMF IP Address IE.Several IEs with the same IE type may be present to represent several PGW-C/SMF IP addresses of PDN connections that need to be moved to the New PGW-C/SMF IP Address.See also clause31.6 of 3GPPTS23.007[17]."})
type_list["Group Id"]["max_instance"] = "1"
added_ies.append({ "ie_type" : "Group Id", "ie_value" : "New Group Id", "presence" : "O", "instance" : "1", "comment" : "The IE may be present if the PGW-C/SMF wants to allocate a new Group Id for the PDN connection. When present, this IE shall identify the new Group Id to which the PDN connection pertains, and the MME/ePDG shall replace any earlier Group ID received for the PDN connection with the new Group ID. If absent, the Group ID associated earlier to the PDN connection, if any, shall remain unchanged.See also clause31.6 of 3GPPTS23.007[17]."})
group_list["PGW Change Info"] = { "index" : "314", "type" : "214", "ies" : added_ies }
# [Table 7.2.4-2: Bearer Context within Create Bearer Response] Index = 27
added_ies = group_list["Bearer Context"]["ies"]
type_list["F-TEID"]["max_instance"] = "8"
added_ies.append({ "ie_type" : "F-TEID", "ie_value" : "S2b-U ePDG F-TEID", "presence" : "C", "instance" : "8", "comment" : "This IE shall be sent on the S2b interface."})
@ -72,103 +91,108 @@ type_list["F-TEID"]["max_instance"] = "11"
added_ies.append({ "ie_type" : "F-TEID", "ie_value" : "S2a-U PGW F-TEID", "presence" : "C", "instance" : "11", "comment" : "This IE shall be sent on the S2a interface. It shall be used to correlate the bearers with those in the Create Bearer Request."})
added_ies.append({ "ie_type" : "RAN/NAS Cause", "ie_value" : "RAN/NAS Cause", "presence" : "CO", "instance" : "0", "comment" : "If the bearer creation failed, the MME shall include this IE on the S11 interface to indicate the RAN cause and/or the NAS cause of the bearer creation failure, if available and if this information is permitted to be sent to the PGW operator according to MME operators policy.If both a RAN cause and a NAS cause are generated, then several IEs with the same type and instance value shall be included to represent a list of causes.The SGW shall include this IE on the S5/S8 interface if it receives it from the MME."})
group_list["Bearer Context"] = { "index" : "193", "type" : "93", "ies" : added_ies }
# [Table 7.2.4-3: Overload Control Information within Create Bearer Response] Index = 26
# [Table 7.2.4-3: Overload Control Information within Create Bearer Response] Index = 28
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.5-2: Overload Control Information within Bearer Resource Command] Index = 28
# [Table 7.2.5-2: Overload Control Information within Bearer Resource Command] Index = 30
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.6-2: Overload Control Information within Bearer Resource Failure Indication] Index = 30
# [Table 7.2.6-2: Overload Control Information within Bearer Resource Failure Indication] Index = 32
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.7-2: Bearer Context to be modified within Modify Bearer Request] Index = 32
# [Table 7.2.7-2: Bearer Context to be modified within Modify Bearer Request] Index = 34
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.2.7-3: Bearer Context to be removed within Modify Bearer Request] Index = 33
# [Table 7.2.7-3: Bearer Context to be removed within Modify Bearer Request] Index = 35
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.2.7-4: Overload Control Information within Modify Bearer Request] Index = 34
# [Table 7.2.7-4: Overload Control Information within Modify Bearer Request] Index = 36
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.8-2: Bearer Context modified within Modify Bearer Response] Index = 36
# [Table 7.2.8-2: Bearer Context modified within Modify Bearer Response] Index = 38
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.2.8-3: Bearer Context marked for removal within Modify Bearer Response] Index = 37
# [Table 7.2.8-3: Bearer Context marked for removal within Modify Bearer Response] Index = 39
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.2.8-4: Load Control Information within Modify Bearer Response] Index = 38
# [Table 7.2.8-4: Load Control Information within Modify Bearer Response] Index = 40
added_ies = group_list["Load Control Information"]["ies"]
# [Table 7.2.8-5: Overload Control Information within Modify Bearer Response] Index = 39
# [Table 7.2.8-5: Overload Control Information within Modify Bearer Response] Index = 41
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.9.1-2: Overload Control Information within Delete Session Request] Index = 41
# [Table 7.2.8-6: PGW Change Info within Modify Bearer Response] Index = 42
added_ies = group_list["PGW Change Info"]["ies"]
# [Table 7.2.9.1-2: Overload Control Information within Delete Session Request] Index = 44
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.9.2-2: Bearer Context within Delete Bearer Request] Index = 43
# [Table 7.2.9.2-2: Bearer Context within Delete Bearer Request] Index = 46
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.2.9-3: Load Control Information within Delete Bearer Request] Index = 44
# [Table 7.2.9.2-3: Load Control Information within Delete Bearer Request] Index = 47
added_ies = group_list["Load Control Information"]["ies"]
# [Table 7.2.9-4: Overload Control Information within Delete Bearer Request] Index = 45
# [Table 7.2.9.2-4: Overload Control Information within Delete Bearer Request] Index = 48
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.10.1-2: Load Control Information within Delete Session Response] Index = 47
# [Table 7.2.9.2-5: PGW Change Info within Delete Bearer Request] Index = 49
added_ies = group_list["PGW Change Info"]["ies"]
# [Table 7.2.10.1-2: Load Control Information within Delete Session Response] Index = 51
added_ies = group_list["Load Control Information"]["ies"]
# [Table 7.2.10.1-3: Overload Control Information within Delete Session Response] Index = 48
# [Table 7.2.10.1-3: Overload Control Information within Delete Session Response] Index = 52
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.10.2-2: Bearer Context within Delete Bearer Response] Index = 50
# [Table 7.2.10.2-2: Bearer Context within Delete Bearer Response] Index = 54
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.2.10.2-3: Overload Control Information within Delete Bearer Response] Index = 51
# [Table 7.2.10.2-3: Overload Control Information within Delete Bearer Response] Index = 55
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.11.1-2: Load Control Information within Downlink Data Notification] Index = 53
# [Table 7.2.11.1-2: Load Control Information within Downlink Data Notification] Index = 57
added_ies = group_list["Load Control Information"]["ies"]
# [Table 7.2.11.1-3: Overload Control Information within Downlink Data Notification] Index = 54
# [Table 7.2.11.1-3: Overload Control Information within Downlink Data Notification] Index = 58
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.14.1-2: Bearer Context within Modify Bearer Command] Index = 60
# [Table 7.2.14.1-2: Bearer Context within Modify Bearer Command] Index = 64
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.2.14-3: Overload Control Information within Modify Bearer Command] Index = 61
# [Table 7.2.14-3: Overload Control Information within Modify Bearer Command] Index = 65
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.14-2: Overload Control Information within Modify Bearer Failure Indication] Index = 63
# [Table 7.2.14-2: Overload Control Information within Modify Bearer Failure Indication] Index = 67
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.15-2: Bearer Context within Update Bearer Request] Index = 65
# [Table 7.2.15-2: Bearer Context within Update Bearer Request] Index = 69
added_ies = group_list["Bearer Context"]["ies"]
added_ies.append({ "ie_type" : "APCO", "ie_value" : "Additional Protocol Configuration Options", "presence" : "CO", "instance" : "0", "comment" : "The PGW shall include the Additional Prococol Configuration Options (APCO) IE on the S2b interface, including the list of available P-CSCF addresses, as part of the P-CSCF restoration extension procedure for the untrusted WLAN access, as specified in 3GPPTS23.380[61]."})
group_list["Bearer Context"] = { "index" : "193", "type" : "93", "ies" : added_ies }
# [Table 7.2.15-3: Load Control Information within Update Bearer Request] Index = 66
# [Table 7.2.15-3: Load Control Information within Update Bearer Request] Index = 70
added_ies = group_list["Load Control Information"]["ies"]
# [Table 7.2.15-4: Overload Control Information within Update Bearer Request] Index = 67
# [Table 7.2.15-4: Overload Control Information within Update Bearer Request] Index = 71
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.16-2: Bearer Context within Update Bearer Response] Index = 69
# [Table 7.2.15-5: PGW Change Info within Update Bearer Request] Index = 72
added_ies = group_list["PGW Change Info"]["ies"]
# [Table 7.2.16-2: Bearer Context within Update Bearer Response] Index = 74
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.2.16-3: Overload Control Information within Update Bearer Response] Index = 70
# [Table 7.2.16-3: Overload Control Information within Update Bearer Response] Index = 75
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.17.1-2: Bearer Context within Delete Bearer Command] Index = 72
# [Table 7.2.17.1-2: Bearer Context within Delete Bearer Command] Index = 77
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.2.17.1-3: Overload Control Information within Delete Bearer Command] Index = 73
# [Table 7.2.17.1-3: Overload Control Information within Delete Bearer Command] Index = 78
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.17.2-2: Bearer Context within Delete Bearer Failure Indication] Index = 75
# [Table 7.2.17.2-2: Bearer Context within Delete Bearer Failure Indication] Index = 80
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.2.17-3: Overload Control Information within Delete Bearer Failure Indication] Index = 76
# [Table 7.2.17-3: Overload Control Information within Delete Bearer Failure Indication] Index = 81
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.18-2: Bearer Context within Create Indirect Data Forwarding Tunnel Request] Index = 78
# [Table 7.2.18-2: Bearer Context within Create Indirect Data Forwarding Tunnel Request] Index = 83
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.2.19-2: Bearer Context within Create Indirect Data Forwarding Tunnel Response] Index = 80
# [Table 7.2.19-2: Bearer Context within Create Indirect Data Forwarding Tunnel Response] Index = 85
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.2.22-2: Load Control Information within Release Access Bearers Response] Index = 83
# [Table 7.2.22-2: Load Control Information within Release Access Bearers Response] Index = 88
added_ies = group_list["Load Control Information"]["ies"]
# [Table 7.2.22-3: Overload Control Information within Release Access Bearers Response] Index = 84
# [Table 7.2.22-3: Overload Control Information within Release Access Bearers Response] Index = 89
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.24-2: Bearer Context to be modified within Modify Access Bearers Request] Index = 87
# [Table 7.2.24-2: Bearer Context to be modified within Modify Access Bearers Request] Index = 92
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.2.24-3: Bearer Context to be removed within Modify Access Bearers Request] Index = 88
# [Table 7.2.24-3: Bearer Context to be removed within Modify Access Bearers Request] Index = 93
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.2.25-2: Bearer Context modified within Modify Access Bearers Response] Index = 90
# [Table 7.2.25-2: Bearer Context modified within Modify Access Bearers Response] Index = 95
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.2.25-3: Bearer Context marked for removal within Modify Access Bearers Response] Index = 91
# [Table 7.2.25-3: Bearer Context marked for removal within Modify Access Bearers Response] Index = 96
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.2.25-4: Load Control Information within Modify Access Bearers Response] Index = 92
# [Table 7.2.25-4: Load Control Information within Modify Access Bearers Response] Index = 97
added_ies = group_list["Load Control Information"]["ies"]
# [Table 7.2.25-5: Overload Control Information within Modify Access Bearers Response] Index = 93
# [Table 7.2.25-5: Overload Control Information within Modify Access Bearers Response] Index = 98
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 7.2.26-2: Remote UE Context Connected within Remote UE Report Notification] Index = 95
# [Table 7.2.26-2: Remote UE Context Connected within Remote UE Report Notification] Index = 100
added_ies = group_list["Remote UE Context"]["ies"]
# [Table 7.2.26-3: Remote UE Context Disconnected with Remote UE Report Notification ] Index = 96
# [Table 7.2.26-3: Remote UE Context Disconnected with Remote UE Report Notification] Index = 101
added_ies = group_list["Remote UE Context"]["ies"]
# [Table 7.3.1-2: MME/SGSN/AMF UE EPS PDN Connections within Forward Relocation Request] Index = 99
# [Table 7.3.1-2: MME/SGSN/AMF UE EPS PDN Connections within Forward Relocation Request] Index = 104
ies = []
ies.append({ "ie_type" : "APN", "ie_value" : "APN", "presence" : "M", "instance" : "0", "comment" : ""})
ies.append({ "ie_type" : "APN Restriction", "ie_value" : "APN Restriction", "presence" : "C", "instance" : "0", "comment" : "This IE denotes the restriction on the combination of types of APN for the APN associated with this EPS bearer Context. The target MME or SGSN determines the Maximum APN Restriction using the APN Restriction.If available, the source MME/S4SGSN shall include this IE."})
ies.append({ "ie_type" : "Selection Mode", "ie_value" : "Selection Mode", "presence" : "CO", "instance" : "0", "comment" : "When available, this IE shall be included by the source MME/S4-SGSN/AMF."})
ies.append({ "ie_type" : "IP Address", "ie_value" : "IPv4 Address", "presence" : "C", "instance" : "0", "comment" : "This IE shall not be included if no IPv4 Address is assigned. See NOTE 1."})
type_list["IP Address"]["max_instance"] = "1"
ies.append({ "ie_type" : "IP Address", "ie_value" : "IPv6 Address", "presence" : "C", "instance" : "1", "comment" : "This IE shall not be included if no IPv6 Address is assigned."})
ies.append({ "ie_type" : "EBI", "ie_value" : "Linked EPS Bearer ID", "presence" : "M", "instance" : "0", "comment" : "This IE identifies the default bearer of the PDN Connection."})
ies.append({ "ie_type" : "F-TEID", "ie_value" : "PGW S5/S8 IP Address for Control Plane or PMIP", "presence" : "M", "instance" : "0", "comment" : "This IE shall include the TEID in the GTP based S5/S8 case and the uplink GRE key in the PMIP based S5/S8 case.See NOTE 4."})
@ -189,21 +213,23 @@ ies.append({ "ie_type" : "WLAN Offloadability Indication", "ie_value" : "WLAN Of
ies.append({ "ie_type" : "Remote UE Context", "ie_value" : "Remote UE Context Connected", "presence" : "CO", "instance" : "0", "comment" : "The source MME shall include this IE on the S10 interface during an inter MME mobility procedure if such information is available.Several IEs with the same type and instance value may be included as necessary to represent a list of remote UEs connected."})
ies.append({ "ie_type" : "PDN Type", "ie_value" : "PDN Type", "presence" : "CO", "instance" : "0", "comment" : "The source MME/SGSN/AMF shall include this IE on the S10/S3/S16/N26 interface, for a Non-IP PDN Connection, during an inter MME/SGSN/AMF mobility procedure, if the target MME/SGSN/AMF supports SGi Non-IP or Ethernet PDN connections."})
ies.append({ "ie_type" : "Header Compression Configuration", "ie_value" : "Header Compression Configuration", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be sent over the S10 interface if the use of IP Header Compression for Control Plane CIoT EPS optimisations has been negotiated with the UE and the target MME is known to support CIoT EPS optimisations."})
ies.append({ "ie_type" : "PGW Change Info", "ie_value" : "PGW Change Info", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be sent over the S10 interface if available."})
ies.append({ "ie_type" : "UP Security Policy", "ie_value" : "UP Security Policy", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be sent by the old MME on the S10 interface or by the old AMF on the N26 interface if this information is available. When present, it shall indicate whether User Plane integrity protection is required, preferred or not needed for the traffic of the PDN connection."})
group_list["PDN Connection"] = { "index" : "209", "type" : "109", "ies" : ies }
# [Table 7.3.1-3: Bearer Context within MME/SGSN/AMF UE EPS PDN Connections within Forward Relocation Request] Index = 100
# [Table 7.3.1-3: Bearer Context within MME/SGSN/AMF UE EPS PDN Connections within Forward Relocation Request] Index = 105
added_ies = group_list["Bearer Context"]["ies"]
added_ies.append({ "ie_type" : "F-Container", "ie_value" : "BSS Container", "presence" : "CO", "instance" : "0", "comment" : "The MME/S4 SGSN shall include the Packet Flow ID, Radio Priority, SAPI, PS Handover XID parameters in the TAU/RAU/Handover procedure, if available. See Figure 8.48-2. The Container Type shall be set to 2."})
added_ies.append({ "ie_type" : "TI", "ie_value" : "Transaction Identifier", "presence" : "C", "instance" : "0", "comment" : "This IE shall be sent over S3/S10/S16 if the UE supports A/Gb and/or Iu mode."})
added_ies.append({ "ie_type" : "TI", "ie_value" : "Transaction Identifier", "presence" : "C", "instance" : "0", "comment" : "This IE shall be sent over S3/S10/S16 if the UE supports A/Gb and/or Iu mode. This IE should be sent over N26 if the MME has a TI stored that is linked with this EPS Bearer ID, or, the SMF provides the TI to the AMF (as part of a procedure to deliver SM context to AMF)."})
group_list["Bearer Context"] = { "index" : "193", "type" : "93", "ies" : added_ies }
# [Table 7.3.1-4: Remote UE Context Connected within MME/SGSN UE EPS PDN Connections within Forward Relocation Request] Index = 101
# [Table 7.3.1-4: Remote UE Context Connected within MME/SGSN UE EPS PDN Connections within Forward Relocation Request] Index = 106
added_ies = group_list["Remote UE Context"]["ies"]
# [Table 7.3.1-5: MME UE SCEF PDN Connections within Forward Relocation Request] Index = 102
# [Table 7.3.1-5: MME UE SCEF PDN Connections within Forward Relocation Request] Index = 107
ies = []
ies.append({ "ie_type" : "APN", "ie_value" : "APN", "presence" : "M", "instance" : "0", "comment" : ""})
ies.append({ "ie_type" : "EBI", "ie_value" : "Default EPS Bearer ID", "presence" : "M", "instance" : "0", "comment" : "This IE shall identify the default bearer of the SCEF PDN Connection."})
ies.append({ "ie_type" : "Node Identifier", "ie_value" : "SCEF ID", "presence" : "M", "instance" : "0", "comment" : "This IE shall include the SCEF Identifier and the SCEF Realm for the APN."})
group_list["SCEF PDN Connection"] = { "index" : "295", "type" : "195", "ies" : ies }
# [Table 7.3.1-6: Subscribed V2X Information within Forward Relocation Request] Index = 103
# [Table 7.3.1-6: Subscribed V2X Information within Forward Relocation Request] Index = 108
ies = []
ies.append({ "ie_type" : "Services Authorized", "ie_value" : "LTE V2X Services Authorized", "presence" : "C", "instance" : "0", "comment" : "This IE shall be included to indicate the authorization status of the UE to use the LTE sidelink for V2X services."})
type_list["Services Authorized"]["max_instance"] = "1"
@ -213,36 +239,42 @@ type_list["Bit Rate"]["max_instance"] = "1"
ies.append({ "ie_type" : "Bit Rate", "ie_value" : "NR UE Sidelink Aggregate Maximum Bit Rate", "presence" : "C", "instance" : "1", "comment" : "This IE shall be included if the UE is authorized for NR V2X services."})
ies.append({ "ie_type" : "PC5 QoS Parameters", "ie_value" : "PC5 QoS Parameters", "presence" : "C", "instance" : "0", "comment" : "This IE shall be included if the UE is authorized for NR V2X services."})
group_list["V2X Context"] = { "index" : "102", "type" : "2", "ies" : ies }
# [Table 7.3.1-7: PC5 QoS Parameters within Forward Relocation Request] Index = 104
# [Table 7.3.1-7: PC5 QoS Parameters within Forward Relocation Request] Index = 109
ies = []
ies.append({ "ie_type" : "PC5 QoS Flow", "ie_value" : "PC5 QoS Flows", "presence" : "M", "instance" : "0", "comment" : "Several IEs with this type and same instance value may be included as necessary to represent a list of PC5 QoS Flows."})
ies.append({ "ie_type" : "Bit Rate", "ie_value" : "PC5 Link Aggregated Bit Rates", "presence" : "O", "instance" : "0", "comment" : "This IE may be included for the non-GBR PC5 QoS Flows."})
group_list["PC5 QoS Parameters"] = { "index" : "105", "type" : "5", "ies" : ies }
# [Table 7.3.2-2: Bearer Context ] Index = 106
# [Table 7.3.1-8: PGW Change Info with Forward Relocation Request] Index = 110
added_ies = group_list["PGW Change Info"]["ies"]
# [Table 7.3.2-2: Bearer Context] Index = 112
added_ies = group_list["Bearer Context"]["ies"]
added_ies.append({ "ie_type" : "Packet Flow ID", "ie_value" : "Packet Flow ID", "presence" : "C", "instance" : "0", "comment" : "This IE shall be included if the message is used for PS handover and Inter RAT handover to/from A/Gb mode procedures."})
group_list["Bearer Context"] = { "index" : "193", "type" : "93", "ies" : added_ies }
# [Table 7.3.6-2: MME/SGSN/AMF UE EPS PDN Connections within Context Response] Index = 111
# [Table 7.3.6-2: MME/SGSN/AMF UE EPS PDN Connections within Context Response] Index = 117
added_ies = group_list["PDN Connection"]["ies"]
# [Table 7.3.6-3: Bearer Context within MME/SGSN/AMF UE EPS PDN Connections within Context Response] Index = 112
# [Table 7.3.6-3: Bearer Context within MME/SGSN/AMF UE EPS PDN Connections within Context Response] Index = 118
added_ies = group_list["Bearer Context"]["ies"]
# [Table 7.3.6-4: Remote UE Context Connected within MME/SGSN UE EPS PDN Connections within Context Response] Index = 113
# [Table 7.3.6-4: Remote UE Context Connected within MME/SGSN UE EPS PDN Connections within Context Response] Index = 119
added_ies = group_list["Remote UE Context"]["ies"]
# [Table 7.3.7-2: Bearer Context within Context Acknowledge] Index = 116
# [Table 7.3.1-6: PGW Change Info with Context Response] Index = 121
added_ies = group_list["PGW Change Info"]["ies"]
# [Table 7.3.7-2: Bearer Context within Context Acknowledge] Index = 123
added_ies = group_list["Bearer Context"]["ies"]
# [Table 8.28-1: Bearer Context Grouped Type] Index = 198
# [Table 8.28-1: Bearer Context Grouped Type] Index = 205
added_ies = group_list["Bearer Context"]["ies"]
# [Table 8.39-1: PDN Connection Grouped Type] Index = 221
# [Table 8.39-1: PDN Connection Grouped Type] Index = 229
added_ies = group_list["PDN Connection"]["ies"]
# [Table 8.111-1: Overload Control Information Grouped Type] Index = 326
# [Table 8.111-1: Overload Control Information Grouped Type] Index = 334
added_ies = group_list["Overload Control Information"]["ies"]
# [Table 8.112-1: Load Control Information Grouped Type] Index = 327
# [Table 8.112-1: Load Control Information Grouped Type] Index = 335
added_ies = group_list["Load Control Information"]["ies"]
# [Table 8.122-1: Remote UE Context Grouped Type] Index = 337
# [Table 8.122-1: Remote UE Context Grouped Type] Index = 345
added_ies = group_list["Bearer Context"]["ies"]
# [Table 8.126-1: PDN Connection Grouped Type] Index = 341
# [Table 8.126-1: PDN Connection Grouped Type] Index = 349
added_ies = group_list["PDN Connection"]["ies"]
# [Table 8.138-1: V2X Context Grouped Type] Index = 356
# [Table 8.138-1: V2X Context Grouped Type] Index = 364
added_ies = group_list["V2X Context"]["ies"]
# [Table 8.140-1: PC5 QoS Parameters Grouped Type] Index = 357
# [Table 8.140-1: PC5 QoS Parameters Grouped Type] Index = 365
added_ies = group_list["PC5 QoS Parameters"]["ies"]
# [Table 8.145-1: PGW Change Info Grouped Type] Index = 370
added_ies = group_list["PGW Change Info"]["ies"]

View File

@ -23,4 +23,5 @@ ies.append({ "ie_type" : "Port Number", "ie_value" : "UE UDP Port", "presence" :
ies.append({ "ie_type" : "F-Container", "ie_value" : "NBIFOM Container", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S11/S4 or S2a/S2b interfaces if the MME/S4-SGSN or the TWAN/ePDG receives a NBIFOM Container from the UE as specified in 3GPPTS24.161 73]. The Container Type shall be set to 4."})
ies.append({ "ie_type" : "Port Number", "ie_value" : "UE TCP Port", "presence" : "CO", "instance" : "1", "comment" : "The ePDG shall include this IE on the S2b interface if NAT is detected and TCP encapsulation is used."})
ies.append({ "ie_type" : "Secondary RAT Usage Data Report", "ie_value" : "Secondary RAT Usage Data Report", "presence" : "CO", "instance" : "0", "comment" : "If the PLMN has configured secondary RAT usage reporting, the MME shall include this IE on the S11 interface if it has received Secondary RAT usage data from eNodeB in a PDN GW initiated bearer deactivation procedure.Several IEs with the same type and instance value may be included, to represent multiple usage data reports."})
ies.append({ "ie_type" : "PSCell ID", "ie_value" : "PSCell ID", "presence" : "CO", "instance" : "0", "comment" : "The MME shall include this IE on the S11 interface, if it has received this information from the eNodeB."})
msg_list[key]["ies"] = ies

View File

@ -1,7 +1,7 @@
ies = []
ies.append({ "ie_type" : "IMSI", "ie_value" : "IMSI", "presence" : "C", "instance" : "0", "comment" : "This IE shall be included by the MME/SGSN if the SGW that the MME/SGSN selects for indirect data forwarding is different from the SGW already in use for the UE as the anchor point except for the case:- If the UE is emergency or RLOS attached and the UE is UICClessWhen the IMSI is included in the message, it is not used as an identifier- if UE is emergency or RLOS attached but IMSI is not authenticated.See NOTE1."})
ies.append({ "ie_type" : "MEI", "ie_value" : "ME Identity", "presence" : "C", "instance" : "0", "comment" : "This IE shall be included by the MME/SGSN if the SGW that the MME/SGSN selects for indirect data forwarding is different from the SGW already in use for the UE as the anchor point and if one of the following condition is satisfied:- If the UE is emergency or RLOS attached and the UE is UICCless; or- If the UE is emergency or RLOS attached and the IMSI is not authenticated"})
ies.append({ "ie_type" : "Indication", "ie_value" : "Indication Flags", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included if any one of the applicable flags is set to 1.Applicable flags are:Unauthenticated IMSI: This flag shall be set to 1 if the IMSI present in the message is not authenticated and is for an emergency or RLOS attached UE."})
ies.append({ "ie_type" : "Indication", "ie_value" : "Indication Flags", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included if any one of the applicable flags is set to 1.Applicable flags are:Unauthenticated IMSI: This flag shall be set to 1 if the IMSI present in the message is not authenticated and is for an emergency or RLOS attached UE.Indirect Data Forwarding with UPF Indication: This flag shall be set to 1 if indirect data forwarding is required for user plane routes from UPF in the 5GS to EPS handover procedure or to UPF in the EPS to 5GS handover procedure. This flag shall not be set to 1 if indirect data forwarding is used for other mobility procedures. See NOTE 2."})
ies.append({ "ie_type" : "F-TEID", "ie_value" : "Sender F-TEID for Control Plane", "presence" : "C", "instance" : "0", "comment" : "This IE shall be included by the MME/SGSN if the SGW that the MME/SGSN selects for indirect data forwarding is different from the SGW already in use for the UE as the anchor point.See NOTE1."})
ies.append({ "ie_type" : "Bearer Context", "ie_value" : "Bearer Contexts", "presence" : "M", "instance" : "0", "comment" : "Several IEs with this type and instance value may be included as necessary to represent a list of Bearers"})
ies.append({ "ie_type" : "Recovery", "ie_value" : "Recovery", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included if contacting the peer for the first time."})

View File

@ -3,4 +3,5 @@ ies.append({ "ie_type" : "EBI", "ie_value" : "List of RABs", "presence" : "C", "
ies.append({ "ie_type" : "Node Type", "ie_value" : "Originating Node", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be sent on S11 interface, if ISR is active in the MME.This IE shall be sent on S4 interface, if ISR is active in the SGSNSee NOTE 1."})
ies.append({ "ie_type" : "Indication", "ie_value" : "Indication Flags", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included if any one of the applicable flags is set to 1.Applicable flags are:Abnormal Release of Radio Link: This flag shall be set to 1 on the S11 interface- if the S1 release is due to an abnormal release of the radio link, e.g. when the MME receives UE CONTEXT RELEASE REQUEST with the cause value set to Radio Connection With UE Lost, or- if the MME performs DL data buffering and the operator specified policy/configuration conditions for triggering the PGW pause of charging are met (e.g. number/fraction of packets/bytes dropped at MME in downlink) as specified in clause5.3.6A of 3GPPTS23.401[3]."})
ies.append({ "ie_type" : "Secondary RAT Usage Data Report", "ie_value" : "Secondary RAT Usage Data Report", "presence" : "CO", "instance" : "0", "comment" : "If the PLMN has configured secondary RAT usage reporting, the MME shall include this IE on the S11 interface if it has received Secondary RAT usage data from eNodeB in a Connection Suspend, or S1 release procedure.The MME shall set the IRPGW flag to 0, to indicate that the IE shall not be forwarded to the PGW.Several IEs with the same type and instance value may be included, to represent multiple usage data reports."})
ies.append({ "ie_type" : "PSCell ID", "ie_value" : "PSCell ID", "presence" : "CO", "instance" : "0", "comment" : "The MME shall include this IE on the S11 interface, if it has received this information from the eNodeB."})
msg_list[key]["ies"] = ies

View File

@ -6,4 +6,5 @@ ies.append({ "ie_type" : "Bearer Context", "ie_value" : "Bearer Contexts to be m
ies.append({ "ie_type" : "Bearer Context", "ie_value" : "Bearer Contexts to be removed", "presence" : "C", "instance" : "1", "comment" : "This IE shall be included for the TAU/Handover, UE initiated Connection Resume and Service Request procedures where any of the bearers existing before the TAU/Handover procedure, UE initiated Connection Resume and Service Request procedures will be deactivated as consequence of the TAU/Handover procedure, UE initiated Connection Resume and Service Request procedures.For the Service Request and UE initiated Connection Resume procedures, all unaccepted bearers for this UE shall be included.For each of those bearers, an IE with the same type and instance value, shall be included.See NOTE 1."})
ies.append({ "ie_type" : "Recovery", "ie_value" : "Recovery", "presence" : "C", "instance" : "0", "comment" : "This IE shall be included if contacting the peer for the first time."})
ies.append({ "ie_type" : "Secondary RAT Usage Data Report", "ie_value" : "Secondary RAT Usage Data Report", "presence" : "CO", "instance" : "0", "comment" : "If the PLMN has configured secondary RAT usage reporting, and if the Secondary RAT usage data is not intended for the PGW(s) for any of active PDN Connections, the MME shall include this IE on the S11 interface if it has received Secondary RAT usage data from eNodeB in an X2-based handover without Serving GW relocation, S1-based handover without MME or SGW relocation, or E-UTRAN initiated E-RAB modification procedure.The MME shall also include this IE on the S11 interface if it has received a Secondary RAT Usage Data Report from the source MME in an S1-based handover with MME relocation but without SGW relocation.The MME shall set the IRPGW flag to 0, to indicate that the IE shall not be forwarded to the PGW.Several IEs with the same type and instance value may be included, to represent multiple usage data reports."})
ies.append({ "ie_type" : "PSCell ID", "ie_value" : "PSCell ID", "presence" : "CO", "instance" : "0", "comment" : "The MME shall include this IE on the S11 interface, if it has received this information from the eNodeB."})
msg_list[key]["ies"] = ies

File diff suppressed because one or more lines are too long

View File

@ -22,7 +22,7 @@ ies.append({ "ie_type" : "LDN", "ie_value" : "PGW LDN", "presence" : "O", "insta
ies.append({ "ie_type" : "EPC Timer", "ie_value" : "PGW Back-Off Time", "presence" : "O", "instance" : "0", "comment" : "This IE may be included on the S5/S8 and S4/S11 interfaces when the PDN GW rejects the Create Session Request with the cause APN congestion. It indicates the time during which the MME or S4-SGSN should refrain from sending subsequent PDN connection establishment requests to the PGW for the congested APN for services other than Service Users/emergency services.See NOTE 3."})
ies.append({ "ie_type" : "APCO", "ie_value" : "Additional Protocol Configuration Options", "presence" : "CO", "instance" : "0", "comment" : "If multiple authentications are supported by the PGW and if PGW received the Additional Protocol Configuration Options IE in the Create Session Request, the PGW shall include this IE on the S2b interface and perform the corresponding procedures as specified for PAP and CHAP authentication of the UE with external networks in 3GPPTS33.402[50]."})
ies.append({ "ie_type" : "IP4CP", "ie_value" : "Trusted WLAN IPv4 Parameters", "presence" : "CO", "instance" : "0", "comment" : "The PGW shall include this IE on the S2a interface to a Trusted WLAN Access if PDN Type in the PAA is set to IPv4 or IPv4v6 and the transparent single-connection mode is used as specified in 3GPPTS23.402[45].This IE shall include:The Subnet Prefix Length of the subnet from which the PGW allocates the UEs IPv4 address.The IPv4 Default Router Address which belongs to the same subnet as the IPv4 address allocated to the UE."})
ies.append({ "ie_type" : "Indication", "ie_value" : "Indication Flags", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included if any one of the applicable flags is set to 1.Applicable flags are:PDN Pause Support Indication: this flag shall be set to 1 on the S5/S8 interface if the PGW supports the PGW Pause of Charging procedure.PDN Pause Enable Indication: this flag shall be set to 1 on the S5/S8 interface if the PGW enables the SGW to use the PGW Pause of Charging procedure for this PDN connection.Associate OCI with PGW nodes identity: The PGW shall set this flag to 1 on the S5/S8 interface or S2a/S2b interface if it has included the PGWs Overload Control Information and if this information is to be associated with the node identity (i.e. FQDN or the IP address received from the HSS or DNS during the PGW selection) of the serving PGW. This flag shall be set to 1 by the PGW if the PGWs Overload Control Information is included and the Cause IE is set to a rejection cause code. The SGW shall set this flag on the S11/S4 interface if it supports the overload control feature and if the flag is set on the S5/S8 interface.Associate OCI with SGW nodes identity: The SGW shall set this flag to 1 on the S11/S4 interface if it has included the SGWs Overload Control Information and if this information is to be associated with the node identity (i.e. FQDN or the IP address received from the DNS during the SGW selection) of the serving SGW. This flag shall be set to 1 by the SGW if the SGWs Overload Control Information is included and the Cause IE is set to a rejection cause code. Delay Tolerant Connection Indication: the flag shall be set to 1 on the S5/S8 and S11/S4 interface if the PDN connection is Delay Tolerant (see clause 8.12).Triggering SGSN initiated PDP Context Creation/Modification Indication: this flag shall be set to 1 on the S5/S8 interfaces if the network-initiated NBIFOM mode is used for this PDN connection. The SGW shall set this flag on the S4 interface if it supports the NBIFOM feature and the flag is set on the S5/S8 interface."})
ies.append({ "ie_type" : "Indication", "ie_value" : "Indication Flags", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included if any one of the applicable flags is set to 1.Applicable flags are:PDN Pause Support Indication: this flag shall be set to 1 on the S5/S8 interface if the PGW supports the PGW Pause of Charging procedure.PDN Pause Enable Indication: this flag shall be set to 1 on the S5/S8 interface if the PGW enables the SGW to use the PGW Pause of Charging procedure for this PDN connection.Associate OCI with PGW nodes identity: The PGW shall set this flag to 1 on the S5/S8 interface or S2a/S2b interface if it has included the PGWs Overload Control Information and if this information is to be associated with the node identity (i.e. FQDN or the IP address received from the HSS or DNS during the PGW selection) of the serving PGW. This flag shall be set to 1 by the PGW if the PGWs Overload Control Information is included and the Cause IE is set to a rejection cause code. The SGW shall set this flag on the S11/S4 interface if it supports the overload control feature and if the flag is set on the S5/S8 interface.Associate OCI with SGW nodes identity: The SGW shall set this flag to 1 on the S11/S4 interface if it has included the SGWs Overload Control Information and if this information is to be associated with the node identity (i.e. FQDN or the IP address received from the DNS during the SGW selection) of the serving SGW. This flag shall be set to 1 by the SGW if the SGWs Overload Control Information is included and the Cause IE is set to a rejection cause code.Delay Tolerant Connection Indication: the flag shall be set to 1 on the S5/S8 and S11/S4 interface if the PDN connection is Delay Tolerant (see clause8.12).Triggering SGSN initiated PDP Context Creation/Modification Indication: this flag shall be set to 1 on the S5/S8 interfaces if the network-initiated NBIFOM mode is used for this PDN connection. The SGW shall set this flag on the S4 interface if it supports the NBIFOM feature and the flag is set on the S5/S8 interface.Notify Start Pause of charging via User plane Support Indication: this flag shall be set to 1 on the S5/S8 interface if PDN Pause Enable Indication is set to 1 and if the PGW-C and PGW-U support the Notify Start Pause of Charging via user plane feature as specified in clause5.30 of 3GPPTS29.244[80]."})
ies.append({ "ie_type" : "Presence Reporting Area Action", "ie_value" : "Presence Reporting Area Action", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S5/S8 and S11/S4 interfaces with the appropriate Action field if reporting changes of UE presence in a Presence Routing Area is to be started, stopped or modified for this subscriber in the MME/SGSN.Several IEs with the same type and instance value may be included as necessary to represent a list of Presence Reporting Area Actions. One IE shall be included per PRA to be started, stopped or modified."})
ies.append({ "ie_type" : "Load Control Information", "ie_value" : "PGW's node level Load Control Information", "presence" : "O", "instance" : "0", "comment" : "The PGW may include this IE on the S5/S8 or S2a/S2b interface, providing its node level load information, if the load control feature is supported by the PGW and is activated for the PLMN to which the access network node, i.e. MME/S4-SGSN for 3GPP access network, ePDG/TWAN for non-3GPP access network, belongs (see clause12.2.6)."})
type_list["Load Control Information"]["max_instance"] = "1"
@ -34,4 +34,11 @@ ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "SGW's Ove
ies.append({ "ie_type" : "F-Container", "ie_value" : "NBIFOM Container", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S5/S8 or S2a/S2b interfaces if the PGW needs to send NBIFOM informationas specified in 3GPPTS23.161[71].The Container Type shall be set to 4."})
ies.append({ "ie_type" : "Charging ID", "ie_value" : "PDN Connection Charging ID", "presence" : "CO", "instance" : "0", "comment" : "The PGW shall include this IE on the S5/S8 or S2a/S2b interfaces, during an Initial Attach, Initial PDN connection establishment, or Addition of an access procedures, when using NBIFOM, as specified in 3GPPTS23.161[71]."})
ies.append({ "ie_type" : "ePCO", "ie_value" : "Extended Protocol Configuration Options", "presence" : "CO", "instance" : "0", "comment" : "If the PGW decides to return ePCO to the UE during an Initial Attach, UE requested PDN Connectivity procedure, and if the PGW supports the ePCO and the EPCOSI flag is set to 1 in the Create Session Request message, the PGW shall send ePCO to the SGW.If the SGW receives the ePCO IE, the SGW shall forward it to the MME.See NOTE 13."})
ies.append({ "ie_type" : "FQDN", "ie_value" : "PGW node name", "presence" : "CO", "instance" : "1", "comment" : "This IE shall be included over S5/S8 interfaces by the PGW when it receives the corresponding Create Session Request message with the CSRMFI flag set to 1, and the creation of the PDN connection has been accepted.If the SGW receives this IE, the SGW shall forward it to the MME over S11 interface. (See NOTE 14)"})
ies.append({ "ie_type" : "SGi PtP Tunnel Address", "ie_value" : "SGi PtP Tunnel Address", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S5/S8 and S4/S11 interfaces, if the PDN Type is Non-IP and SGi PtP tunnelling based on UDP/IP is used (see clause4.3.17.8.3.3.2 of 3GPPTS23.401[3]).When present, the IE shall contain the IPv4 or IPv6 address, and optionally the UDP port, that is allocated for the SGi PtP tunnel based on UDP/IP."})
ies.append({ "ie_type" : "PGW Change Info", "ie_value" : "PGW Change Info", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S5/S8/S2b interface by the PGW if it supports the Restoration of PDN connections after an PGW-C/SMF Change procedure as specified in clause31 of 3GPPTS23.007[17] and if the Restoration of PDN connections after an PGW-C/SMF Change Support Indication was set to 1 in the request.An SGW that supports the Restoration of PDN connections after an PGW-C/SMF Change procedure as specified in clause31 of 3GPPTS23.007[17], shall transparently forward this IE over the S11 interface if it is received in a Create Session Response or a Modify Bearer Response message from the PGW over S5/S8."})
type_list["FQDN"]["max_instance"] = "3"
ies.append({ "ie_type" : "FQDN", "ie_value" : "Alternative PGW-C/SMF FQDN", "presence" : "O", "instance" : "3", "comment" : "This IE may be included by the PGW on the S5/S8 interfaces, when the PGW rejects the Create Session Request with the cause PGW mismatch with network slice subscribed by the UE.If the SGW receives this IE, the SGW shall forward it to the MME over the S11 interface.When present, the IE shall contain the FQDN of the other PGW that the MME should use for establishing the PDN connection.Several IEs with the same type and instance value may be included to represent a list of Alternative PGW-C/SMF FQDNs. (See NOTE15)"})
ies.append({ "ie_type" : "IP Address", "ie_value" : "Alternative PGW-C/SMF IP Address", "presence" : "O", "instance" : "1", "comment" : "This IE may be included by the PGW on the S5/S8 interfaces, when the PGW rejects the Create Session Request with the cause PGW mismatch with network slice subscribed by the UE.If the SGW receives this IE, the SGW shall forward it to the MME over the S11 interface.When present, the IE shall contain the IP Address of the other PGW that the MME should use for establishing the PDN connection.Several IEs with the same type and instance value may be included to represent a list of Alternative PGW-C/SMF FQDNs. (See NOTE15)"})
ies.append({ "ie_type" : "UP Security Policy", "ie_value" : "UP Security Policy", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S5/S8 and S11 interfaces in the E-UTRAN initial attach and UE Requested PDN connectivity procedures, if UP Integrity Protection is supported by the UE, MME and E-UTRAN (i.e. if the UPIPSI flag was set to 1) and if User Plane Integrity Protection policy is available for the PDN connection. When present, it shall indicate whether User Plane integrity protection is required, preferred or not needed for the traffic of the PDN connection."})
msg_list[key]["ies"] = ies

File diff suppressed because one or more lines are too long

View File

@ -16,7 +16,7 @@ ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "SGW-FQ-CSID", "presence" : "C"
ies.append({ "ie_type" : "Recovery", "ie_value" : "Recovery", "presence" : "C", "instance" : "0", "comment" : "This IE shall be included if contacting the peer for the first time."})
ies.append({ "ie_type" : "LDN", "ie_value" : "SGW LDN", "presence" : "O", "instance" : "0", "comment" : "This IE is optionally sent by the SGW to the MME/SGSN on the S11/S4 interfaces (see 3GPPTS32.423[44]), when communicating the LDN to the peer node for the first time."})
ies.append({ "ie_type" : "LDN", "ie_value" : "PGW LDN", "presence" : "O", "instance" : "1", "comment" : "This IE is optionally sent by the PGW to the SGW on the S5/S8 interfaces (see 3GPPTS32.423[44]), when communicating the LDN to the peer node for the first time."})
ies.append({ "ie_type" : "Indication", "ie_value" : "Indication Flags", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included if any one of the applicable flags is set to 1.Applicable flags are:Static IPv4 Address Flag: This flag shall be set to 1 on the S5/S8 interface in the TAU/RAU/Handover with SGW change procedure if the PDP/PDN IPv4 address is static as specified in 3GPP TS 32.251 [8]. See NOTE 3.Static IPv6 Address Flag: This flag shall be set to 1 on the S5/S8 interface in the TAU/RAU/Handover with SGW change procedure if the PDP/PDN IPv6 address is static as specified in 3GPP TS 32.251 [8]. See NOTE 3. PDN Pause Support Indication: this flag shall be set to 1 on the S5/S8 interface during the TAU/RAU/handover with SGW relocation procedures if the PGW supports the PGW Pause of Charging procedure.PDN Pause Enable Indication: this flag shall be set to 1 on the S5/S8 interface during the TAU/RAU/handover with SGW relocation procedures if the PGW enables the new SGW to use the PGW Pause of Charging procedure for this PDN connection. Associate OCI with PGW nodes identity: The PGW shall set this flag to 1 on the S5/S8 interface or S2a/S2b interface if it has included the PGWs Overload Control Information and if this information is to be associated with the node identity (i.e. FQDN or the IP address received from the HSS or DNS during the PGW selection) of the serving PGW. The SGW shall set this flag on the S11/S4 interface if it supports the overload control feature and if the flag is set on the S5/S8 interface.Associate OCI with SGW nodes identity: The SGW shall set this flag to 1 on the S11/S4 interface if it has included the SGWs Overload Control Information and if this information is to be associated with the node identity (i.e. FQDN or the IP address received from the DNS during the SGW selection) of the serving SGW. Delay Tolerant Connection Indication: the flag shall be set to 1 on the S5/S8 interface during a SGW relocation procedure and when the UE moves from Gn/Gp SGSN to S4-SGSN/MME if the PDN connection is Delay Tolerant (see clause 8.12). See NOTE 9."})
ies.append({ "ie_type" : "Indication", "ie_value" : "Indication Flags", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included if any one of the applicable flags is set to 1.Applicable flags are:Static IPv4 Address Flag: This flag shall be set to 1 on the S5/S8 interface in the TAU/RAU/Handover with SGW change procedure if the PDP/PDN IPv4 address is static as specified in 3GPPTS32.251[8]. See NOTE 3.Static IPv6 Address Flag: This flag shall be set to 1 on the S5/S8 interface in the TAU/RAU/Handover with SGW change procedure if the PDP/PDN IPv6 address is static as specified in 3GPPTS32.251[8]. See NOTE 3.PDN Pause Support Indication: this flag shall be set to 1 on the S5/S8 interface during the TAU/RAU/handover with SGW relocation procedures if the PGW supports the PGW Pause of Charging procedure.PDN Pause Enable Indication: this flag shall be set to 1 on the S5/S8 interface during the TAU/RAU/handover with SGW relocation procedures if the PGW enables the new SGW to use the PGW Pause of Charging procedure for this PDN connection.Associate OCI with PGW nodes identity: The PGW shall set this flag to 1 on the S5/S8 interface or S2a/S2b interface if it has included the PGWs Overload Control Information and if this information is to be associated with the node identity (i.e. FQDN or the IP address received from the HSS or DNS during the PGW selection) of the serving PGW. The SGW shall set this flag on the S11/S4 interface if it supports the overload control feature and if the flag is set on the S5/S8 interface.Associate OCI with SGW nodes identity: The SGW shall set this flag to 1 on the S11/S4 interface if it has included the SGWs Overload Control Information and if this information is to be associated with the node identity (i.e. FQDN or the IP address received from the DNS during the SGW selection) of the serving SGW.Delay Tolerant Connection Indication: the flag shall be set to 1 on the S5/S8 interface during a SGW relocation procedure and when the UE moves from Gn/Gp SGSN to S4-SGSN/MME if the PDN connection is Delay Tolerant (see clause8.12). See NOTE 9.Notify Start Pause of charging via User plane Support Indication: this flag shall be set to 1 on the S5/S8 interface during a SGW relocation procedure if PDN Pause Enable Indication is set to 1 and if the PGW-C and PGW-U support the Notify Start Pause of Charging via user plane feature as specified in clause5.30 of 3GPPTS29.244[80]."})
ies.append({ "ie_type" : "Presence Reporting Area Action", "ie_value" : "Presence Reporting Area Action", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S5/S8 and S11/S4 interfaces with the appropriate Action field if reporting changes of UE presence in a Presence Routing Area is to be started, stopped or modified for this subscriber in the MME/SGSN.Several IEs with the same type and instance value may be included as necessary to represent a list of Presence Reporting Area Actions One IE shall be included for each Presence Reporting Area to be started, stopped or modified."})
ies.append({ "ie_type" : "Load Control Information", "ie_value" : "PGW's node level Load Control Information", "presence" : "O", "instance" : "0", "comment" : "The PGW may include this IE on the S5/S8 or S2a/S2b interface, providing its node level load information, if the load control feature is supported by the PGW and is activated for the PLMN to which the access network node, i.e. MME/S4-SGSN for 3GPP access network, ePDG/TWAN for non-3GPP access network, belongs (see clause12.2.6)."})
ies.append({ "ie_type" : "Load Control Information", "ie_value" : "PGW's APN level Load Control Information", "presence" : "O", "instance" : "1", "comment" : "The PGW may include this IE on the S5/S8 or S2a/S2b interface, providing APN level load information, if the APN level load control feature is supported by the PGW and is activated for the PLMN to which the access network node, i.e. MME/S4-SGSN for 3GPP access network, ePDG/TWAN for non-3GPP access based network, belongs (see clause12.2.6).When present, the PGW shall provide one or more instances of this IE, up to maximum of 10, with the same type and instance value, each representing the load information for a list of APN(s).See NOTE 5, NOTE 7."})
@ -24,4 +24,5 @@ ies.append({ "ie_type" : "Load Control Information", "ie_value" : "SGW's node le
ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "PGW's Overload Control Information", "presence" : "O", "instance" : "0", "comment" : "During an overload condition, the PGW may include this IE on the S5/S8 or S2b interface, if the overload control feature is supported by the PGW and is activated for the PLMN to which the access network node, i.e. MME/S4-SGSN for 3GPP access based network, ePDG for non-3GPP access based network, belongs (see clause12.3.11).When present, the PGW shall providenode level overload control, in one instance of this IE; and/orAPN level overload control, in one or more instances of this IE, up to maximum of 10, with the same type and instance value, each representing the overload information for a list of APN(s).See NOTE 6, NOTE 8."})
ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "SGW's Overload Control Information", "presence" : "O", "instance" : "1", "comment" : "During an overload condition, the SGW may include this IE over the S11/S4 interface if the overload control feature is supported by the SGW and is activated in the network (see clause12.3.11).When present, the SGW shall provide only one instance of this IE, representing its overload information."})
ies.append({ "ie_type" : "Charging ID", "ie_value" : "PDN Connection Charging ID", "presence" : "CO", "instance" : "0", "comment" : "The PGW shall include this IE on the S5/S8 interface during a TAU/RAU/HO with SGW relocation procedure, if a PDN connection Charging ID has been allocated during the initial Attach or Initial PDN connection establishment procedure."})
ies.append({ "ie_type" : "PGW Change Info", "ie_value" : "PGW Change Info", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included by the PGW on the S5/S8 interface if it supports the Restoration of PDN connections after an PGW-C/SMF Change procedure as specified in clause31 of 3GPPTS23.007[17] and if the Restoration of PDN connections after an PGW-C/SMF Change Support Indication was set to 1 in the Modify Bearer Request message.This IE may be included otherwise to change the PGW Change Info.The SGW shall transparently forward this IE over the S11 interface."})
msg_list[key]["ies"] = ies

View File

@ -22,4 +22,5 @@ ies.append({ "ie_type" : "Port Number", "ie_value" : "UE UDP Port", "presence" :
ies.append({ "ie_type" : "ePCO", "ie_value" : "Extended Protocol Configuration Options", "presence" : "CO", "instance" : "0", "comment" : "If the UE includes the ePCO IE, then the MME shall copy the content of this IE transparently from the ePCO IE included by the UE.If the SGW receives the ePCO IE, the SGW shall forward it to the PGW."})
ies.append({ "ie_type" : "Port Number", "ie_value" : "UE TCP Port", "presence" : "CO", "instance" : "1", "comment" : "The ePDG shall include this IE on the S2b interface if NAT is detected and the TCP encapsulation is used."})
ies.append({ "ie_type" : "Secondary RAT Usage Data Report", "ie_value" : "Secondary RAT Usage Data Report", "presence" : "CO", "instance" : "0", "comment" : "If the PLMN has configured secondary RAT usage reporting, the MME shall include this IE on the S11 interface if it has received Secondary RAT usage data from eNodeB in a UE-initiated Detach procedure for E-UTRAN, MME-initiated Detach, HSS-initiated Detach, or UE or MME requested PDN disconnection.The MME shall also include this IE on the S11 interface to the Source SGW if it has received a Secondary RAT Usage Data Report from the eNB in an S1/X2-based handover with Serving GW relocation, or MME triggered Serving GW relocation procedure, or an E-UTRAN to GERAN A/Gb mode Inter RAT handover, E-UTRAN to UTRAN Iu mode Inter RAT handover, MME to 3G SGSN combined hard handover and SRNS relocation, or Routing Area Update procedures. In this case, the IRPGW flag shall be set to 0.Several IEs with the same type and instance value may be included, to represent multiple usage data reports."})
ies.append({ "ie_type" : "PSCell ID", "ie_value" : "PSCell ID", "presence" : "CO", "instance" : "0", "comment" : "The MME shall include this IE on the S11 interface, if it has received this information from the eNodeB."})
msg_list[key]["ies"] = ies

View File

@ -7,4 +7,5 @@ ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "MME/S4-SG
ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "SGW's Overload Control Information", "presence" : "O", "instance" : "1", "comment" : "During an overload condition, the SGW may include this IE over the S5/S8 interface if the overload control feature is supported by the SGW and is activated for the PLMN to which the PGW belongs (see clause12.3.11).When present, the SGW shall provide only one instance of this IE, representing its overload information."})
ies.append({ "ie_type" : "F-TEID", "ie_value" : "Sender F-TEID for Control Plane", "presence" : "CO", "instance" : "0", "comment" : "The SGW shall include this IE on the S5/S8 interfaces and set it to the last value sent to the PGW.If the Sender F-TEID for Control Plane is received, the PGW shall only handle the Delete Bearer Command message if the Sender F-TEID for Control Plane in this message is the same as the last Sender F-TEID for Control Plane received on the given interface."})
ies.append({ "ie_type" : "Secondary RAT Usage Data Report", "ie_value" : "Secondary RAT Usage Data Report", "presence" : "CO", "instance" : "0", "comment" : "If the PLMN has configured secondary RAT usage reporting, the MME shall include this IE on the S11 interface if it has received Secondary RAT usage data in an MME Initiated Dedicated Bearer Deactivation procedure.Several IEs with the same type and instance value may be included, to represent multiple usage data reports."})
ies.append({ "ie_type" : "PSCell ID", "ie_value" : "PSCell ID", "presence" : "CO", "instance" : "0", "comment" : "The MME shall include this IE on the S11 interface, if it has received this information from the eNodeB."})
msg_list[key]["ies"] = ies

View File

@ -18,4 +18,5 @@ ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "SGW's Ove
ies.append({ "ie_type" : "F-Container", "ie_value" : "NBIFOM Container", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S11/S4 or S2a/S2b interfaces if the MME/S4-SGSN or the TWAN/ePDG receives an NBIFOM Container from the UE as specified in 3GPPTS24.161 73]. The Container Type shall be set to 4."})
ies.append({ "ie_type" : "ePCO", "ie_value" : "Extended Protocol Configuration Options", "presence" : "O", "instance" : "0", "comment" : "If the UE includes the ePCO IE, then the MME shall copy the content of this IE transparently from the ePCO IE included by the UE.If the SGW receives ePCO from the MME, the SGW shall forward it to the PGW."})
ies.append({ "ie_type" : "F-TEID", "ie_value" : "Sender F-TEID for Control Plane", "presence" : "CO", "instance" : "2", "comment" : "The SGW shall include this IE on the S5/S8 interfaces and set it to the last value sent to the PGW.If the Sender F-TEID for Control Plane is received, the PGW shall only handle the Bearer Resource Command message if the Sender F-TEID for Control Plane in this message is the same as the last Sender F-TEID for Control Plane received on the given interface."})
ies.append({ "ie_type" : "PSCell ID", "ie_value" : "PSCell ID", "presence" : "CO", "instance" : "0", "comment" : "The MME shall include this IE on the S11 interface, if it has received this information from the eNodeB."})
msg_list[key]["ies"] = ies

View File

@ -16,4 +16,5 @@ ies.append({ "ie_type" : "Load Control Information", "ie_value" : "SGW's node le
ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "PGW's Overload Control Information", "presence" : "O", "instance" : "0", "comment" : "During an overload condition, the PGW may include this IE on the S5/S8 or S2a/S2b interface, if the overload control feature is supported by the PGW and is activated for the PLMN to which the access network node, i.e. MME/S4-SGSN for 3GPP access based network, ePDG/TWAN for non-3GPP access based network, belongs (see clause12.3.11).When present, the PGW shall providenode level overload control, in one instance of this IE; and/orAPN level overload control, in one or more instances of this IE, up to maximum of 10, with the same type and instance value, each representing the overload information for a list of APN(s).See NOTE 3, NOTE 5."})
ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "SGW's Overload Control Information", "presence" : "O", "instance" : "1", "comment" : "During an overload condition, the SGW may include this IE over the S11/S4 interface if the overload control feature is supported by the SGW and is activated in the network (see clause12.3.11).When present, the SGW shall provide only one instance of this IE, representing its overload information."})
ies.append({ "ie_type" : "F-Container", "ie_value" : "NBIFOM Container", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S5/S8 and S2a/S2b interfaces if the PGW needs to send NBIFOM information as specified in 3GPPTS23.161[71]. The Container Type shall be set to 4."})
ies.append({ "ie_type" : "PGW Change Info", "ie_value" : "PGW Change Info", "presence" : "CO", "instance" : "0", "comment" : "This IE may be included on S5/S8/S2b if the PGW needs to change the PGW Change Info. It shall be included by the PGW if the PGW S5/S8/S2b IP Address for the control plane for the PDN connection is required to be changed (see PGW triggered PDN connection restoration in clauses31.4 and 31.4B of 3GPPTS23.007[17]).The SGW shall transparently forward this IE over the S11 interface.Several IEs with the same IE type and Instance may be present to request the MME/ePDG to re-establish PDN connections associated with either different FQ-CSIDs, or Group Ids or PGW-C/SMF IP addresses to different PGW-C/SMFs."})
msg_list[key]["ies"] = ies

View File

@ -3,6 +3,7 @@ ies.append({ "ie_type" : "Cause", "ie_value" : "Cause", "presence" : "M", "insta
ies.append({ "ie_type" : "Bearer Context", "ie_value" : "Bearer Contexts", "presence" : "M", "instance" : "0", "comment" : "All the bearer contexts included in the corresponding Create Bearer Request shall be included. Several IEs with this type and instance value shall be included on the S4/S11, S5/S8 and S2a/S2b interfaces as necessary to represent a list of Bearers."})
ies.append({ "ie_type" : "Recovery", "ie_value" : "Recovery", "presence" : "C", "instance" : "0", "comment" : "This IE shall be included on the S4/S11, S5/S8 and S2a/S2b interfaces if contacting the peer for the first time"})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "MME-FQ-CSID", "presence" : "C", "instance" : "0", "comment" : "This IE shall be included by the MME on the S11 interfaceand shall be forwarded by the SGW on the S5/S8 interfaces according to the requirements in 3GPPTS23.007[17]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "SGW-FQ-CSID", "presence" : "C", "instance" : "1", "comment" : "This IE shall be included by the SGW on the S5/S8 interfaces according to the requirements in 3GPPTS23.007[17]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "ePDG-FQ-CSID", "presence" : "C", "instance" : "2", "comment" : "This IE shall be included by the ePDG on the S2b interface according to the requirements in 3GPPTS23.007[17]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "TWAN-FQ-CSID", "presence" : "C", "instance" : "3", "comment" : "This IE shall be included by the TWAN on the S2a interface according to the requirements in 3GPPTS23.007[17]."})
ies.append({ "ie_type" : "PCO", "ie_value" : "Protocol Configuration Options", "presence" : "C", "instance" : "0", "comment" : "If the UE includes the PCO IE, then the MME/SGSN shall copy the content of this IE transparently from the PCO IE included by the UE. If the SGW receives PCO from MME/SGSN, SGW shall forward it to the PGW."})
@ -19,4 +20,5 @@ ies.append({ "ie_type" : "TWAN Identifier Timestamp", "ie_value" : "WLAN Locatio
ies.append({ "ie_type" : "Port Number", "ie_value" : "UE UDP Port", "presence" : "CO", "instance" : "0", "comment" : "The ePDG shall include this IE on the S2b interface if NAT is detected and the UDP encapsulation is used."})
ies.append({ "ie_type" : "F-Container", "ie_value" : "NBIFOM Container", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S11/S4 or S2a/S2b interfaces if the MME/S4-SGSN or the TWAN/ePDG receives a NBIFOM Container from the UE as specified in 3GPPTS24.161 73]. The Container Type shall be set to 4."})
ies.append({ "ie_type" : "Port Number", "ie_value" : "UE TCP Port", "presence" : "CO", "instance" : "1", "comment" : "The ePDG shall include this IE on the S2b interface if NAT is detected and the TCP encapsulation is used."})
ies.append({ "ie_type" : "PSCell ID", "ie_value" : "PSCell ID", "presence" : "CO", "instance" : "0", "comment" : "The MME shall include this IE on the S11 interface, if it has received this information from the eNodeB."})
msg_list[key]["ies"] = ies

View File

@ -16,4 +16,5 @@ ies.append({ "ie_type" : "Load Control Information", "ie_value" : "SGW's node le
ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "PGW's Overload Control Information", "presence" : "O", "instance" : "0", "comment" : "During an overload condition, the PGW may include this IE on the S5/S8 or S2a/S2b interface, if the overload control feature is supported by the PGW and is activated for the PLMN to which the access network node, i.e. MME/S4-SGSN for 3GPP access based network, ePDG/TWAN for non-3GPP access based network, belongs (see clause12.3.11).When present, the PGW shall providenode level overload control, in one instance of this IE; and/orAPN level overload control, in one or more instances of this IE, up to maximum of 10, with the same type and instance value, each representing the overload information for a list of APN(s).See NOTE 3, NOTE 5."})
ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "SGW's Overload Control Information", "presence" : "O", "instance" : "1", "comment" : "During an overload condition, the SGW may include this IE over the S11/S4 interface if the overload control feature is supported by the SGW and is activated in the network (see clause12.3.11).When present, the SGW shall provide only one instance of this IE, representing its overload information."})
ies.append({ "ie_type" : "F-Container", "ie_value" : "NBIFOM Container", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S5/S8 or S2a/S2b interfaces if the PGW needs to send NBIFOM information as specified in 3GPPTS23.161[71]. The Container Type shall be set to 4."})
ies.append({ "ie_type" : "PGW Change Info", "ie_value" : "PGW Change Info", "presence" : "CO", "instance" : "0", "comment" : "This IE may be included on S5/S8/S2b if the PGW needs to change the PGW Change Info. It shall be included by the PGW if the PGW S5/S8/S2b IP Address for the control plane for the PDN connection is required to be changed (see PGW triggered PDN connection restoration in clauses31.4 and 31.4B of of 3GPPTS23.007[17]).The SGW shall transparently forward the IE over S11 interface.Several IEs with the same IE type and Instance may be present to request the MME/ePDG to re-establish PDN connections associated with different either FQ-CSIDs, or Group Ids or PGW-C/SMF IP addresses to different PGW-C/SMFs."})
msg_list[key]["ies"] = ies

View File

@ -21,4 +21,5 @@ ies.append({ "ie_type" : "TWAN Identifier Timestamp", "ie_value" : "WLAN Locatio
ies.append({ "ie_type" : "Port Number", "ie_value" : "UE UDP Port", "presence" : "CO", "instance" : "0", "comment" : "The ePDG shall include this IE on the S2b interface if NAT is detected and UDP encapsulation is used."})
ies.append({ "ie_type" : "F-Container", "ie_value" : "NBIFOM Container", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S11/S4 or S2a/S2b interfaces if the MME/S4-SGSN or the TWAN/ePDG receives a NBIFOM Container from the UE as specified in 3GPPTS24.161 73]. The Container Type shall be set to 4."})
ies.append({ "ie_type" : "Port Number", "ie_value" : "UE TCP Port", "presence" : "CO", "instance" : "1", "comment" : "The ePDG shall include this IE on the S2b interface if NAT is detected and TCP encapsulation is used."})
ies.append({ "ie_type" : "PSCell ID", "ie_value" : "PSCell ID", "presence" : "CO", "instance" : "0", "comment" : "The MME shall include this IE on the S11 interface, if it has received this information from the eNodeB."})
msg_list[key]["ies"] = ies

View File

@ -16,4 +16,5 @@ ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "SGW's Ove
ies.append({ "ie_type" : "F-Container", "ie_value" : "NBIFOM Container", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S5/S8 and S2a/S2b interfaces if the PGW needs to send NBIFOM information as specified in 3GPPTS23.161[71]. The Container Type shall be set to 4."})
ies.append({ "ie_type" : "APN Rate Control Status", "ie_value" : "APN RATE Control Status", "presence" : "CO", "instance" : "0", "comment" : "If APN RATE Control Status is available in PGW and the delete bearer request is for the default Bearer, APN RATE Control Status shall be transfered on the S5/S8 interface.The SGW shall include the APN RATE Control Status IE on the S11/S4 interface, if received from the PGW."})
ies.append({ "ie_type" : "ePCO", "ie_value" : "Extended Protocol Configuration Options", "presence" : "CO", "instance" : "0", "comment" : "The PGW shall include Extended Protocol Configuration Options (ePCO) IE on the S5/S8 interface, if available and if the UE and the network support ePCO.If the SGW receives this IE, the SGW shall forward it to the MME on the S11 interface."})
ies.append({ "ie_type" : "PGW Change Info", "ie_value" : "PGW Change Info", "presence" : "CO", "instance" : "0", "comment" : "This IE may be included on S5/S8/S2b if the PGW needs to change the PGW Change Info. It shall be included by the PGW if the PGW S5/S8/S2b IP Address for the control plane for the PDN connection is required to be changed (see PGW triggered PDN connection restoration in clauses31.4 and 31.4B of of3GPPTS23.007[17]).The SGW shall transparently forward this IE over the S11 interface.Several IEs with the same IE type and Instance may be present to request the MME/ePDG to re-establish PDN connections associated with either different FQ-CSIDs, or Group Ids or PGW-C/SMF IP addresses to different PGW-C/SMFs."})
msg_list[key]["ies"] = ies

View File

@ -1,8 +1,9 @@
# [Table 8.1-1: Information Element types for GTPv2 ] Index = 159
# [Table 8.1-1: Information Element types for GTPv2] Index = 166
type_list["IMSI"] = { "type" : "1", "max_instance" : "0" }
type_list["Cause"] = { "type" : "2", "max_instance" : "0" }
type_list["Recovery"] = { "type" : "3", "max_instance" : "0" }
type_list["STN-SR"] = { "type" : "51", "max_instance" : "0" }
type_list["SRVCC Cause"] = { "type" : "56", "max_instance" : "0" }
type_list["APN"] = { "type" : "71", "max_instance" : "0" }
type_list["AMBR"] = { "type" : "72", "max_instance" : "0" }
type_list["EBI"] = { "type" : "73", "max_instance" : "0" }
@ -133,3 +134,10 @@ type_list["PC5 QoS Parameters"] = { "type" : "209", "max_instance" : "0" }
type_list["Services Authorized"] = { "type" : "210", "max_instance" : "0" }
type_list["Bit Rate"] = { "type" : "211", "max_instance" : "0" }
type_list["PC5 QoS Flow"] = { "type" : "212", "max_instance" : "0" }
type_list["SGi PtP Tunnel Address"] = { "type" : "213", "max_instance" : "0" }
type_list["PGW Change Info"] = { "type" : "214", "max_instance" : "0" }
type_list["PGW FQDN"] = { "type" : "215", "max_instance" : "0" }
type_list["Group Id"] = { "type" : "216", "max_instance" : "0" }
type_list["PSCell ID"] = { "type" : "217", "max_instance" : "0" }
type_list["UP Security Policy"] = { "type" : "218", "max_instance" : "0" }
type_list["Alternative IMSI"] = { "type" : "219", "max_instance" : "0" }

View File

@ -60,7 +60,7 @@ def write_file(f, string):
def output_header_to_file(f):
now = datetime.datetime.now()
f.write("""/*
* Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
* Copyright (C) 2019-2023 by Sukchan Lee <acetcom@gmail.com>
*
* This file is part of Open5GS.
*
@ -368,33 +368,33 @@ msg_list["Echo Request"]["table"] = 8
msg_list["Echo Response"]["table"] = 9
msg_list["Create Session Request"]["table"] = 10
msg_list["Create Session Response"]["table"] = 15
msg_list["Create Bearer Request"]["table"] = 20
msg_list["Create Bearer Response"]["table"] = 24
msg_list["Bearer Resource Command"]["table"] = 27
msg_list["Bearer Resource Failure Indication"]["table"] = 29
msg_list["Modify Bearer Request"]["table"] = 31
msg_list["Modify Bearer Response"]["table"] = 35
msg_list["Delete Session Request"]["table"] = 40
msg_list["Delete Bearer Request"]["table"] = 42
msg_list["Delete Session Response"]["table"] = 46
msg_list["Delete Bearer Response"]["table"] = 49
msg_list["Downlink Data Notification"]["table"] = 52
msg_list["Downlink Data Notification Acknowledge"]["table"] = 55
msg_list["Downlink Data Notification Failure Indication"]["table"] = 56
msg_list["Delete Indirect Data Forwarding Tunnel Request"]["table"] = 57
msg_list["Delete Indirect Data Forwarding Tunnel Response"]["table"] = 58
msg_list["Modify Bearer Command"]["table"] = 59
msg_list["Modify Bearer Failure Indication"]["table"] = 62
msg_list["Update Bearer Request"]["table"] = 64
msg_list["Update Bearer Response"]["table"] = 68
msg_list["Delete Bearer Command"]["table"] = 71
msg_list["Delete Bearer Failure Indication"]["table"] = 74
msg_list["Create Indirect Data Forwarding Tunnel Request"]["table"] = 77
msg_list["Create Indirect Data Forwarding Tunnel Response"]["table"] = 79
msg_list["Release Access Bearers Request"]["table"] = 81
msg_list["Release Access Bearers Response"]["table"] = 82
msg_list["Modify Access Bearers Request"]["table"] = 86
msg_list["Modify Access Bearers Response"]["table"] = 89
msg_list["Create Bearer Request"]["table"] = 21
msg_list["Create Bearer Response"]["table"] = 26
msg_list["Bearer Resource Command"]["table"] = 29
msg_list["Bearer Resource Failure Indication"]["table"] = 31
msg_list["Modify Bearer Request"]["table"] = 33
msg_list["Modify Bearer Response"]["table"] = 37
msg_list["Delete Session Request"]["table"] = 43
msg_list["Delete Bearer Request"]["table"] = 45
msg_list["Delete Session Response"]["table"] = 50
msg_list["Delete Bearer Response"]["table"] = 53
msg_list["Downlink Data Notification"]["table"] = 56
msg_list["Downlink Data Notification Acknowledge"]["table"] = 59
msg_list["Downlink Data Notification Failure Indication"]["table"] = 60
msg_list["Delete Indirect Data Forwarding Tunnel Request"]["table"] = 61
msg_list["Delete Indirect Data Forwarding Tunnel Response"]["table"] = 62
msg_list["Modify Bearer Command"]["table"] = 63
msg_list["Modify Bearer Failure Indication"]["table"] = 66
msg_list["Update Bearer Request"]["table"] = 68
msg_list["Update Bearer Response"]["table"] = 73
msg_list["Delete Bearer Command"]["table"] = 76
msg_list["Delete Bearer Failure Indication"]["table"] = 79
msg_list["Create Indirect Data Forwarding Tunnel Request"]["table"] = 82
msg_list["Create Indirect Data Forwarding Tunnel Response"]["table"] = 84
msg_list["Release Access Bearers Request"]["table"] = 86
msg_list["Release Access Bearers Response"]["table"] = 87
msg_list["Modify Access Bearers Request"]["table"] = 91
msg_list["Modify Access Bearers Response"]["table"] = 94
for key in msg_list.keys():
if "table" in msg_list[key].keys():
@ -525,6 +525,8 @@ for k, v in group_list.items():
v["index"] = "1"
if v_lower(k) == "remote_ue_context":
v["index"] = "2"
if v_lower(k) == "pgw_change_info":
v["index"] = "3"
tmp = [(k, v["index"]) for k, v in group_list.items()]
sorted_group_list = sorted(tmp, key=lambda tup: int(tup[1]))

View File

@ -13,4 +13,26 @@ user@host ~/Documents/git/open5gs/lib/nas/5gs/support$ \
user@host ~/Documents/git/open5gs/lib/nas/5gs/support$ \
python3 nas-message.py -f 24501-h90.docx -o ..
* Check lib/nas/5gs/decoder.c
$ diff --git a/lib/nas/5gs/decoder.c b/lib/nas/5gs/decoder.c
index c03e529ec..f471f294b 100644
--- a/lib/nas/5gs/decoder.c
+++ b/lib/nas/5gs/decoder.c
@@ -968,7 +968,6 @@ int ogs_nas_5gs_decode_registration_accept(ogs_nas_5gs_message_t *message, ogs_p
registration_accept->presencemask |= OGS_NAS_5GS_REGISTRATION_ACCEPT_NEGOTIATED_PEIPS_ASSISTANCE_INFORMATION_PRESENT;
decoded += size;
break;
-#if 0 /* Modified by acetcom */
case OGS_NAS_5GS_REGISTRATION_ACCEPT_5GS_ADDITIONAL_REQUEST_RESULT_TYPE:
size = ogs_nas_5gs_decode_5gs_additional_request_result(&registration_accept->additional_request_result, pkbuf);
if (size < 0) {
@@ -979,7 +978,6 @@ int ogs_nas_5gs_decode_registration_accept(ogs_nas_5gs_message_t *message, ogs_p
registration_accept->presencemask |= OGS_NAS_5GS_REGISTRATION_ACCEPT_5GS_ADDITIONAL_REQUEST_RESULT_PRESENT;
decoded += size;
break;
-#endif
case OGS_NAS_5GS_REGISTRATION_ACCEPT_NSSRG_INFORMATION_TYPE:
size = ogs_nas_5gs_decode_nssrg_information(&registration_accept->nssrg_information, pkbuf);
if (size < 0) {
* Add new structure to the types.h