[Release-17] Upgrade PFCP to v17.7.1

This commit is contained in:
Sukchan Lee 2023-03-05 22:33:01 +09:00
parent 3b8a1386e4
commit a8790713d7
28 changed files with 1447 additions and 193 deletions

View File

@ -1,5 +1,6 @@
# Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
# Copyright (C) 2022 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de>
# Copyright (C) 2023 by Sukchan Lee <acetcom@gmail.com>
# This file is part of Open5GS.
@ -62,6 +63,7 @@ def output_header_to_file(f):
f.write("""/*
* Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
* Copyright (C) 2022 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de>
* Copyright (C) 2023 by Sukchan Lee <acetcom@gmail.com>
*
* This file is part of Open5GS.
*

View File

@ -1,4 +1,4 @@
# 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.

File diff suppressed because it is too large Load Diff

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 pfcp-tlv.py script v0.1.0
* Please do not modify this file but regenerate it via script.
* Created on: 2023-03-05 00:10:36.099999 by acetcom
* from 29244-g91-modified.docx
* Created on: 2023-03-05 22:26:11.698310 by acetcom
* from 29244-h71-modified.docx
******************************************************************************/
#if !defined(OGS_PFCP_INSIDE) && !defined(OGS_PFCP_COMPILATION)
@ -79,6 +79,8 @@ typedef struct ogs_pfcp_header_s {
#define OGS_PFCP_NODE_REPORT_RESPONSE_TYPE 13
#define OGS_PFCP_SESSION_SET_DELETION_REQUEST_TYPE 14
#define OGS_PFCP_SESSION_SET_DELETION_RESPONSE_TYPE 15
#define OGS_PFCP_SESSION_SET_MODIFICATION_REQUEST_TYPE 16
#define OGS_PFCP_SESSION_SET_MODIFICATION_RESPONSE_TYPE 17
#define OGS_PFCP_SESSION_ESTABLISHMENT_REQUEST_TYPE 50
#define OGS_PFCP_SESSION_ESTABLISHMENT_RESPONSE_TYPE 51
#define OGS_PFCP_SESSION_MODIFICATION_REQUEST_TYPE 52
@ -285,7 +287,7 @@ typedef struct ogs_pfcp_header_s {
#define OGS_PFCP_CREATED_BRIDGE_INFO_FOR_TSC_TYPE 195
#define OGS_PFCP_DS_TT_PORT_NUMBER_TYPE 196
#define OGS_PFCP_NW_TT_PORT_NUMBER_TYPE 197
#define OGS_PFCP_TSN_BRIDGE_ID_TYPE 198
#define OGS_PFCP_FiveGS_USER_PLANE_NODE_TYPE 198
#define OGS_PFCP_TSC_MANAGEMENT_INFORMATION_IE_WITHIN_PFCP_SESSION_MODIFICATION_REQUEST_TYPE 199
#define OGS_PFCP_TSC_MANAGEMENT_INFORMATION_IE_WITHIN_PFCP_SESSION_MODIFICATION_RESPONSE_TYPE 200
#define OGS_PFCP_TSC_MANAGEMENT_INFORMATION_IE_WITHIN_PFCP_SESSION_REPORT_REQUEST_TYPE 201
@ -293,7 +295,7 @@ typedef struct ogs_pfcp_header_s {
#define OGS_PFCP_CLOCK_DRIFT_CONTROL_INFORMATION_TYPE 203
#define OGS_PFCP_REQUESTED_CLOCK_DRIFT_INFORMATION_TYPE 204
#define OGS_PFCP_CLOCK_DRIFT_REPORT_TYPE 205
#define OGS_PFCP_TSN_TIME_DOMAIN_NUMBER_TYPE 206
#define OGS_PFCP_TIME_DOMAIN_NUMBER_TYPE 206
#define OGS_PFCP_TIME_OFFSET_THRESHOLD_TYPE 207
#define OGS_PFCP_CUMULATIVE_RATERATIO_THRESHOLD_TYPE 208
#define OGS_PFCP_TIME_OFFSET_MEASUREMENT_TYPE 209
@ -359,6 +361,56 @@ typedef struct ogs_pfcp_header_s {
#define OGS_PFCP_VALIDITY_TIMER_TYPE 269
#define OGS_PFCP_REDUNDANT_TRANSMISSION_FORWARDING_PARAMETERS_TYPE 270
#define OGS_PFCP_TRANSPORT_DELAY_REPORTING_TYPE 271
#define OGS_PFCP_PARTIAL_FAILURE_INFORMATION_TYPE 272
#define OGS_PFCP_SPARE_TYPE 273
#define OGS_PFCP_OFFENDING_IE_INFORMATION_TYPE 274
#define OGS_PFCP_RAT_TYPE_TYPE 275
#define OGS_PFCP_L2TP_TUNNEL_INFORMATION_TYPE 276
#define OGS_PFCP_L2TP_SESSION_INFORMATION_TYPE 277
#define OGS_PFCP_L2TP_USER_AUTHENTICATION_IE_TYPE 278
#define OGS_PFCP_CREATED_L2TP_SESSION_TYPE 279
#define OGS_PFCP_LNS_ADDRESS_TYPE 280
#define OGS_PFCP_TUNNEL_PREFERENCE_TYPE 281
#define OGS_PFCP_CALLING_NUMBER_TYPE 282
#define OGS_PFCP_CALLED_NUMBER_TYPE 283
#define OGS_PFCP_L2TP_SESSION_INDICATIONS_TYPE 284
#define OGS_PFCP_DNS_SERVER_ADDRESS_TYPE 285
#define OGS_PFCP_NBNS_SERVER_ADDRESS_TYPE 286
#define OGS_PFCP_MAXIMUM_RECEIVE_UNIT_TYPE 287
#define OGS_PFCP_THRESHOLDS_TYPE 288
#define OGS_PFCP_STEERING_MODE_INDICATOR_TYPE 289
#define OGS_PFCP_PFCP_SESSION_CHANGE_INFO_TYPE 290
#define OGS_PFCP_GROUP_ID_TYPE 291
#define OGS_PFCP_CP_IP_ADDRESS_TYPE 292
#define OGS_PFCP_IP_ADDRESS_AND_PORT_NUMBER_REPLACEMENT_TYPE 293
#define OGS_PFCP_DNS_QUERY_FILTER_TYPE 294
#define OGS_PFCP_DIRECT_REPORTING_INFORMATION_TYPE 295
#define OGS_PFCP_EVENT_NOTIFICATION_URI_TYPE 296
#define OGS_PFCP_NOTIFICATION_CORRELATION_ID_TYPE 297
#define OGS_PFCP_REPORTING_FLAGS_TYPE 298
#define OGS_PFCP_PREDEFINED_RULES_NAME_TYPE 299
#define OGS_PFCP_MBS_SESSION_N4MB_CONTROL_INFORMATION_TYPE 300
#define OGS_PFCP_MBS_MULTICAST_PARAMETERS_TYPE 301
#define OGS_PFCP_ADD_MBS_UNICAST_PARAMETERS_TYPE 302
#define OGS_PFCP_MBS_SESSION_N4MB_INFORMATION_TYPE 303
#define OGS_PFCP_REMOVE_MBS_UNICAST_PARAMETERS_TYPE 304
#define OGS_PFCP_MBS_SESSION_IDENTIFIER_TYPE 305
#define OGS_PFCP_MULTICAST_TRANSPORT_INFORMATION_TYPE 306
#define OGS_PFCP_MBSN4MBREQ_FLAGS_TYPE 307
#define OGS_PFCP_LOCAL_INGRESS_TUNNEL_TYPE 308
#define OGS_PFCP_MBS_UNICAST_PARAMETERS_ID_TYPE 309
#define OGS_PFCP_MBS_SESSION_N4_CONTROL_INFORMATION_TYPE 310
#define OGS_PFCP_MBS_SESSION_N4_INFORMATION_TYPE 311
#define OGS_PFCP_MBSN4RESP_FLAGS_TYPE 312
#define OGS_PFCP_TUNNEL_PASSWORD_TYPE 313
#define OGS_PFCP_AREA_SESSION_ID_TYPE 314
#define OGS_PFCP_PEER_UP_RESTART_REPORT_TYPE 315
#define OGS_PFCP_DSCP_TO_PPI_CONTROL_INFORMATION_TYPE 316
#define OGS_PFCP_DSCP_TO_PPI_MAPPING_INFORMATION_TYPE 317
#define OGS_PFCP_PFCPSDRSP_FLAGS_TYPE 318
#define OGS_PFCP_QER_INDICATIONS_TYPE 319
#define OGS_PFCP_VENDOR_SPECIFIC_NODE_REPORT_TYPE_TYPE 320
#define OGS_PFCP_CONFIGURED_TIME_DOMAIN_TYPE 321
/* Information Element TLV Descriptor */
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_cause;
@ -506,10 +558,10 @@ extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_packet_rate_status;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_create_bridge_info_for_tsc;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_ds_tt_port_number;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_nw_tt_port_number;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_tsn_bridge_id;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_fivegs_user_plane_node;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_port_management_information_container;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_requested_clock_drift_information;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_tsn_time_domain_number;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_time_domain_number;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_time_offset_threshold;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_cumulative_rateratio_threshold;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_time_offset_measurement;
@ -551,6 +603,45 @@ extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_mptcp_applicable_indication;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_bridge_management_information_container;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_number_of_ue_ip_addresses;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_validity_timer;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_spare;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_offending_ie_information;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_rat_type;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_l2tp_user_authentication_ie;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_lns_address;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_tunnel_preference;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_calling_number;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_called_number;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_l2tp_session_indications;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_dns_server_address;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_nbns_server_address;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_maximum_receive_unit;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_thresholds;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_steering_mode_indicator;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_group_id;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_cp_ip_address;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_ip_address_and_port_number_replacement;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_dns_query_filter;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_direct_reporting_information;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_event_notification_uri;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_notification_correlation_id;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_reporting_flags;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_predefined_rules_name;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_mbs_session_n4mb_information;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_remove_mbs_unicast_parameters;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_mbs_session_identifier;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_multicast_transport_information;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_mbsn4mbreq_flags;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_local_ingress_tunnel;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_mbs_unicast_parameters_id;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_mbsn4resp_flags;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_tunnel_password;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_area_session_id;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_peer_up_restart_report;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_dscp_to_ppi_mapping_information;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_pfcpsdrsp_flags;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_qer_indications;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_vendor_specific_node_report_type;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_configured_time_domain;
/* Group Information Element TLV Descriptor */
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_ethernet_packet_filter;
@ -562,6 +653,8 @@ extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_create_pdr;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_forwarding_parameters;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_duplicating_parameters;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_redundant_transmission_forwarding_parameters;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_mbs_multicast_parameters;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_add_mbs_unicast_parameters;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_create_far;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_update_forwarding_parameters;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_update_duplicating_parameters;
@ -634,6 +727,15 @@ extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_provide_rds_configuration_information;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_query_packet_rate_status_ie_within_pfcp_session_modification_request;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_packet_rate_status_report_ie_within_pfcp_session_modification_response;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_ue_ip_address_usage_information;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_partial_failure_information;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_l2tp_tunnel_information;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_l2tp_session_information;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_created_l2tp_session;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_pfcp_session_change_info;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_mbs_session_n4mb_control_information;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_mbs_session_n4_information;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_mbs_session_n4_control_information;
extern ogs_tlv_desc_t ogs_pfcp_tlv_desc_dscp_to_ppi_control_information;
/* Message Descriptor */
extern ogs_tlv_desc_t ogs_pfcp_msg_desc_pfcp_heartbeat_request;
@ -651,6 +753,8 @@ extern ogs_tlv_desc_t ogs_pfcp_msg_desc_pfcp_node_report_request;
extern ogs_tlv_desc_t ogs_pfcp_msg_desc_pfcp_node_report_response;
extern ogs_tlv_desc_t ogs_pfcp_msg_desc_pfcp_session_set_deletion_request;
extern ogs_tlv_desc_t ogs_pfcp_msg_desc_pfcp_session_set_deletion_response;
extern ogs_tlv_desc_t ogs_pfcp_msg_desc_pfcp_session_set_modification_request;
extern ogs_tlv_desc_t ogs_pfcp_msg_desc_pfcp_session_set_modification_response;
extern ogs_tlv_desc_t ogs_pfcp_msg_desc_pfcp_session_establishment_request;
extern ogs_tlv_desc_t ogs_pfcp_msg_desc_pfcp_session_establishment_response;
extern ogs_tlv_desc_t ogs_pfcp_msg_desc_pfcp_session_modification_request;
@ -806,10 +910,10 @@ typedef ogs_tlv_octet_t ogs_pfcp_tlv_packet_rate_status_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_create_bridge_info_for_tsc_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_ds_tt_port_number_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_nw_tt_port_number_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_tsn_bridge_id_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_fivegs_user_plane_node_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_port_management_information_container_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_requested_clock_drift_information_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_tsn_time_domain_number_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_time_domain_number_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_time_offset_threshold_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_cumulative_rateratio_threshold_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_time_offset_measurement_t;
@ -851,6 +955,45 @@ typedef ogs_tlv_octet_t ogs_pfcp_tlv_mptcp_applicable_indication_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_bridge_management_information_container_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_number_of_ue_ip_addresses_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_validity_timer_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_spare_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_offending_ie_information_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_rat_type_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_l2tp_user_authentication_ie_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_lns_address_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_tunnel_preference_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_calling_number_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_called_number_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_l2tp_session_indications_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_dns_server_address_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_nbns_server_address_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_maximum_receive_unit_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_thresholds_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_steering_mode_indicator_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_group_id_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_cp_ip_address_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_ip_address_and_port_number_replacement_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_dns_query_filter_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_direct_reporting_information_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_event_notification_uri_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_notification_correlation_id_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_reporting_flags_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_predefined_rules_name_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_mbs_session_n4mb_information_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_remove_mbs_unicast_parameters_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_mbs_session_identifier_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_multicast_transport_information_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_mbsn4mbreq_flags_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_local_ingress_tunnel_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_mbs_unicast_parameters_id_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_mbsn4resp_flags_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_tunnel_password_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_area_session_id_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_peer_up_restart_report_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_dscp_to_ppi_mapping_information_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_pfcpsdrsp_flags_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_qer_indications_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_vendor_specific_node_report_type_t;
typedef ogs_tlv_octet_t ogs_pfcp_tlv_configured_time_domain_t;
/* Structure for Group Information Element */
typedef struct ogs_pfcp_tlv_ethernet_packet_filter_s {
@ -880,6 +1023,7 @@ typedef struct ogs_pfcp_tlv_pdi_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_source_interface_t source_interface;
ogs_pfcp_tlv_f_teid_t local_f_teid;
ogs_pfcp_tlv_local_ingress_tunnel_t local_ingress_tunnel;
ogs_pfcp_tlv_network_instance_t network_instance;
ogs_pfcp_tlv_redundant_transmission_parameters_t redundant_transmission_detection_parameters;
ogs_pfcp_tlv_ue_ip_address_t ue_ip_address;
@ -894,6 +1038,9 @@ typedef struct ogs_pfcp_tlv_pdi_s {
ogs_pfcp_tlv_framed_ipv6_route_t framed_ipv6_route[8];
ogs_pfcp_tlv__interface_type_t source_interface_type;
ogs_pfcp_tlv_ip_multicast_addressing_info_within_pfcp_session_establishment_request_t ip_multicast_addressing_info;
ogs_pfcp_tlv_dns_query_filter_t dns_query_filter;
ogs_pfcp_tlv_mbs_session_identifier_t mbs_session_identifier;
ogs_pfcp_tlv_area_session_id_t area_session_id;
} ogs_pfcp_tlv_pdi_t;
typedef struct ogs_pfcp_tlv_transport_delay_reporting_s {
@ -920,6 +1067,7 @@ typedef struct ogs_pfcp_tlv_create_pdr_s {
ogs_pfcp_tlv_ue_ip_address_t ue_ip_address_pool_identity;
ogs_pfcp_tlv_mptcp_applicable_indication_t mptcp_applicable_indication;
ogs_pfcp_tlv_transport_delay_reporting_t transport_delay_reporting;
ogs_pfcp_tlv_rat_type_t rat_type;
} ogs_pfcp_tlv_create_pdr_t;
typedef struct ogs_pfcp_tlv_forwarding_parameters_s {
@ -935,6 +1083,7 @@ typedef struct ogs_pfcp_tlv_forwarding_parameters_s {
ogs_pfcp_tlv_proxying_t proxying;
ogs_pfcp_tlv__interface_type_t destination_interface_type;
ogs_pfcp_tlv_data_network_access_identifier_t data_network_access_identifier;
ogs_pfcp_tlv_ip_address_and_port_number_replacement_t ip_address_and_port_number_replacement;
} ogs_pfcp_tlv_forwarding_parameters_t;
typedef struct ogs_pfcp_tlv_duplicating_parameters_s {
@ -951,6 +1100,25 @@ typedef struct ogs_pfcp_tlv_redundant_transmission_forwarding_parameters_s {
ogs_pfcp_tlv_network_instance_t network_instance_for_redundant_transmission;
} ogs_pfcp_tlv_redundant_transmission_forwarding_parameters_t;
typedef struct ogs_pfcp_tlv_mbs_multicast_parameters_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_destination_interface_t destination_interface;
ogs_pfcp_tlv_network_instance_t network_instance;
ogs_pfcp_tlv_outer_header_creation_t outer_header_creation;
ogs_pfcp_tlv_transport_level_marking_t transport_level_marking;
ogs_pfcp_tlv__interface_type_t destination_interface_type;
} ogs_pfcp_tlv_mbs_multicast_parameters_t;
typedef struct ogs_pfcp_tlv_add_mbs_unicast_parameters_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_destination_interface_t destination_interface;
ogs_pfcp_tlv_mbs_unicast_parameters_id_t mbs_unicast_parameters_id;
ogs_pfcp_tlv_network_instance_t network_instance;
ogs_pfcp_tlv_outer_header_creation_t outer_header_creation;
ogs_pfcp_tlv_transport_level_marking_t transport_level_marking;
ogs_pfcp_tlv__interface_type_t destination_interface_type;
} ogs_pfcp_tlv_add_mbs_unicast_parameters_t;
typedef struct ogs_pfcp_tlv_create_far_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_far_id_t far_id;
@ -959,6 +1127,8 @@ typedef struct ogs_pfcp_tlv_create_far_s {
ogs_pfcp_tlv_duplicating_parameters_t duplicating_parameters;
ogs_pfcp_tlv_bar_id_t bar_id;
ogs_pfcp_tlv_redundant_transmission_forwarding_parameters_t redundant_transmission_forwarding_parameters;
ogs_pfcp_tlv_mbs_multicast_parameters_t mbs_multicast_parameters;
ogs_pfcp_tlv_add_mbs_unicast_parameters_t add_mbs_unicast_parameters;
} ogs_pfcp_tlv_create_far_t;
typedef struct ogs_pfcp_tlv_update_forwarding_parameters_s {
@ -974,6 +1144,7 @@ typedef struct ogs_pfcp_tlv_update_forwarding_parameters_s {
ogs_pfcp_tlv_traffic_endpoint_id_t linked_traffic_endpoint_id;
ogs_pfcp_tlv__interface_type_t destination_interface_type;
ogs_pfcp_tlv_data_network_access_identifier_t data_network_access_identifier;
ogs_pfcp_tlv_ip_address_and_port_number_replacement_t ip_address_and_port_number_replacement;
} ogs_pfcp_tlv_update_forwarding_parameters_t;
typedef struct ogs_pfcp_tlv_update_duplicating_parameters_s {
@ -992,6 +1163,8 @@ typedef struct ogs_pfcp_tlv_update_far_s {
ogs_pfcp_tlv_update_duplicating_parameters_t update_duplicating_parameters;
ogs_pfcp_tlv_redundant_transmission_forwarding_parameters_t redundant_transmission_forwarding_parameters;
ogs_pfcp_tlv_bar_id_t bar_id;
ogs_pfcp_tlv_add_mbs_unicast_parameters_t add_mbs_unicast_parameters;
ogs_pfcp_tlv_remove_mbs_unicast_parameters_t remove_mbs_unicast_parameters;
} ogs_pfcp_tlv_update_far_t;
typedef struct ogs_pfcp_tlv_pfd_context_s {
@ -1017,6 +1190,7 @@ typedef struct ogs_pfcp_tlv__access_forwarding_action_information_s {
ogs_pfcp_tlv_weight_t weight;
ogs_pfcp_tlv_priority_t priority;
ogs_pfcp_tlv_urr_id_t urr_id[8];
ogs_pfcp_tlv_rat_type_t rat_type;
} ogs_pfcp_tlv__access_forwarding_action_information_t;
typedef struct ogs_pfcp_tlv_non__access_forwarding_action_information_s {
@ -1025,6 +1199,7 @@ typedef struct ogs_pfcp_tlv_non__access_forwarding_action_information_s {
ogs_pfcp_tlv_weight_t weight;
ogs_pfcp_tlv_priority_t priority;
ogs_pfcp_tlv_urr_id_t urr_id[8];
ogs_pfcp_tlv_rat_type_t rat_type;
} ogs_pfcp_tlv_non__access_forwarding_action_information_t;
typedef struct ogs_pfcp_tlv_update__access_forwarding_action_information_s {
@ -1033,6 +1208,7 @@ typedef struct ogs_pfcp_tlv_update__access_forwarding_action_information_s {
ogs_pfcp_tlv_weight_t weight;
ogs_pfcp_tlv_priority_t priority;
ogs_pfcp_tlv_urr_id_t urr_id;
ogs_pfcp_tlv_rat_type_t rat_type;
} ogs_pfcp_tlv_update__access_forwarding_action_information_t;
typedef struct ogs_pfcp_tlv_update_non__access_forwarding_action_information_s {
@ -1041,6 +1217,7 @@ typedef struct ogs_pfcp_tlv_update_non__access_forwarding_action_information_s {
ogs_pfcp_tlv_weight_t weight;
ogs_pfcp_tlv_priority_t priority;
ogs_pfcp_tlv_urr_id_t urr_id;
ogs_pfcp_tlv_rat_type_t rat_type;
} ogs_pfcp_tlv_update_non__access_forwarding_action_information_t;
typedef struct ogs_pfcp_tlv_access_availability_report_s {
@ -1070,6 +1247,7 @@ typedef struct ogs_pfcp_tlv_atsss_ll_parameters_s {
typedef struct ogs_pfcp_tlv_pmf_parameters_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_pmf_address_information_t pmf_address_information;
ogs_pfcp_tlv_qfi_t qos_flow_identifier;
} ogs_pfcp_tlv_pmf_parameters_t;
typedef struct ogs_pfcp_tlv_join_ip_multicast_information_ie_within_usage_report_s {
@ -1115,6 +1293,9 @@ typedef struct ogs_pfcp_tlv_create_urr_s {
ogs_pfcp_tlv_ethernet_inactivity_timer_t ethernet_inactivity_timer;
ogs_pfcp_tlv_additional_monitoring_time_t additional_monitoring_time;
ogs_pfcp_tlv_number_of_reports_t number_of_reports;
ogs_pfcp_tlv_application_id_t exempted_application_id_for_quota_action;
ogs_pfcp_tlv_sdf_filter_t exempted_sdf_filter_for_quota_action[8];
ogs_pfcp_tlv_user_plane_inactivity_timer_t user_plane_inactivity_timer;
} ogs_pfcp_tlv_create_urr_t;
typedef struct ogs_pfcp_tlv_create_qer_s {
@ -1132,6 +1313,7 @@ typedef struct ogs_pfcp_tlv_create_qer_s {
ogs_pfcp_tlv_paging_policy_indicator_t paging_policy_indicator;
ogs_pfcp_tlv_averaging_window_t averaging_window;
ogs_pfcp_tlv_qer_control_indications_t qer_control_indications;
ogs_pfcp_tlv_qer_indications_t qer_indications;
} ogs_pfcp_tlv_create_qer_t;
typedef struct ogs_pfcp_tlv_created_pdr_s {
@ -1140,6 +1322,7 @@ typedef struct ogs_pfcp_tlv_created_pdr_s {
ogs_pfcp_tlv_f_teid_t local_f_teid;
ogs_pfcp_tlv_f_teid_t local_f_teid_for_redundant_transmission;
ogs_pfcp_tlv_ue_ip_address_t ue_ip_address;
ogs_pfcp_tlv_local_ingress_tunnel_t local_ingress_tunnel;
} ogs_pfcp_tlv_created_pdr_t;
typedef struct ogs_pfcp_tlv_update_pdr_s {
@ -1157,6 +1340,7 @@ typedef struct ogs_pfcp_tlv_update_pdr_s {
ogs_pfcp_tlv_deactivation_time_t deactivation_time;
ogs_pfcp_tlv_ip_multicast_addressing_info_within_pfcp_session_establishment_request_t ip_multicast_addressing_info;
ogs_pfcp_tlv_transport_delay_reporting_t transport_delay_reporting;
ogs_pfcp_tlv_rat_type_t rat_type;
} ogs_pfcp_tlv_update_pdr_t;
typedef struct ogs_pfcp_tlv_update_bar_pfcp_session_report_response_s {
@ -1199,6 +1383,9 @@ typedef struct ogs_pfcp_tlv_update_urr_s {
ogs_pfcp_tlv_ethernet_inactivity_timer_t ethernet_inactivity_timer;
ogs_pfcp_tlv_additional_monitoring_time_t additional_monitoring_time;
ogs_pfcp_tlv_number_of_reports_t number_of_reports;
ogs_pfcp_tlv_application_id_t exempted_application_id_for_quota_action;
ogs_pfcp_tlv_sdf_filter_t exempted_sdf_filter_for_quota_action[8];
ogs_pfcp_tlv_user_plane_inactivity_timer_t user_plane_inactivity_timer;
} ogs_pfcp_tlv_update_urr_t;
typedef struct ogs_pfcp_tlv_update_qer_s {
@ -1315,6 +1502,7 @@ typedef struct ogs_pfcp_tlv_usage_report_session_report_request_s {
ogs_pfcp_tlv_ethernet_traffic_information_t ethernet_traffic_information;
ogs_pfcp_tlv_join_ip_multicast_information_ie_within_usage_report_t join_ip_muticast_information;
ogs_pfcp_tlv_leave_ip_multicast_information_ie_within_usage_report_t leave_ip_muticast_information;
ogs_pfcp_tlv_predefined_rules_name_t predefined_rules_name;
} ogs_pfcp_tlv_usage_report_session_report_request_t;
typedef struct ogs_pfcp_tlv_downlink_data_report_s {
@ -1369,6 +1557,11 @@ typedef struct ogs_pfcp_tlv_create_traffic_endpoint_s {
ogs_pfcp_tlv_framed_ipv6_route_t framed_ipv6_route[8];
ogs_pfcp_tlv_qfi_t qfi;
ogs_pfcp_tlv__interface_type_t source_interface_type;
ogs_pfcp_tlv_local_ingress_tunnel_t local_ingress_tunnel;
ogs_pfcp_tlv_ip_multicast_addressing_info_within_pfcp_session_establishment_request_t ip_multicast_addressing_info;
ogs_pfcp_tlv_mbs_session_identifier_t mbs_session_identifier;
ogs_pfcp_tlv_area_session_id_t area_session_id;
ogs_pfcp_tlv_rat_type_t rat_type;
} ogs_pfcp_tlv_create_traffic_endpoint_t;
typedef struct ogs_pfcp_tlv_created_traffic_endpoint_s {
@ -1377,6 +1570,7 @@ typedef struct ogs_pfcp_tlv_created_traffic_endpoint_s {
ogs_pfcp_tlv_f_teid_t local_f_teid;
ogs_pfcp_tlv_f_teid_t local_f_teid_for_redundant_transmission;
ogs_pfcp_tlv_ue_ip_address_t ue_ip_address;
ogs_pfcp_tlv_local_ingress_tunnel_t local_ingress_tunnel;
} ogs_pfcp_tlv_created_traffic_endpoint_t;
typedef struct ogs_pfcp_tlv_remove_traffic_endpoint_s {
@ -1391,6 +1585,8 @@ typedef struct ogs_pfcp_tlv_create_mar_s {
ogs_pfcp_tlv_steering_mode_t steering_mode;
ogs_pfcp_tlv__access_forwarding_action_information_t _access_forwarding_action_information;
ogs_pfcp_tlv_non__access_forwarding_action_information_t non__access_forwarding_action_information;
ogs_pfcp_tlv_thresholds_t threshold_values;
ogs_pfcp_tlv_steering_mode_indicator_t steering_mode_indicator;
} ogs_pfcp_tlv_create_mar_t;
typedef struct ogs_pfcp_tlv_remove_mar_s {
@ -1407,6 +1603,8 @@ typedef struct ogs_pfcp_tlv_update_mar_s {
ogs_pfcp_tlv_update_non__access_forwarding_action_information_t update_non__access_forwarding_action_information;
ogs_pfcp_tlv__access_forwarding_action_information_t _access_forwarding_action_information;
ogs_pfcp_tlv_non__access_forwarding_action_information_t non__access_forwarding_action_information;
ogs_pfcp_tlv_thresholds_t threshold_values;
ogs_pfcp_tlv_steering_mode_indicator_t steering_mode_indicator;
} ogs_pfcp_tlv_update_mar_t;
typedef struct ogs_pfcp_tlv_pfcp_session_retention_information_within_pfcp_association_setup_request_s {
@ -1422,44 +1620,48 @@ typedef struct ogs_pfcp_tlv_user_plane_path_recovery_report_s {
typedef struct ogs_pfcp_tlv_created_bridge_info_for_tsc_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_ds_tt_port_number_t ds_tt_port_number;
ogs_pfcp_tlv_tsn_bridge_id_t tsn_bridge_id;
ogs_pfcp_tlv_fivegs_user_plane_node_t fivegs_user_plane_node;
} ogs_pfcp_tlv_created_bridge_info_for_tsc_t;
typedef struct ogs_pfcp_tlv_tsc_management_information_ie_within_pfcp_session_modification_request_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_port_management_information_container_t port_management_information_container;
ogs_pfcp_tlv_bridge_management_information_container_t bridge_management_information_container;
ogs_pfcp_tlv_bridge_management_information_container_t user_plane_node_management_information_container;
ogs_pfcp_tlv_nw_tt_port_number_t nw_tt_port_number;
} ogs_pfcp_tlv_tsc_management_information_ie_within_pfcp_session_modification_request_t;
typedef struct ogs_pfcp_tlv_tsc_management_information_ie_within_pfcp_session_modification_response_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_port_management_information_container_t port_management_information_container;
ogs_pfcp_tlv_bridge_management_information_container_t bridge_management_information_container;
ogs_pfcp_tlv_bridge_management_information_container_t user_plane_node_management_information_container;
ogs_pfcp_tlv_nw_tt_port_number_t nw_tt_port_number;
} ogs_pfcp_tlv_tsc_management_information_ie_within_pfcp_session_modification_response_t;
typedef struct ogs_pfcp_tlv_tsc_management_information_ie_within_pfcp_session_report_request_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_port_management_information_container_t port_management_information_container;
ogs_pfcp_tlv_bridge_management_information_container_t bridge_management_information_container;
ogs_pfcp_tlv_bridge_management_information_container_t user_plane_node_management_information_container;
ogs_pfcp_tlv_nw_tt_port_number_t nw_tt_port_number;
} ogs_pfcp_tlv_tsc_management_information_ie_within_pfcp_session_report_request_t;
typedef struct ogs_pfcp_tlv_clock_drift_control_information_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_requested_clock_drift_information_t requested_clock_drift_information;
ogs_pfcp_tlv_tsn_time_domain_number_t tsn_time_domain_number;
ogs_pfcp_tlv_time_domain_number_t time_domain_number;
ogs_pfcp_tlv_configured_time_domain_t configured_time_domain;
ogs_pfcp_tlv_time_offset_threshold_t time_offset_threshold;
ogs_pfcp_tlv_cumulative_rateratio_threshold_t cumulative_rateratio_threshold;
} ogs_pfcp_tlv_clock_drift_control_information_t;
typedef struct ogs_pfcp_tlv_clock_drift_report_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_tsn_time_domain_number_t tsn_time_domain_number;
ogs_pfcp_tlv_time_domain_number_t time_domain_number;
ogs_pfcp_tlv_time_offset_measurement_t time_offset_measurement;
ogs_pfcp_tlv_cumulative_rateratio_measurement_t cumulative_rateratio_measurement;
ogs_pfcp_tlv_time_stamp_t time_stamp;
ogs_pfcp_tlv_network_instance_t network_instance;
ogs_pfcp_tlv_apn_dnn_t apn_dnn;
ogs_pfcp_tlv_s_nssai_t s_nssai;
} ogs_pfcp_tlv_clock_drift_report_t;
typedef struct ogs_pfcp_tlv_remove_srr_s {
@ -1472,6 +1674,7 @@ typedef struct ogs_pfcp_tlv_create_srr_s {
ogs_pfcp_tlv_srr_id_t srr_id;
ogs_pfcp_tlv_access_availability_control_information_t access_availability_control_information;
ogs_pfcp_tlv_qos_monitoring_per_qos_flow_control_information_t qos_monitoring_per_qos_flow_control_information;
ogs_pfcp_tlv_direct_reporting_information_t direct_reporting_information;
} ogs_pfcp_tlv_create_srr_t;
typedef struct ogs_pfcp_tlv_update_srr_s {
@ -1479,6 +1682,7 @@ typedef struct ogs_pfcp_tlv_update_srr_s {
ogs_pfcp_tlv_srr_id_t srr_id;
ogs_pfcp_tlv_access_availability_control_information_t access_availability_control_information;
ogs_pfcp_tlv_qos_monitoring_per_qos_flow_control_information_t qos_monitoring_per_qos_flow_control_information;
ogs_pfcp_tlv_direct_reporting_information_t direct_reporting_information;
} ogs_pfcp_tlv_update_srr_t;
typedef struct ogs_pfcp_tlv_session_report_s {
@ -1574,8 +1778,73 @@ typedef struct ogs_pfcp_tlv_ue_ip_address_usage_information_s {
ogs_pfcp_tlv_number_of_ue_ip_addresses_t number_of_ue_ip_addresses;
ogs_pfcp_tlv_network_instance_t network_instance;
ogs_pfcp_tlv_ue_ip_address_t ue_ip_address_pool_id;
ogs_pfcp_tlv_s_nssai_t s_nssai;
} ogs_pfcp_tlv_ue_ip_address_usage_information_t;
typedef struct ogs_pfcp_tlv_partial_failure_information_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_failed_rule_id_t failed_rule_id;
ogs_pfcp_tlv_cause_t failure_cause;
ogs_pfcp_tlv_offending_ie_information_t offending_ie_information;
} ogs_pfcp_tlv_partial_failure_information_t;
typedef struct ogs_pfcp_tlv_l2tp_tunnel_information_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_lns_address_t lns_address;
ogs_pfcp_tlv_tunnel_password_t tunnel_password;
ogs_pfcp_tlv_tunnel_preference_t tunnel_preference;
} ogs_pfcp_tlv_l2tp_tunnel_information_t;
typedef struct ogs_pfcp_tlv_l2tp_session_information_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_calling_number_t calling_number;
ogs_pfcp_tlv_called_number_t called_number;
ogs_pfcp_tlv_maximum_receive_unit_t maximum_receive_unit;
ogs_pfcp_tlv_l2tp_session_indications_t l2tp_session_indications;
ogs_pfcp_tlv_l2tp_user_authentication_ie_t l2tp_user_authentication;
} ogs_pfcp_tlv_l2tp_session_information_t;
typedef struct ogs_pfcp_tlv_created_l2tp_session_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_dns_server_address_t dns_server_address;
ogs_pfcp_tlv_nbns_server_address_t nbns_server_address;
ogs_pfcp_tlv_lns_address_t lns_address;
} ogs_pfcp_tlv_created_l2tp_session_t;
typedef struct ogs_pfcp_tlv_pfcp_session_change_info_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_fq_csid_t pgw_c_smf_fq_csid;
ogs_pfcp_tlv_group_id_t group_id;
ogs_pfcp_tlv_cp_ip_address_t cp_ip_address;
ogs_pfcp_tlv_alternative_smf_ip_address_t alternative_smf_pgw_c_ip_address;
} ogs_pfcp_tlv_pfcp_session_change_info_t;
typedef struct ogs_pfcp_tlv_mbs_session_n4mb_control_information_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_mbs_session_identifier_t mbs_session_identifier;
ogs_pfcp_tlv_area_session_id_t area_session_id;
ogs_pfcp_tlv_mbsn4mbreq_flags_t mbsn4mbreq_flags;
ogs_pfcp_tlv_multicast_transport_information_t multicast_transport_information_for_n3mb_and_or_n19mb;
} ogs_pfcp_tlv_mbs_session_n4mb_control_information_t;
typedef struct ogs_pfcp_tlv_mbs_session_n4_information_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_multicast_transport_information_t multicast_transport_information;
} ogs_pfcp_tlv_mbs_session_n4_information_t;
typedef struct ogs_pfcp_tlv_mbs_session_n4_control_information_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_mbs_session_identifier_t mbs_session_identifier;
ogs_pfcp_tlv_area_session_id_t area_session_id;
ogs_pfcp_tlv_multicast_transport_information_t multicast_transport_information;
} ogs_pfcp_tlv_mbs_session_n4_control_information_t;
typedef struct ogs_pfcp_tlv_dscp_to_ppi_control_information_s {
ogs_tlv_presence_t presence;
ogs_pfcp_tlv_dscp_to_ppi_mapping_information_t dscp_to_ppi_mapping_information;
ogs_pfcp_tlv_qfi_t qfi;
} ogs_pfcp_tlv_dscp_to_ppi_control_information_t;
/* Structure for Message */
typedef struct ogs_pfcp_heartbeat_request_s {
ogs_pfcp_tlv_recovery_time_stamp_t recovery_time_stamp;
@ -1650,6 +1919,7 @@ typedef struct ogs_pfcp_association_update_response_s {
ogs_pfcp_tlv_cause_t cause;
ogs_pfcp_tlv_up_function_features_t up_function_features;
ogs_pfcp_tlv_cp_function_features_t cp_function_features;
ogs_pfcp_tlv_user_plane_ip_resource_information_t user_plane_ip_resource_information[4];
ogs_pfcp_tlv_ue_ip_address_usage_information_t ue_ip_address_usage_information;
} ogs_pfcp_association_update_response_t;
@ -1668,10 +1938,12 @@ typedef struct ogs_pfcp_version_not_supported_response_s {
typedef struct ogs_pfcp_node_report_request_s {
ogs_pfcp_tlv_node_id_t node_id;
ogs_pfcp_tlv_node_report_type_t node_report_type;
ogs_pfcp_tlv_vendor_specific_node_report_type_t vendor_specific_node_report_type;
ogs_pfcp_tlv_user_plane_path_failure_report_t user_plane_path_failure_report;
ogs_pfcp_tlv_user_plane_path_recovery_report_t user_plane_path_recovery_report;
ogs_pfcp_tlv_clock_drift_report_t clock_drift_report;
ogs_pfcp_tlv_gtp_u_path_qos_report_pfcp_node_report_request_t gtp_u_path_qos_report;
ogs_pfcp_tlv_peer_up_restart_report_t peer_up_restart_report;
} ogs_pfcp_node_report_request_t;
typedef struct ogs_pfcp_node_report_response_s {
@ -1683,8 +1955,8 @@ typedef struct ogs_pfcp_node_report_response_s {
typedef struct ogs_pfcp_session_set_deletion_request_s {
ogs_pfcp_tlv_node_id_t node_id;
ogs_pfcp_tlv_fq_csid_t sgw_c_fq_csid;
ogs_pfcp_tlv_fq_csid_t pgw_c_fq_csid;
ogs_pfcp_tlv_fq_csid_t pgw_u_sgw_u_fq_csid;
ogs_pfcp_tlv_fq_csid_t pgw_c_smf_fq_csid;
ogs_pfcp_tlv_fq_csid_t pgw_u_sgw_u__upf_fq_csid;
ogs_pfcp_tlv_fq_csid_t twan_fq_csid;
ogs_pfcp_tlv_fq_csid_t epdg_fq_csid;
ogs_pfcp_tlv_fq_csid_t mme_fq_csid;
@ -1696,6 +1968,17 @@ typedef struct ogs_pfcp_session_set_deletion_response_s {
ogs_pfcp_tlv_offending_ie_t offending_ie;
} ogs_pfcp_session_set_deletion_response_t;
typedef struct ogs_pfcp_session_set_modification_request_s {
ogs_pfcp_tlv_node_id_t node_id;
ogs_pfcp_tlv_pfcp_session_change_info_t pfcp_session_change_info;
} ogs_pfcp_session_set_modification_request_t;
typedef struct ogs_pfcp_session_set_modification_response_s {
ogs_pfcp_tlv_node_id_t node_id;
ogs_pfcp_tlv_cause_t cause;
ogs_pfcp_tlv_offending_ie_t offending_ie;
} ogs_pfcp_session_set_modification_response_t;
typedef struct ogs_pfcp_session_establishment_request_s {
ogs_pfcp_tlv_node_id_t node_id;
ogs_pfcp_tlv_f_seid_t cp_f_seid;
@ -1708,7 +1991,7 @@ typedef struct ogs_pfcp_session_establishment_request_s {
ogs_pfcp_tlv_pdn_type_t pdn_type;
ogs_pfcp_tlv_fq_csid_t sgw_c_fq_csid;
ogs_pfcp_tlv_fq_csid_t mme_fq_csid;
ogs_pfcp_tlv_fq_csid_t pgw_c_fq_csid;
ogs_pfcp_tlv_fq_csid_t pgw_c_smf_fq_csid;
ogs_pfcp_tlv_fq_csid_t epdg_fq_csid;
ogs_pfcp_tlv_fq_csid_t twan_fq_csid;
ogs_pfcp_tlv_user_plane_inactivity_timer_t user_plane_inactivity_timer;
@ -1723,6 +2006,13 @@ typedef struct ogs_pfcp_session_establishment_request_s {
ogs_pfcp_tlv_recovery_time_stamp_t recovery_time_stamp;
ogs_pfcp_tlv_s_nssai_t s_nssai;
ogs_pfcp_tlv_provide_rds_configuration_information_t provide_rds_configuration_information;
ogs_pfcp_tlv_rat_type_t rat_type;
ogs_pfcp_tlv_l2tp_tunnel_information_t l2tp_tunnel_information;
ogs_pfcp_tlv_l2tp_session_information_t l2tp_session_information;
ogs_pfcp_tlv_group_id_t group_id;
ogs_pfcp_tlv_mbs_session_n4mb_control_information_t mbs_session_n4mb_control_information;
ogs_pfcp_tlv_mbs_session_n4_control_information_t mbs_session_n4_control_information;
ogs_pfcp_tlv_dscp_to_ppi_control_information_t dscp_to_ppi_control_information;
} ogs_pfcp_session_establishment_request_t;
typedef struct ogs_pfcp_session_establishment_response_s {
@ -1733,12 +2023,16 @@ typedef struct ogs_pfcp_session_establishment_response_s {
ogs_pfcp_tlv_created_pdr_t created_pdr[16];
ogs_pfcp_tlv_load_control_information_t load_control_information;
ogs_pfcp_tlv_overload_control_information_t overload_control_information;
ogs_pfcp_tlv_fq_csid_t pgw_u_sgw_u_fq_csid;
ogs_pfcp_tlv_fq_csid_t pgw_u_sgw_u__upf_fq_csid;
ogs_pfcp_tlv_failed_rule_id_t failed_rule_id;
ogs_pfcp_tlv_created_traffic_endpoint_t created_traffic_endpoint;
ogs_pfcp_tlv_created_bridge_info_for_tsc_t created_bridge_info_for_tsc;
ogs_pfcp_tlv_atsss_control_parameters_t atsss_control_parameters;
ogs_pfcp_tlv_rds_configuration_information_t rds_configuration_information;
ogs_pfcp_tlv_partial_failure_information_t partial_failure_information;
ogs_pfcp_tlv_created_l2tp_session_t created_l2tp_session;
ogs_pfcp_tlv_mbs_session_n4mb_information_t mbs_session_n4mb_information;
ogs_pfcp_tlv_mbs_session_n4_information_t mbs_session_n4_information;
} ogs_pfcp_session_establishment_response_t;
typedef struct ogs_pfcp_session_modification_request_s {
@ -1763,7 +2057,7 @@ typedef struct ogs_pfcp_session_modification_request_s {
ogs_pfcp_tlv_update_traffic_endpoint_t update_traffic_endpoint;
ogs_pfcp_tlv_pfcpsmreq_flags_t pfcpsmreq_flags;
ogs_pfcp_tlv_query_urr_t query_urr;
ogs_pfcp_tlv_fq_csid_t pgw_c_fq_csid;
ogs_pfcp_tlv_fq_csid_t pgw_c_smf_fq_csid;
ogs_pfcp_tlv_fq_csid_t sgw_c_fq_csid;
ogs_pfcp_tlv_fq_csid_t mme_fq_csid;
ogs_pfcp_tlv_fq_csid_t epdg_fq_csid;
@ -1784,6 +2078,10 @@ typedef struct ogs_pfcp_session_modification_request_s {
ogs_pfcp_tlv_access_availability_information_t access_availability_information;
ogs_pfcp_tlv_query_packet_rate_status_ie_within_pfcp_session_modification_request_t query_packet_rate_status;
ogs_pfcp_tlv_s_nssai_t s_nssai;
ogs_pfcp_tlv_rat_type_t rat_type;
ogs_pfcp_tlv_group_id_t group_id;
ogs_pfcp_tlv_mbs_session_n4_control_information_t mbs_session_n4_control_information;
ogs_pfcp_tlv_dscp_to_ppi_control_information_t dscp_to_ppi_control_information;
} ogs_pfcp_session_modification_request_t;
typedef struct ogs_pfcp_session_modification_response_s {
@ -1796,10 +2094,12 @@ typedef struct ogs_pfcp_session_modification_response_s {
ogs_pfcp_tlv_failed_rule_id_t failed_rule_id;
ogs_pfcp_tlv_additional_usage_reports_information_t additional_usage_reports_information;
ogs_pfcp_tlv_created_traffic_endpoint_t created_updated_traffic_endpoint;
ogs_pfcp_tlv_tsc_management_information_ie_within_pfcp_session_modification_response_t tsc_management_information;
ogs_pfcp_tlv_tsc_management_information_ie_within_pfcp_session_modification_request_t tsc_management_information;
ogs_pfcp_tlv_atsss_control_parameters_t atsss_control_parameters;
ogs_pfcp_tlv_updated_pdr_t updated_pdr;
ogs_pfcp_tlv_packet_rate_status_report_ie_within_pfcp_session_modification_response_t packet_rate_status_report;
ogs_pfcp_tlv_packet_rate_status_report_t packet_rate_status_report;
ogs_pfcp_tlv_partial_failure_information_t partial_failure_information;
ogs_pfcp_tlv_mbs_session_n4_information_t mbs_session_n4_information;
} ogs_pfcp_session_modification_response_t;
typedef struct ogs_pfcp_session_deletion_request_s {
@ -1814,6 +2114,8 @@ typedef struct ogs_pfcp_session_deletion_response_s {
ogs_pfcp_tlv_additional_usage_reports_information_t additional_usage_reports_information;
ogs_pfcp_tlv_packet_rate_status_report_t packet_rate_status_report;
ogs_pfcp_tlv_session_report_t session_report;
ogs_pfcp_tlv_mbs_session_n4_information_t mbs_session_n4_information;
ogs_pfcp_tlv_pfcpsdrsp_flags_t pfcpsdrsp_flags;
} ogs_pfcp_session_deletion_response_t;
typedef struct ogs_pfcp_session_report_request_s {
@ -1827,8 +2129,9 @@ typedef struct ogs_pfcp_session_report_request_s {
ogs_pfcp_tlv_pfcpsrreq_flags_t pfcpsrreq_flags;
ogs_pfcp_tlv_f_seid_t old_cp_f_seid;
ogs_pfcp_tlv_packet_rate_status_report_t packet_rate_status_report;
ogs_pfcp_tlv_tsc_management_information_ie_within_pfcp_session_report_request_t tsc_management_information;
ogs_pfcp_tlv_tsc_management_information_ie_within_pfcp_session_modification_request_t tsc_management_information;
ogs_pfcp_tlv_session_report_t session_report;
ogs_pfcp_tlv_cause_t cause;
} ogs_pfcp_session_report_request_t;
typedef struct ogs_pfcp_session_report_response_s {
@ -1839,6 +2142,9 @@ typedef struct ogs_pfcp_session_report_response_s {
ogs_pfcp_tlv_f_seid_t cp_f_seid;
ogs_pfcp_tlv_f_teid_t n4_u_f_teid;
ogs_pfcp_tlv_alternative_smf_ip_address_t alternative_smf_ip_address;
ogs_pfcp_tlv_fq_csid_t pgw_c_smf_fq_csid;
ogs_pfcp_tlv_group_id_t group_id;
ogs_pfcp_tlv_node_id_t node_id;
} ogs_pfcp_session_report_response_t;
typedef struct ogs_pfcp_message_s {
@ -1859,6 +2165,8 @@ typedef struct ogs_pfcp_message_s {
ogs_pfcp_node_report_response_t pfcp_node_report_response;
ogs_pfcp_session_set_deletion_request_t pfcp_session_set_deletion_request;
ogs_pfcp_session_set_deletion_response_t pfcp_session_set_deletion_response;
ogs_pfcp_session_set_modification_request_t pfcp_session_set_modification_request;
ogs_pfcp_session_set_modification_response_t pfcp_session_set_modification_response;
ogs_pfcp_session_establishment_request_t pfcp_session_establishment_request;
ogs_pfcp_session_establishment_response_t pfcp_session_establishment_response;
ogs_pfcp_session_modification_request_t pfcp_session_modification_request;

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -4,9 +4,15 @@ user@host ~/Documents/git/open5gs/lib/pfcp/support$ \
sudo pip3 install python-docx
* Change the format of standard specification
from 29244-f40.doc to 29274-f40.docx
from 29244-h71.doc to 29244-h71.docx
using Microsoft Office 2007+
* Adjust table cell in 29244-h71.docx
* Copy 29244-h71.docx to 29244-h71-modified.docx
* Add User Plane IP Resource Information to 29244-h71-modified.docx
* Generate TLV support files
user@host ~/Documents/git/open5gs/lib/pfcp/support$ \
python3 pfcp-tlv.py -f 29244-g91-modified.docx -o ..
python3 pfcp-tlv.py -f 29244-h71-modified.docx -o ..

View File

@ -16,7 +16,8 @@ ies.append({ "ie_type" : "IP version", "ie_value" : "IP version", "presence" : "
group_list["UE IP address Pool Information"] = { "index" : "333", "type" : "233", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Requested Clock Drift Information", "ie_value" : "Requested Clock Drift Information", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the requested clock drift information."})
ies.append({ "ie_type" : "TSN Time Domain Number", "ie_value" : "TSN Time Domain Number", "presence" : "C", "tlv_more" : "0", "comment" : "When present, this IE shall identifiy the TSN time domain(s) for which clock drift information is requested.More than one IE with this type may be included to represent multiple TSN Time Domain Numbers.The absence of this IE shall indicate that the request targets all the TSN time domains the UPF is connected to."})
ies.append({ "ie_type" : "Time Domain Number", "ie_value" : "Time Domain Number", "presence" : "C", "tlv_more" : "0", "comment" : "When present, this IE shall identifiy the external time domain(s) for which clock drift information is requested.More than one IE with this type may be included to represent multiple Time Domain Numbers.This IE may be included if the Configured Time Domain IE is not included. (NOTE)"})
ies.append({ "ie_type" : "Configured Time Domain", "ie_value" : "Configured Time Domain", "presence" : "C", "tlv_more" : "0", "comment" : "When present with the CTDI (Configured Time Domain Indicator) flag set to 1, this IE indicates that the request targets the external time domain that is configured to the NW-TT(s) in the UPF.This IE may be included if the Time Domain Number IE is not included. (NOTE)"})
ies.append({ "ie_type" : "Time Offset Threshold", "ie_value" : "Time Offset Threshold", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if Time Offset Reporting is requested.When present, it shall indicate the threshold to report the time offset, i.e. the offset shall be reported only when it exceeds the threshold compared to the previous report."})
ies.append({ "ie_type" : "Cumulative rateRatio Threshold", "ie_value" : "Cumulative rateRatio Threshold", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if Cumulative RateRatio Reporting is requested.When present, it shall indicate the threshold to report the cumulative rateRatio, i.e. the cumative rateRatio shall be reported only when it exceeds the threshold compared to the previous report."})
group_list["Clock Drift Control Information"] = { "index" : "303", "type" : "203", "ies" : ies }
@ -38,6 +39,7 @@ ies.append({ "ie_type" : "Validity Timer", "ie_value" : "Validity Timer", "prese
ies.append({ "ie_type" : "Number of UE IP Addresses", "ie_value" : "Number of UE IP Addresses", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the total number of UE IP addresses configured for the Network Instance or also for the IP address Pool, when this IE is present. (NOTE)"})
ies.append({ "ie_type" : "Network Instance", "ie_value" : "Network Instance", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall identify the associated Network instance."})
ies.append({ "ie_type" : "UE IP Address", "ie_value" : "UE IP Address Pool Id", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if UE IP Addresses Pools are configured in the UPF.When present, this IE shall contain the identity of the associated UE IP address Pool."})
ies.append({ "ie_type" : "S-NSSAI", "ie_value" : "S-NSSAI", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the feature Per slice UP resource management is supported by the UP Function.When present, it shall indicate the S-NSSAI for which the UE IP addresses usage information is reported."})
group_list["UE IP Address Usage Information"] = { "index" : "367", "type" : "267", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Remote GTP-U Peer", "ie_value" : "Remote GTP-U Peer", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall include the IP address of the remote GTP-U peer towards which a user plane path failure has been detected.More than one IE with this type may be included to represent multiple remote GTP-U peers towards which a user plane path failure has been detected."})
@ -46,10 +48,13 @@ ies = []
ies.append({ "ie_type" : "Remote GTP-U Peer", "ie_value" : "Remote GTP-U Peer", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall include the IP address of the remote GTP-U peer towards which user plane path failure was reported and then the path has recovered within an operator configurable maximum path failure duration (see clause20.3.4 in 3GPPTS23.007[24] and clause5.4 in 3GPPTS23.527[40]).More than one IE with this type may be included to represent multiple remote GTP-U peers towards which a user plane path has recovered."})
group_list["User Plane Path Recovery Report"] = { "index" : "287", "type" : "187", "ies" : ies }
ies = []
ies.append({ "ie_type" : "TSN Time Domain Number", "ie_value" : "TSN Time Domain Number", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall identify the TSN Domain Number for which measurements are reported."})
ies.append({ "ie_type" : "Time Domain Number", "ie_value" : "Time Domain Number", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall identify the Time Domain Number for which measurements are reported."})
ies.append({ "ie_type" : "Time Offset Measurement", "ie_value" : "Time Offset Measurement", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain the time offset measurement."})
ies.append({ "ie_type" : "Cumulative rateRatio Measurement", "ie_value" : "Cumulative rateRatio Measurement", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain the cumulative rateRatio measurement."})
ies.append({ "ie_type" : "Time Stamp", "ie_value" : "Time Stamp", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall provide the timestamp when the collection of the information in this report was generated."})
ies.append({ "ie_type" : "Network Instance", "ie_value" : "Network Instance", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present, when available (NOTE)."})
ies.append({ "ie_type" : "APN/DNN", "ie_value" : "APN/DNN", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present, when available (NOTE)."})
ies.append({ "ie_type" : "S-NSSAI", "ie_value" : "S-NSSAI", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present, when available (NOTE)."})
group_list["Clock Drift Report"] = { "index" : "305", "type" : "205", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Average Packet Delay", "ie_value" : "Average Packet Delay", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the average packet delay of the related GTP-U path. "})
@ -58,44 +63,82 @@ ies.append({ "ie_type" : "Maximum Packet Delay", "ie_value" : "Maximum Packet De
ies.append({ "ie_type" : "Transport Level Marking", "ie_value" : "DSCP", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present, if available. When present, it shall contain the value of the DSCP in the TOS/Traffic Class field used in Echo messages to measure the packet delay. "})
group_list["QoS Information in GTP-U Path QoS Report"] = { "index" : "340", "type" : "240", "ies" : ies }
ies = []
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "PGW-C/SMF FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall identify the PGW-C/SMF FQ-CSID of the PFCP sessions for which the UPF shall send subsequent PFCP Session Report Request messages to the Alternative SMF/PGW-C IP Address.See also clause31.6 of 3GPPTS23.007[24] and clause4.7 of 3GPPTS23.527[40].Several IEs with the same IE type may be present to represent several FQ-CSIDs of PFCP sessions that need to be moved to the same Alternative SMF/PGW-C IP Address."})
ies.append({ "ie_type" : "Group ID", "ie_value" : "Group Id", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall identify the Group Id of the PFCP sessions for which the UPF shall send subsequent PFCP Session Report Request messages to the Alternative SMF/PGW-C IP Address.See also clause31.6 of 3GPPTS23.007[24] and clause4.7 of 3GPPTS23.527[40].Several IEs with the same IE type may be present to represent several Group Ids of PFCP sessions that need to be moved to the same Alternative SMF/PGW-C IP Address."})
ies.append({ "ie_type" : "CP IP Address", "ie_value" : "CP IP Address", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall identify the IP address in the CP F-SEID of the PFCP sessions for which the UPF shall send subsequent PFCP Session Report Request messages to the Alternative SMF/PGW-C IP Address.Several IEs with the same IE type may be present to represent several CP IP addresses of PFCP sessions that need to be moved to the same Alternative SMF/PGW-C IP Address."})
ies.append({ "ie_type" : "Alternative SMF IP Address", "ie_value" : "Alternative SMF/PGW-C IP Address", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall include the alternative SMF/PGW-C IP Address to be used by the UP function to send subsequent PFCP Session Report Request messages for the PFCP Sessions associated with the PGW-C/SMF FQ-CSID(s), Group Id(s) or CP IP address(es).When present, this IE shall contain an IPv4 and/or IPv6 address of the same or an alternative SMF/PGW-C."})
group_list["PFCP Session Change Info"] = { "index" : "390", "type" : "290", "ies" : ies }
ies = []
ies.append({ "ie_type" : "LNS Address", "ie_value" : "LNS Address", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall be present to include the Tunnel Server Endpoint, i.e. LNS IP address."})
ies.append({ "ie_type" : "Tunnel Password", "ie_value" : "Tunnel Password", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to include the password to be used to authenticate to a remote server."})
ies.append({ "ie_type" : "Tunnel Preference", "ie_value" : "Tunnel Preference", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if multiple L2TP Tunnel Information IEs are included in the message.If present this IE indicates the order in which the L2TP Tunnel Information IEs shall be used when trying to establish the L2TP session."})
group_list["L2TP Tunnel Information"] = { "index" : "376", "type" : "276", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Calling Number", "ie_value" : "Calling Number", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present, e.g. to include an MSISDN of the UE."})
ies.append({ "ie_type" : "Called Number", "ie_value" : "Called Number", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present, e.g. to include an APN/DNN."})
ies.append({ "ie_type" : "Maximum Receive Unit", "ie_value" : "Maximum Receive Unit", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to include Maximum Receive Unit for LCP/PPP which may be set to the value of the MTU received from the UE or may be configured in the CP function."})
ies.append({ "ie_type" : "L2TP Session Indications", "ie_value" : "L2TP Session Indications", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function requests the UP function to get a UE IP Address, and/or DNS server information, and/or NBNS server information from the LNS."})
ies.append({ "ie_type" : "L2TP User Authentication IE", "ie_value" : "L2TP User Authentication", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to include the authentication information to be used during L2TP session establishment."})
group_list["L2TP Session Information"] = { "index" : "377", "type" : "277", "ies" : ies }
ies = []
ies.append({ "ie_type" : "MBS Session Identifier", "ie_value" : "MBS Session Identifier", "presence" : "M", "tlv_more" : "0", "comment" : ""})
ies.append({ "ie_type" : "Area Session ID", "ie_value" : "Area Session ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present for a location dependent MBS service. When present, it shall contain the Area Session ID, which together with the MBS Session Identifier, uniquely identify the service area part of the content data of the MBS service. "})
ies.append({ "ie_type" : "MBSN4mbReq-Flags", "ie_value" : "MBSN4mbReq-Flags", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if at least one of the flags is set to 1.- PLLSSM (Provide Lower Layer SSM): the MB-SMF shall set this flag to 1 to request the MB-UPF to allocate a LL SSM (i.e. multicast destination address and related source IP address) and a GTP-U Common Tunnel EndPoint Identifier (C-TEID), if multicast transport is used over N3mb and/or N19mb. See clause5.34.2.2.- JMBSSM (Join MBS Session SSM): the MB-SMF shall set this flag to 1 to request the MB-UPF to join the multicast tree towards the Source Specific Multicast (SSM) address information provided by AF/AS for the MBS Session, if multicast transport is used over N6mb.- MBS RESTI (MBS Restoration Indication): this bit shall be set to 1 if the MB-SMF re-establishes an existing PFCP session. (NOTE)"})
ies.append({ "ie_type" : "Multicast Transport Information", "ie_value" : "Multicast Transport Information for N3mb and/or N19mb", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present during the restoration of a PFCP session of an MBS session after an MB-UPF restart, as defined in clause8.2.2 of 3GPPTS23.527[40]. When present, it shall include the low layer source specific multicast address information (i.e. multicast destination address and related source IP address) and the GTP-U Common Tunnel EndPoint Identifier (C-TEID) that the MB-SMF requests the MB-UPF to allocate for multicast transport over N3mb and/or N19mb, if possible.(NOTE)"})
group_list["MBS Session N4mb Control Information"] = { "index" : "400", "type" : "300", "ies" : ies }
ies = []
ies.append({ "ie_type" : "MBS Session Identifier", "ie_value" : "MBS Session Identifier", "presence" : "M", "tlv_more" : "0", "comment" : ""})
ies.append({ "ie_type" : "Area Session ID", "ie_value" : "Area Session ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present for a location dependent MBS service. When present, it shall contain the Area Session ID, which together with the MBS Session Identifier, uniquely identify the service area part of the content data of the MBS service. "})
ies.append({ "ie_type" : "Multicast Transport Information", "ie_value" : "Multicast Transport Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present to include a low layer source specific multicast address information (i.e. multicast destination address and related source IP address) and a GTP-U Common Tunnel EndPoint Identifier (C-TEID) which was allocated by the MB-UPF, if IP multicast transport is used over N19mb. "})
group_list["MBS Session N4 Control Information"] = { "index" : "410", "type" : "310", "ies" : ies }
ies = []
ies.append({ "ie_type" : "DSCP to PPI Mapping Information", "ie_value" : "DSCP to PPI Mapping Information", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall be present to instruct the UPF to insert the corresponding PPI for the downlink GTP-U packet, where the DSCP of its payload packet is matching one of DSCP codes in the DSCP to PPI Mapping Information.Several IEs with the same IE type may be present to provide different DSCP to PPI mapping information."})
ies.append({ "ie_type" : "QFI", "ie_value" : "QFI", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to request the UPF to only insert PPI for those packets pertain to the requested QoS flow(s).Several IEs with the same IE type may be present to provide a list of QFIs.(NOTE1)"})
group_list["DSCP to PPI Control Information"] = { "index" : "416", "type" : "316", "ies" : ies }
ies = []
ies.append({ "ie_type" : "PDR ID", "ie_value" : "PDR ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall uniquely identify the PDR among all the PDRs configured for that PFCP session."})
ies.append({ "ie_type" : "Precedence", "ie_value" : "Precedence", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the PDRs precedence to be applied by the UP function among all PDRs of the PFCP session, when looking for a PDR matching an incoming packet."})
ies.append({ "ie_type" : "PDI", "ie_value" : "PDI", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall contain the PDI against which incoming packets will be matched.See Table 7.5.2.2-2."})
ies.append({ "ie_type" : "PDI", "ie_value" : "PDI", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall contain the PDI against which incoming packets will be matched.See Table7.5.2.2-2."})
ies.append({ "ie_type" : "Outer Header Removal", "ie_value" : "Outer Header Removal", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UP function is required to remove one or more outer header(s) from the packets matching this PDR."})
ies.append({ "ie_type" : "FAR ID", "ie_value" : "FAR ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Activate Predefined Rules IE is not included or if it is included but it does not result in activating a predefined FAR, and if the MAR ID is not included.When present this IE shall contain the FAR ID to be associated to the PDR."})
ies.append({ "ie_type" : "FAR ID", "ie_value" : "FAR ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Activate Predefined Rules IE is not included or if it is included but it does not result in activating a predefined FAR, and if the MAR ID is not included. This IE may be present if the CP function activated a predefined rule name with a predefined FAR but the CP function wishes to overwrite the predefined FAR by another FAR. (NOTE 2)When present this IE shall contain the FAR ID to be associated to the PDR."})
type_list["URR ID"]["max_tlv_more"] = "7"
ies.append({ "ie_type" : "URR ID", "ie_value" : "URR ID", "presence" : "C", "tlv_more" : "7", "comment" : "This IE shall be present if a measurement action shall be applied to packets matching this PDR.When present, this IE shall contain the URR IDs to be associated to the PDR.Several IEs within the same IE type may be present to represent a list of URRs to be associated to the PDR."})
ies.append({ "ie_type" : "QER ID", "ie_value" : "QER ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if a QoS enforcement or QoS marking action shall be applied to packets matching this PDR.When present, this IE shall contain the QER IDs to be associated to the PDR. Several IEs within the same IE type may be present to represent a list of QERs to be associated to the PDR."})
ies.append({ "ie_type" : "Activate Predefined Rules", "ie_value" : "Activate Predefined Rules", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if Predefined Rule(s) shall be activated for this PDR. When present this IE shall contain one Predefined Rules name.Several IEs with the same IE type may be present to represent multiple Activate Predefined Rules names."})
ies.append({ "ie_type" : "Activation Time", "ie_value" : "Activation Time", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the PDR activation shall be deferred. (NOTE 1)"})
ies.append({ "ie_type" : "Deactivation Time", "ie_value" : "Deactivation Time", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the PDR deactivation shall be deferred. (NOTE 1)"})
ies.append({ "ie_type" : "MAR ID", "ie_value" : "MAR ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the PDR is provisioned to match the downlink traffic towards the UE for a PFCP session established for a MA PDU session."})
ies.append({ "ie_type" : "Packet Replication and Detection Carry-On Information", "ie_value" : "Packet Replication and Detection Carry-On Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the PDR is provisioned to match a broadcast packet. When present, it contains the information to instruct the UPF to replicate the packet and to carry-on the look-up of other PDRs of other PFCP sessions matching the packet (see clause 5.2.1)."})
ies.append({ "ie_type" : "MAR ID", "ie_value" : "MAR ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the PDR is provisioned to match the downlink traffic of non-GBR QoS flows towards the UE for a PFCP session established for a MA PDU session."})
ies.append({ "ie_type" : "Packet Replication and Detection Carry-On Information", "ie_value" : "Packet Replication and Detection Carry-On Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the PDR is provisioned to match a broadcast packet. When present, it contains the information to instruct the UPF to replicate the packet and to carry-on the look-up of other PDRs of other PFCP sessions matching the packet (see clause5.2.1)."})
ies.append({ "ie_type" : "IP Multicast Addressing Info within PFCP Session Establishment Request", "ie_value" : "IP Multicast Addressing Info", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present in an UL PDR controlling UL IGMP/MLD traffic (see5.25).When present, it shall contain a (range of) IP multicast address(es), and optionally source specific address(es), identifying a set of IP multicast flows. See Table7.5.2.2-4.Several IEs with the same IE type may be present to represent multiple IP multicast flows. "})
ies.append({ "ie_type" : "UE IP Address", "ie_value" : "UE IP address Pool Identity", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if UE IP Addresses Pools are configured in the UPF.When present, this IE shall contain the identity of a UE IP address Pool configured in the UPF.Two IEs with the same IE type shall be present to represent UE IPv4 Address Pool Identity and UE IPv6 Address Pool Identity if different pool identities are used for UE IPv4 address and UE IPv6 address and both an UE IPv4 and an UE IPv6 address are requested to be assigned for the PFCP session. In this case, the UE IPv4 Address Pool Identity shall be encoded before the UE IPv6 Address Pool Identity."})
ies.append({ "ie_type" : "MPTCP Applicable Indication", "ie_value" : "MPTCP Applicable Indication", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the PDR is used to detect UL user plane traffic for which MPTCP is applicable."})
ies.append({ "ie_type" : "Transport Delay Reporting", "ie_value" : "Transport Delay Reporting", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present to request the UPF to add the delay of the GTP-U path with the preceding uplink GTP-U entity to the N3/N9 Delay Result received in the GTP-U PDU Session Container extension header (see 3GPPTS38.415[34]) of the uplink packet, when monitoring the QoS of a PDU session based on GTP-U path monitoring (see clause5.24.5.3). See Table7.5.2.2-6."})
ies.append({ "ie_type" : "RAT Type", "ie_value" : "RAT Type", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to provide the UP Function the current RAT Type for the UL PDR for statistics purpose if the PFCP session is established for a MA PDU session."})
group_list["Create PDR"] = { "index" : "101", "type" : "1", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Source Interface", "ie_value" : "Source Interface", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall identify the source interface of the incoming packet."})
ies.append({ "ie_type" : "F-TEID", "ie_value" : "Local F-TEID", "presence" : "O", "tlv_more" : "0", "comment" : "This IE shall not be present if Traffic Endpoint ID is present.If present, this IE shall identify the local F-TEID to match for an incoming packet.The CP function shall set the CHOOSE (CH) bit to 1 if the UP function supports the allocation of F-TEID and the CP function requests the UP function to assign a local F-TEID to the PDR."})
ies.append({ "ie_type" : "F-TEID", "ie_value" : "Local F-TEID", "presence" : "O", "tlv_more" : "0", "comment" : "This IE shall not be present if Traffic Endpoint ID is present.If present, this IE shall identify the local F-TEID to match for an incoming packet.The CP function shall set the CHOOSE (CH) bit to 1 if the CP function requests the UP function to assign a local F-TEID to the PDR."})
ies.append({ "ie_type" : "Local Ingress Tunnel", "ie_value" : "Local Ingress Tunnel", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall not be present if Traffic Endpoint ID is present.If present, this IE shall identify the IP address and the UDP port for a UDP/IP tunnel.The CP function shall set the CHOOSE (CH) bit to 1 if the CP function requests the UP function to assign a local ingress tunnel to the PDR."})
ies.append({ "ie_type" : "Network Instance", "ie_value" : "Network Instance", "presence" : "O", "tlv_more" : "0", "comment" : "This IE shall not be present if Traffic Endpoint ID is present. It shall be present if the CP function requests the UP function to allocate a UE IP address/prefix and the Traffic Endpoint ID is not present.If present, this IE shall identify the Network instance to match for the incoming packet. See NOTE 1, NOTE2."})
ies.append({ "ie_type" : "Redundant Transmission Parameters", "ie_value" : "Redundant Transmission Detection Parameters", "presence" : "O", "tlv_more" : "0", "comment" : "If present, this IE shall contain the information used for the reception of redundant uplink packets on N3/N9 interfaces."})
ies.append({ "ie_type" : "UE IP Address", "ie_value" : "UE IP address", "presence" : "O", "tlv_more" : "0", "comment" : "This IE shall not be present if Traffic Endpoint ID is present.If present, this IE shall identify the source or destination IP address to match for the incoming packet. (NOTE 5)The CP function shall set the CHOOSE (CH) bit to 1 if the UP function supports the allocation of UE IP address/ prefix and the CP function requests the UP function to assign a UE IP address/prefix to the PDR."})
ies.append({ "ie_type" : "Traffic Endpoint ID", "ie_value" : "Traffic Endpoint ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE may be present if the UP function has indicated the support of PDI optimization.If present, this IE shall uniquely identify the Traffic Endpoint for that PFCP session.Several IEs with the same IE type may be present to provision several Traffic Endpoints with different Traffic Endpoint IDs, from which the UPF may receive packets pertaining to the same service data flow, which is subject for the same FAR, QER and URR, if the UPF has indicated it supports MTE feature as specified in clause 8.2.25. See NOTE 6."})
ies.append({ "ie_type" : "UE IP Address", "ie_value" : "UE IP address", "presence" : "O", "tlv_more" : "0", "comment" : "This IE shall not be present if Traffic Endpoint ID is present.If present, this IE shall identify the UE IP address as the source or destination IP address to match for the incoming packet. (NOTE 5).The CP function shall set the CHOOSE IPV4 (CHV4) and/or the CHOOSE IPV6 (CHV6) bits to 1 if the UP function supports the allocation of UE IP address/ prefix and the CP function requests the UP function to assign a UE IP address/prefix to the PDR.This IE may also present to identify the IP address of the CP function as the destination IP address to match for the incoming packet, e.g. Radius, Diameter or DHCP signalling packet. (NOTE 8).In the 5GC, several IEs with the same IE type may be present to represent multiple UE IP addresses, if the UPF indicated support of the IP6PL feature (see clause5.21)."})
ies.append({ "ie_type" : "Traffic Endpoint ID", "ie_value" : "Traffic Endpoint ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE may be present if the UP function has indicated the support of PDI optimization.If present, this IE shall uniquely identify the Traffic Endpoint for that PFCP session.Several IEs with the same IE type may be present to provision several Traffic Endpoints with different Traffic Endpoint IDs, from which the UPF may receive packets pertaining to the same service data flow, which is subject for the same FAR, QER and URR, if the UPF has indicated it supports MTE feature as specified in clause8.2.25. See NOTE 6."})
type_list["SDF Filter"]["max_tlv_more"] = "7"
ies.append({ "ie_type" : "SDF Filter", "ie_value" : "SDF Filter", "presence" : "O", "tlv_more" : "7", "comment" : "If present, this IE shall identify the SDF filter to match for the incoming packet. Several IEs with the same IE type may be present to provision a list of SDF Filters. The full set of applicable SDF filters, if any, shall be provided during the creation or the modification of the PDI.See NOTE 3."})
ies.append({ "ie_type" : "Application ID", "ie_value" : "Application ID", "presence" : "O", "tlv_more" : "0", "comment" : "If present, this IE shall identify the Application ID to match for the incoming packet. "})
ies.append({ "ie_type" : "Ethernet PDU Session Information", "ie_value" : "Ethernet PDU Session Information", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to identify all the (DL) Ethernet packets matching an Ethernet PDU session (see clause 5.13.1)."})
ies.append({ "ie_type" : "Ethernet PDU Session Information", "ie_value" : "Ethernet PDU Session Information", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to identify all the (DL) Ethernet packets matching an Ethernet PDU session (see clause5.13.1)."})
ies.append({ "ie_type" : "Ethernet Packet Filter", "ie_value" : "Ethernet Packet Filter", "presence" : "O", "tlv_more" : "0", "comment" : "If present, this IE shall identify the Ethernet PDU to match for the incoming packet.Several IEs with the same IE type may be present to represent a list of Ethernet Packet Filters.The full set of applicable Ethernet Packet filters, if any, shall be provided during the creation or the modification of the PDI."})
ies.append({ "ie_type" : "QFI", "ie_value" : "QFI", "presence" : "O", "tlv_more" : "0", "comment" : "This IE shall not be present if Traffic Endpoint ID is present and the QFI(s) are included in the Traffic Endpoint.If present, this IE shall identify the QoS Flow Identifier to match for the incoming packet.Several IEs with the same IE type may be present to provision a list of QFIs. When present, the full set of applicable QFIs shall be provided during the creation or the modification of the PDI. "})
type_list["Framed-Route"]["max_tlv_more"] = "7"
ies.append({ "ie_type" : "Framed-Route", "ie_value" : "Framed-Route", "presence" : "O", "tlv_more" : "7", "comment" : "This IE may be present for a DL PDR if the UPF indicated support of Framed Routing (see clause 8.2.25). If present, this IE shall describe a framed route.Several IEs with the same IE type may be present to provision a list of framed routes. (NOTE 5)"})
ies.append({ "ie_type" : "Framed-Routing", "ie_value" : "Framed-Routing", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present for a DL PDR if the UPF indicated support of Framed Routing (see clause 8.2.25). If present, this IE shall describe a framed route. "})
ies.append({ "ie_type" : "Framed-Route", "ie_value" : "Framed-Route", "presence" : "O", "tlv_more" : "7", "comment" : "This IE may be present for a PDR if the UPF indicated support of Framed Routing (see clauses8.2.25 and 5.16). If present, this IE shall describe a framed route.Several IEs with the same IE type may be present to provision a list of framed routes. (NOTE 5)"})
ies.append({ "ie_type" : "Framed-Routing", "ie_value" : "Framed-Routing", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present for a DL PDR if the UPF indicated support of Framed Routing (see clauses8.2.25 and 5.16). If present, this IE shall describe the routing method for the UP function for the IP route related to Framed-Routes or Framed-IPv6-Routes. (NOTE 7)"})
type_list["Framed-IPv6-Route"]["max_tlv_more"] = "7"
ies.append({ "ie_type" : "Framed-IPv6-Route", "ie_value" : "Framed-IPv6-Route", "presence" : "O", "tlv_more" : "7", "comment" : "This IE may be present for a DL PDR if the UPF indicated support of Framed Routing (see clause 8.2.25). If present, this IE shall describe a framed IPv6 route.Several IEs with the same IE type may be present to provision a list of framed IPv6 routes. (NOTE 5)"})
ies.append({ "ie_type" : "Framed-IPv6-Route", "ie_value" : "Framed-IPv6-Route", "presence" : "O", "tlv_more" : "7", "comment" : "This IE may be present for a PDR if the UPF indicated support of Framed Routing (see clauses8.2.25 and 5.16). If present, this IE shall describe a framed IPv6 route.Several IEs with the same IE type may be present to provision a list of framed IPv6 routes. (NOTE5)"})
ies.append({ "ie_type" : "3GPP Interface Type", "ie_value" : "Source Interface Type", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to indicate the 3GPP interface type of the source interface, if required by functionalities in the UP Function, e.g. for performance measurements."})
ies.append({ "ie_type" : "IP Multicast Addressing Info within PFCP Session Establishment Request", "ie_value" : "IP Multicast Addressing Info", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present in a DL PDR controlling DL IP multicast traffic (see clause5.25).When present, it shall contain a (range of) IP multicast address(es), and optionally source specific address(es), identifying a set of IP multicast flows. See Table7.5.2.2-4.Several IEs with the same IE type may be present to represent multiple IP multicast flows."})
ies.append({ "ie_type" : "IP Multicast Addressing Info within PFCP Session Establishment Request", "ie_value" : "IP Multicast Addressing Info", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present in a DL PDR controlling DL IP multicast traffic (see clause5.25).When present, it shall contain a (range of) IP multicast address(es), and optionally source specific address(es), identifying a set of IP multicast flows. See Table7.5.2.2-4.This IE shall be present over N4mb, if multicast transport is used over N6mb and if Traffic Endpoint ID is not present.Several IEs with the same IE type may be present to represent multiple IP multicast flows."})
ies.append({ "ie_type" : "DNS Query Filter", "ie_value" : "DNS Query Filter", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present for an UL PDR if the UPF indicated support of DNS traffic steering based on FQDN in the DNS Query message.If present, this IE shall identify the DNS Query filter to match for the incoming DNS Query packets. Several IEs with the same IE type may be present to provision a list of DNS Query Filters. The full set of applicable DNS Query filters, if any, shall be provided during the creation or the modification of the PDI."})
ies.append({ "ie_type" : "MBS Session Identifier", "ie_value" : "MBS Session Identifier", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present when the PDR is created to receive MBS session data. (NOTE9)"})
ies.append({ "ie_type" : "Area Session ID", "ie_value" : "Area Session ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present for a location dependent MBS service. When present, it shall contain the Area Session ID, which together with the MBS Session Identifier, uniquely identify the service area part of the content data of the MBS service. (NOTE9)"})
group_list["PDI"] = { "index" : "102", "type" : "2", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Ethernet Filter ID", "ie_value" : "Ethernet Filter ID", "presence" : "C", "tlv_more" : "0", "comment" : "This shall be present if Bidirectional Ethernet filter is required. This IE shall uniquely identify an Ethernet Filter among all the Ethernet Filters provisioned for a given PFCP session."})
@ -107,7 +150,7 @@ ies.append({ "ie_type" : "S-TAG", "ie_value" : "S-TAG", "presence" : "O", "tlv_m
ies.append({ "ie_type" : "SDF Filter", "ie_value" : "SDF Filter", "presence" : "O", "tlv_more" : "7", "comment" : "If packet filtering is required, for Ethernet frames with Ethertype indicating IPv4 or IPv6 payload, this IE shall describe the IP Packet Filter Set.Several IEs with the same IE type may be present to represent a list of SDF filters."})
group_list["Ethernet Packet Filter"] = { "index" : "232", "type" : "132", "ies" : ies }
ies = []
ies.append({ "ie_type" : "IP Multicast Address", "ie_value" : "IP Multicast Address", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall contain the IP multicast address(es) of the DL multicast flow(s) or indicate any IP multicast address."})
ies.append({ "ie_type" : "IP Multicast Address", "ie_value" : "IP Multicast Address", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall contain the IP multicast address(es) of the DL multicast flow(s) or indicate any IP multicast address.For N4mb, the IP Multicast Address shall be set to the value of IP Multicast Address in the SSM for the MBS Session."})
ies.append({ "ie_type" : "Source IP Address", "ie_value" : "Source IP Address", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain the source specific IP address of the DL multicast flow.Several IEs with the same IE type may be present to represent multiple source specific addresses.If this IE is not present, this indicates any source IP address."})
group_list["IP Multicast Addressing Info within PFCP Session Establishment Request"] = { "index" : "288", "type" : "188", "ies" : ies }
ies = []
@ -125,6 +168,8 @@ ies.append({ "ie_type" : "Forwarding Parameters", "ie_value" : "Forwarding Param
ies.append({ "ie_type" : "Duplicating Parameters", "ie_value" : "Duplicating Parameters", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present when the Apply Action requests the packets to be duplicated. It may be present otherwise.When present, this IE shall contain the forwarding instructions to be applied by the UP function for the traffic to be duplicated, when the Apply Action requests the packets to be duplicated.Several IEs with the same IE type may be present to represent to duplicate the packets to different destinations. See NOTE 1.See table 7.5.2.3-3."})
ies.append({ "ie_type" : "BAR ID", "ie_value" : "BAR ID", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain the BAR ID of the BAR defining the buffering instructions to be applied by the UP function when the Apply Action requests the packets to be buffered. "})
ies.append({ "ie_type" : "Redundant Transmission Forwarding Parameters", "ie_value" : "Redundant Transmission Forwarding Parameters", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present when the Apply Action requests the packets to be duplicated for redundant transmission and the Forwarding Parameters IE is included. It may be present otherwise.When present, this IE shall contain the forwarding instructions to be applied by the UP function for the traffic to be duplicated, when the Apply Action requests the packets to be duplicated for redundant transmission. Except for the parameters included in the Redundant Transmission Parameters IE, the duplicated packets shall apply the same parameters as those indicated in the Forwarding Parameters IE.See table7.5.2.3-4."})
ies.append({ "ie_type" : "MBS Multicast Parameters", "ie_value" : "MBS Multicast Parameters", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present when the Apply Action is set to FSSM. This requests the MB-UPF to forward the MBS session data to a Low Layer SSM."})
ies.append({ "ie_type" : "Add MBS Unicast Parameters", "ie_value" : "Add MBS Unicast Parameters", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present when the Apply Action is set to MBSU. This requests the MB-UPF to forward the MBS session data to a remote GTP-U peer for unicast transport.Several IEs with the same IE type may be present to request the MB-UPF to forward the MBS session data to multiple remote GTP-U peers."})
group_list["Create FAR"] = { "index" : "103", "type" : "3", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Destination Interface", "ie_value" : "Destination Interface", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall identify the destination interface of the outgoing packet."})
@ -138,6 +183,7 @@ ies.append({ "ie_type" : "Traffic Endpoint ID", "ie_value" : "Linked Traffic End
ies.append({ "ie_type" : "Proxying", "ie_value" : "Proxying", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if proxying is to be performed by the UP function.When present, this IE shall contain the information that the UPF shall respond to Address Resolution Protocol and / or IPv6 Neighbour Solicitation based on the local cache information for the Ethernet PDUs."})
ies.append({ "ie_type" : "3GPP Interface Type", "ie_value" : "Destination Interface Type", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to indicate the 3GPP interface type of the destination interface, if required by functionalities in the UP Function, e.g. for performance measurements."})
ies.append({ "ie_type" : "Data Network Access Identifier", "ie_value" : "Data Network Access Identifier", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present over N16a to link the UL FAR in an UL CL or BP towards a specific local PSA, if more than one local PSA has been inserted by an I-SMF. It may be present over N16a otherwise. This IE shall not be sent over N4.When present, it shall be set to the DNAI associated to the local PSA towards which the UL traffic shall be forwarded. "})
ies.append({ "ie_type" : "IP Address and Port number Replacement", "ie_value" : "IP Address and Port Number Replacement", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UP function indicated support of replacing the source and destination IP address and Port Number of an (inner) IP packet, and if the source or destination IP address and/or port number of the (Inner) IP packet shall be modified, e.g. for Edge Relocation using EAS IP address and Port number Replacement (see clause5.33.3).This IE shall also be present if the destination IP address and/or port number of the (Inner) IP packet shall be modified, e.g. for EAS Discovery procedure with Local DNS Server/Resolver using Local DNS Server/Resolver IP address and Port number Replacement (see clause5.33.4).(NOTE 3)"})
group_list["Forwarding Parameters"] = { "index" : "104", "type" : "4", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Destination Interface", "ie_value" : "Destination Interface", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall identify the destination interface of the outgoing packet."})
@ -150,35 +196,53 @@ ies.append({ "ie_type" : "Outer Header Creation", "ie_value" : "Outer Header Cre
ies.append({ "ie_type" : "Network Instance", "ie_value" : "Network Instance for Redundant Transmission", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if the GTP-U tunnel used for redundant transmission uses a different network Instance than the Network Instance used for the primary GTP-U tunnel."})
group_list["Redundant Transmission Forwarding Parameters"] = { "index" : "370", "type" : "270", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Destination Interface", "ie_value" : "Destination Interface", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall identify the destination interface of the outgoing packet."})
ies.append({ "ie_type" : "Network Instance", "ie_value" : "Network Instance", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall identify the Network instance towards which to send the outgoing packet."})
ies.append({ "ie_type" : "Outer Header Creation", "ie_value" : "Outer Header Creation", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall instruct the MB-UPF to create a GTP-U header using the Low Layer SSM and the C-TEID allocated to the MBS session."})
ies.append({ "ie_type" : "Transport Level Marking", "ie_value" : "Transport Level marking", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UP function is required to mark the IP header with the DSCP marking as defined by IETFRFC2474[22]. When present, it shall contain the value of the DSCP in the TOS/Traffic Class field. "})
ies.append({ "ie_type" : "3GPP Interface Type", "ie_value" : "Destination Interface Type", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to indicate the 3GPP interface type of the destination interface, if required by functionalities in the UP Function, e.g. for performance measurements.Several IEs with the same IE type may be present to represent multiple destination interface types (e.g. N3mb and N19mb)."})
group_list["MBS Multicast Parameters"] = { "index" : "401", "type" : "301", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Destination Interface", "ie_value" : "Destination Interface", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall identify the destination interface of the outgoing packet."})
ies.append({ "ie_type" : "MBS Unicast Parameters ID", "ie_value" : "MBS Unicast Parameters ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall identify the MBS Unicast Parameters IE."})
ies.append({ "ie_type" : "Network Instance", "ie_value" : "Network Instance", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall identify the Network instance towards which to send the outgoing packet. "})
ies.append({ "ie_type" : "Outer Header Creation", "ie_value" : "Outer Header Creation", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall be present to request the MB-UPF to add one outer header to the outgoing packet. It shall contain the F-TEID of the remote GTP-U peer when adding a GTP-U/UDP/IP header."})
ies.append({ "ie_type" : "Transport Level Marking", "ie_value" : "Transport Level marking", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UP function is required to mark the IP header with the DSCP marking as defined by IETFRFC2474[22]. When present, it shall contain the value of the DSCP in the TOS/Traffic Class field. "})
ies.append({ "ie_type" : "3GPP Interface Type", "ie_value" : "Destination Interface Type", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to indicate the 3GPP interface type of the destination interface, if required by functionalities in the UP Function, e.g. for performance measurements."})
group_list["Add MBS Unicast Parameters"] = { "index" : "402", "type" : "302", "ies" : ies }
ies = []
ies.append({ "ie_type" : "URR ID", "ie_value" : "URR ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall uniquely identify the URR among all the URRs configured for this PFCP session."})
ies.append({ "ie_type" : "Measurement Method", "ie_value" : "Measurement Method", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the method for measuring the network resources usage, i.e. whether the data volume, duration (i.e. time), combined volume/duration, or event shall be measured."})
ies.append({ "ie_type" : "Reporting Triggers", "ie_value" : "Reporting Triggers", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the trigger(s) for reporting network resources usage to the CP function, e.g. periodic reporting or reporting upon reaching a threshold, or envelope closure."})
ies.append({ "ie_type" : "Reporting Triggers", "ie_value" : "Reporting Triggers", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the trigger(s) for reporting network resources usage to the CP function, e.g. periodic reporting or reporting upon reaching a threshold, or envelope closure, or when an SMF instructs an UPF to report the reception of the End Marker packet from the old I-UPF during a Service Request procedure (see clauses 4.2.3.2 and 4.23.4.3 in 3GPPTS23.502[29])."})
ies.append({ "ie_type" : "Measurement Period", "ie_value" : "Measurement Period", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if periodic reporting is required. When present, it shall indicate the period for generating and reporting usage reports. "})
ies.append({ "ie_type" : "Volume Threshold", "ie_value" : "Volume Threshold", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if volume-based measurement is used and reporting is required upon reaching a volume threshold. When present, it shall indicate the traffic volume value after which the UP function shall report network resources usage to the CP function for this URR."})
ies.append({ "ie_type" : "Volume Quota", "ie_value" : "Volume Quota", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if volume-based measurement is used and the CP function needs to provision a Volume Quota in the UP function (see clause 5.2.2.2)When present, it shall indicate the Volume Quota value."})
ies.append({ "ie_type" : "Volume Quota", "ie_value" : "Volume Quota", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if volume-based measurement is used and the CP function needs to provision a Volume Quota in the UP function (see clause5.2.2.2)When present, it shall indicate the Volume Quota value."})
ies.append({ "ie_type" : "Event Threshold", "ie_value" : "Event Threshold", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if event-based measurement is used and reporting is required upon reaching an event threshold. When present, it shall indicate the number of events after which the UP function shall report to the CP function for this URR."})
ies.append({ "ie_type" : "Event Quota", "ie_value" : "Event Quota", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if event-based measurement is used and the CP function needs to provision an Event Quota in the UP function (see clause 5.2.2.2)When present, it shall indicate the Event Quota value."})
ies.append({ "ie_type" : "Event Quota", "ie_value" : "Event Quota", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if event-based measurement is used and the CP function needs to provision an Event Quota in the UP function (see clause5.2.2.2)When present, it shall indicate the Event Quota value."})
ies.append({ "ie_type" : "Time Threshold", "ie_value" : "Time Threshold", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if time-based measurement is used and reporting is required upon reaching a time threshold. When present, it shall indicate the time usage after which the UP function shall report network resources usage to the CP function for this URR."})
ies.append({ "ie_type" : "Time Quota", "ie_value" : "Time Quota", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if time-based measurement is used and the CP function needs to provision a Time Quota in the UP function (see clause 5.2.2.2)When present, it shall indicate the Time Quota value"})
ies.append({ "ie_type" : "Time Quota", "ie_value" : "Time Quota", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if time-based measurement is used and the CP function needs to provision a Time Quota in the UP function (see clause5.2.2.2)When present, it shall indicate the Time Quota value"})
ies.append({ "ie_type" : "Quota Holding Time", "ie_value" : "Quota Holding Time", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present, for a time, volume or event-based measurement, if reporting is required and packets are no longer permitted to pass on when no packets are received during a given inactivity period.When present, it shall contain the duration of the inactivity period."})
ies.append({ "ie_type" : "Dropped DL Traffic Threshold", "ie_value" : "Dropped DL Traffic Threshold", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if reporting is required when the DL traffic being dropped exceeds a threshold.When present, it shall contain the threshold of the DL traffic being dropped."})
ies.append({ "ie_type" : "Quota Validity Time", "ie_value" : "Quota Validity Time", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if reporting is required when the Quota Validity time for a given Quota is over."})
ies.append({ "ie_type" : "Monitoring Time", "ie_value" : "Monitoring Time", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain the time at which the UP function shall re-apply the volume or time threshold. "})
ies.append({ "ie_type" : "Subsequent Volume Threshold", "ie_value" : "Subsequent Volume Threshold", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the Monitoring Time IE is present and volume-based measurement is used.When present, it shall indicate the traffic volume value after which the UP function shall report network resources usage to the CP function for this URR for the period after the Monitoring Time."})
ies.append({ "ie_type" : "Subsequent Time Threshold", "ie_value" : "Subsequent Time Threshold", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the Monitoring Time IE is present and time-based measurement is used.When present, it shall indicate the time usage after which the UP function shall report network resources usage to the CP function for this URR for the period after the Monitoring Time."})
ies.append({ "ie_type" : "Subsequent Volume Quota", "ie_value" : "Subsequent Volume Quota", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if Monitoring Time IE is present and volume-based measurement is used (see clause 5.2.2.2).When present, it shall indicate the Volume Quota value which the UP function shall use for this URR for the period after the Monitoring Time."})
ies.append({ "ie_type" : "Subsequent Time Quota", "ie_value" : "Subsequent Time Quota", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if Monitoring Time IE is present and time-based measurement is used (see clause 5.2.2.2)When present, it shall indicate the Time Quota value which the UP function shall use for this URR for the period after the Monitoring Time."})
ies.append({ "ie_type" : "Subsequent Volume Quota", "ie_value" : "Subsequent Volume Quota", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if Monitoring Time IE is present and volume-based measurement is used (see clause5.2.2.2).When present, it shall indicate the Volume Quota value which the UP function shall use for this URR for the period after the Monitoring Time."})
ies.append({ "ie_type" : "Subsequent Time Quota", "ie_value" : "Subsequent Time Quota", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if Monitoring Time IE is present and time-based measurement is used (see clause5.2.2.2)When present, it shall indicate the Time Quota value which the UP function shall use for this URR for the period after the Monitoring Time."})
ies.append({ "ie_type" : "Subsequent Event Threshold", "ie_value" : "Subsequent Event Threshold", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the Monitoring Time IE is present and event-based measurement is used.When present, it shall indicate the number of events after which the UP function shall report to the CP function for this URR for the period after the Monitoring Time."})
ies.append({ "ie_type" : "Subsequent Event Quota", "ie_value" : "Subsequent Event Quota", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if Monitoring Time IE is present and event-based measurement is used (see clause 5.2.2.2).When present, it shall indicate the Event Quota value which the UP function shall use for this URR for the period after the Monitoring Time."})
ies.append({ "ie_type" : "Subsequent Event Quota", "ie_value" : "Subsequent Event Quota", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if Monitoring Time IE is present and event-based measurement is used (see clause5.2.2.2).When present, it shall indicate the Event Quota value which the UP function shall use for this URR for the period after the Monitoring Time."})
ies.append({ "ie_type" : "Inactivity Detection Time", "ie_value" : "Inactivity Detection Time", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if time-based measurement is used and the time measurement need to be suspended when no packets are received during a given inactivity period. When present, it shall contain the duration of the inactivity period."})
ies.append({ "ie_type" : "Linked URR ID", "ie_value" : "Linked URR ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if linked usage reporting is required. When present, this IE shall contain the linked URR ID which is related with this URR (see clause 5.2.2.4).Several IEs with the same IE type may be present to represent multiple linked URRs which are related with this URR."})
ies.append({ "ie_type" : "Measurement Information", "ie_value" : "Measurement Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if any of the following flag is set to 1.Applicable flags are:- Measurement Before QoS Enforcement Flag: this flag shall be set to 1 if the traffic usage before any QoS Enforcement is requested to be measured.- Inactive Measurement Flag: this flag shall be set to 1 if the measurement shall be paused (inactive). The measurement shall be performed (active) if the bit is set to 0 or if the Measurement Information IE is not present in the Create URR IE.- Reduced Application Detection Information Flag: this flag may be set to 1, if the Reporting Triggers request to report the start or stop of application, to request the UP function to only report the Application ID in the Application Detection Information, e.g. for envelope reporting.- Immediate Start Time Metering Flag: this flag may be set to 1 if time-based measurement is used and the UP function is requested to start the time metering immediately at receiving the flag. .- Measurement of Number of Packets Flag: this flag may be set to 1 when the Volume-based measurement applies, to request the UP function to report the number of packets in UL/DL/Total in addition to the measurement in octet."})
ies.append({ "ie_type" : "Linked URR ID", "ie_value" : "Linked URR ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if linked usage reporting is required. When present, this IE shall contain the linked URR ID which is related with this URR (see clause5.2.2.4).Several IEs with the same IE type may be present to represent multiple linked URRs which are related with this URR."})
ies.append({ "ie_type" : "Measurement Information", "ie_value" : "Measurement Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if any of the following flag is set to 1.Applicable flags are:- Measurement Before QoS Enforcement Flag: this flag shall be set to 1 if the traffic usage before any QoS Enforcement is requested to be measured.- Inactive Measurement Flag: this flag shall be set to 1 if the measurement shall be paused (inactive). The measurement shall be performed (active) if the bit is set to 0 or if the Measurement Information IE is not present in the Create URR IE.- Reduced Application Detection Information Flag: this flag may be set to 1, if the Reporting Triggers request to report the start or stop of application, to request the UP function to only report the Application ID in the Application Detection Information, e.g. for envelope reporting.- Immediate Start Time Metering Flag: this flag may be set to 1 if time-based measurement is used and the UP function is requested to start the time metering immediately at receiving the flag. .- Measurement of Number of Packets Flag: this flag may be set to 1 when the Volume-based measurement applies, to request the UP function to report the number of packets in UL/DL/Total in addition to the measurement in octet.- Send Start Pause of Charging Flag: this flag may be set to 1 by the CP function if the UP Function is requested to send a Start Pause of Charging indication to the upstream GTP-U entity(s) when the Dropped DL Traffic Threshold is reached.- Applicable for Start of Pause of Charging Flag: this flag may be set to 1 if the URR is applicable for Start of Pause of Charging, so that the UP function shall stop the usage measurement for the URR when receiving Start Pause of Charging indication from the peer downstream GTP-U entity.- Control of Inactive Measurement Flag: the flag shall be set to 1 if the CP function requests the UP function to stop or resume the usage measurement for the URR with the ASPOC flag set to 1 according to the value of Inactive Measurement Flag."})
ies.append({ "ie_type" : "Time Quota Mechanism", "ie_value" : "Time Quota Mechanism", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if time-based measurement based on CTP or DTP is used."})
ies.append({ "ie_type" : "Aggregated URRs", "ie_value" : "Aggregated URRs", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if the URR is used to support a Credit Pool.Several IEs with the same IE type may be present to provide multiple aggregated URRs."})
ies.append({ "ie_type" : "FAR ID", "ie_value" : "FAR ID for Quota Action", "presence" : "C", "tlv_more" : "0", "comment" : "This IE may be present if the Volume Quota IE and/or the Time Quota IE and/or Event Quota IE is provisioned in the URR and the UP Function indicated support of the Quota Action feature.When present, it shall contain the identifier of the substitute FAR the UP function shall apply, for the traffic associated to this URR, when exhausting any of these quotas. See NOTE 1. "})
ies.append({ "ie_type" : "FAR ID", "ie_value" : "FAR ID for Quota Action", "presence" : "C", "tlv_more" : "0", "comment" : "This IE may be present if the Volume Quota IE and/or the Time Quota IE and/or Event Quota IE is provisioned in the URR and the UP Function indicated support of the Quota Action feature.When present, it shall contain the identifier of the substitute FAR the UP function shall apply, for the traffic associated to this URR, when exhausting any of these quotas. See NOTE 1, NOTE 3. "})
ies.append({ "ie_type" : "Ethernet Inactivity Timer", "ie_value" : "Ethernet Inactivity Timer", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if Ethernet traffic reporting is used and the SMF requests the UP function to also report inactive UE MAC addresses.When present, it shall contain the duration of the Ethernet inactivity period."})
ies.append({ "ie_type" : "Additional Monitoring Time", "ie_value" : "Additional Monitoring Time", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain the time at which the UP function shall re-apply the volume or time or event threshold/quota provisioned in the IE.Several IEs with the same IE type may be present to provide multiple Monitoring Times."})
ies.append({ "ie_type" : "Number of Reports", "ie_value" : "Number of Reports", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the UP function supports the NORP feature. When present, it shall indicate the number of usage reports to be generated by the URR. See also clauses 5.2.2.2.1 and 5.2.2.3.1. See NOTE 2."})
ies.append({ "ie_type" : "Number of Reports", "ie_value" : "Number of Reports", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the UP function supports the NORP feature. When present, it shall indicate the number of usage reports to be generated by the URR. See also clauses5.2.2.2.1 and 5.2.2.3.1. See NOTE 2."})
ies.append({ "ie_type" : "Application ID", "ie_value" : "Exempted Application ID for Quota Action", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the Volume Quota IE and/or the Time Quota IE and/or Event Quota IE is provisioned in the URR and the UP Function has indicated support of the QUASF feature as specified in clause8.2.25.When present, it shall contain an Application ID matching packets that shall be exempted from applying the FAR ID for Quota Action when the quota has been exhausted.Several IEs with the same IE type may be present to provide multiple Application IDs.See NOTE 4."})
ies.append({ "ie_type" : "SDF Filter", "ie_value" : "Exempted SDF Filter for Quota Action", "presence" : "O", "tlv_more" : "7", "comment" : "This IE may be present if the Volume Quota IE and/or the Time Quota IE and/or Event Quota IE is provisioned in the URR and the UP Function has indicated support of the QUASF feature as specified in clause8.2.25.When present, it shall contain an SDF Filter matching packets that shall be exempted from applying the FAR ID for Quota Action when the quota has been exhausted.Several IEs with the same IE type may be present to provide multiple SDF Filters.See NOTE 4."})
ies.append({ "ie_type" : "User Plane Inactivity Timer", "ie_value" : "User Plane Inactivity Timer", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present, for a time, volume or event-based measurement, if reporting is required when no packets are received for any PDR(s) associated with the URR during a given inactivity period. See clause5.11.3.When present, it shall contain the duration of the inactivity period."})
group_list["Create URR"] = { "index" : "106", "type" : "6", "ies" : ies }
ies = []
ies.append({ "ie_type" : "QER ID", "ie_value" : "QER ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall uniquely identify the QER among all the QER configured for that PFCP session"})
@ -189,11 +253,12 @@ ies.append({ "ie_type" : "GBR", "ie_value" : "Guaranteed Bitrate", "presence" :
ies.append({ "ie_type" : "Packet Rate", "ie_value" : "Packet Rate", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if a Packet Rate enforcement action (in terms of number of packets per time interval) shall be applied to packets matching this PDR.When present, this IE shall indicate the uplink and/or downlink maximum packet rate to be enforced for packets matching the PDR.This IE may be set to the value of:- downlink packet rate for Serving PLMN Rate Control, for a QER that is referenced by all PDRs of the UE belonging to the PDN connection, or belonging to the PDU session (5GC) using CIoT EPS Optimizations as described in 3GPPTS23.401[2] and 3GPPTS23.501[28], respectively;- uplink and/or downlink packet rate for APN Rate Control, for a QER that is referenced by all the PDRs of the UE belonging to all PDN connections to the same APN, or for Small Data Rate Control (5GC) for a QER related to the PDU session using CIoT EPS Optimizations as described in 3GPPTS23.401[2] and 3GPPTS23.501[28], respectively."})
ies.append({ "ie_type" : "Packet Rate Status", "ie_value" : "Packet Rate Status", "presence" : "C", "tlv_more" : "0", "comment" : "This IE may be present during the UE requested PDU session establishment, or UE requested PDN connection establishment.When present, the UP function shall first enforce these rules. Only after that shall the UP function enforce the rules in the Packet Rate IE."})
ies.append({ "ie_type" : "DL Flow Level Marking", "ie_value" : "DL Flow Level Marking", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be set if the UP function is required to mark the packets for QoS purposes:- by the TDF-C, for DL flow level marking for application indication (see clause5.4.5);- by the PGW-C, for setting the GTP-U Service Class Indicator extension header for service indication towards GERAN (see clause5.4.12)."})
ies.append({ "ie_type" : "QFI", "ie_value" : "QoS flow identifier", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the QoS flow identifier shall be inserted by the UPF."})
ies.append({ "ie_type" : "QFI", "ie_value" : "QoS flow identifier", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the QoS flow identifier shall be inserted or modified by the UPF or shall be inserted by the MB-UPF. (NOTE2)"})
ies.append({ "ie_type" : "RQI", "ie_value" : "Reflective QoS", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UP function is required to insert a Reflective QoS Indicator to request reflective QoS for uplink traffic."})
ies.append({ "ie_type" : "Paging Policy Indicator", "ie_value" : "Paging Policy Indicator", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UPF is required to set the Paging Policy Indicator (PPI) in outgoing packets (see clause5.4.3.2 of 3GPPTS23.501[28]).When present, it shall be set to the PPI value to set. "})
ies.append({ "ie_type" : "Averaging Window", "ie_value" : "Averaging Window", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the UP function is required to use a different Averaging window than the default one. (NOTE)"})
ies.append({ "ie_type" : "Averaging Window", "ie_value" : "Averaging Window", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the UP function is required to use a different Averaging window than the default one. (NOTE1)"})
ies.append({ "ie_type" : "QER Control Indications", "ie_value" : "QER Control Indications", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if the CP function needs to provide the QoS enforcement control information:- RCSR (Rate Control Status Reporting): the CP function shall set this bit 1 to request the UP function to report the rate control status when the PFCP session is released. "})
ies.append({ "ie_type" : "QER Indications", "ie_value" : "QER Indications", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if at least one of the flags is set to 1.- IQFISN (Insert DL MBS QFI Sequence Number): this IE shall be set to 1 to request the MB-UPF to insert the DL MBS QFI Sequence Number in the PDU Session Container of the MBS data packets (see 3GPPTS38.415[34])."})
group_list["Create QER"] = { "index" : "107", "type" : "7", "ies" : ies }
ies = []
ies.append({ "ie_type" : "BAR ID", "ie_value" : "BAR ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall uniquely identify the BAR provisioned for that PFCP session."})
@ -202,50 +267,73 @@ ies.append({ "ie_type" : "Suggested Buffering Packets Count", "ie_value" : "Sugg
ies.append({ "ie_type" : "MT-EDT Control Information", "ie_value" : "MT-EDT Control Information", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be included to request the SGW-U to report the sum of DL Data Packets Size."})
group_list["Create BAR"] = { "index" : "185", "type" : "85", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Traffic Endpoint ID", "ie_value" : "Traffic Endpoint ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall uniquely identify the Traffic Endpoint for that Sx session."})
ies.append({ "ie_type" : "F-TEID", "ie_value" : "Local F-TEID", "presence" : "O", "tlv_more" : "0", "comment" : "If present, this IE shall identify the local F-TEID to match for an incoming packet.The CP function shall set the CHOOSE (CH) bit to 1 if the UP function supports the allocation of F-TEID and the CP function requests the UP function to assign a local F-TEID to the Traffic Endpoint."})
ies.append({ "ie_type" : "Network Instance", "ie_value" : "Network Instance", "presence" : "O", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function requests the UP function to allocate a UE IP address/prefix.If present, this IE shall identify the Network instance to match for the incoming packet. See NOTE 1, NOTE2."})
ies.append({ "ie_type" : "Traffic Endpoint ID", "ie_value" : "Traffic Endpoint ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall uniquely identify the Traffic Endpoint for that PFCP session."})
ies.append({ "ie_type" : "F-TEID", "ie_value" : "Local F-TEID", "presence" : "O", "tlv_more" : "0", "comment" : "If present, this IE shall identify the local F-TEID to match for an incoming packet.The CP function shall set the CHOOSE (CH) bit to 1 if the CP function requests the UP function to assign a local F-TEID to the Traffic Endpoint."})
ies.append({ "ie_type" : "Network Instance", "ie_value" : "Network Instance", "presence" : "O", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function requests the UP function to allocate a UE IP address/prefix.If present, this IE shall identify the Network instance to match for the incoming packet. See NOTE1, NOTE2."})
ies.append({ "ie_type" : "Redundant Transmission Parameters", "ie_value" : "Redundant Transmission Detection Parameters", "presence" : "O", "tlv_more" : "0", "comment" : "If present, this IE shall contain the information used for the reception of redundant uplink packets on N3/N9 interfaces.See Table7.5.2.2-5."})
ies.append({ "ie_type" : "UE IP Address", "ie_value" : "UE IP address", "presence" : "O", "tlv_more" : "0", "comment" : "If present, this IE shall identify the source or destination IP address to match for the incoming packet. (NOTE 3)The CP function shall set the CHOOSE (CH) bit to 1 if the UP function supports the allocation of UE IP address/ prefix and the CP function requests the UP function to assign a UE IP address/prefix to the Traffic Endpoint."})
ies.append({ "ie_type" : "Ethernet PDU Session Information", "ie_value" : "Ethernet PDU Session Information", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to identify all the (DL) Ethernet packets matching an Ethernet PDU session (see clause 5.13.1)."})
ies.append({ "ie_type" : "Framed-Route", "ie_value" : "Framed-Route", "presence" : "O", "tlv_more" : "7", "comment" : "This IE may be present for a DL PDR if the UPF indicated support of Framed Routing (see clause 8.2.25). If present, this IE shall describe a framed route.Several IEs with the same IE type may be present to provision a list of framed routes. (NOTE 3)"})
ies.append({ "ie_type" : "Framed-Routing", "ie_value" : "Framed-Routing", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present for a DL PDR if the UPF indicated support of Framed Routing (see clause 8.2.25). If present, this IE shall describe the framed routing associated to a framed route. "})
ies.append({ "ie_type" : "Framed-IPv6-Route", "ie_value" : "Framed-IPv6-Route", "presence" : "O", "tlv_more" : "7", "comment" : "This IE may be present for a DL PDR if the UPF indicated support of Framed Routing (see clause 8.2.25). If present, this IE shall describe a framed IPv6 route.Several IEs with the same IE type may be present to provision a list of framed IPv6 routes. (NOTE 3)"})
ies.append({ "ie_type" : "QFI", "ie_value" : "QFI", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the UPF has indicated it supports MTE feature as specified in clause 8.2.25.If present, this IE shall identify the QoS Flow Identifier to match for the incoming packet received from the traffic endpoint.Several IEs with the same IE type may be present to provision a list of QFIs. When present, the full set of applicable QFIs shall be provided."})
ies.append({ "ie_type" : "UE IP Address", "ie_value" : "UE IP address", "presence" : "O", "tlv_more" : "0", "comment" : "If present, this IE shall identify the UE IP address as the source or destination IP address to match for the incoming packet. (NOTE3).The CP function shall set the CHOOSE IPV4 (CHV4) and/or CHOOSE IPV6 (CHV6) bits to 1 if the UP function supports the allocation of UE IP address/ prefix and the CP function requests the UP function to assign a UE IP address/prefix to the Traffic Endpoint.This IE may also present to identify the IP address of the CP function as the destination IP address to match for the incoming packet, e.g. Radius, Diameter or DHCP signalling packet. (NOTE 6).In the 5GC, several IEs with the same IE type may be present to represent multiple UE IP addresses, if the UPF indicated support of the IP6PL feature (see clause5.21)."})
ies.append({ "ie_type" : "Ethernet PDU Session Information", "ie_value" : "Ethernet PDU Session Information", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to identify all the (DL) Ethernet packets matching an Ethernet PDU session (see clause5.13.1)."})
ies.append({ "ie_type" : "Framed-Route", "ie_value" : "Framed-Route", "presence" : "O", "tlv_more" : "7", "comment" : "This IE may be present for a PDR if the UPF indicated support of Framed Routing (see clauses 8.2.25 and 5.16). If present, this IE shall describe a framed route.Several IEs with the same IE type may be present to provision a list of framed routes. (NOTE 3)"})
ies.append({ "ie_type" : "Framed-Routing", "ie_value" : "Framed-Routing", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present for a DL PDR if the UPF indicated support of Framed Routing (see clauses 8.2.25 and 5.16). If present, this IE shall describe the routing method for the UP function for the IP route related to Framed-Routes or Framed-IPv6-Routes. (NOTE 5)"})
ies.append({ "ie_type" : "Framed-IPv6-Route", "ie_value" : "Framed-IPv6-Route", "presence" : "O", "tlv_more" : "7", "comment" : "This IE may be present for a PDR if the UPF indicated support of Framed Routing (see clauses 8.2.25 and 5.16). If present, this IE shall describe a framed IPv6 route.Several IEs with the same IE type may be present to provision a list of framed IPv6 routes. (NOTE 3)"})
ies.append({ "ie_type" : "QFI", "ie_value" : "QFI", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the UPF has indicated it supports MTE feature as specified in clause8.2.25.If present, this IE shall identify the QoS Flow Identifier to match for the incoming packet received from the traffic endpoint.Several IEs with the same IE type may be present to provision a list of QFIs. When present, the full set of applicable QFIs shall be provided."})
ies.append({ "ie_type" : "3GPP Interface Type", "ie_value" : "Source Interface Type", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to indicate the 3GPP interface type of the source interface, if required by functionalities in the UP Function, e.g. for performance measurements.(NOTE 4)"})
ies.append({ "ie_type" : "Local Ingress Tunnel", "ie_value" : "Local Ingress Tunnel", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present over N4mb, for Nmb9, or for N6mb if unicast transport is used over N6mb, if Traffic Endpoint ID is present in the DL PDR.If present, this IE shall identify the IP address and the UDP port for a UDP/IP tunnel.The CP function shall set the CHOOSE (CH) bit to 1 if the CP function requests the UP function to assign a local ingress tunnel to the PDR."})
ies.append({ "ie_type" : "IP Multicast Addressing Info within PFCP Session Establishment Request", "ie_value" : "IP Multicast Addressing Info", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present over N4mb, if multicast transport is used over N6mb, if Traffic Endpoint ID is present in the DL PDR.See Table 7.5.2.2-4."})
ies.append({ "ie_type" : "MBS Session Identifier", "ie_value" : "MBS Session Identifier", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present when the PDR is created to receive MBS session data. (NOTE 7)"})
ies.append({ "ie_type" : "Area Session ID", "ie_value" : "Area Session ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present for a location dependent MBS service. When present, it shall contain the Area Session ID, which together with the MBS Session Identifier, uniquely identify the service area part of the content data of the MBS service. (NOTE7)"})
ies.append({ "ie_type" : "RAT Type", "ie_value" : "RAT Type", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to provide the UP Function the current RAT Type for the UL PDR(s) for statistics purpose if the PFCP session is established for a MA PDU session."})
group_list["Create Traffic Endpoint"] = { "index" : "227", "type" : "127", "ies" : ies }
ies = []
ies.append({ "ie_type" : "MAR ID", "ie_value" : "MAR ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall uniquely identify the MAR among all the MARs configured for that PFCP session."})
ies.append({ "ie_type" : "Steering Functionality", "ie_value" : "Steering Functionality", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall be present to indicate the applicable traffic steering functionality."})
ies.append({ "ie_type" : "Steering Mode", "ie_value" : "Steering Mode", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall be present to indicate the steering mode."})
ies.append({ "ie_type" : "3GPP Access Forwarding Action Information", "ie_value" : "3GPP Access Forwarding Action Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present to provision 3GPP access specific forwarding action information if the UE is registered for 3GPP access, except when steering mode is set to Active-Standby, Non-3GPP access is the active access and 3GPP access is not used as Standby access. In the latter case, this IE may be present.(NOTE)"})
ies.append({ "ie_type" : "Non-3GPP Access Forwarding Action Information", "ie_value" : "Non-3GPP Access Forwarding Action Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present to provision non-3GPP access specific forwarding action information if the UE is registered for non-3GPP access, except when steering mode is set to Active-Standby, 3GPP access is the active access and Non-3GPP access is not used as Standby access. In the latter case, this IE may be present.(NOTE)"})
ies.append({ "ie_type" : "Non-3GPP Access Forwarding Action Information", "ie_value" : "Non-3GPP Access Forwarding Action Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present to provision non-3GPP access specific forwarding action information if the UE is registered for non-3GPP access, except when steering mode is set to Active-Standby, 3GPP access is the active access and Non-3GPP access is not used as Standby access. In the latter case, this IE may be present.(NOTE1)"})
ies.append({ "ie_type" : "Thresholds", "ie_value" : "Threshold Values", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the steering mode is Load Balancing with fixed split percentages or Priority-based and if available.When present, this IE shall contain the RTT and/or a Packet Loss Rate.(NOTE2)"})
ies.append({ "ie_type" : "Steering Mode Indicator", "ie_value" : "Steering Mode Indicator", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if at least one of the flags is set to 1:- ALBI (Autonomous Load Balancing Indicator): this flag shall be set to 1 if the SMF allows the UPF to apply autonomous load-balance when the Steering Mode is Load-Balancing;- UEAI (UE Assistance Indicator): this flag shall be set to 1 if the SMF allows UE assistant load-balance when the Steering Mode is Load-Balancing.(NOTE2)"})
group_list["Create MAR"] = { "index" : "265", "type" : "165", "ies" : ies }
ies = []
ies.append({ "ie_type" : "FAR ID", "ie_value" : "FAR ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall uniquely identify the FAR among all the FARs configured for this PFCP session. "})
ies.append({ "ie_type" : "Weight", "ie_value" : "Weight", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if steering mode is set to Load Balancing to identify the weight of the FAR.(NOTE 1) "})
ies.append({ "ie_type" : "Priority", "ie_value" : "Priority", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the steering mode is set to Active-Standby or Priority-based. (NOTE 2)"})
ies.append({ "ie_type" : "URR ID", "ie_value" : "URR ID", "presence" : "C", "tlv_more" : "7", "comment" : "This IE shall uniquely identify the URR among all the URRs configured for the PFCP session. This enables the SMF to request separate usage reports for different FARs (i.e. different accesses) (NOTE 3)Several IEs within the same IE type may be present to represent a list of URRs to be associated to the FAR."})
ies.append({ "ie_type" : "RAT Type", "ie_value" : "RAT Type", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to provide the UP Function the current RAT Type for the DL FAR for statistics purpose."})
group_list["3GPP Access Forwarding Action Information"] = { "index" : "266", "type" : "166", "ies" : ies }
group_list["Non-3GPP Access Forwarding Action Information"] = { "index" : "267", "type" : "167", "ies" : ies }
ies = []
ies.append({ "ie_type" : "SRR ID", "ie_value" : "SRR ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall uniquely identify the SRR among all the SRRs configured for this PFCP session."})
ies.append({ "ie_type" : "Access Availability Control Information", "ie_value" : "Access Availability Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UPF needs to report when an access type becomes available or not available (see clause5.20.4.2)."})
ies.append({ "ie_type" : "QoS Monitoring per QoS flow Control Information", "ie_value" : "QoS Monitoring per QoS flow Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the per QoS Flow per UE QoS monitoring reporting is triggered.Several IEs within the same IE type may be present to represent a list of QoS Monitoring per QoS flow Control Information for different QoS flows."})
ies.append({ "ie_type" : "Direct Reporting Information", "ie_value" : "Direct Reporting Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UPF indicated support of the DRQOS feature and if the QoS monitoring events shall be reported by the UPF directly to a Local NEF or AF, or both to the SMF and Local NEF/AF (see clause5.33.5).(NOTE)"})
group_list["Create SRR"] = { "index" : "312", "type" : "212", "ies" : ies }
ies = []
ies.append({ "ie_type" : "MPTCP Control Information", "ie_value" : "MPTCP Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the PDU session is a MA PDU session and the MPTCP functionality is required."})
ies.append({ "ie_type" : "ATSSS-LL Control Information", "ie_value" : "ATSSS-LL Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the PDU session is a MA PDU session and the ATSSS-LL functionality is required."})
ies.append({ "ie_type" : "PMF Control Information", "ie_value" : "PMF Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the PDU session is a MA PDU session and the PMF functionality is required."})
ies.append({ "ie_type" : "MPTCP Control Information", "ie_value" : "MPTCP Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the PDU session is an MA PDU session and the MPTCP functionality is required."})
ies.append({ "ie_type" : "ATSSS-LL Control Information", "ie_value" : "ATSSS-LL Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the PDU session is an MA PDU session and the ATSSS-LL functionality is required."})
ies.append({ "ie_type" : "PMF Control Information", "ie_value" : "PMF Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the PDU session is an MA PDU session and the PMF functionality is required."})
group_list["Provide ATSSS Control Information"] = { "index" : "320", "type" : "220", "ies" : ies }
ies = []
ies.append({ "ie_type" : "RDS Configuration Information", "ie_value" : "RDS Configuration Information", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE indicates if the RDS mechanism is supported."})
group_list["Provide RDS Configuration Information"] = { "index" : "361", "type" : "261", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Failed Rule ID", "ie_value" : "Failed Rule ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the rule that failed to be applied."})
ies.append({ "ie_type" : "Cause", "ie_value" : "Failure Cause", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the reason why the rule could not be applied."})
ies.append({ "ie_type" : "Offending IE Information", "ie_value" : "Offending IE Information", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall be included to report the offending IE which caused the rule activation failure, e.g. an unknown predefined rule name included in Activate Predefined Rules IE or an unknown Application ID in the PDI.Several IEs within the same IE type may be present to report multiple offending IEs."})
group_list["Partial Failure Information"] = { "index" : "372", "type" : "272", "ies" : ies }
ies = []
ies.append({ "ie_type" : "DNS Server Address", "ie_value" : "DNS Server Address", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to include a DNS server address.Several IEs with the same IE type may be present to represent multiple DNS server addresses.The order of the IEs in the message indicates the priority, i.e. the first IE shall contain the primary DNS server address and the second IE shall contain the secondary DNS server address."})
ies.append({ "ie_type" : "NBNS Server Address", "ie_value" : "NBNS Server Address", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to include an NBNS server address.Several IEs with the same IE type may be present to represent multiple NBNS server addresses.The order of the IEs in the message indicates the priority, i.e. the first IE shall contain the primary NBNS server address and the second IE shall contain the secondary NBNS server address."})
ies.append({ "ie_type" : "LNS Address", "ie_value" : "LNS Address", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to include the used Tunnel Server Endpoint, i.e., the LNS IP address, for the PFCP Session."})
group_list["Created L2TP Session"] = { "index" : "379", "type" : "279", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Multicast Transport Information", "ie_value" : "Multicast Transport Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present to include a low layer source specific multicast address information (i.e. multicast destination address and related source IP address) and a GTP-U Common Tunnel EndPoint Identifier (C-TEID) if the CP function has requested to allocate such information for multicast transport over N3mb and/or N19mb."})
group_list["MBS Session N4 Information"] = { "index" : "403", "type" : "303", "ies" : ies }
ies = []
ies.append({ "ie_type" : "PDR ID", "ie_value" : "PDR ID", "presence" : "M", "tlv_more" : "0", "comment" : ""})
ies.append({ "ie_type" : "F-TEID", "ie_value" : "Local F-TEID", "presence" : "C", "tlv_more" : "0", "comment" : "If the UP function allocates the F-TEID, this IE shall be present and shall contain the local F-TEID to be used for this PDR."})
ies.append({ "ie_type" : "F-TEID", "ie_value" : "Local F-TEID for Redundant Transmission", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present and shall contain the local F-TEID used for this PDR for the reception of redundant uplink packets on N3/N9 interfaces, if the CP function requested a Local F-TEID to be assigned for redundant transmission."})
ies.append({ "ie_type" : "UE IP Address", "ie_value" : "UE IP Address", "presence" : "C", "tlv_more" : "0", "comment" : "If the UP function allocates the UE IP address/prefix, this IE shall be present and shall contain the UE IP address/ prefix assigned by the UP function.In the 5GC, several IEs with the same IE type may be present to represent multiple UE IP addresses, if the UPF indicated support of the IP6PL feature (see clause5.21)."})
ies.append({ "ie_type" : "Local Ingress Tunnel", "ie_value" : "Local Ingress Tunnel", "presence" : "C", "tlv_more" : "0", "comment" : "If the UP function allocates the Local Ingress Tunnel, this IE shall be present and shall contain the Local Ingress Tunnel to be used for this PDR."})
group_list["Created PDR"] = { "index" : "108", "type" : "8", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Sequence Number", "ie_value" : "Load Control Sequence Number", "presence" : "M", "tlv_more" : "0", "comment" : "See clause6.2.3.3.2 for the description and use of this parameter."})
@ -262,15 +350,16 @@ ies.append({ "ie_type" : "Traffic Endpoint ID", "ie_value" : "Traffic Endpoint I
ies.append({ "ie_type" : "F-TEID", "ie_value" : "Local F-TEID", "presence" : "C", "tlv_more" : "0", "comment" : "If the UP function allocates the F-TEID, this IE shall be present and shall contain the local F-TEID to be used for this Traffic Endpoint."})
ies.append({ "ie_type" : "F-TEID", "ie_value" : "Local F-TEID for Redundant Transmission", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present and shall contain the local F-TEID to be used for this PDR for the reception of redundant uplink packets on N3/N9 interfaces, if the CP function requested a Local F-TEID to be assigned for redundant transmission."})
ies.append({ "ie_type" : "UE IP Address", "ie_value" : "UE IP Address", "presence" : "C", "tlv_more" : "0", "comment" : "If the UP function allocates the UE IP address/prefix, this IE shall be present and shall contain the UE IP address/ prefix assigned by the UP function.In the 5GC, several IEs with the same IE type may be present to represent multiple UE IP addresses, if the UPF indicated support of the IP6PL feature (see clause5.21)."})
ies.append({ "ie_type" : "Local Ingress Tunnel", "ie_value" : "Local Ingress Tunnel", "presence" : "C", "tlv_more" : "0", "comment" : "If the UP function allocates the Local Ingress Tunnel, this IE shall be present and shall contain the Local Ingress Tunnel to be used for this PDR."})
group_list["Created Traffic Endpoint"] = { "index" : "228", "type" : "128", "ies" : ies }
ies = []
ies.append({ "ie_type" : "DS-TT Port Number", "ie_value" : "DS-TT Port Number", "presence" : "C", "tlv_more" : "0", "comment" : "If the BII bit was set to 1 in the Create Bridge Info for TSC IE, this IE shall be present and shall contain the DS-TT Port Number assigned by the UP function."})
ies.append({ "ie_type" : "TSN Bridge ID", "ie_value" : "TSN Bridge ID", "presence" : "C", "tlv_more" : "0", "comment" : "If the BII bit was set to 1 in the Create Bridge Info for TSC IE, this IE shall be present and shall contain the TSN Bridge ID assigned by the UP function."})
ies.append({ "ie_type" : "5GS User Plane Node", "ie_value" : "5GS User Plane Node", "presence" : "C", "tlv_more" : "0", "comment" : "If the BII bit was set to 1 in the Create Bridge Info for TSC IE, this IE shall be present and shall contain the 5GS User Plane Node assigned by the UP function."})
group_list["Created Bridge Info for TSC"] = { "index" : "295", "type" : "195", "ies" : ies }
ies = []
ies.append({ "ie_type" : "MPTCP Parameters", "ie_value" : "MPTCP Parameters", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the TCI flag in the MPTCP Control Information IE is set to 1 in the Request message and the UPF allocated resources for MPTCP."})
ies.append({ "ie_type" : "ATSSS-LL Parameters", "ie_value" : "ATSSS-LL Parameters", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the LLI flag in ATSSS-LL Control Information IE is set to 1 in the Request message and the UPF allocated resources for ATSSS-LL. "})
ies.append({ "ie_type" : "PMF Parameters", "ie_value" : "PMF Parameters", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the PMFI flag in the PFM Control Information IE is set to 1 in the Request message and the UPF allocated resources for PMF."})
ies.append({ "ie_type" : "PMF Parameters", "ie_value" : "PMF Parameters", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the PMFI flag in the PFM Control Information IE is set to 1 in the Request message and the UPF allocated resources for PMF.Several IEs with the same IE type may be present to provide multiple PMF Parameters."})
group_list["ATSSS Control Parameters"] = { "index" : "321", "type" : "221", "ies" : ies }
ies = []
ies.append({ "ie_type" : "MPTCP Address Information", "ie_value" : "MPTCP Address Information", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall carry the information of allocated MPTCP address."})
@ -281,6 +370,7 @@ ies.append({ "ie_type" : "ATSSS-LL Information", "ie_value" : "ATSSS-LL Informat
group_list["ATSSS-LL Parameters"] = { "index" : "326", "type" : "226", "ies" : ies }
ies = []
ies.append({ "ie_type" : "PMF Address Information", "ie_value" : "PMF Address Information", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall contain the PMF Address Information."})
ies.append({ "ie_type" : "QFI", "ie_value" : "QoS flow identifier", "presence" : "O", "tlv_more" : "0", "comment" : "If present, this IE shall identify the QoS Flow Identifier of the QoS flow related to the PMF address information."})
group_list["PMF Parameters"] = { "index" : "327", "type" : "227", "ies" : ies }
ies = []
ies.append({ "ie_type" : "PDR ID", "ie_value" : "PDR ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall uniquely identify the PDR among all the PDRs configured for that PFCP session."})
@ -296,6 +386,7 @@ ies.append({ "ie_type" : "Activation Time", "ie_value" : "Activation Time", "pre
ies.append({ "ie_type" : "Deactivation Time", "ie_value" : "Deactivation Time", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the PDR deactivation time shall be changed. (NOTE 2)"})
ies.append({ "ie_type" : "IP Multicast Addressing Info within PFCP Session Establishment Request", "ie_value" : "IP Multicast Addressing Info", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present in an UL PDR controlling UL IGMP/MLD traffic (see clause5.25), if it needs to be changedWhen present, it shall contain a (range of) IP multicast address(es), and optionally source specific address(es), identifying a set of IP multicast flows. See Table7.5.2.2-4.Several IEs with the same IE type may be present to represent multiple IP multicast flows.When present, the UPF shall replace any IP multicast address(es) previously stored for this PDR by the IP multicast address(es) received in this IE."})
ies.append({ "ie_type" : "Transport Delay Reporting", "ie_value" : "Transport Delay Reporting", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if Transport Delay Reporting needs to be changed (e.g. transport delay reporting needs to be activated or deactivated). See Table7.5.2.2-6."})
ies.append({ "ie_type" : "RAT Type", "ie_value" : "RAT Type", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if there is a RAT change for the UL PDR if the PFCP session is established for a MA PDU session."})
group_list["Update PDR"] = { "index" : "109", "type" : "9", "ies" : ies }
ies = []
ies.append({ "ie_type" : "FAR ID", "ie_value" : "FAR ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall identify the FAR to be updated."})
@ -304,6 +395,8 @@ ies.append({ "ie_type" : "Update Forwarding Parameters", "ie_value" : "Update Fo
ies.append({ "ie_type" : "Update Duplicating Parameters", "ie_value" : "Update Duplicating Parameters", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if it is changed. See table7.5.4.3-3.Several IEs with the same IE type may be present to request to duplicate the packets to different destinations."})
ies.append({ "ie_type" : "Redundant Transmission Forwarding Parameters", "ie_value" : "Redundant Transmission Forwarding Parameters", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if it is changed. See table7.5.2.3-4."})
ies.append({ "ie_type" : "BAR ID", "ie_value" : "BAR ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the BAR ID associated to the FAR needs to be modified. "})
ies.append({ "ie_type" : "Add MBS Unicast Parameters", "ie_value" : "Add MBS Unicast Parameters", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present when the Apply Action is set to MBSU to request the MB-UPF to forward the MBS session data to a remote GTP-U peer for unicast transport, if no remote GTP-U peers are provisioned yet in the MB-UPF, or if additional GTP-U peers need to be provisioned. (NOTE).Several IEs with the same IE type may be present to represent multiple remote GTP-U peers.See Table 7.5.2.3-6."})
ies.append({ "ie_type" : "Remove MBS Unicast Parameters", "ie_value" : "Remove MBS Unicast Parameters", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present when the MB-SMF to request the MB-UPF to delete a remote GTP-U peer to stop forwarding the MBS session data to that remote GTP-U peer for unicast transport.Several IEs with the same IE type may be present to represent to delete multiple remote GTP-U peers."})
group_list["Update FAR"] = { "index" : "110", "type" : "10", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Destination Interface", "ie_value" : "Destination Interface", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall only be provided if it is changed.When present, it shall indicate the destination interface of the outgoing packet."})
@ -317,6 +410,7 @@ ies.append({ "ie_type" : "PFCPSMReq-Flags", "ie_value" : "PFCPSMReq-Flags", "pre
ies.append({ "ie_type" : "Traffic Endpoint ID", "ie_value" : "Linked Traffic Endpoint ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE may be present, if it is changed and the UP function indicated support of the PDI optimization feature, (see clause8.2.25). When present, it shall identify the Traffic Endpoint ID allocated for this PFCP session to receive the traffic in the reverse direction (see clause5.2.3.1)."})
ies.append({ "ie_type" : "3GPP Interface Type", "ie_value" : "Destination Interface Type", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present to indicate the 3GPP interface type of the destination interface, if the value has changed."})
ies.append({ "ie_type" : "Data Network Access Identifier", "ie_value" : "Data Network Access Identifier", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be provided over N16a if it is changed. This IE shall not be sent over N4. "})
ies.append({ "ie_type" : "IP Address and Port number Replacement", "ie_value" : "IP Address and Port Number Replacement", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall only be provided if it is changed. "})
group_list["Update Forwarding Parameters"] = { "index" : "111", "type" : "11", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Destination Interface", "ie_value" : "Destination Interface", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall only be provided if it is changed.When present, it shall indicate the destination interface of the outgoing packet."})
@ -327,7 +421,7 @@ group_list["Update Duplicating Parameters"] = { "index" : "205", "type" : "105",
ies = []
ies.append({ "ie_type" : "URR ID", "ie_value" : "URR ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall uniquely identify the URR among all the URRs configured for that PFCP session"})
ies.append({ "ie_type" : "Measurement Method", "ie_value" : "Measurement Method", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the measurement method needs to be modified.When present, this IE shall indicate the method for measuring the network resources usage, i.e. whether the data volume, duration (i.e. time), combined volume/duration, or event shall be measured."})
ies.append({ "ie_type" : "Reporting Triggers", "ie_value" : "Reporting Triggers", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the reporting triggers needs to be modified.When present, this IE shall indicate the trigger(s) for reporting network resources usage to the CP function, e.g. periodic reporting or reporting upon reaching a threshold, or envelope closure."})
ies.append({ "ie_type" : "Reporting Triggers", "ie_value" : "Reporting Triggers", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the reporting triggers needs to be modified.When present, this IE shall indicate the trigger(s) for reporting network resources usage to the CP function, e.g. periodic reporting or reporting upon reaching a threshold, or envelope closure, or when an SMF instructs an UPF to report the reception of the End Marker packet from the old I-UPF during a Service Request procedure (see clauses 4.2.3.2 and 4.23.4.3 in 3GPPTS23.502[29])."})
ies.append({ "ie_type" : "Measurement Period", "ie_value" : "Measurement Period", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Measurement Period needs to be modified.When present, it shall indicate the period for generating and reporting usage reports. "})
ies.append({ "ie_type" : "Volume Threshold", "ie_value" : "Volume Threshold", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Volume Threshold needs to be modified. When present, it shall indicate the traffic volume value after which the UP function shall report network resources usage to the CP function for this URR."})
ies.append({ "ie_type" : "Volume Quota", "ie_value" : "Volume Quota", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Volume Quota needs to be modified.When present, it shall indicate the Volume Quota value."})
@ -346,14 +440,17 @@ ies.append({ "ie_type" : "Subsequent Time Quota", "ie_value" : "Subsequent Time
ies.append({ "ie_type" : "Subsequent Event Threshold", "ie_value" : "Subsequent Event Threshold", "presence" : "O", "tlv_more" : "0", "comment" : "This IE shall be present if the Subsequent Event Threshold needs to be modified.When present, it shall indicate the number of events after which the UP function shall report to the CP function for this URR for the period after the Monitoring Time."})
ies.append({ "ie_type" : "Subsequent Event Quota", "ie_value" : "Subsequent Event Quota", "presence" : "O", "tlv_more" : "0", "comment" : "This IE shall be present if the Subsequent Event Quota needs to be modified.When present, it shall indicate the Event Quota value which the UP function shall use for this URR for the period after the Monitoring Time."})
ies.append({ "ie_type" : "Inactivity Detection Time", "ie_value" : "Inactivity Detection Time", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Inactivity Detection Time needs to be modified.When present, it shall indicate the duration of the inactivity period after which time measurement needs to be suspended when no packets are received during this inactivity period. "})
ies.append({ "ie_type" : "Linked URR ID", "ie_value" : "Linked URR ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if linked usage reporting is required. When present, this IE shall contain the linked URR ID which is related with this URR (see clause 5.2.2.4).Several IEs with the same IE type may be present to represent multiple linked URRs which are related with this URR."})
ies.append({ "ie_type" : "Measurement Information", "ie_value" : "Measurement Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if any of the following flag is set to 1.Applicable flags are:- Inactive Measurement Flag: this flag shall be set to 1 if the measurement shall be paused (inactive). The measurement shall be performed (active) if the bit is set to 0 or if the Measurement Information IE is not present in the Update URR IE.- Reduced Application Detection Information Flag: this flag may be set to 1, if the Reporting Triggers request to report the start or stop of application, to request the UP function to only report the Application ID in the Application Detection Information, e.g. for envelope reporting.- Immediate Start Time Metering Flag: this flag may be set to 1 if time-based measurement is used and the UP function is requested to start the time metering immediately at receiving the flag."})
ies.append({ "ie_type" : "Linked URR ID", "ie_value" : "Linked URR ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if linked usage reporting is required. When present, this IE shall contain the linked URR ID which is related with this URR (see clause5.2.2.4).Several IEs with the same IE type may be present to represent multiple linked URRs which are related with this URR."})
ies.append({ "ie_type" : "Measurement Information", "ie_value" : "Measurement Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if any of the following flag is set to 1 or if the change of flag(s) from 1 to 0 results in the IE becoming set to all zeros.Applicable flags are:- Inactive Measurement Flag: this flag shall be set to 1 if the measurement shall be paused (inactive). The measurement shall be performed (active) if the bit is set to 0 or if the Measurement Information IE is not present in the Update URR IE.- Reduced Application Detection Information Flag: this flag may be set to 1, if the Reporting Triggers request to report the start or stop of application, to request the UP function to only report the Application ID in the Application Detection Information, e.g. for envelope reporting.- Immediate Start Time Metering Flag: this flag may be set to 1 if time-based measurement is used and the UP function is requested to start the time metering immediately at receiving the flag.- Send Start Pause of Charging Flag: this flag may be set to 1 by the CP function if the UP Function is requested to send a Start Pause of Charging indication to the upstream GTP-U entity(s) when the Dropped DL Traffic Threshold is reached.- Applicable for Start of Pause of Charging Flag: this flag may be set to 1 if the URR is applicable for Start of Pause of Charging, so that the UP function shall stop the usage measurement for the URR when receiving Start Pause of Charging indication from the peer downstream GTP-U entity.- Control of Inactive Measurement Flag: the flag shall be set to 1 if the CP function requests the UP function to stop or resume the usage measurement for the URR with the ASPOC flag set to 1 according to the value of Inactive Measurement Flag."})
ies.append({ "ie_type" : "Time Quota Mechanism", "ie_value" : "Time Quota Mechanism", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if time-based measurement based on CTP or DTP needs to be modified."})
ies.append({ "ie_type" : "Aggregated URRs", "ie_value" : "Aggregated URRs", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if the Aggregated URRs IE needs to be modified. See Table 7.5.2.4-2.Several IEs with the same IE type may be present to provision multiple aggregated URRs.When present, this IE shall provide the complete list of the aggregated URRs."})
ies.append({ "ie_type" : "FAR ID", "ie_value" : "FAR ID for Quota Action", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the FAR ID for Quota Action IE needs to be modified. This IE may be present if the Volume Quota IE or the Time Quota IE or Event Quota IE is newly provisioned in the URR and the UP Function indicated support of the Quota Action.When present, it shall contain the identifier of the substitute FAR the UP function shall apply, for the traffic associated to this URR, when exhausting any of these quotas. See NOTE 1. "})
ies.append({ "ie_type" : "FAR ID", "ie_value" : "FAR ID for Quota Action", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the FAR ID for Quota Action IE needs to be modified. This IE may be present if the Volume Quota IE or the Time Quota IE or Event Quota IE is newly provisioned in the URR and the UP Function indicated support of the Quota Action.When present, it shall contain the identifier of the substitute FAR the UP function shall apply, for the traffic associated to this URR, when exhausting any of these quotas. See NOTE 1, NOTE 2. "})
ies.append({ "ie_type" : "Ethernet Inactivity Timer", "ie_value" : "Ethernet Inactivity Timer", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Ethernet Inactivity Timer needs to be modified. When present, it shall contain the duration of the Ethernet inactivity period."})
ies.append({ "ie_type" : "Additional Monitoring Time", "ie_value" : "Additional Monitoring Time", "presence" : "O", "tlv_more" : "0", "comment" : "This IE shall be present if the additional Monitoring Time needs to be modified. When present, this IE shall contain the time at which the UP function shall re-apply the volume or time or event threshold/quota. See Table 7.5.2.4-3.The CP function shall provide the full set of Additional Monitoring Times IE(s). The UP function shall replace any Additional Monitoring Times IE(s) provisioned earlier by the new set of received IE(s)."})
ies.append({ "ie_type" : "Additional Monitoring Time", "ie_value" : "Additional Monitoring Time", "presence" : "O", "tlv_more" : "0", "comment" : "This IE shall be present if the additional Monitoring Time needs to be modified. When present, this IE shall contain the time at which the UP function shall re-apply the volume or time or event threshold/quota. See Table7.5.2.4-3.The CP function shall provide the full set of Additional Monitoring Times IE(s).The UP function shall replace any Additional Monitoring Times IE(s) provisioned earlier by the new set of received IE(s)."})
ies.append({ "ie_type" : "Number of Reports", "ie_value" : "Number of Reports", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the Number of Reports need to be changed. When present, it shall indicate the number of usage reports to be generated by the URR. See also clauses5.2.2.2.1 and 5.2.2.3.1."})
ies.append({ "ie_type" : "Application ID", "ie_value" : "Exempted Application ID for Quota Action", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if Application ID for Quota Action needs to be changed.When present, it shall contain an Application ID matching packets that shall be exempted from applying the FAR ID for Quota Action when the quota has been exhausted.Several IEs with the same IE type may be present to provide multiple Application IDs.The CP function shall always provide a complete list of Application IDs.See NOTE 3."})
ies.append({ "ie_type" : "SDF Filter", "ie_value" : "Exempted SDF Filter for Quota Action", "presence" : "C", "tlv_more" : "7", "comment" : "This IE shall be present if the SDF Filter for Quota Action needs to be changed.When present, it shall contain a SDF Filter matching packets that shall be exempted from applying the FAR ID for Quota Action when the quota has been exhausted.Several IEs with the same IE type may be present to provide multiple SDF Filters.The CP function shall always provide a complete list of SDF Filters.See NOTE 3."})
ies.append({ "ie_type" : "User Plane Inactivity Timer", "ie_value" : "User Plane Inactivity Timer", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the User Plane Inactivity Timer needs to be modified.When present, it shall contain the duration of the User Plane Inactivity Timer."})
group_list["Update URR"] = { "index" : "113", "type" : "13", "ies" : ies }
ies = []
ies.append({ "ie_type" : "QER ID", "ie_value" : "QER ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall uniquely identify the QER among all the QRs configured for that PFCP session"})
@ -403,21 +500,24 @@ ies = []
ies.append({ "ie_type" : "MAR ID", "ie_value" : "MAR ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall identify the MAR to be updated."})
ies.append({ "ie_type" : "Steering Functionality", "ie_value" : "Steering Functionality", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if it is changed."})
ies.append({ "ie_type" : "Steering Mode", "ie_value" : "Steering Mode", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if it is changed."})
ies.append({ "ie_type" : "Update 3GPP Access Forwarding Action Information", "ie_value" : "Update 3GPP Access Forwarding Action Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Access Forwarding Action Information 1 was provisioned previously and if any of IEs is to be changed.This IE shall also be present to remove Access Forwarding Action Information 1 that was provisioned previously if the UE deregisters from the corresponding access. This shall be done by including this IE with a null length."})
ies.append({ "ie_type" : "Update Non-3GPP Access Forwarding Action Information", "ie_value" : "Update Non-3GPP Access Forwarding Action Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Access Forwarding Action Information 2 was provisioned previously and if any of IEs is to be changed.This IE shall also be present to remove Access Forwarding Action Information 2 that was provisioned previously if the UE deregisters from the corresponding access. This shall be done by including this IE with a null length."})
ies.append({ "ie_type" : "3GPP Access Forwarding Action Information", "ie_value" : "3GPP Access Forwarding Action Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present to provision access specific (non-3gpp or 3gpp) forwarding action information when another access is added, i.e. when the UE is registered in both non-3GPP and 3GPP accesses.See Table 7.5.2.8-2. "})
ies.append({ "ie_type" : "Non-3GPP Access Forwarding Action Information", "ie_value" : "Non-3GPP Access Forwarding Action Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present to provision access specific (non-3gpp or 3gpp) forwarding action information when another access is added, i.e. when the UE is registered in both non-3GPP and 3GPP accesses.See Table 7.5.2.8-3. "})
ies.append({ "ie_type" : "Update 3GPP Access Forwarding Action Information", "ie_value" : "Update 3GPP Access Forwarding Action Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the 3GPP Access Forwarding Action Information was provisioned previously and if any of IEs is to be changed.This IE shall also be present to remove 3GPP Access Forwarding Action Information that was provisioned previously if the UE deregisters from the corresponding access. This shall be done by including this IE with a null length."})
ies.append({ "ie_type" : "Update Non-3GPP Access Forwarding Action Information", "ie_value" : "Update Non-3GPP Access Forwarding Action Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Non-3GPP Access Forwarding Action Information was provisioned previously and if any of IEs is to be changed.This IE shall also be present to remove the Non-3GPP Access Forwarding Action Information that was provisioned previously if the UE deregisters from the corresponding access. This shall be done by including this IE with a null length."})
ies.append({ "ie_type" : "3GPP Access Forwarding Action Information", "ie_value" : "3GPP Access Forwarding Action Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present to provision 3GPP access specific forwarding action information when this access is added, i.e. when the UE registers to 3GPP access.See Table7.5.2.8-2. "})
ies.append({ "ie_type" : "Non-3GPP Access Forwarding Action Information", "ie_value" : "Non-3GPP Access Forwarding Action Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present to provision Non-3GPP access specific forwarding action information when this access is added, i.e. when the UE registers to non-3GPP access.See Table7.5.2.8-3. "})
ies.append({ "ie_type" : "Thresholds", "ie_value" : "Threshold values", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if it is changed."})
ies.append({ "ie_type" : "Steering Mode Indicator", "ie_value" : "Steering Mode Indicator", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if any of the following flag is set to 1 or if the change of flag(s) from 1 to 0 results in the IE becoming set to all zeros.Applicable flags are:- ALBI (Autonomous Load Balancing Indicator): this flag shall be set to 1 if the SMF allows the UPF to apply autonomous load-balance when the Steering Mode is Load-Balancing;- UEAI (UE Assistance Indicator): this flag shall be set to 1 if the SMF allows UE assistant load-balance when the Steering Mode is Load-Balancing."})
group_list["Update MAR"] = { "index" : "269", "type" : "169", "ies" : ies }
ies = []
ies.append({ "ie_type" : "FAR ID", "ie_value" : "FAR ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if it is changed. "})
ies.append({ "ie_type" : "Weight", "ie_value" : "Weight", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if it is changed."})
ies.append({ "ie_type" : "Priority", "ie_value" : "Priority", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if it is changed."})
ies.append({ "ie_type" : "URR ID", "ie_value" : "URR ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if a measurement action shall be applied or no longer applied to packets for this access.When present, this IE shall contain the list of all the URR IDs to be associated to this access."})
ies.append({ "ie_type" : "RAT Type", "ie_value" : "RAT Type", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if it is changed."})
group_list["Update 3GPP Access Forwarding Action Information"] = { "index" : "275", "type" : "175", "ies" : ies }
group_list["Update Non-3GPP Access Forwarding Action Information"] = { "index" : "276", "type" : "176", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Port Management Information Container", "ie_value" : "Port Management Information Container", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain a Port Management Information container. "})
ies.append({ "ie_type" : "Bridge Management Information Container", "ie_value" : "Bridge Management Information Container", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain a Bridge Management Information container."})
ies.append({ "ie_type" : "Bridge Management Information Container", "ie_value" : "User Plane Node Management Information Container", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain an User Plane Node Management Information container."})
ies.append({ "ie_type" : "NW-TT Port Number", "ie_value" : "NW-TT Port Number", "presence" : "C", "tlv_more" : "0", "comment" : "When PMIC IE is present, this IE shall contain the related NW-TT Port Number. "})
group_list["TSC Management Information IE within PFCP Session Modification Request"] = { "index" : "299", "type" : "199", "ies" : ies }
ies = []
@ -427,6 +527,7 @@ ies = []
ies.append({ "ie_type" : "SRR ID", "ie_value" : "SRR ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall uniquely identify the SRR among all the SRRs configured for that PFCP session"})
ies.append({ "ie_type" : "Access Availability Control Information", "ie_value" : "Access Availability Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Access Availability Control Information needs to be modified. See Table7.5.2.9-2.The CP function shall provide the full Access Availability Control Information IE. The UP function shall replace the Access Availability Control Information IE provisioned earlier, if any, by the new received IE."})
ies.append({ "ie_type" : "QoS Monitoring per QoS flow Control Information", "ie_value" : "QoS Monitoring per QoS flow Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the QoS Monitoring per QoS flow Control Information needs to be modified. See Table 7.5.2.9-3.The CP function shall provide the full set of QoS Monitoring per QoS flow Control Information IE(s). The UP function shall replace any QoS Monitoring per QoS flow Control Information IE(s) provisioned earlier by the new set of received IE(s).Several IEs within the same IE type may be present to represent a list of QoS Monitoring per QoS flow Control Information for different QoS flows."})
ies.append({ "ie_type" : "Direct Reporting Information", "ie_value" : "Direct Reporting Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Direct Reporting Information IE needs to be modified. See Table7.5.2.9-4."})
group_list["Update SRR"] = { "index" : "313", "type" : "213", "ies" : ies }
ies = []
ies.append({ "ie_type" : "MAC Addresses Detected", "ie_value" : "MAC Addresses Detected", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall be present if one or more MAC addresses need to be associated to the PDU session.Several IEs with the same IE type may be present to provision multiple lists of MAC addresses (e.g. with different V-LAN tags)."})
@ -450,7 +551,7 @@ ies.append({ "ie_type" : "Ethernet Traffic Information", "ie_value" : "Ethernet
group_list["Usage Report Session Modification Response"] = { "index" : "178", "type" : "78", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Port Management Information Container", "ie_value" : "Port Management Information Container", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain a Port Management Information container. "})
ies.append({ "ie_type" : "Bridge Management Information Container", "ie_value" : "Bridge Management Information Container", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain a Bridge Management Information container."})
ies.append({ "ie_type" : "Bridge Management Information Container", "ie_value" : "User Plane Node Management Information Container", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain an User Plane Node Management Information container."})
ies.append({ "ie_type" : "NW-TT Port Number", "ie_value" : "NW-TT Port Number", "presence" : "C", "tlv_more" : "0", "comment" : "When PMIC IE is present, this IE shall contain the related NW-TT Port Number."})
group_list["TSC Management Information IE within PFCP Session Modification Response"] = { "index" : "300", "type" : "200", "ies" : ies }
ies = []
@ -505,6 +606,7 @@ ies.append({ "ie_type" : "Time Stamp", "ie_value" : "Event Time Stamp", "presenc
ies.append({ "ie_type" : "Ethernet Traffic Information", "ie_value" : "Ethernet Traffic Information", "presence" : "C", "tlv_more" : "0", "comment" : " This IE shall be present if Ethernet Traffic Information needs to be reported. See Table 7.5.8.3-3."})
ies.append({ "ie_type" : "Join IP Multicast Information IE within Usage Report", "ie_value" : "Join IP Muticast Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UPF needs to report that it has added the PDU session to the DL replication tree of a new IP multicast flow.Several IEs with the same IE type may be present to report multiple IP multicast flows added to the PDU session."})
ies.append({ "ie_type" : "Leave IP Multicast Information IE within Usage Report", "ie_value" : "Leave IP Muticast Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UPF needs to report that it has removed the PDU session from the DL replication tree of an IP multicast flow.Several IEs with the same IE type may be present to report multiple IP multicast flows removed from the PDU session."})
ies.append({ "ie_type" : "Predefined Rules Name", "ie_value" : "Predefined Rules Name", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to identify a predefined rule if the usage report is generated for a predefined URR which was activated via a Activate Predefined Rules IE in a Create PDR IE or an Update PDR IE.Several IEs with the same IE type may be present to represent multiple Predefined Rules with which the URR is associated."})
group_list["Usage Report Session Report Request"] = { "index" : "180", "type" : "80", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Application ID", "ie_value" : "Application ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall identify the Application ID for which a start or stop of traffic is reported."})
@ -529,7 +631,7 @@ ies.append({ "ie_type" : "F-TEID", "ie_value" : "Remote F-TEID", "presence" : "M
group_list["Error Indication Report"] = { "index" : "199", "type" : "99", "ies" : ies }
ies = []
ies.append({ "ie_type" : "Port Management Information Container", "ie_value" : "Port Management Information Container", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain a Port Management Information container. "})
ies.append({ "ie_type" : "Bridge Management Information Container", "ie_value" : "Bridge Management Information Container", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain a Bridge Management Information container."})
ies.append({ "ie_type" : "Bridge Management Information Container", "ie_value" : "User Plane Node Management Information Container", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain an User Plane Node Management Information container."})
ies.append({ "ie_type" : "NW-TT Port Number", "ie_value" : "NW-TT Port Number", "presence" : "C", "tlv_more" : "0", "comment" : "When PMIC IE is present, this IE shall contain the related NW-TT Port Number."})
group_list["TSC Management Information IE within PFCP Session Report Request"] = { "index" : "301", "type" : "201", "ies" : ies }
ies = []

View File

@ -1,8 +1,10 @@
ies = []
ies.append({ "ie_type" : "Node ID", "ie_value" : "Node ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall contain the unique identifier of the sending Node."})
ies.append({ "ie_type" : "Node Report Type", "ie_value" : "Node Report Type", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the type of the report."})
ies.append({ "ie_type" : "Vendor-Specific Node Report Type", "ie_value" : "Vendor-Specific Node Report Type", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Node Report Type IE indicates a Vendor-Specific Report. When present, this IE shall indicate the type of the Vendor-Specific Report."})
ies.append({ "ie_type" : "User Plane Path Failure Report", "ie_value" : "User Plane Path Failure Report", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Node Report Type indicates a User Plane Path Failure Report."})
ies.append({ "ie_type" : "User Plane Path Recovery Report", "ie_value" : "User Plane Path Recovery Report", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Node Report Type indicates a User Plane Path Recovery Report."})
ies.append({ "ie_type" : "Clock Drift Report", "ie_value" : "Clock Drift Report", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Node Report Type indicates a Clock Drift Report.More than one IE with this type may be included to send Clock Drift Reports for different TSN Time Domain Numbers."})
ies.append({ "ie_type" : "Clock Drift Report", "ie_value" : "Clock Drift Report", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Node Report Type indicates a Clock Drift Report.More than one IE with this type may be included to send Clock Drift Reports for different Time Domain Numbers."})
ies.append({ "ie_type" : "GTP-U Path QoS Report PFCP Node Report Request", "ie_value" : "GTP-U Path QoS Report", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Node Report Type indicates a GTP-U Path QoS Report.More than one IE with this type may be included to represent multiple remote GTP-U peers for which QoS information is reported."})
ies.append({ "ie_type" : "Peer UP Restart Report", "ie_value" : "Peer UP Restart Report", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Node Report Type Indicates a Peer GTP-U entity has restarted as specified in clause20.3.4a of 3GPPTS23.007[24] and in clause5.5 of 3GPPTS23.527[40]."})
msg_list[key]["ies"] = ies

View File

@ -1,8 +1,8 @@
ies = []
ies.append({ "ie_type" : "Node ID", "ie_value" : "Node ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall contain the node identity of the originating node of the message."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "SGW-C FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "PGW-C FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "PGW-U/SGW-U FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "PGW-C/SMF FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24] and clause4.6 of 3GPPTS23.527[40]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "PGW-U/SGW-U/ UPF FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24] and clause4.6 of 3GPPTS23.527[40]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "TWAN FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "ePDG FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "MME FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24]."})

4
lib/pfcp/support/cache/tlv-msg-16.py vendored Normal file
View File

@ -0,0 +1,4 @@
ies = []
ies.append({ "ie_type" : "Node ID", "ie_value" : "Node ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall contain the node identity of the originating node of the message."})
ies.append({ "ie_type" : "PFCP Session Change Info", "ie_value" : "PFCP Session Change Info", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall identify the FQ-CSID(s), Group Id(s) or CP IP address(es) of the PFCP sessions for which the PGW-U/UPF shall send subsequent PFCP Session Report Request messages to an Alternative SMF/PGW-C IP Address.Several IEs with the same IE type may be present to request the PGW-U/UPF to move PFCP sessions associated with different FQ-CSIDs, Group Ids or CP IP addresses to different PGW-C/SMFs."})
msg_list[key]["ies"] = ies

5
lib/pfcp/support/cache/tlv-msg-17.py vendored Normal file
View File

@ -0,0 +1,5 @@
ies = []
ies.append({ "ie_type" : "Node ID", "ie_value" : "Node ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall contain the unique identifier of the sending node."})
ies.append({ "ie_type" : "Cause", "ie_value" : "Cause", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the acceptance or the rejection of the corresponding request message."})
ies.append({ "ie_type" : "Offending IE", "ie_value" : "Offending IE", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if the rejection is due to a conditional or mandatory IE missing or faulty."})
msg_list[key]["ies"] = ies

View File

@ -5,12 +5,12 @@ ies.append({ "ie_type" : "UP Function Features", "ie_value" : "UP Function Featu
ies.append({ "ie_type" : "CP Function Features", "ie_value" : "CP Function Features", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function sends this message and the CP function supports at least one CP feature defined in this IE.When present, this IE shall indicate the features the CP function supports."})
type_list["User Plane IP Resource Information"]["max_tlv_more"] = "3"
ies.append({ "ie_type" : "User Plane IP Resource Information", "ie_value" : "User Plane IP Resource Information", "presence" : "O", "tlv_more" : "3", "comment" : "This IE may be present if the UP function sends this message.When present, this IE shall contain an IPv4 and/or an IPv6 address, together with a TEID range that the CP function shall use to allocate GTP-U F-TEID in the UP function.Several IEs with the same IE type may be present to represent multiple User Plane IP Resources."})
ies.append({ "ie_type" : "Alternative SMF IP Address", "ie_value" : "Alternative SMF IP Address", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the SMF advertises the support of the SSET and/or MPAS feature in the CP Function Features IE (see clause8.2.58).When present, this IE shall contain an IPv4 and/or IPv6 address of an alternative SMF or an alternative PFCP entity in the same SMF when SSET feature is used, or an alternative PFCP entity in the same SMF when MPAS feature is used.Several IEs with the same IE type may be present to represent multiple alternative SMF IP addresses."})
ies.append({ "ie_type" : "SMF Set ID", "ie_value" : "SMF Set ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the SMF advertises the support of the MPAS feature in the CP Function Features IE (see clause5.22.3).When present, this IE shall contain an FQDN representing the SMF set to which the SMF belongs. "})
ies.append({ "ie_type" : "Alternative SMF IP Address", "ie_value" : "Alternative SMF IP Address", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the (MB-)SMF advertises the support of the SSET and/or MPAS feature in the CP Function Features IE (see clause8.2.58).When present, this IE shall contain an IPv4 and/or IPv6 address of an alternative (MB-)SMF or an alternative PFCP entity in the same (MB-)SMF when SSET feature is used, or an alternative PFCP entity in the same (MB-)SMF when MPAS feature is used.Several IEs with the same IE type may be present to represent multiple alternative (MB-)SMF IP addresses."})
ies.append({ "ie_type" : "SMF Set ID", "ie_value" : "SMF Set ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the (MB-)SMF advertises the support of the MPAS feature in the CP Function Features IE (see clause5.22.3).When present, this IE shall contain an FQDN representing the (MB-)SMF set to which the (MB-)SMF belongs. "})
ies.append({ "ie_type" : "PFCP Session Retention Information within PFCP Association Setup Request", "ie_value" : "PFCP Session Retention Information", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to request the UP function to keep all or part of the existing PFCP sessions upon receipt of a PFCP association setup request with a Node ID for which a PFCP association was already established. See clause6.2.6.2.1."})
ies.append({ "ie_type" : "UE IP Address", "ie_value" : "UE IP address Pool Information", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present when the UP function sends this message, if UE IP Address Pools are configured in the UP function.Several IE with the same IE type may be present to represent multiple UE IP address Pool Information."})
ies.append({ "ie_type" : "GTP-U Path QoS Control Information", "ie_value" : "GTP-U Path QoS Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE may be present, if the CP function sends this message, to request the UPF to monitor the QoS on GTP-U paths (see clause5.24.5).Several IEs with the same IE type may be present to represent multiple GTP-U paths (with different parameters) to monitor. "})
ies.append({ "ie_type" : "Clock Drift Control Information", "ie_value" : "Clock Drift Control Information", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present, if the CP function sends this message, to request the UPF to report clock drift between the TSN time and 5GS time for TSN working domains (see clause5.26.4).Several IEs with the same IE type may be present for multiple TSN Time domains (with different parameters). "})
ies.append({ "ie_type" : "NF Instance ID", "ie_value" : "UPF Instance ID", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the UP function is a 5G UPF and if available, and if the message is sent by the UPF."})
ies.append({ "ie_type" : "Clock Drift Control Information", "ie_value" : "Clock Drift Control Information", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present, if the CP function sends this message, to request the UPF to report clock drift between the external time and 5GS time for working domains (see clause5.26.4).Several IEs with the same IE type may be present for multiple Time domains (with different parameters). "})
ies.append({ "ie_type" : "NF Instance ID", "ie_value" : "UPF Instance ID", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the UP function is a 5G UP function and if available, and if the message is sent by the UP function."})
ies.append({ "ie_type" : "PFCPASReq-Flags", "ie_value" : "PFCPASReq-Flags", "presence" : "O", "tlv_more" : "0", "comment" : "This IE shall be included if at least one of the flags is set to 1:- UUPSI (UPF configured for IPUPS): when the message is sent by a UPF, the UP function shall set this flag to 1 if the UPF is configured to be used for IPUPS. See clause5.27."})
msg_list[key]["ies"] = ies

View File

@ -11,22 +11,29 @@ type_list["Create QER"]["max_tlv_more"] = "3"
ies.append({ "ie_type" : "Create QER", "ie_value" : "Create QER", "presence" : "C", "tlv_more" : "3", "comment" : "This IE shall be present if a QoS enforcement or QoS marking action shall be applied to packets matching one or more PDR(s) of this PFCP session.Several IEs within the same IE type may be present to represent multiple QERs.See Table 7.5.2.5-1."})
ies.append({ "ie_type" : "Create BAR", "ie_value" : "Create BAR", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain the buffering instructions to be applied by the UP function to any FAR of this PFCP session set with the Apply Action requesting the packets to be buffered and with a BAR ID IE referring to this BAR. See table 7.5.2.6-1."})
ies.append({ "ie_type" : "Create Traffic Endpoint", "ie_value" : "Create Traffic Endpoint", "presence" : "C", "tlv_more" : "0", "comment" : "This IE may be present if the UP function has indicated support of PDI optimization.Several IEs within the same IE type may be present to represent multiple Traffic Endpoints.See Table 7.5.2.7-1."})
ies.append({ "ie_type" : "PDN Type", "ie_value" : "PDN Type", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the PFCP session is setup for an individual PDN connection or PDU session (see clause 5.2.1).When present, this IE shall indicate whether this is an IP or non-IP PDN connection/PDU session or, for 5GC, an Ethernet PDU session. See NOTE 3."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "SGW-C FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS 23.007[24]."})
ies.append({ "ie_type" : "PDN Type", "ie_value" : "PDN Type", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the PFCP session is setup for an individual PDN connection or PDU session (see clause5.2.1).When present, this IE shall indicate whether this is an IP or non-IP PDN connection/PDU session or, for 5GC, an Ethernet PDU session. See NOTE 3."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "SGW-C FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "MME FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included when received on the S11 interface or on S5/S8 interface according to the requirements in clause23 of 3GPPTS23.007[24]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "PGW-C FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "ePDG FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause 23 of 3GPPTS23.007[24]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "PGW-C/SMF FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24] and clause4.6 of 3GPPTS23.527[40]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "ePDG FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "TWAN FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24]."})
ies.append({ "ie_type" : "User Plane Inactivity Timer", "ie_value" : "User Plane Inactivity Timer", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to request the UP function to send a User Plane Inactivity Report when no user plane packets are received for this PFCP session for a duration exceeding the User Plane Inactivity Timer.When present, it shall contain the duration of the inactivity period after which a User Plane Inactivity Report shall be generated."})
ies.append({ "ie_type" : "User ID", "ie_value" : "User ID", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present, based on operator policy. It shall only be sent if the UP function is in a trusted environment.See NOTE."})
ies.append({ "ie_type" : "User ID", "ie_value" : "User ID", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present, based on operator policy. It shall only be sent if the UP function is in a trusted environment.See NOTE1."})
ies.append({ "ie_type" : "Trace Information", "ie_value" : "Trace Information", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain the trace instructions to be applied by the UP function for this PFCP session."})
ies.append({ "ie_type" : "APN/DNN", "ie_value" : "APN/DNN", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present, if related functionalities in the UP function require the APN/DNN information. See NOTE 2."})
ies.append({ "ie_type" : "APN/DNN", "ie_value" : "APN/DNN", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present, if related functionalities in the UP function require the APN/DNN information. See NOTE2."})
ies.append({ "ie_type" : "Create MAR", "ie_value" : "Create MAR", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present for a N4 session established for a MA PDU session.Several IEs with the same IE type may be present to represent multiple MARs.See Table 7.5.2.8-1."})
ies.append({ "ie_type" : "PFCPSEReq-Flags", "ie_value" : "PFCPSEReq-Flags", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if at least one of the flags is set to 1.- RESTI (Restoration Indication): this bit shall be set to 1 if the CP function re-establishes an existing PFCP session and the allocation of GTP-U F-TEID and/or UE IP address is performed by the UP function. (NOTE 4)"})
ies.append({ "ie_type" : "PFCPSEReq-Flags", "ie_value" : "PFCPSEReq-Flags", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if at least one of the flags is set to 1.- RESTI (Restoration Indication): this bit shall be set to 1 if the CP function re-establishes an existing PFCP session and the allocation of GTP-U F-TEID and/or UE IP address is performed by the UP function. (NOTE 4)- SUMPC (Stop Usage Measurement to Pause Charging): the CP function, e.g. PGW-C or (H-)SMF, shall set this flag if the usage measurement for the URRs which are applicable for charging (i.e. with the ASPOC flag set to 1) shall be stopped in the UP function."})
ies.append({ "ie_type" : "Create Bridge Info for TSC", "ie_value" : "Create Bridge Info for TSC", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present for a PFCP session established for TSC to request the UPF to provide Bridge information for TSC. "})
ies.append({ "ie_type" : "Create SRR", "ie_value" : "Create SRR", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to request the UPF to detect and report events not related to specific PDRs.Several IEs within the same IE type may be present to represent multiple SRRs.See Table 7.5.2.9-1."})
ies.append({ "ie_type" : "Provide ATSSS Control Information", "ie_value" : "Provide ATSSS Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present for N4 session establishment for a MA PDU session.When present, this IE shall contain the required ATSSS functionalities for this MA PDU session.See Table 7.5.2.10-1."})
ies.append({ "ie_type" : "Recovery Time Stamp", "ie_value" : "Recovery Time Stamp", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be included to contain the time stamp when the CP function was started. (See clause19A of 3GPPTS23.007[24].)"})
ies.append({ "ie_type" : "S-NSSAI", "ie_value" : "S-NSSAI", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present, if related functionalities in the UP function require the S-NSSAI information. (NOTE 2)When present, it shall indicate the S-NSSAI of the PDU session."})
ies.append({ "ie_type" : "Provide RDS Configuration Information", "ie_value" : "Provide RDS Configuration Information", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain the RDS configuration information to be applied by the UP function for this PFCP session."})
ies.append({ "ie_type" : "S-NSSAI", "ie_value" : "S-NSSAI", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present, if related functionalities in the UP function require the S-NSSAI information. (NOTE2, NOTE5)When present, it shall indicate the S-NSSAI of the PDU session or MBS session."})
ies.append({ "ie_type" : "Provide RDS Configuration Information", "ie_value" : "Provide RDS configuration information", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain the RDS configuration information to be applied by the UP function for this PFCP session."})
ies.append({ "ie_type" : "RAT Type", "ie_value" : "RAT Type", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to provide the UP Function the current RAT Type for the PDN connection/PDU session to which this PFCP Session is corresponding for statistics purpose if the PFCP session is not established for a MA PDU session. "})
ies.append({ "ie_type" : "L2TP Tunnel Information", "ie_value" : "L2TP Tunnel Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if L2TP tunnel information is received from an AAA server, e.g. Radius/Diameter server or if it is configured in the CP function.Several IE with the same IE type may be present to provide L2TP Tunnel Information for alternative LNS."})
ies.append({ "ie_type" : "L2TP Session Information", "ie_value" : "L2TP Session Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present to include the information to establish a L2TP session, if an L2TP session needs to be established for this PFCP session."})
ies.append({ "ie_type" : "Group ID", "ie_value" : "Group Id", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be included by the CP function to indicate the group identifier to which the PFCP session pertains (see clause5.22)."})
ies.append({ "ie_type" : "MBS Session N4mb Control Information", "ie_value" : "MBS Session N4mb Control Information", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall identify the MBS session, or the MBS session and Area Session ID for a location dependent MBS service, and it may contain further control information for the MB-UPF."})
ies.append({ "ie_type" : "MBS Session N4 Control Information", "ie_value" : "MBS Session N4 Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if the correspond PDU session shall be associated with an MBS session, or with an MBS session and Area Session ID for a location dependent MBS service.Several IEs with the same IE type may be present to provide N4 control information for several MBS sessions, e.g., when the UE requests to join several MBS sessions. "})
ies.append({ "ie_type" : "DSCP to PPI Control Information", "ie_value" : "DSCP to PPI Control Information", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the UPF is required to insert the Paging Policy Indicator (PPI) in the GTP-U PDU Session Container extension header of outgoing GTP-U packets (encapsulating payload packets) based on the DSCP in the TOS/Traffic Class field in the IP header of payload packet and if the UPF supports the EPPPI feature as specified in clause5.36.2.Several IEs with the same IE type may be present to provide different DSCP to PPI Control Information for different set of QFI(s)."})
msg_list[key]["ies"] = ies

View File

@ -1,16 +1,20 @@
ies = []
ies.append({ "ie_type" : "Node ID", "ie_value" : "Node ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall contain the unique identifier of the sending Node."})
ies.append({ "ie_type" : "Cause", "ie_value" : "Cause", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the acceptance or the rejection of the corresponding request message."})
ies.append({ "ie_type" : "Cause", "ie_value" : "Cause", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the acceptance, partial acceptance or rejection of the corresponding request message."})
ies.append({ "ie_type" : "Offending IE", "ie_value" : "Offending IE", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if the rejection is due to a conditional or mandatory IE missing or faulty."})
ies.append({ "ie_type" : "F-SEID", "ie_value" : "UP F-SEID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the cause is set to Request accepted (success). When present, it shall contain the unique identifier allocated by the UP function identifying the session."})
type_list["Created PDR"]["max_tlv_more"] = "15"
ies.append({ "ie_type" : "Created PDR", "ie_value" : "Created PDR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if the cause is set to success and the UP function was requested to allocate a local F-TEID or a UE IP address/prefix for the PDR.When present, this IE shall contain the PDR information associated to the PFCP session. There may be several instances of this IE.See table 7.5.3.2-1."})
ies.append({ "ie_type" : "Load Control Information", "ie_value" : "Load Control Information", "presence" : "O", "tlv_more" : "0", "comment" : "The UP function may include this IE if it supports the load control feature and the feature is activated in the network.See Table 7.5.3.3-1."})
ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "Overload Control Information", "presence" : "O", "tlv_more" : "0", "comment" : "During an overload condition, the UP function may include this IE if it supports the overload control feature and the feature is activated in the network.See Table 7.5.3.4-1."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "PGW-U/SGW-U FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "PGW-U/SGW-U /UPF FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24] and clause4.6 of 3GPPTS23.527[40]."})
ies.append({ "ie_type" : "Failed Rule ID", "ie_value" : "Failed Rule ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if the Cause IE indicates a rejection due to a rule creation or modification failure. "})
ies.append({ "ie_type" : "Created Traffic Endpoint", "ie_value" : "Created Traffic Endpoint", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the cause is set to success and the UP function was requested to allocate a local F-TEID or a UE IP address/prefix in a Create Traffic Endpoint IE. When present, it shall contain the local F-TEID or UE IP address/prefix to be used for this Traffic Endpoint.There may be several instances of this IE."})
ies.append({ "ie_type" : "Created Bridge Info for TSC", "ie_value" : "Created Bridge Info for TSC", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UPF was requested to provide Bridge information for TSC in the PFCP Session Establishment Request. When present, it shall contain the Bridge information for TSC for the PFCP session.See Table 7.5.3.6-1."})
ies.append({ "ie_type" : "ATSSS Control Parameters", "ie_value" : "ATSSS Control Parameters", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if ATSSS functionality is required in the request message and the UPF allocates the resources and parameters corresponding to the required ATSSS functionality.See Table 7.5.3.7-1."})
ies.append({ "ie_type" : "RDS Configuration Information", "ie_value" : "RDS Configuration Information", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain the RDS configuration information the UP function supported for this PFCP session."})
ies.append({ "ie_type" : "ATSSS Control Parameters", "ie_value" : "ATSSS Control Parameters", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if ATSSS functionality is required in the request message and the UPF allocates the resources and parameters corresponding to the required ATSSS functionality.See Table7.5.3.7-1."})
ies.append({ "ie_type" : "RDS Configuration Information", "ie_value" : "RDS configuration information", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain the RDS configuration information the UP function supported for this PFCP session."})
ies.append({ "ie_type" : "Partial Failure Information", "ie_value" : "Partial Failure Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Cause IE indicates partial acceptance of the request to provide failure information related to a failed rule. See Table7.5.3.1-2.Several IEs within the same IE type may be present to report failures to apply multiple rules."})
ies.append({ "ie_type" : "Created L2TP Session", "ie_value" : "Created L2TP Session", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to include information for the Created L2TP session if the Cause IE indicates a success."})
ies.append({ "ie_type" : "MBS Session N4mb Information", "ie_value" : "MBS Session N4mb Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if any IE in this grouped IE needs to be included."})
ies.append({ "ie_type" : "MBS Session N4 Information", "ie_value" : "MBS Session N4 Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if any IE in this grouped IE needs to be included as specified in clause5.34.1.Several IE with the same IE type may be present to contain N4 Information for several MBS Sessions respectively."})
msg_list[key]["ies"] = ies

View File

@ -9,26 +9,26 @@ ies.append({ "ie_type" : "Remove URR", "ie_value" : "Remove URR", "presence" : "
type_list["Remove QER"]["max_tlv_more"] = "3"
ies.append({ "ie_type" : "Remove QER", "ie_value" : "Remove QER", "presence" : "C", "tlv_more" : "3", "comment" : "When present, this IE shall contain the QER Rule which is requested to be removed. See Table 7.5.4-9-1.Several IEs within the same IE type may be present to represent a list of QERs to remove."})
ies.append({ "ie_type" : "Remove BAR", "ie_value" : "Remove BAR", "presence" : "C", "tlv_more" : "0", "comment" : "When present, this IE shall contain the BAR Rule which is requested to be removed. See Table 7.5.4.12-1."})
ies.append({ "ie_type" : "Remove Traffic Endpoint", "ie_value" : "Remove Traffic Endpoint", "presence" : "C", "tlv_more" : "0", "comment" : "When present, this IE shall contain the Traffic Endpoint ID identifying the traffic endpoint to be removed, if the UP function has indicated support of PDI optimization.All the PDRs that refer to the removed Traffic Endpoint shall be deleted.See Table 7.5.4.14-1."})
ies.append({ "ie_type" : "Create PDR", "ie_value" : "Create PDR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if the CP function requests the UP function to create a new PDR.See Table 7.5.2.2-1.Several IEs within the same IE type may be present to represent a list of PDRs to create."})
ies.append({ "ie_type" : "Remove Traffic Endpoint", "ie_value" : "Remove Traffic Endpoint", "presence" : "C", "tlv_more" : "0", "comment" : "When present, this IE shall contain the Traffic Endpoint ID identifying the traffic endpoint to be removed, if the UP function has indicated support of PDI optimization.All the PDRs that refer to the removed Traffic Endpoint shall be deleted.See Table 7.5.4.14-1.Several IEs within the same IE type may be present to represent a list of Traffic Endpoints to remove."})
ies.append({ "ie_type" : "Create PDR", "ie_value" : "Create PDR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if the CP function requests the UP function to create a new PDR.See Table7.5.2.2-1.Several IEs within the same IE type may be present to represent a list of PDRs to create."})
ies.append({ "ie_type" : "Create FAR", "ie_value" : "Create FAR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if the CP function requests the UP function to create a new FAR. See Table 7.5.2.3-1.Several IEs within the same IE type may be present to represent a list of FARs to create."})
ies.append({ "ie_type" : "Create URR", "ie_value" : "Create URR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if the CP function requests the UP function to create a new URR. See Table 7.5.2.4-1.Several IEs within the same IE type may be present to represent a list of URRs to create."})
ies.append({ "ie_type" : "Create QER", "ie_value" : "Create QER", "presence" : "C", "tlv_more" : "3", "comment" : "This IE shall be present if the CP function requests the UP function to create a new QER. See Table 7.5.2.5-1.Several IEs within the same IE type may be present to represent a list of QERs to create."})
ies.append({ "ie_type" : "Create BAR", "ie_value" : "Create BAR", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function requests the UP function to create a new BAR.See Table 7.5.2.6-1."})
ies.append({ "ie_type" : "Create Traffic Endpoint", "ie_value" : "Create Traffic Endpoint", "presence" : "C", "tlv_more" : "0", "comment" : "When present this IE shall contain the information associated with the Traffic Endpoint to be created, if the UP function has indicated support of PDI optimization. See Table 7.5.2.7-1."})
ies.append({ "ie_type" : "Create Traffic Endpoint", "ie_value" : "Create Traffic Endpoint", "presence" : "C", "tlv_more" : "0", "comment" : "When present this IE shall contain the information associated with the Traffic Endpoint to be created, if the UP function has indicated support of PDI optimization. See Table 7.5.2.7-1.Several IEs within the same IE type may be present to represent a list of Traffic Endpoints to create."})
type_list["Update PDR"]["max_tlv_more"] = "15"
ies.append({ "ie_type" : "Update PDR", "ie_value" : "Update PDR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if a PDR previously created for the PFCP session need to be modified. See Table 7.5.4.2-1.Several IEs within the same IE type may be present to represent a list of PDRs to update."})
ies.append({ "ie_type" : "Update PDR", "ie_value" : "Update PDR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if a PDR previously created for the PFCP session need to be modified.See Table7.5.4.2-1.Several IEs within the same IE type may be present to represent a list of PDRs to update."})
type_list["Update FAR"]["max_tlv_more"] = "15"
ies.append({ "ie_type" : "Update FAR", "ie_value" : "Update FAR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if a FAR previously created for the PFCP session need to be modified. See Table 7.5.4.3-1. Several IEs within the same IE type may be present to represent a list of FARs to update."})
type_list["Update URR"]["max_tlv_more"] = "15"
ies.append({ "ie_type" : "Update URR", "ie_value" : "Update URR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if URR(s) previously created for the PFCP session need to be modified.Several IEs within the same IE type may be present to represent a list of modified URRs. Previously URRs that are not modified shall not be included. See Table 7.5.4.4-1."})
ies.append({ "ie_type" : "Update URR", "ie_value" : "Update URR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if URR(s) previously created for the PFCP session need to be modified.Several IEs within the same IE type may be present to represent a list of modified URRs. Previously URRs that are not modified shall not be included.See Table7.5.4.4-1."})
type_list["Update QER"]["max_tlv_more"] = "3"
ies.append({ "ie_type" : "Update QER", "ie_value" : "Update QER", "presence" : "C", "tlv_more" : "3", "comment" : "This IE shall be present if QER(s) previously created for the PFCP session need to be modified.Several IEs within the same IE type may be present to represent a list of modified QERs.Previously created QERs that are not modified shall not be included.See Table 7.5.4.5-1."})
ies.append({ "ie_type" : "Update BAR Session Modification Request", "ie_value" : "Update BAR", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if a BAR previously created for the PFCP session needs to be modified.A previously created BAR that is not modified shall not be included.See Table 7.5.4.11-1."})
ies.append({ "ie_type" : "Update Traffic Endpoint", "ie_value" : "Update Traffic Endpoint", "presence" : "C", "tlv_more" : "0", "comment" : "When present this IE shall contain the information associated with the traffic endpoint to be updated, if the UP function has indicated support of PDI optimization.All the PDRs that refer to the Traffic Endpoint shall use the updated Traffic Endpoint information.See Table 7.5.4.13-1."})
ies.append({ "ie_type" : "PFCPSMReq-Flags", "ie_value" : "PFCPSMReq-Flags", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if at least one of the flags is set to 1.- DROBU (Drop Buffered Packets): the CP function shall set this flag if the UP function is requested to drop the packets currently buffered for this PFCP session (see NOTE 1).- QAURR (Query All URRs): the CP function shall set this flag if the CP function requests immediate usage report(s) for all the URRs previously provisioned for this PFCP session (see NOTE 3). "})
ies.append({ "ie_type" : "Update Traffic Endpoint", "ie_value" : "Update Traffic Endpoint", "presence" : "C", "tlv_more" : "0", "comment" : "When present this IE shall contain the information associated with the traffic endpoint to be updated, if the UP function has indicated support of PDI optimization.All the PDRs that refer to the Traffic Endpoint shall use the updated Traffic Endpoint information.See Table 7.5.4.13-1.Several IEs within the same IE type may be present to represent a list of Traffic Endpoints to update."})
ies.append({ "ie_type" : "PFCPSMReq-Flags", "ie_value" : "PFCPSMReq-Flags", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if at least one of the flags is set to 1.- DROBU (Drop Buffered Packets): the CP function shall set this flag if the UP function is requested to drop the packets currently buffered for this PFCP session (see NOTE 1).- QAURR (Query All URRs): the CP function shall set this flag if the CP function requests immediate usage report(s) for all the URRs previously provisioned for this PFCP session (see NOTE 3).- SUMPC (Stop Usage Measurement to Pause Charging): the CP function, e.g. PGW-C or (H-)SMF, shall set this flag if the usage measurement for the URRs which are applicable for charging (i.e. with the ASPOC flag set to 1) shall be stopped in the UP function.- RUMUC (Resume Usage Measurement to Un-pause Charging): the CP function, e.g. PGW-C or (H-)SMF, shall set this flag if the usage measurement for the URRs which are applicable for charging (i.e. with the ASPOC flag set to 1) shall be resumed in the UP function. - DETEID (Delete All DL N3mb and/or N19mb F-TEIDs): the MB-SMF shall set this flag to 1 if it requests the MB-UPF to delete all NG-RAN N3mb DL F-TEIDs and all UPF N19mb DL F-TEIDs for the MBS session when the Apply Action is changed from the FSSM and/or MBSU to the BUFF (with or without NOCP), or to DROP (see clause 5.34.2.4)."})
ies.append({ "ie_type" : "Query URR", "ie_value" : "Query URR", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function requests immediate usage report(s) to the UP function.Several IEs within the same IE type may be present to represent a list of URRs for which an immediate report is requested.See Table 7.5.4.10-1.See NOTE 3."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "PGW-C FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "PGW-C/SMF FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24] and clause4.6 of 3GPPTS23.527[40]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "SGW-C FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "MME FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "ePDG FQ-CSID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included according to the requirements in clause23 of 3GPPTS23.007[24]."})
@ -37,16 +37,20 @@ ies.append({ "ie_type" : "User Plane Inactivity Timer", "ie_value" : "User Plane
ies.append({ "ie_type" : "Query URR Reference", "ie_value" : "Query URR Reference", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the Query URR IE is present or the QAURR flag is set to 1. When present, it shall contain a reference identifying the query request, which the UP function shall return in any usage report sent in response to the query."})
ies.append({ "ie_type" : "Trace Information", "ie_value" : "Trace Information", "presence" : "O", "tlv_more" : "0", "comment" : "When present, this IE shall contain the trace instructions to be applied by the UP function for this PFCP session.A Trace Information with a null length indicates that the trace session shall be deactivated. "})
ies.append({ "ie_type" : "Remove MAR", "ie_value" : "Remove MAR", "presence" : "C", "tlv_more" : "0", "comment" : "When present, this IE shall contain the MAR Rule which is requested to be removed. See Table 7.5.4.15-1.Several IEs within the same IE type may be present to represent a list of MARs to remove."})
ies.append({ "ie_type" : "Update MAR", "ie_value" : "Update MAR", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if a MAR previously created for the PFCP session needs to be modified. See Table 7.5.4.16-1.Several IEs within the same IE type may be present to represent a list of MARs to update."})
ies.append({ "ie_type" : "Update MAR", "ie_value" : "Update MAR", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if an MAR previously created for the PFCP session needs to be modified.See Table7.5.4.16-1.Several IEs within the same IE type may be present to represent a list of MARs to update."})
ies.append({ "ie_type" : "Create MAR", "ie_value" : "Create MAR", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function requests the UP function to create a new MAR for a new PDR. See Table 7.5.2.8-1.Several IEs within the same IE type may be present to represent a list of MARs to create."})
ies.append({ "ie_type" : "Node ID", "ie_value" : "Node ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if a new SMF in an SMF Set, with one PFCP association per SMF and UPF (see clause5.22.3), takes over the control of the PFCP session.When present, it shall contain the unique identifier of the new SMF."})
ies.append({ "ie_type" : "TSC Management Information IE within PFCP Session Modification Request", "ie_value" : "TSC Management Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the SMF needs to send TSC Management information to the UPF.Several IEs within the same IE type may be present to transfer PMICs for different NW-TT ports."})
ies.append({ "ie_type" : "Remove SRR", "ie_value" : "Remove SRR", "presence" : "C", "tlv_more" : "0", "comment" : "When present, this shall indicate the SRR Rule which is requested to be removed. See Table 7.5.4-19-1.Several IEs within the same IE type may be present to represent a list of SRRs to remove."})
ies.append({ "ie_type" : "TSC Management Information IE within PFCP Session Modification Request", "ie_value" : "TSC Management Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the SMF needs to send TSC Management information to the UPF.Several IEs within the same IE type may be present to transfer PMICs for different NW-TT ports. (NOTE6)."})
ies.append({ "ie_type" : "Remove SRR", "ie_value" : "Remove SRR", "presence" : "C", "tlv_more" : "0", "comment" : "When present, this shall indicate the SRR Rule which is requested to be removed. See Table7.5.4-19-1.Several IEs within the same IE type may be present to represent a list of SRRs to remove."})
ies.append({ "ie_type" : "Create SRR", "ie_value" : "Create SRR", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function requests the UP function to create a new SRR. See Table 7.5.2.9-1.Several IEs within the same IE type may be present to represent a list of SRRs to create."})
ies.append({ "ie_type" : "Update SRR", "ie_value" : "Update SRR", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if SRR(s) previously created for the PFCP session need to be modified.Several IEs within the same IE type may be present to represent a list of modified SRRs. Previously SRRs that are not modified shall not be included. SeeTable 7.5.4.20-1."})
ies.append({ "ie_type" : "Provide ATSSS Control Information", "ie_value" : "Provide ATSSS Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present for PFCP session modification for a MA PDU session, if the ATSSS Control Information changes.When present, this IE shall contain the required ATSSS functionalities for this MA PDU session.The UPF shall replace any value received previously by the new information received in this IE. See Note 4.See Table 7.5.2.10-1."})
ies.append({ "ie_type" : "Update SRR", "ie_value" : "Update SRR", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if SRR(s) previously created for the PFCP session need to be modified.Several IEs within the same IE type may be present to represent a list of modified SRRs. Previously SRRs that are not modified shall not be included. SeeTable7.5.4.20-1."})
ies.append({ "ie_type" : "Provide ATSSS Control Information", "ie_value" : "Provide ATSSS Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present for PFCP session modification for an MA PDU session, if the ATSSS Control Information changes.When present, this IE shall contain the required ATSSS functionalities for this MA PDU session.The UPF shall replace any value received previously by the new information received in this IE. See Note4.See Table7.5.2.10-1."})
ies.append({ "ie_type" : "Ethernet Context Information", "ie_value" : "Ethernet Context Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present to update the list of MAC addresses associated to the PDU session during an Ethernet PDU session anchor relocation. "})
ies.append({ "ie_type" : "Access Availability Information", "ie_value" : "Access Availability Information", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present for a MA PDU session to signal that an access type has become transiently unavailable or has become available again (see clause5.20.5).Two IEs with the same IE type may be present to report changes of access availability for both 3GPP and non-3GPP accesses."})
ies.append({ "ie_type" : "Query Packet Rate Status IE within PFCP Session Modification Request", "ie_value" : "Query Packet Rate Status", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function requests immediate packet rate status report(s) to the UP function.Several IEs within the same IE type may be present to represent a list of QERs for which an immediate packet rate status report is requested.See Table 7.5.4.22-1."})
ies.append({ "ie_type" : "S-NSSAI", "ie_value" : "S-NSSAI", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to indicate the S-NSSAI of the PDU session, if the S-NSSAI of the PDU Session has been provided previously to the UP function and the S-NSSAI has changed. (NOTE5)"})
ies.append({ "ie_type" : "Access Availability Information", "ie_value" : "Access Availability Information", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present for an MA PDU session to signal that an access type has become transiently unavailable or has become available again (see clause5.20.5).Two IEs with the same IE type may be present to report changes of access availability for both 3GPP and non-3GPP accesses."})
ies.append({ "ie_type" : "Query Packet Rate Status IE within PFCP Session Modification Request", "ie_value" : "Query Packet Rate Status", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function requests immediate packet rate status report(s) to the UP function.Several IEs within the same IE type may be present to represent a list of QERs for which an immediate packet rate status report is requested.See Table7.5.4.22-1."})
ies.append({ "ie_type" : "S-NSSAI", "ie_value" : "S-NSSAI", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to indicate the S-NSSAI of the PDU session or MBS session, if the S-NSSAI of the PDU Session or MBS session has been provided previously to the UP function and the S-NSSAI has changed. (NOTE5)"})
ies.append({ "ie_type" : "RAT Type", "ie_value" : "RAT Type", "presence" : "", "tlv_more" : "0", "comment" : "This IE shall be present if there is a RAT change and the CP function wants to inform the UP Function about the new RAT Type if the PFCP session is not established for a MA PDU session."})
ies.append({ "ie_type" : "Group ID", "ie_value" : "Group Id", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included by the CP function to indicate the new group identifier to which the PFCP session pertains, if it has been changed (see clause5.22.4).When present, the UP function shall replace any earlier value associated to the PFCP session with the new value."})
ies.append({ "ie_type" : "MBS Session N4 Control Information", "ie_value" : "MBS Session N4 Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if: - the correspond PDU session is being associated with an MBS session, or with an MBS session and Area Session ID for a location dependent MBS service; or - the PDU session is already associated with an MBS session, or with an MBS session and Area Session ID for a location dependent MBS service, and the N19mb multicast transport information has changed. In this case, the Multicast Transport Information IE shall contain the new multicast transport information to use to receive MBS session data from the MB-UPF.Several IEs with the same IE type may be present to provide N4 control information for several MBS sessions, e.g. when the UE requests to join several MBS sessions.See Table7.5.2.1-5 for encoding."})
ies.append({ "ie_type" : "DSCP to PPI Control Information", "ie_value" : "DSCP to PPI Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the DSCP to PPI Control Information needs to be changed. The UPF shall replace any value received previously by the new information received in this IE.See Table7.5.2.1-6 for encoding."})
msg_list[key]["ies"] = ies

View File

@ -1,16 +1,18 @@
ies = []
ies.append({ "ie_type" : "Cause", "ie_value" : "Cause", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the acceptance or the rejection of the corresponding request message."})
ies.append({ "ie_type" : "Cause", "ie_value" : "Cause", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the acceptance, partial acceptance or rejection of the corresponding request message."})
ies.append({ "ie_type" : "Offending IE", "ie_value" : "Offending IE", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if the rejection is due to a conditional or mandatory IE missing or faulty."})
ies.append({ "ie_type" : "Created PDR", "ie_value" : "Created PDR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if the cause is set to success, new PDR(s) were requested to be created and the UP function was requested to allocate the local F-TEID or a UE IP address/prefix for the PDR(s).When present, this IE shall contain the PDR information associated to the PFCP session.See Table 7.5.3.2-1."})
ies.append({ "ie_type" : "Created PDR", "ie_value" : "Created PDR", "presence" : "C", "tlv_more" : "15", "comment" : "This IE shall be present if the cause is set to success, new PDR(s) were requested to be created and the UP function was requested to allocate the local F-TEID or a UE IP address/prefix for the PDR(s).When present, this IE shall contain the PDR information associated to the PFCP session.See Table 7.5.3.2-1.Several IEs within the same IE type may be present to represent a list of created PDRs."})
ies.append({ "ie_type" : "Load Control Information", "ie_value" : "Load Control Information", "presence" : "O", "tlv_more" : "0", "comment" : "The UP function may include this IE if it supports the load control feature and the feature is activated in the network.See Table 7.5.3.3-1."})
ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "Overload Control Information", "presence" : "O", "tlv_more" : "0", "comment" : "During an overload condition, the UP function may include this IE if it supports the overload control feature and the feature is activated in the network."})
type_list["Usage Report Session Modification Response"]["max_tlv_more"] = "7"
ies.append({ "ie_type" : "Usage Report Session Modification Response", "ie_value" : "Usage Report", "presence" : "C", "tlv_more" : "7", "comment" : "This IE shall be present if: - the Query URR IE was present or the QAURR flag was set to 1 in the PFCP Session Modification Request, - traffic usage measurements for that URR are available at the UP function, and - the UP function decides to return some or all of the requested usage reports in the PFCP Session Modification Response.This IE shall be also present if: - a URR or the last PDR associated to a URR has been removed, - non-null traffic usage measurements for that URR are available in the UP function, and - the UP function decides to return some or all of the related usage reports in the PFCP Session Modification Response (see clause5.2.2.3.1).Several IEs within the same IE type may be present to represent a list of Usage Reports."})
ies.append({ "ie_type" : "Failed Rule ID", "ie_value" : "Failed Rule ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if the Cause IE indicates a rejection due to a rule creation or modification failure."})
ies.append({ "ie_type" : "Additional Usage Reports Information", "ie_value" : "Additional Usage Reports Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if the Query URR IE was present or the QAURR flag was set to 1 in the PFCP Session Modification Request, and usage reports need to be sent in additional PFCP Session Report Request messages (see clause5.2.2.3.1).When present, this IE shall either indicate that additional usage reports will follow, or indicate the total number of usage reports that need to be sent in PFCP Session Report Request messages."})
ies.append({ "ie_type" : "Created Traffic Endpoint", "ie_value" : "Created/Updated Traffic Endpoint", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the cause is set to success, Traffic Endpoint(s) were requested to be created or updated, and the UP function was requested to allocate the local F-TEID or a UE IP address/prefix for the Traffic Endpoint(s).If the UP function allocates additional UE IP address/prefix (upon receiving a Create Traffic Endpoint or Update Traffic Endpoint in the corresponding PFCP Session Modification Request message from the CP function), this IE shall be present and shall contain the complete list of UE IP address / prefix assigned by the UP function for this PFCP session.In the 5GC, several IEs with the same IE type may be present to represent multiple UE IP addresses, if the UPF indicated support of the IP6PL feature (see clause5.21).(NOTE 1)When present, this IE shall contain the Traffic Endpoint information associated to the PFCP session.See Table7.5.3.5-1."})
ies.append({ "ie_type" : "TSC Management Information IE within PFCP Session Modification Response", "ie_value" : "TSC Management Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UPF needs to send TSC Management information to the SMF.Several IEs within the same IE type may be present to transfer PMICs for different NW-TT ports."})
ies.append({ "ie_type" : "Created Traffic Endpoint", "ie_value" : "Created/Updated Traffic Endpoint", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the cause is set to success, Traffic Endpoint(s) were requested to be created or updated, and the UP function was requested to allocate the local F-TEID or a UE IP address/prefix for the Traffic Endpoint(s).If the UP function allocates additional UE IP address/prefix (upon receiving a Create Traffic Endpoint or Update Traffic Endpoint in the corresponding PFCP Session Modification Request message from the CP function), this IE shall be present and shall contain the complete list of UE IP address / prefix assigned by the UP function for this PFCP session.In the 5GC, several IEs with the same IE type may be present to represent multiple UE IP addresses, if the UPF indicated support of the IP6PL feature (see clause5.21).(NOTE 1)When present, this IE shall contain the Traffic Endpoint information associated to the PFCP session.See Table7.5.3.5-1.Several IEs within the same IE type may be present to represent a list of created/updated Traffic Endpoints."})
ies.append({ "ie_type" : "TSC Management Information IE within PFCP Session Modification Request", "ie_value" : "TSC Management Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UPF needs to send TSC Management information to the SMF.Several IEs within the same IE type may be present to transfer PMICs for different NW-TT ports. (NOTE2)."})
ies.append({ "ie_type" : "ATSSS Control Parameters", "ie_value" : "ATSSS Control Parameters", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if ATSSS functionality is required in the request message, and the UPF allocates the resources and parameters corresponding to the required ATSSS functionality.See Table7.5.3.7-1."})
ies.append({ "ie_type" : "Updated PDR", "ie_value" : "Updated PDR", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if a Update PDR is present in the corresponding PFCP Session Modification Request and UP function is requested to allocate a new F-TEID, e.g. to support the redundant transmission on N3/N9 interfaces, or move the application traffic from a default bearer to a new dedicated bearer, or the UP function is requested to assign additional UE IP Address or Prefix, e.g. a shorter than /64 prefix delegation. See Table7.5.5.5-1.Several IEs within the same IE type may be present to represent a list of PDRs to update."})
ies.append({ "ie_type" : "Packet Rate Status Report IE within PFCP Session Modification Response", "ie_value" : "Packet Rate Status Report", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function has requested to report an immediate packet rate status in the PFCP Session Modification Request and the UP function supports the CIOT feature (see clause8.2.25).Several IEs within the same IE type may be present to represent a list of Packet Rate Status Reports."})
ies.append({ "ie_type" : "Updated PDR", "ie_value" : "Updated PDR", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if a Update PDR is present in the corresponding PFCP Session Modification Request and UP function is requested to allocate a new F-TEID, e.g. to support the redundant transmission on N3/N9 interfaces, or move the application traffic from a default bearer to a new dedicated bearer, or the UP function is requested to assign additional UE IP Address or Prefix, e.g. a shorter than /64 prefix delegation. See Table7.5.5.5-1.Several IEs within the same IE type may be present to represent a list of updated PDRs."})
ies.append({ "ie_type" : "Packet Rate Status Report", "ie_value" : "Packet Rate Status Report", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function has requested to report an immediate packet rate status in the PFCP Session Modification Request and the UP function supports the CIOT feature (see clause8.2.25).Several IEs within the same IE type may be present to represent a list of Packet Rate Status Reports."})
ies.append({ "ie_type" : "Partial Failure Information", "ie_value" : "Partial Failure Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Cause IE indicates partial acceptance of the request to provide failure information related to a failed rule.Several IEs within the same IE type may be present to report failures to apply multiple rules.See Table7.5.3.1-2."})
ies.append({ "ie_type" : "MBS Session N4 Information", "ie_value" : "MBS Session N4 Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if any IE in this grouped IE needs to be included as specified in clause5.34.1.Several IE with the same IE type may be present to contain N4 Information for several MBS Sessions.See Table7.5.3.1-5 for encoding."})
msg_list[key]["ies"] = ies

View File

@ -7,5 +7,7 @@ type_list["Usage Report Session Deletion Response"]["max_tlv_more"] = "7"
ies.append({ "ie_type" : "Usage Report Session Deletion Response", "ie_value" : "Usage Report", "presence" : "C", "tlv_more" : "7", "comment" : "This IE shall be present if a URR had been provisioned in the UP function for the PFCP session being deleted and traffic usage measurements for that URR are available at the UP function.Several IEs within the same IE type may be present to represent a list of Usage Reports."})
ies.append({ "ie_type" : "Additional Usage Reports Information", "ie_value" : "Additional Usage Reports Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if the usage reports need to be sent in additional PFCP Session Report Request messages (see clause5.2.2.3.1).When present, this IE shall either indicate that additional usage reports will follow, or indicate the total number of usage reports that need to be sent in PFCP Session Report Request messages."})
ies.append({ "ie_type" : "Packet Rate Status Report", "ie_value" : "Packet Rate Status Report", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function has requested in a QER to report the packet rate status when the PFCP session is released and the UP function supports CIOT feature. (See clause8.2.25) "})
ies.append({ "ie_type" : "Session Report", "ie_value" : "Session Report", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if a SRR for QoS monitoring had been provisioned in the UP function for the PFCP session being deleted and QoS monitoring measurements for that SRR are available at the UP function. See Table7.5.8.7-1.Several IEs within the same IE type may be present to represent a list of Session Reports."})
ies.append({ "ie_type" : "Session Report", "ie_value" : "Session Report", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if a SRR for QoS monitoring had been provisioned in the UP function for the PFCP session being deleted and QoS monitoring measurements for that SRR are available at the UP function. See Table7.5.8. 6-1.Several IEs within the same IE type may be present to represent a list of Session Reports."})
ies.append({ "ie_type" : "MBS Session N4 Information", "ie_value" : "MBS Session N4 Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if any IE in this grouped IE needs to be included as specified in clause5.34.1.Several IE with the same IE type may be present to contain N4 Information for several MBS Sessions.See Table 7.5.3.1-5 for encoding."})
ies.append({ "ie_type" : "PFCPSDRsp-Flags", "ie_value" : "PFCPSDRsp-Flags", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if at least one of the flags is set to 1.- PURU (Pending Usage Reports Unacknowledged): the UP function shall set this flag if the UP function has pending PFCP Session Report Request messages which have not been acknowledged yet when it sends the PFCP Session Deletion Response message."})
msg_list[key]["ies"] = ies

View File

@ -7,9 +7,10 @@ ies.append({ "ie_type" : "Error Indication Report", "ie_value" : "Error Indicati
ies.append({ "ie_type" : "Load Control Information", "ie_value" : "Load Control Information", "presence" : "O", "tlv_more" : "0", "comment" : "The UP function may include this IE if it supports the load control feature and the feature is activated in the network.See Table7.5.3.3-1."})
ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "Overload Control Information", "presence" : "O", "tlv_more" : "0", "comment" : "During an overload condition, the UP function may include this IE if it supports the overload control feature and the feature is activated in the network.See Table7.5.3.4-1."})
ies.append({ "ie_type" : "Additional Usage Reports Information", "ie_value" : "Additional Usage Reports Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included in one of the additional PFCP Session Report Request messages, if the PFCP Session Modification Response or the PFCP Session Deletion Response indicated that more usage reports would follow (i.e. if the AURI flag was set to 1) (see clause5.2.2.3.1).When present, this IE shall indicate the total number of usage reports that need to be sent in all the additional PFCP Session Report Request messages.This IE may also be included in every additional PFCP Session Report Request message but the last one, with the AURI flag set to 1, to indicate that more usage reports will follow in additional PFCP Session Report Request message."})
ies.append({ "ie_type" : "PFCPSRReq-Flags", "ie_value" : "PFCPSRReq-Flags", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if at least one of the flags is set to 1.- PSDBU (PFCP Session Deleted By the UP function): if both the CP function and UP function support the EPFAR feature, the UP function may set this flag if the UP function needs to delete the PFCP session, e.g. to report all remaining non-zero usage reports for all URRs in the PFCP Session and the PFCP session is being deleted locally in the UP function.- the UP function shall also set this flag when sending the last PFCP Session Report Request message after having received a PFCP Session Deletion Request (see clause5.2.2.3.1)."})
ies.append({ "ie_type" : "PFCPSRReq-Flags", "ie_value" : "PFCPSRReq-Flags", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be included if at least one of the flags is set to 1.- PSDBU (PFCP Session Deleted By the UP function):- if both the CP function and UP function support the EPFAR feature,the UP function may set this flag if the UP function needs to delete the PFCP session, e.g. to report all remaining non-zero usage reports for all URRs in the PFCP Session and the PFCP session is being deleted locally in the UP function. - the UP function shall also set this flag when sending the last PFCP Session Report Request message after having received a PFCP Session Deletion Request (see clause5.2.2.3.1)."})
ies.append({ "ie_type" : "F-SEID", "ie_value" : "Old CP F-SEID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UPF sends the PFCP Session Report Request to a different SMF in an SMF Set. See clauses5.22.2 and 5.22.3.When present, it shall indicate the CP F-SEID assigned by the previous SMF to the PFCP session. "})
ies.append({ "ie_type" : "Packet Rate Status Report", "ie_value" : "Packet Rate Status Report", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the EPFAR is used (see clause5.18), UP function initiates a PFCP Session release and the CP function has requested in a QER to report the packet rate status when the PFCP session is released.See Table7.5.7.1-1."})
ies.append({ "ie_type" : "TSC Management Information IE within PFCP Session Report Request", "ie_value" : "TSC Management Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Report Type indicates TSC Management Information Report.Several IEs within the same IE type may be present to transfer PMICs for different NW-TT ports."})
ies.append({ "ie_type" : "TSC Management Information IE within PFCP Session Modification Request", "ie_value" : "TSC Management Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Report Type indicates TSC Management Information Report.Several IEs within the same IE type may be present to transfer PMICs for different NW-TT ports. (NOTE)."})
ies.append({ "ie_type" : "Session Report", "ie_value" : "Session Report", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Report Type indicates a Session Report. See Table7.5.8.6-1.Several IEs within the same IE type may be present to represent a list of Session Reports."})
ies.append({ "ie_type" : "Cause", "ie_value" : "Cause", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present to provide additional reason for sending the PFCP Session Report Request message, e.g. for a UP function initiated PFCP session deletion due to the corresponding L2TP session being terminated."})
msg_list[key]["ies"] = ies

View File

@ -6,4 +6,7 @@ ies.append({ "ie_type" : "PFCPSRRsp-Flags", "ie_value" : "PFCPSRRsp-Flags", "pre
ies.append({ "ie_type" : "F-SEID", "ie_value" : "CP F-SEID", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be set by the SMF if the UPF indicated support of PFCP sessions successively controlled by different SMFs of a same SMF Set and the Cause IE indicates Request accepted (success)(see clause5.22).When present, it shall be set to the new F-SEID that the UPF shall use for sending subsequent PFCP session related messages."})
ies.append({ "ie_type" : "F-TEID", "ie_value" : "N4-u F-TEID", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be set by the SMF if the UPF indicated support of PFCP sessions successively controlled by different SMFs of a same SMF Set and the Cause IE indicates Request accepted (success).When present, it shall be set to the new N4-u F-TEID that the UPF shall use for data forwarding towards the SMF. "})
ies.append({ "ie_type" : "Alternative SMF IP Address", "ie_value" : "Alternative SMF IP Address", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be set by the SMF if the UPF indicated support of PFCP sessions successively controlled by different SMFs of a same SMF Set and the Cause IE indicates Redirection Requested (see clause5.22).When present, it shall be set to the IP address of the new SMF to contact. "})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "PGW-C/SMF FQ-CSID", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be included by the alternative SMF or PGW-C to allocate a new PGW-C/SMF FQ-CSID for the PFCP session, during the restoration of PFCP sessions associated with one or more PGW-C/SMF FQ-CSID(s) (see clause5.22.4), if the Cause IE indicates Request accepted (success).When present, the UP function shall replace any earlier value associated to the PFCP session with the new value."})
ies.append({ "ie_type" : "Group ID", "ie_value" : "Group Id", "presence" : "C", "tlv_more" : "0", "comment" : "This IE may be included by the alternative SMF or PGW-C to allocate a new Group Id for the PFCP session, during the restoration of PFCP sessions associated with one or more Group Id(s) (see clause5.22.4), if the Cause IE indicates Request accepted (success).When present, the UP function shall replace any earlier value associated to the PFCP session with the new value."})
ies.append({ "ie_type" : "Node ID", "ie_value" : "Node ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE should be present if the CP F-SEID IE is present.When present, it shall be set to the Node ID of the SMF that has taken over the control of the PFCP session, i.e. that SMF has assigned the CP F-SEID."})
msg_list[key]["ies"] = ies

View File

@ -5,11 +5,11 @@ ies.append({ "ie_type" : "Recovery Time Stamp", "ie_value" : "Recovery Time Stam
ies.append({ "ie_type" : "UP Function Features", "ie_value" : "UP Function Features", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UP function sends this message and the UP function supports at least one UP feature defined in this IE.When present, this IE shall indicate the features the UP function supports."})
ies.append({ "ie_type" : "CP Function Features", "ie_value" : "CP Function Features", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function sends this message and the CP function supports at least one CP feature defined in this IE.When present, this IE indicates the features the CP function supports."})
ies.append({ "ie_type" : "User Plane IP Resource Information", "ie_value" : "User Plane IP Resource Information", "presence" : "O", "tlv_more" : "3", "comment" : "This IE may be present if the UP function sends this message.When present, this IE shall contain an IPv4 and/or an IPv6 address, together with a TEID range that the CP function shall use to allocate GTP-U F-TEID in the UP function.Several IEs with the same IE type may be present to represent multiple User Plane IP Resources."})
ies.append({ "ie_type" : "Alternative SMF IP Address", "ie_value" : "Alternative SMF IP Address", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the SMF advertises the support of the SSET and/or MPAS feature in the CP Function Features IE (see clause8.2.58).When present, this IE shall contain an IPv4 and/or IPv6 address of an alternative SMF or an alternative PFCP entity in the same SMF when SSET feature is used, or an alternative PFCP entity in the same SMF when MPAS feature is used.Several IEs with the same IE type may be present to represent multiple alternative SMF IP addresses."})
ies.append({ "ie_type" : "SMF Set ID", "ie_value" : "SMF Set ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function sends this message and SMF advertises the support of the MPAS feature in the CP Function Features IE (see clause5.22.3).When present, this IE shall contain an FQDN representing the SMF set to which the SMF belongs."})
ies.append({ "ie_type" : "Alternative SMF IP Address", "ie_value" : "Alternative SMF IP Address", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the (MB-)SMF advertises the support of the SSET and/or MPAS feature in the CP Function Features IE (see clause8.2.58).When present, this IE shall contain an IPv4 and/or IPv6 address of an alternative (MB-)SMF or an alternative PFCP entity in the same (MB-)SMF when SSET feature is used, or an alternative PFCP entity in the same (MB-)SMF when MPAS feature is used.Several IEs with the same IE type may be present to represent multiple alternative (MB-)SMF IP addresses."})
ies.append({ "ie_type" : "SMF Set ID", "ie_value" : "SMF Set ID", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the CP function sends this message and (MB-)SMF advertises the support of the MPAS feature in the CP Function Features IE (see clause5.22.3).When present, this IE shall contain an FQDN representing the (MB-)SMF set to which the (MB-)SMF belongs."})
ies.append({ "ie_type" : "PFCPASRsp-Flags", "ie_value" : "PFCPASRsp-Flags", "presence" : "O", "tlv_more" : "0", "comment" : "This IE shall be included if at least one of the flags is set to 1:- PSREI (PFCP Session Retained Indication): the UP function shall set this flag to 1 if the PFCP Session Retention Information IE was received in the Request, an existing PFCP association was already established for the same Node ID and the requested PFCP sessions have been retained. See clause6.2.6.2.2.- UUPSI (UPF configured for IPUPS): the UP function shall set this flag to 1 if the UPF is configured to be used for IPUPS. See clause5.27."})
ies.append({ "ie_type" : "Clock Drift Control Information", "ie_value" : "Clock Drift Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "his IE may be present, if the CP function sends this message, to request the UPF to report clock drift between the TSN time and 5GS time for TSN working domains (see clause5.26.4).Several IEs with the same IE type may be present to represent multiple TSN time domains (with different parameters).See Table7.4.4.1.2-1."})
ies.append({ "ie_type" : "Clock Drift Control Information", "ie_value" : "Clock Drift Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE may be present, if the CP function sends this message, to request the UPF to report clock drift between the external time and 5GS time for external working domains (see clause5.26.4).Several IEs with the same IE type may be present to represent multiple external time domains (with different parameters).See Table7.4.4.1.2-1."})
ies.append({ "ie_type" : "UE IP Address", "ie_value" : "UE IP address Pool Information", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present when the UP function sends this message, if UE IP Address Pools are configured in the UP function.Several IE with the same IE type may be present to represent multiple UE IP address Pool Information.The IE shall be encoded as in Table 7.4.4.1-3. "})
ies.append({ "ie_type" : "GTP-U Path QoS Control Information", "ie_value" : "GTP-U Path QoS Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE may be present, if the CP function sends this message, to request the UPF to monitor the QoS on GTP-U paths (see clause5.24.5).Several IEs with the same IE type may be present to represent multiple GTP-U paths to monitor.See Table7.4.4.1.3-1."})
ies.append({ "ie_type" : "NF Instance ID", "ie_value" : "UPF Instance ID", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the UP function is a 5G UPF and if available, and if the message is sent by the UPF."})
ies.append({ "ie_type" : "NF Instance ID", "ie_value" : "UPF Instance ID", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the UP function is a 5G UP function and if available, and if the message is sent by the UP function."})
msg_list[key]["ies"] = ies

View File

@ -2,14 +2,14 @@ ies = []
ies.append({ "ie_type" : "Node ID", "ie_value" : "Node ID", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall contain the unique identifier of the sending Node."})
ies.append({ "ie_type" : "UP Function Features", "ie_value" : "UP Function Features", "presence" : "O", "tlv_more" : "0", "comment" : "If present, this IE shall indicate the supported Features when the sending node is the UP function."})
ies.append({ "ie_type" : "CP Function Features", "ie_value" : "CP Function Features", "presence" : "O", "tlv_more" : "0", "comment" : "If present, this IE shall indicate the supported Features when the sending node is the CP function."})
ies.append({ "ie_type" : "User Plane IP Resource Information", "ie_value" : "User Plane IP Resource Information", "presence" : "O", "tlv_more" : "3", "comment" : "This IE may be present if the UP function sends this message.When present, this IE shall contain an IPv4 and/or an IPv6 address, together with a TEID range that the CP function shall use to allocate GTP-U F-TEID in the UP function.Several IEs with the same IE type may be present to represent multiple User Plane IP Resources. "})
ies.append({ "ie_type" : "User Plane IP Resource Information", "ie_value" : "User Plane IP Resource Information", "presence" : "O", "tlv_more" : "3", "comment" : "This IE may be present if the UP function sends this message.When present, this IE shall contain an IPv4 and/or an IPv6 address, together with a TEID range that the CP function shall use to allocate GTP-U F-TEID in the UP function.Several IEs with the same IE type may be present to represent multiple User Plane IP Resources."})
ies.append({ "ie_type" : "PFCP Association Release Request", "ie_value" : "PFCP Association Release Request", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UP function requests the CP function to release the PFCP association."})
ies.append({ "ie_type" : "Graceful Release Period", "ie_value" : "Graceful Release Period", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the UP function requests a graceful release of the PFCP association."})
ies.append({ "ie_type" : "PFCPAUReq-Flags", "ie_value" : "PFCPAUReq-Flags", "presence" : "O", "tlv_more" : "0", "comment" : "This IE shall be included if at least one of the flags is set to 1.- PARPS (PFCP Association Release Preparation Start): if both the CP function and UP function support the EPFAR feature, the CP or UP function may set this flag to 1 to indicate that the PFCP association is to be released and all non-zero usage reports for those PFCP Sessions affected by the release of the PFCP association shall be reported."})
ies.append({ "ie_type" : "Alternative SMF IP Address", "ie_value" : "Alternative SMF IP Address", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the SMF advertises the support of the SSET and/or MPAS feature in the CP Function Features IE (see clause8.2.58).When present, this IE shall contain an IPv4 and/or IPv6 address of an alternative SMF or an alternative PFCP entity in the same SMF when SSET feature is used, or an alternative PFCP entity in the same SMF when MPAS feature is used.Several IEs with the same IE type may be present to represent multiple alternative SMF IP addresses."})
ies.append({ "ie_type" : "SMF Set ID", "ie_value" : "SMF Set ID", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the CP function sends this message and SMF advertises the support of the MPAS feature in the CP Function Features IE (see clause5.22.3), and there is a change in FQDN representing the SMF set to which the SMF belongs."})
ies.append({ "ie_type" : "Alternative SMF IP Address", "ie_value" : "Alternative SMF IP Address", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the (MB-)SMF advertises the support of the SSET and/or MPAS feature in the CP Function Features IE (see clause8.2.58).When present, this IE shall contain an IPv4 and/or IPv6 address of an alternative (MB-)SMF or an alternative PFCP entity in the same (MB-)SMF when SSET feature is used, or an alternative PFCP entity in the same (MB-)SMF when MPAS feature is used.Several IEs with the same IE type may be present to represent multiple alternative (MB-)SMF IP addresses."})
ies.append({ "ie_type" : "SMF Set ID", "ie_value" : "SMF Set ID", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present if the CP function sends this message and (MB-)SMF advertises the support of the MPAS feature in the CP Function Features IE (see clause5.22.3), and there is a change in FQDN representing the (MB-)SMF set to which the (MB-)SMF belongs."})
ies.append({ "ie_type" : "Clock Drift Control Information", "ie_value" : "Clock Drift Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the Clock Drift Control Information needs to be modified (see clause5.26.4).Several IEs with the same IE type may be present to represent TSN domains.When present, the UPF shall replace any Clock Drift control information received earlier with the new received information.A Clock Drift Control Information with a null length indicates that clock drift reporting shall be stopped.See Table7.4.4.1.2-1."})
ies.append({ "ie_type" : "UE IP Address", "ie_value" : "UE IP address Pool Information", "presence" : "O", "tlv_more" : "0", "comment" : "This IE may be present when the UP function sends this message, if UE IP Address Pools are configured in the UP function.Several IE with the same IE type may be present to represent multiple UE IP address Pool Information.The IE shall be encoded as in Table 7.4.4.1-3. "})
ies.append({ "ie_type" : "GTP-U Path QoS Control Information", "ie_value" : "GTP-U Path QoS Control Information", "presence" : "C", "tlv_more" : "0", "comment" : "This IE shall be present if the GTP-U Path QoS Control Information needs to be modified (see clause5.24.5).Several IEs with the same IE type may be present to represent multiple GTP-U paths to monitor.When present, the UPF shall replace any GTP-U path control information received earlier with the new received information.A GTP-U Path QoS Control Information with a null length indicates that QoS monitoring of GTP-U paths shall be stopped.See Table7.4.4.1.3-1."})
ies.append({ "ie_type" : "UE IP Address Usage Information", "ie_value" : "UE IP Address Usage Information", "presence" : "O", "tlv_more" : "0", "comment" : "The UP function may include if both UP and CP functions support the UE IP Address Usage Reporting feature.See Table 7.4.4.3.1-1Several IEs with the same type may be present to represent UE IP Address Usage Information for different UE IP Address Pools and/or Network Instances.See clause5.21.3"})
ies.append({ "ie_type" : "UE IP Address Usage Information", "ie_value" : "UE IP Address Usage Information", "presence" : "O", "tlv_more" : "0", "comment" : "The UP function may include this IE if both UP and CP functions support the UE IP Address Usage Reporting feature.See Table 7.4.4.3.1-1Several IEs with the same type may be present to represent UE IP Address Usage Information for different UE IP Address Pools and/or Network Instances.See clause5.21.3."})
msg_list[key]["ies"] = ies

View File

@ -3,5 +3,6 @@ ies.append({ "ie_type" : "Node ID", "ie_value" : "Node ID", "presence" : "M", "t
ies.append({ "ie_type" : "Cause", "ie_value" : "Cause", "presence" : "M", "tlv_more" : "0", "comment" : "This IE shall indicate the acceptance or the rejection of the corresponding request message."})
ies.append({ "ie_type" : "UP Function Features", "ie_value" : "UP Function Features", "presence" : "O", "tlv_more" : "0", "comment" : "If present, this IE shall indicate the supported Features when the sending node is the UP function."})
ies.append({ "ie_type" : "CP Function Features", "ie_value" : "CP Function Features", "presence" : "O", "tlv_more" : "0", "comment" : "If present, this IE shall indicate the supported Features when the sending node is the CP function."})
ies.append({ "ie_type" : "UE IP Address Usage Information", "ie_value" : "UE IP Address Usage Information", "presence" : "O", "tlv_more" : "0", "comment" : "The UP function may include if both UP and CP functions support the UE IP Address Usage Reporting feature.See Table 7.4.4.3.1-1Several IEs with the same type may be present to represent UE IP Address Usage Information for different UE IP Address Pools and/or Network Instances.See clause5.21.3"})
ies.append({ "ie_type" : "User Plane IP Resource Information", "ie_value" : "User Plane IP Resource Information", "presence" : "O", "tlv_more" : "3", "comment" : "This IE may be present if the UP function sends this message.When present, this IE shall contain an IPv4 and/or an IPv6 address, together with a TEID range that the CP function shall use to allocate GTP-U F-TEID in the UP function.Several IEs with the same IE type may be present to represent multiple User Plane IP Resources."})
ies.append({ "ie_type" : "UE IP Address Usage Information", "ie_value" : "UE IP Address Usage Information", "presence" : "O", "tlv_more" : "0", "comment" : "The UP function may include if both UP and CP functions support the UE IP Address Usage Reporting feature.See Table7.4.4.3.1-1.Several IEs with the same type may be present to represent UE IP Address Usage Information for different UE IP Address Pools and/or Network Instances.See clause5.21.3."})
msg_list[key]["ies"] = ies

View File

@ -13,6 +13,8 @@ msg_list["PFCP Node Report Request"] = { "type" : "12" }
msg_list["PFCP Node Report Response"] = { "type" : "13" }
msg_list["PFCP Session Set Deletion Request"] = { "type" : "14" }
msg_list["PFCP Session Set Deletion Response"] = { "type" : "15" }
msg_list["PFCP Session Set Modification Request"] = { "type" : "16" }
msg_list["PFCP Session Set Modification Response"] = { "type" : "17" }
msg_list["PFCP Session Establishment Request"] = { "type" : "50" }
msg_list["PFCP Session Establishment Response"] = { "type" : "51" }
msg_list["PFCP Session Modification Request"] = { "type" : "52" }

View File

@ -195,7 +195,7 @@ type_list["Create Bridge Info for TSC"] = { "type" : "194", "max_tlv_more" : "0"
type_list["Created Bridge Info for TSC"] = { "type" : "195", "max_tlv_more" : "0" }
type_list["DS-TT Port Number"] = { "type" : "196", "max_tlv_more" : "0" }
type_list["NW-TT Port Number"] = { "type" : "197", "max_tlv_more" : "0" }
type_list["TSN Bridge ID"] = { "type" : "198", "max_tlv_more" : "0" }
type_list["5GS User Plane Node"] = { "type" : "198", "max_tlv_more" : "0" }
type_list["TSC Management Information IE within PFCP Session Modification Request"] = { "type" : "199", "max_tlv_more" : "0" }
type_list["TSC Management Information IE within PFCP Session Modification Response"] = { "type" : "200", "max_tlv_more" : "0" }
type_list["TSC Management Information IE within PFCP Session Report Request"] = { "type" : "201", "max_tlv_more" : "0" }
@ -203,7 +203,7 @@ type_list["Port Management Information Container"] = { "type" : "202", "max_tlv_
type_list["Clock Drift Control Information"] = { "type" : "203", "max_tlv_more" : "0" }
type_list["Requested Clock Drift Information"] = { "type" : "204", "max_tlv_more" : "0" }
type_list["Clock Drift Report"] = { "type" : "205", "max_tlv_more" : "0" }
type_list["TSN Time Domain Number"] = { "type" : "206", "max_tlv_more" : "0" }
type_list["Time Domain Number"] = { "type" : "206", "max_tlv_more" : "0" }
type_list["Time Offset Threshold"] = { "type" : "207", "max_tlv_more" : "0" }
type_list["Cumulative rateRatio Threshold"] = { "type" : "208", "max_tlv_more" : "0" }
type_list["Time Offset Measurement"] = { "type" : "209", "max_tlv_more" : "0" }
@ -269,3 +269,53 @@ type_list["Number of UE IP Addresses"] = { "type" : "268", "max_tlv_more" : "0"
type_list["Validity Timer"] = { "type" : "269", "max_tlv_more" : "0" }
type_list["Redundant Transmission Forwarding Parameters"] = { "type" : "270", "max_tlv_more" : "0" }
type_list["Transport Delay Reporting"] = { "type" : "271", "max_tlv_more" : "0" }
type_list["Partial Failure Information"] = { "type" : "272", "max_tlv_more" : "0" }
type_list["Spare"] = { "type" : "273", "max_tlv_more" : "0" }
type_list["Offending IE Information"] = { "type" : "274", "max_tlv_more" : "0" }
type_list["RAT Type"] = { "type" : "275", "max_tlv_more" : "0" }
type_list["L2TP Tunnel Information"] = { "type" : "276", "max_tlv_more" : "0" }
type_list["L2TP Session Information"] = { "type" : "277", "max_tlv_more" : "0" }
type_list["L2TP User Authentication IE"] = { "type" : "278", "max_tlv_more" : "0" }
type_list["Created L2TP Session"] = { "type" : "279", "max_tlv_more" : "0" }
type_list["LNS Address"] = { "type" : "280", "max_tlv_more" : "0" }
type_list["Tunnel Preference"] = { "type" : "281", "max_tlv_more" : "0" }
type_list["Calling Number"] = { "type" : "282", "max_tlv_more" : "0" }
type_list["Called Number"] = { "type" : "283", "max_tlv_more" : "0" }
type_list["L2TP Session Indications"] = { "type" : "284", "max_tlv_more" : "0" }
type_list["DNS Server Address"] = { "type" : "285", "max_tlv_more" : "0" }
type_list["NBNS Server Address"] = { "type" : "286", "max_tlv_more" : "0" }
type_list["Maximum Receive Unit"] = { "type" : "287", "max_tlv_more" : "0" }
type_list["Thresholds"] = { "type" : "288", "max_tlv_more" : "0" }
type_list["Steering Mode Indicator"] = { "type" : "289", "max_tlv_more" : "0" }
type_list["PFCP Session Change Info"] = { "type" : "290", "max_tlv_more" : "0" }
type_list["Group ID"] = { "type" : "291", "max_tlv_more" : "0" }
type_list["CP IP Address"] = { "type" : "292", "max_tlv_more" : "0" }
type_list["IP Address and Port number Replacement"] = { "type" : "293", "max_tlv_more" : "0" }
type_list["DNS Query Filter"] = { "type" : "294", "max_tlv_more" : "0" }
type_list["Direct Reporting Information"] = { "type" : "295", "max_tlv_more" : "0" }
type_list["Event Notification URI"] = { "type" : "296", "max_tlv_more" : "0" }
type_list["Notification Correlation ID"] = { "type" : "297", "max_tlv_more" : "0" }
type_list["Reporting Flags"] = { "type" : "298", "max_tlv_more" : "0" }
type_list["Predefined Rules Name"] = { "type" : "299", "max_tlv_more" : "0" }
type_list["MBS Session N4mb Control Information"] = { "type" : "300", "max_tlv_more" : "0" }
type_list["MBS Multicast Parameters"] = { "type" : "301", "max_tlv_more" : "0" }
type_list["Add MBS Unicast Parameters"] = { "type" : "302", "max_tlv_more" : "0" }
type_list["MBS Session N4mb Information"] = { "type" : "303", "max_tlv_more" : "0" }
type_list["Remove MBS Unicast Parameters"] = { "type" : "304", "max_tlv_more" : "0" }
type_list["MBS Session Identifier"] = { "type" : "305", "max_tlv_more" : "0" }
type_list["Multicast Transport Information"] = { "type" : "306", "max_tlv_more" : "0" }
type_list["MBSN4mbReq-Flags"] = { "type" : "307", "max_tlv_more" : "0" }
type_list["Local Ingress Tunnel"] = { "type" : "308", "max_tlv_more" : "0" }
type_list["MBS Unicast Parameters ID"] = { "type" : "309", "max_tlv_more" : "0" }
type_list["MBS Session N4 Control Information"] = { "type" : "310", "max_tlv_more" : "0" }
type_list["MBS Session N4 Information"] = { "type" : "311", "max_tlv_more" : "0" }
type_list["MBSN4Resp-Flags"] = { "type" : "312", "max_tlv_more" : "0" }
type_list["Tunnel Password"] = { "type" : "313", "max_tlv_more" : "0" }
type_list["Area Session ID"] = { "type" : "314", "max_tlv_more" : "0" }
type_list["Peer UP Restart Report"] = { "type" : "315", "max_tlv_more" : "0" }
type_list["DSCP to PPI Control Information"] = { "type" : "316", "max_tlv_more" : "0" }
type_list["DSCP to PPI Mapping Information"] = { "type" : "317", "max_tlv_more" : "0" }
type_list["PFCPSDRsp-Flags"] = { "type" : "318", "max_tlv_more" : "0" }
type_list["QER Indications"] = { "type" : "319", "max_tlv_more" : "0" }
type_list["Vendor-Specific Node Report Type"] = { "type" : "320", "max_tlv_more" : "0" }
type_list["Configured Time Domain"] = { "type" : "321", "max_tlv_more" : "0" }

View File

@ -1,4 +1,4 @@
# 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.
@ -54,7 +54,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.
*
@ -90,10 +90,10 @@ def usage():
print("-h Print this help and return")
def v_upper(v):
return re.sub('3GPP', '', re.sub('\'', '_', re.sub('/', '_', re.sub('-', '_', re.sub(' ', '_', v)))).upper())
return re.sub('5GS', 'FiveGS', re.sub('3GPP', '', re.sub('\'', '_', re.sub('/', '_', re.sub('-', '_', re.sub(' ', '_', v)))).upper()))
def v_lower(v):
return re.sub('3gpp', '', re.sub('\'', '_', re.sub('/', '_', re.sub('-', '_', re.sub(' ', '_', v)))).lower())
return re.sub('5gs', 'fivegs', re.sub('3gpp', '', re.sub('\'', '_', re.sub('/', '_', re.sub('-', '_', re.sub(' ', '_', v)))).lower()))
def get_cells(cells):
note = cells[0].text
@ -149,6 +149,26 @@ def get_cells(cells):
ie_type = 'PFCP Session Retention Information within PFCP Association Setup Request'
elif ie_type.find('GTP-U Path QoS Report') != -1:
ie_type = 'GTP-U Path QoS Report PFCP Node Report Request'
elif ie_type.find('Provide RDS configuration information') != -1:
ie_type = 'Provide RDS Configuration Information'
elif ie_type.find('RDS configuration information') != -1:
ie_type = 'RDS Configuration Information'
elif ie_type.find('Group Id') != -1:
ie_type = 'Group ID'
elif ie_type.find('Group-Id') != -1:
ie_type = 'Group ID'
elif ie_type.find('L2TP session Indications') != -1:
ie_type = 'L2TP Session Indications'
elif ie_type.find('L2TP User Authentication') != -1:
ie_type = 'L2TP User Authentication IE'
elif ie_type.find('IP Address and Port Number Replacement') != -1:
ie_type = 'IP Address and Port number Replacement'
elif ie_type.find('User Plane Node Management Information Container') != -1:
ie_type = 'Bridge Management Information Container'
elif ie_type.find('TSC Management Information') != -1:
ie_type = 'TSC Management Information IE within PFCP Session Modification Request'
elif ie_type.find('Query Packet Rate Status') != -1:
ie_type = 'Query Packet Rate Status IE within PFCP Session Modification Request'
if ie_type not in type_list.keys():
assert False, "Unknown IE type : [" \
+ cells[-1].text + "]" + "(" + ie_type + ")"
@ -402,17 +422,19 @@ msg_list["PFCP Association Release Request"]["table"] = 24
msg_list["PFCP Association Release Response"]["table"] = 25
msg_list["PFCP Version Not Supported Response"]["table"] = 0
msg_list["PFCP Node Report Request"]["table"] = 26
msg_list["PFCP Node Report Response"]["table"] = 32
msg_list["PFCP Session Set Deletion Request"]["table"] = 33
msg_list["PFCP Session Set Deletion Response"]["table"] = 34
msg_list["PFCP Session Establishment Request"]["table"] = 35
msg_list["PFCP Session Establishment Response"]["table"] = 60
msg_list["PFCP Session Modification Request"]["table"] = 70
msg_list["PFCP Session Modification Response"]["table"] = 95
msg_list["PFCP Session Deletion Request"]["table"] = 100
msg_list["PFCP Session Deletion Response"]["table"] = 101
msg_list["PFCP Session Report Request"]["table"] = 104
msg_list["PFCP Session Report Response"]["table"] = 116
msg_list["PFCP Node Report Response"]["table"] = 33
msg_list["PFCP Session Set Deletion Request"]["table"] = 34
msg_list["PFCP Session Set Deletion Response"]["table"] = 35
msg_list["PFCP Session Set Modification Request"]["table"] = 36
msg_list["PFCP Session Set Modification Response"]["table"] = 38
msg_list["PFCP Session Establishment Request"]["table"] = 39
msg_list["PFCP Session Establishment Response"]["table"] = 72
msg_list["PFCP Session Modification Request"]["table"] = 86
msg_list["PFCP Session Modification Response"]["table"] = 112
msg_list["PFCP Session Deletion Request"]["table"] = 117
msg_list["PFCP Session Deletion Response"]["table"] = 118
msg_list["PFCP Session Report Request"]["table"] = 121
msg_list["PFCP Session Report Response"]["table"] = 133
for key in msg_list.keys():
if "table" in msg_list[key].keys():
@ -426,12 +448,13 @@ for key in msg_list.keys():
f = open(cachefile, 'w')
table = document.tables[msg_list[key]["table"]]
if key.find('Association') != -1:
start_i = 1
elif key.find('Heartbeat') != -1:
start_i = 1
else:
start_i = 2
# if key.find('Association') != -1:
# start_i = 1
# elif key.find('Heartbeat') != -1:
# start_i = 1
# else:
# start_i = 2
start_i = 2
ies = []
write_file(f, "ies = []\n")
@ -580,42 +603,46 @@ for k, v in group_list.items():
v["index"] = "8"
if v_lower(k) == "redundant_transmission_forwarding_parameters":
v["index"] = "9"
if v_lower(k) == "create_far":
if v_lower(k) == "mbs_multicast_parameters":
v["index"] = "10"
if v_lower(k) == "update_forwarding_parameters":
if v_lower(k) == "add_mbs_unicast_parameters":
v["index"] = "11"
if v_lower(k) == "update_duplicating_parameters":
if v_lower(k) == "create_far":
v["index"] = "12"
if v_lower(k) == "update_far":
if v_lower(k) == "update_forwarding_parameters":
v["index"] = "13"
if v_lower(k) == "pfd_context":
if v_lower(k) == "update_duplicating_parameters":
v["index"] = "14"
if v_lower(k) == "application_id_s_pfds":
if v_lower(k) == "update_far":
v["index"] = "15"
if v_lower(k) == "ethernet_traffic_information":
if v_lower(k) == "pfd_context":
v["index"] = "16"
if v_lower(k) == "_access_forwarding_action_information":
if v_lower(k) == "application_id_s_pfds":
v["index"] = "17"
if v_lower(k) == "non__access_forwarding_action_information":
if v_lower(k) == "ethernet_traffic_information":
v["index"] = "18"
if v_lower(k) == "update__access_forwarding_action_information":
if v_lower(k) == "_access_forwarding_action_information":
v["index"] = "19"
if v_lower(k) == "update_non__access_forwarding_action_information":
if v_lower(k) == "non__access_forwarding_action_information":
v["index"] = "20"
if v_lower(k) == "access_availability_report":
if v_lower(k) == "update__access_forwarding_action_information":
v["index"] = "21"
if v_lower(k) == "qos_monitoring_report":
if v_lower(k) == "update_non__access_forwarding_action_information":
v["index"] = "22"
if v_lower(k) == "mptcp_parameters":
if v_lower(k) == "access_availability_report":
v["index"] = "23"
if v_lower(k) == "atsss_ll_parameters":
if v_lower(k) == "qos_monitoring_report":
v["index"] = "24"
if v_lower(k) == "pmf_parameters":
if v_lower(k) == "mptcp_parameters":
v["index"] = "25"
if v_lower(k) == "join_ip_multicast_information_ie_within_usage_report":
if v_lower(k) == "atsss_ll_parameters":
v["index"] = "26"
if v_lower(k) == "leave_ip_multicast_information_ie_within_usage_report":
if v_lower(k) == "pmf_parameters":
v["index"] = "27"
if v_lower(k) == "join_ip_multicast_information_ie_within_usage_report":
v["index"] = "28"
if v_lower(k) == "leave_ip_multicast_information_ie_within_usage_report":
v["index"] = "29"
tmp = [(k, v["index"]) for k, v in group_list.items()]
sorted_group_list = sorted(tmp, key=lambda tup: int(tup[1]), reverse=False)