mirror of
https://github.com/open5gs/open5gs.git
synced 2025-11-09 00:16:51 +00:00
NAS-5GS is added
This commit is contained in:
2953
lib/nas/eps/decoder.c
Normal file
2953
lib/nas/eps/decoder.c
Normal file
File diff suppressed because it is too large
Load Diff
3167
lib/nas/eps/encoder.c
Normal file
3167
lib/nas/eps/encoder.c
Normal file
File diff suppressed because it is too large
Load Diff
2917
lib/nas/eps/ies.c
Normal file
2917
lib/nas/eps/ies.c
Normal file
File diff suppressed because it is too large
Load Diff
235
lib/nas/eps/ies.h
Normal file
235
lib/nas/eps/ies.h
Normal file
@@ -0,0 +1,235 @@
|
||||
/*
|
||||
* The MIT License
|
||||
*
|
||||
* Copyright (C) 2019,2020 by Sukchan Lee <acetcom@gmail.com>
|
||||
*
|
||||
* This file is part of Open5GS.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/*******************************************************************************
|
||||
* This file had been created by nas-message.py script v0.1.0
|
||||
* Please do not modify this file but regenerate it via script.
|
||||
* Created on: 2020-05-21 20:07:15.935158 by acetcom
|
||||
* from 24301-d80.docx
|
||||
******************************************************************************/
|
||||
|
||||
#if !defined(OGS_NAS_INSIDE) && !defined(OGS_NAS_COMPILATION)
|
||||
#error "This header cannot be included directly."
|
||||
#endif
|
||||
|
||||
#ifndef OGS_NAS_EPS_IES_H
|
||||
#define OGS_NAS_EPS_IES_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int ogs_nas_encode_optional_type(ogs_pkbuf_t *pkbuf, uint8_t type);
|
||||
|
||||
int ogs_nas_decode_additional_information(ogs_nas_additional_information_t *additional_information, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_device_properties(ogs_nas_device_properties_t *device_properties, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_eps_bearer_context_status(ogs_nas_eps_bearer_context_status_t *eps_bearer_context_status, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_supported_codec_list(ogs_nas_supported_codec_list_t *supported_codec_list, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_location_area_identification(ogs_nas_location_area_identification_t *location_area_identification, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_mobile_identity(ogs_nas_mobile_identity_t *mobile_identity, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_mobile_station_classmark_2(ogs_nas_mobile_station_classmark_2_t *mobile_station_classmark_2, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_mobile_station_classmark_3(ogs_nas_mobile_station_classmark_3_t *mobile_station_classmark_3, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_plmn_list(ogs_nas_plmn_list_t *plmn_list, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_additional_update_result(ogs_nas_additional_update_result_t *additional_update_result, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_additional_update_type(ogs_nas_additional_update_type_t *additional_update_type, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_authentication_failure_parameter(ogs_nas_authentication_failure_parameter_t *authentication_failure_parameter, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_eps_attach_result(ogs_nas_eps_attach_result_t *eps_attach_result, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_eps_attach_type(ogs_nas_eps_attach_type_t *eps_attach_type, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_eps_mobile_identity(ogs_nas_eps_mobile_identity_t *eps_mobile_identity, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_eps_network_feature_support(ogs_nas_eps_network_feature_support_t *eps_network_feature_support, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_eps_update_result(ogs_nas_eps_update_result_t *eps_update_result, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_eps_update_type(ogs_nas_eps_update_type_t *eps_update_type, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_esm_message_container(ogs_nas_esm_message_container_t *esm_message_container, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_gprs_timer(ogs_nas_gprs_timer_t *gprs_timer, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_gprs_timer_2(ogs_nas_gprs_timer_2_t *gprs_timer_2, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_gprs_timer_3(ogs_nas_gprs_timer_3_t *gprs_timer_3, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_identity_type_2(ogs_nas_identity_type_2_t *identity_type_2, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_imeisv_request(ogs_nas_imeisv_request_t *imeisv_request, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_ksi_and_sequence_number(ogs_nas_ksi_and_sequence_number_t *ksi_and_sequence_number, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_authentication_parameter_autn(ogs_nas_authentication_parameter_autn_t *authentication_parameter_autn, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_ms_network_capability(ogs_nas_ms_network_capability_t *ms_network_capability, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_ms_network_feature_support(ogs_nas_ms_network_feature_support_t *ms_network_feature_support, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_key_set_identifier(ogs_nas_key_set_identifier_t *key_set_identifier, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_message_container(ogs_nas_message_container_t *message_container, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_security_algorithms(ogs_nas_security_algorithms_t *security_algorithms, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_network_name(ogs_nas_network_name_t *network_name, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_network_resource_identifier_container(ogs_nas_network_resource_identifier_container_t *network_resource_identifier_container, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_nonce(ogs_nas_nonce_t *nonce, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_paging_identity(ogs_nas_paging_identity_t *paging_identity, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_p_tmsi_signature(ogs_nas_p_tmsi_signature_t *p_tmsi_signature, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_extended_emm_cause(ogs_nas_extended_emm_cause_t *extended_emm_cause, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_service_type(ogs_nas_service_type_t *service_type, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_short_mac(ogs_nas_short_mac_t *short_mac, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_time_zone(ogs_nas_time_zone_t *time_zone, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_authentication_parameter_rand(ogs_nas_authentication_parameter_rand_t *authentication_parameter_rand, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_time_zone_and_time(ogs_nas_time_zone_and_time_t *time_zone_and_time, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_tmsi_status(ogs_nas_tmsi_status_t *tmsi_status, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_tracking_area_identity(ogs_nas_tracking_area_identity_t *tracking_area_identity, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_tracking_area_identity_list(ogs_nas_tracking_area_identity_list_t *tracking_area_identity_list, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_ue_network_capability(ogs_nas_ue_network_capability_t *ue_network_capability, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_ue_radio_capability_information_update_needed(ogs_nas_ue_radio_capability_information_update_needed_t *ue_radio_capability_information_update_needed, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_ue_security_capability(ogs_nas_ue_security_capability_t *ue_security_capability, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_emergency_number_list(ogs_nas_emergency_number_list_t *emergency_number_list, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_cli(ogs_nas_cli_t *cli, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_ss_code(ogs_nas_ss_code_t *ss_code, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_authentication_response_parameter(ogs_nas_authentication_response_parameter_t *authentication_response_parameter, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_lcs_indicator(ogs_nas_lcs_indicator_t *lcs_indicator, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_lcs_client_identity(ogs_nas_lcs_client_identity_t *lcs_client_identity, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_generic_message_container_type(ogs_nas_generic_message_container_type_t *generic_message_container_type, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_generic_message_container(ogs_nas_generic_message_container_t *generic_message_container, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_voice_domain_preference_and_ue_usage_setting(ogs_nas_voice_domain_preference_and_ue_usage_setting_t *voice_domain_preference_and_ue_usage_setting, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_guti_type(ogs_nas_guti_type_t *guti_type, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_extended_drx_parameters(ogs_nas_extended_drx_parameters_t *extended_drx_parameters, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_ciphering_key_sequence_number(ogs_nas_ciphering_key_sequence_number_t *ciphering_key_sequence_number, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_csfb_response(ogs_nas_csfb_response_t *csfb_response, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_daylight_saving_time(ogs_nas_daylight_saving_time_t *daylight_saving_time, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_detach_type(ogs_nas_detach_type_t *detach_type, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_drx_parameter(ogs_nas_drx_parameter_t *drx_parameter, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_emm_cause(ogs_nas_emm_cause_t *emm_cause, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_access_point_name(ogs_nas_access_point_name_t *access_point_name, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_protocol_configuration_options(ogs_nas_protocol_configuration_options_t *protocol_configuration_options, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_quality_of_service(ogs_nas_quality_of_service_t *quality_of_service, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_radio_priority(ogs_nas_radio_priority_t *radio_priority, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_re_attempt_indicator(ogs_nas_re_attempt_indicator_t *re_attempt_indicator, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_request_type(ogs_nas_request_type_t *request_type, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_traffic_flow_aggregate_description(ogs_nas_traffic_flow_aggregate_description_t *traffic_flow_aggregate_description, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_traffic_flow_template(ogs_nas_traffic_flow_template_t *traffic_flow_template, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_transaction_identifier(ogs_nas_transaction_identifier_t *transaction_identifier, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_wlan_offload_acceptability(ogs_nas_wlan_offload_acceptability_t *wlan_offload_acceptability, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_nbifom_container(ogs_nas_nbifom_container_t *nbifom_container, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_apn_aggregate_maximum_bit_rate(ogs_nas_apn_aggregate_maximum_bit_rate_t *apn_aggregate_maximum_bit_rate, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_header_compression_configuration(ogs_nas_header_compression_configuration_t *header_compression_configuration, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_control_plane_only_indication(ogs_nas_control_plane_only_indication_t *control_plane_only_indication, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_extended_protocol_configuration_options(ogs_nas_extended_protocol_configuration_options_t *extended_protocol_configuration_options, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_header_compression_configuration_status(ogs_nas_header_compression_configuration_status_t *header_compression_configuration_status, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_serving_plmn_rate_control(ogs_nas_serving_plmn_rate_control_t *serving_plmn_rate_control, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_connectivity_type(ogs_nas_connectivity_type_t *connectivity_type, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_eps_quality_of_service(ogs_nas_eps_quality_of_service_t *eps_quality_of_service, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_esm_cause(ogs_nas_esm_cause_t *esm_cause, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_esm_information_transfer_flag(ogs_nas_esm_information_transfer_flag_t *esm_information_transfer_flag, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_linked_eps_bearer_identity(ogs_nas_linked_eps_bearer_identity_t *linked_eps_bearer_identity, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_llc_service_access_point_identifier(ogs_nas_llc_service_access_point_identifier_t *llc_service_access_point_identifier, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_packet_flow_identifier(ogs_nas_packet_flow_identifier_t *packet_flow_identifier, ogs_pkbuf_t *pkbuf);
|
||||
int ogs_nas_decode_pdn_address(ogs_nas_pdn_address_t *pdn_address, ogs_pkbuf_t *pkbuf);
|
||||
|
||||
int ogs_nas_encode_additional_information(ogs_pkbuf_t *pkbuf, ogs_nas_additional_information_t *additional_information);
|
||||
int ogs_nas_encode_device_properties(ogs_pkbuf_t *pkbuf, ogs_nas_device_properties_t *device_properties);
|
||||
int ogs_nas_encode_eps_bearer_context_status(ogs_pkbuf_t *pkbuf, ogs_nas_eps_bearer_context_status_t *eps_bearer_context_status);
|
||||
int ogs_nas_encode_supported_codec_list(ogs_pkbuf_t *pkbuf, ogs_nas_supported_codec_list_t *supported_codec_list);
|
||||
int ogs_nas_encode_location_area_identification(ogs_pkbuf_t *pkbuf, ogs_nas_location_area_identification_t *location_area_identification);
|
||||
int ogs_nas_encode_mobile_identity(ogs_pkbuf_t *pkbuf, ogs_nas_mobile_identity_t *mobile_identity);
|
||||
int ogs_nas_encode_mobile_station_classmark_2(ogs_pkbuf_t *pkbuf, ogs_nas_mobile_station_classmark_2_t *mobile_station_classmark_2);
|
||||
int ogs_nas_encode_mobile_station_classmark_3(ogs_pkbuf_t *pkbuf, ogs_nas_mobile_station_classmark_3_t *mobile_station_classmark_3);
|
||||
int ogs_nas_encode_plmn_list(ogs_pkbuf_t *pkbuf, ogs_nas_plmn_list_t *plmn_list);
|
||||
int ogs_nas_encode_additional_update_result(ogs_pkbuf_t *pkbuf, ogs_nas_additional_update_result_t *additional_update_result);
|
||||
int ogs_nas_encode_additional_update_type(ogs_pkbuf_t *pkbuf, ogs_nas_additional_update_type_t *additional_update_type);
|
||||
int ogs_nas_encode_authentication_failure_parameter(ogs_pkbuf_t *pkbuf, ogs_nas_authentication_failure_parameter_t *authentication_failure_parameter);
|
||||
int ogs_nas_encode_eps_attach_result(ogs_pkbuf_t *pkbuf, ogs_nas_eps_attach_result_t *eps_attach_result);
|
||||
int ogs_nas_encode_eps_attach_type(ogs_pkbuf_t *pkbuf, ogs_nas_eps_attach_type_t *eps_attach_type);
|
||||
int ogs_nas_encode_eps_mobile_identity(ogs_pkbuf_t *pkbuf, ogs_nas_eps_mobile_identity_t *eps_mobile_identity);
|
||||
int ogs_nas_encode_eps_network_feature_support(ogs_pkbuf_t *pkbuf, ogs_nas_eps_network_feature_support_t *eps_network_feature_support);
|
||||
int ogs_nas_encode_eps_update_result(ogs_pkbuf_t *pkbuf, ogs_nas_eps_update_result_t *eps_update_result);
|
||||
int ogs_nas_encode_eps_update_type(ogs_pkbuf_t *pkbuf, ogs_nas_eps_update_type_t *eps_update_type);
|
||||
int ogs_nas_encode_esm_message_container(ogs_pkbuf_t *pkbuf, ogs_nas_esm_message_container_t *esm_message_container);
|
||||
int ogs_nas_encode_gprs_timer(ogs_pkbuf_t *pkbuf, ogs_nas_gprs_timer_t *gprs_timer);
|
||||
int ogs_nas_encode_gprs_timer_2(ogs_pkbuf_t *pkbuf, ogs_nas_gprs_timer_2_t *gprs_timer_2);
|
||||
int ogs_nas_encode_gprs_timer_3(ogs_pkbuf_t *pkbuf, ogs_nas_gprs_timer_3_t *gprs_timer_3);
|
||||
int ogs_nas_encode_identity_type_2(ogs_pkbuf_t *pkbuf, ogs_nas_identity_type_2_t *identity_type_2);
|
||||
int ogs_nas_encode_imeisv_request(ogs_pkbuf_t *pkbuf, ogs_nas_imeisv_request_t *imeisv_request);
|
||||
int ogs_nas_encode_ksi_and_sequence_number(ogs_pkbuf_t *pkbuf, ogs_nas_ksi_and_sequence_number_t *ksi_and_sequence_number);
|
||||
int ogs_nas_encode_authentication_parameter_autn(ogs_pkbuf_t *pkbuf, ogs_nas_authentication_parameter_autn_t *authentication_parameter_autn);
|
||||
int ogs_nas_encode_ms_network_capability(ogs_pkbuf_t *pkbuf, ogs_nas_ms_network_capability_t *ms_network_capability);
|
||||
int ogs_nas_encode_ms_network_feature_support(ogs_pkbuf_t *pkbuf, ogs_nas_ms_network_feature_support_t *ms_network_feature_support);
|
||||
int ogs_nas_encode_key_set_identifier(ogs_pkbuf_t *pkbuf, ogs_nas_key_set_identifier_t *key_set_identifier);
|
||||
int ogs_nas_encode_message_container(ogs_pkbuf_t *pkbuf, ogs_nas_message_container_t *message_container);
|
||||
int ogs_nas_encode_security_algorithms(ogs_pkbuf_t *pkbuf, ogs_nas_security_algorithms_t *security_algorithms);
|
||||
int ogs_nas_encode_network_name(ogs_pkbuf_t *pkbuf, ogs_nas_network_name_t *network_name);
|
||||
int ogs_nas_encode_network_resource_identifier_container(ogs_pkbuf_t *pkbuf, ogs_nas_network_resource_identifier_container_t *network_resource_identifier_container);
|
||||
int ogs_nas_encode_nonce(ogs_pkbuf_t *pkbuf, ogs_nas_nonce_t *nonce);
|
||||
int ogs_nas_encode_paging_identity(ogs_pkbuf_t *pkbuf, ogs_nas_paging_identity_t *paging_identity);
|
||||
int ogs_nas_encode_p_tmsi_signature(ogs_pkbuf_t *pkbuf, ogs_nas_p_tmsi_signature_t *p_tmsi_signature);
|
||||
int ogs_nas_encode_extended_emm_cause(ogs_pkbuf_t *pkbuf, ogs_nas_extended_emm_cause_t *extended_emm_cause);
|
||||
int ogs_nas_encode_service_type(ogs_pkbuf_t *pkbuf, ogs_nas_service_type_t *service_type);
|
||||
int ogs_nas_encode_short_mac(ogs_pkbuf_t *pkbuf, ogs_nas_short_mac_t *short_mac);
|
||||
int ogs_nas_encode_time_zone(ogs_pkbuf_t *pkbuf, ogs_nas_time_zone_t *time_zone);
|
||||
int ogs_nas_encode_authentication_parameter_rand(ogs_pkbuf_t *pkbuf, ogs_nas_authentication_parameter_rand_t *authentication_parameter_rand);
|
||||
int ogs_nas_encode_time_zone_and_time(ogs_pkbuf_t *pkbuf, ogs_nas_time_zone_and_time_t *time_zone_and_time);
|
||||
int ogs_nas_encode_tmsi_status(ogs_pkbuf_t *pkbuf, ogs_nas_tmsi_status_t *tmsi_status);
|
||||
int ogs_nas_encode_tracking_area_identity(ogs_pkbuf_t *pkbuf, ogs_nas_tracking_area_identity_t *tracking_area_identity);
|
||||
int ogs_nas_encode_tracking_area_identity_list(ogs_pkbuf_t *pkbuf, ogs_nas_tracking_area_identity_list_t *tracking_area_identity_list);
|
||||
int ogs_nas_encode_ue_network_capability(ogs_pkbuf_t *pkbuf, ogs_nas_ue_network_capability_t *ue_network_capability);
|
||||
int ogs_nas_encode_ue_radio_capability_information_update_needed(ogs_pkbuf_t *pkbuf, ogs_nas_ue_radio_capability_information_update_needed_t *ue_radio_capability_information_update_needed);
|
||||
int ogs_nas_encode_ue_security_capability(ogs_pkbuf_t *pkbuf, ogs_nas_ue_security_capability_t *ue_security_capability);
|
||||
int ogs_nas_encode_emergency_number_list(ogs_pkbuf_t *pkbuf, ogs_nas_emergency_number_list_t *emergency_number_list);
|
||||
int ogs_nas_encode_cli(ogs_pkbuf_t *pkbuf, ogs_nas_cli_t *cli);
|
||||
int ogs_nas_encode_ss_code(ogs_pkbuf_t *pkbuf, ogs_nas_ss_code_t *ss_code);
|
||||
int ogs_nas_encode_authentication_response_parameter(ogs_pkbuf_t *pkbuf, ogs_nas_authentication_response_parameter_t *authentication_response_parameter);
|
||||
int ogs_nas_encode_lcs_indicator(ogs_pkbuf_t *pkbuf, ogs_nas_lcs_indicator_t *lcs_indicator);
|
||||
int ogs_nas_encode_lcs_client_identity(ogs_pkbuf_t *pkbuf, ogs_nas_lcs_client_identity_t *lcs_client_identity);
|
||||
int ogs_nas_encode_generic_message_container_type(ogs_pkbuf_t *pkbuf, ogs_nas_generic_message_container_type_t *generic_message_container_type);
|
||||
int ogs_nas_encode_generic_message_container(ogs_pkbuf_t *pkbuf, ogs_nas_generic_message_container_t *generic_message_container);
|
||||
int ogs_nas_encode_voice_domain_preference_and_ue_usage_setting(ogs_pkbuf_t *pkbuf, ogs_nas_voice_domain_preference_and_ue_usage_setting_t *voice_domain_preference_and_ue_usage_setting);
|
||||
int ogs_nas_encode_guti_type(ogs_pkbuf_t *pkbuf, ogs_nas_guti_type_t *guti_type);
|
||||
int ogs_nas_encode_extended_drx_parameters(ogs_pkbuf_t *pkbuf, ogs_nas_extended_drx_parameters_t *extended_drx_parameters);
|
||||
int ogs_nas_encode_ciphering_key_sequence_number(ogs_pkbuf_t *pkbuf, ogs_nas_ciphering_key_sequence_number_t *ciphering_key_sequence_number);
|
||||
int ogs_nas_encode_csfb_response(ogs_pkbuf_t *pkbuf, ogs_nas_csfb_response_t *csfb_response);
|
||||
int ogs_nas_encode_daylight_saving_time(ogs_pkbuf_t *pkbuf, ogs_nas_daylight_saving_time_t *daylight_saving_time);
|
||||
int ogs_nas_encode_detach_type(ogs_pkbuf_t *pkbuf, ogs_nas_detach_type_t *detach_type);
|
||||
int ogs_nas_encode_drx_parameter(ogs_pkbuf_t *pkbuf, ogs_nas_drx_parameter_t *drx_parameter);
|
||||
int ogs_nas_encode_emm_cause(ogs_pkbuf_t *pkbuf, ogs_nas_emm_cause_t *emm_cause);
|
||||
int ogs_nas_encode_access_point_name(ogs_pkbuf_t *pkbuf, ogs_nas_access_point_name_t *access_point_name);
|
||||
int ogs_nas_encode_protocol_configuration_options(ogs_pkbuf_t *pkbuf, ogs_nas_protocol_configuration_options_t *protocol_configuration_options);
|
||||
int ogs_nas_encode_quality_of_service(ogs_pkbuf_t *pkbuf, ogs_nas_quality_of_service_t *quality_of_service);
|
||||
int ogs_nas_encode_radio_priority(ogs_pkbuf_t *pkbuf, ogs_nas_radio_priority_t *radio_priority);
|
||||
int ogs_nas_encode_re_attempt_indicator(ogs_pkbuf_t *pkbuf, ogs_nas_re_attempt_indicator_t *re_attempt_indicator);
|
||||
int ogs_nas_encode_request_type(ogs_pkbuf_t *pkbuf, ogs_nas_request_type_t *request_type);
|
||||
int ogs_nas_encode_traffic_flow_aggregate_description(ogs_pkbuf_t *pkbuf, ogs_nas_traffic_flow_aggregate_description_t *traffic_flow_aggregate_description);
|
||||
int ogs_nas_encode_traffic_flow_template(ogs_pkbuf_t *pkbuf, ogs_nas_traffic_flow_template_t *traffic_flow_template);
|
||||
int ogs_nas_encode_transaction_identifier(ogs_pkbuf_t *pkbuf, ogs_nas_transaction_identifier_t *transaction_identifier);
|
||||
int ogs_nas_encode_wlan_offload_acceptability(ogs_pkbuf_t *pkbuf, ogs_nas_wlan_offload_acceptability_t *wlan_offload_acceptability);
|
||||
int ogs_nas_encode_nbifom_container(ogs_pkbuf_t *pkbuf, ogs_nas_nbifom_container_t *nbifom_container);
|
||||
int ogs_nas_encode_apn_aggregate_maximum_bit_rate(ogs_pkbuf_t *pkbuf, ogs_nas_apn_aggregate_maximum_bit_rate_t *apn_aggregate_maximum_bit_rate);
|
||||
int ogs_nas_encode_header_compression_configuration(ogs_pkbuf_t *pkbuf, ogs_nas_header_compression_configuration_t *header_compression_configuration);
|
||||
int ogs_nas_encode_control_plane_only_indication(ogs_pkbuf_t *pkbuf, ogs_nas_control_plane_only_indication_t *control_plane_only_indication);
|
||||
int ogs_nas_encode_extended_protocol_configuration_options(ogs_pkbuf_t *pkbuf, ogs_nas_extended_protocol_configuration_options_t *extended_protocol_configuration_options);
|
||||
int ogs_nas_encode_header_compression_configuration_status(ogs_pkbuf_t *pkbuf, ogs_nas_header_compression_configuration_status_t *header_compression_configuration_status);
|
||||
int ogs_nas_encode_serving_plmn_rate_control(ogs_pkbuf_t *pkbuf, ogs_nas_serving_plmn_rate_control_t *serving_plmn_rate_control);
|
||||
int ogs_nas_encode_connectivity_type(ogs_pkbuf_t *pkbuf, ogs_nas_connectivity_type_t *connectivity_type);
|
||||
int ogs_nas_encode_eps_quality_of_service(ogs_pkbuf_t *pkbuf, ogs_nas_eps_quality_of_service_t *eps_quality_of_service);
|
||||
int ogs_nas_encode_esm_cause(ogs_pkbuf_t *pkbuf, ogs_nas_esm_cause_t *esm_cause);
|
||||
int ogs_nas_encode_esm_information_transfer_flag(ogs_pkbuf_t *pkbuf, ogs_nas_esm_information_transfer_flag_t *esm_information_transfer_flag);
|
||||
int ogs_nas_encode_linked_eps_bearer_identity(ogs_pkbuf_t *pkbuf, ogs_nas_linked_eps_bearer_identity_t *linked_eps_bearer_identity);
|
||||
int ogs_nas_encode_llc_service_access_point_identifier(ogs_pkbuf_t *pkbuf, ogs_nas_llc_service_access_point_identifier_t *llc_service_access_point_identifier);
|
||||
int ogs_nas_encode_packet_flow_identifier(ogs_pkbuf_t *pkbuf, ogs_nas_packet_flow_identifier_t *packet_flow_identifier);
|
||||
int ogs_nas_encode_pdn_address(ogs_pkbuf_t *pkbuf, ogs_nas_pdn_address_t *pdn_address);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* OGS_NAS_EPS_IES_H */
|
||||
|
||||
37
lib/nas/eps/meson.build
Normal file
37
lib/nas/eps/meson.build
Normal file
@@ -0,0 +1,37 @@
|
||||
# Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
|
||||
|
||||
# This file is part of Open5GS.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
libnas_eps_sources = files('''
|
||||
ies.c
|
||||
decoder.c
|
||||
encoder.c
|
||||
'''.split())
|
||||
|
||||
libnas_eps_inc = include_directories('.')
|
||||
|
||||
libnas_eps = library('ogsnas-eps',
|
||||
sources : libnas_eps_sources,
|
||||
version : libogslib_version,
|
||||
c_args : '-DOGS_NAS_COMPILATION',
|
||||
include_directories : libnas_eps_inc,
|
||||
dependencies : libnas_common_dep,
|
||||
install : true)
|
||||
|
||||
libnas_eps_dep = declare_dependency(
|
||||
link_with : libnas_eps,
|
||||
include_directories : libnas_eps_inc,
|
||||
dependencies : libnas_common_dep)
|
||||
1428
lib/nas/eps/message.h
Normal file
1428
lib/nas/eps/message.h
Normal file
File diff suppressed because it is too large
Load Diff
41
lib/nas/eps/ogs-nas-eps.h
Normal file
41
lib/nas/eps/ogs-nas-eps.h
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
|
||||
*
|
||||
* This file is part of Open5GS.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef OGS_NAS_EPS_H
|
||||
#define OGS_NAS_EPS_H
|
||||
|
||||
#include "ogs-nas-common.h"
|
||||
|
||||
#define OGS_NAS_INSIDE
|
||||
|
||||
#include "nas/eps/types.h"
|
||||
#include "nas/eps/ies.h"
|
||||
#include "nas/eps/message.h"
|
||||
|
||||
#undef OGS_NAS_INSIDE
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* OGS_NAS_EPS_H */
|
||||
BIN
lib/nas/eps/support/24301-d80.docx
Normal file
BIN
lib/nas/eps/support/24301-d80.docx
Normal file
Binary file not shown.
16
lib/nas/eps/support/README.md
Normal file
16
lib/nas/eps/support/README.md
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
* Install python-pip
|
||||
user@host ~/Documents/git/open5gs/lib/gtp/support$ \
|
||||
sudo apt-get install python-pip
|
||||
|
||||
* Install python-docx
|
||||
user@host ~/Documents/git/open5gs/lib/gtp/support$ \
|
||||
sudo pip install python-docx
|
||||
|
||||
* Change the format of standard specification
|
||||
from 24301-d80.doc to 24301-d80.docx
|
||||
using Microsoft Office 2007+
|
||||
|
||||
* Generate Message support files
|
||||
user@host ~/Documents/git/open5gs/lib/s1ap/support$ \
|
||||
python nas-message.py -f 24301-d80.docx -o ..
|
||||
7
lib/nas/eps/support/cache/nas-msg-100.py
vendored
Normal file
7
lib/nas/eps/support/cache/nas-msg-100.py
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "Paging identity", "type" : "Paging identity", "reference" : "9.9.3.25A", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "60", "value" : "CLI", "type" : "CLI", "reference" : "9.9.3.38", "presence" : "O", "format" : "TLV", "length" : "3-14"})
|
||||
ies.append({ "iei" : "61", "value" : "SS Code", "type" : "SS Code", "reference" : "9.9.3.39", "presence" : "O", "format" : "TV", "length" : "2"})
|
||||
ies.append({ "iei" : "62", "value" : "LCS indicator", "type" : "LCS indicator", "reference" : "9.9.3.40", "presence" : "O", "format" : "TV", "length" : "2"})
|
||||
ies.append({ "iei" : "63", "value" : "LCS client identity", "type" : "LCS client identity", "reference" : "9.9.3.41", "presence" : "O", "format" : "TLV", "length" : "3-257"})
|
||||
msg_list[key]["ies"] = ies
|
||||
5
lib/nas/eps/support/cache/nas-msg-101.py
vendored
Normal file
5
lib/nas/eps/support/cache/nas-msg-101.py
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "Generic message container type", "type" : "Generic message container type", "reference" : "9.9.3.42", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "", "value" : "Generic message container", "type" : "Generic message container", "reference" : "9.9.3.43", "presence" : "M", "format" : "LV-E", "length" : "3-n"})
|
||||
ies.append({ "iei" : "65", "value" : "Additional information", "type" : "Additional information", "reference" : "9.9.2.0", "presence" : "O", "format" : "TLV", "length" : "3-n"})
|
||||
msg_list[key]["ies"] = ies
|
||||
5
lib/nas/eps/support/cache/nas-msg-104.py
vendored
Normal file
5
lib/nas/eps/support/cache/nas-msg-104.py
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "Generic message container type", "type" : "Generic message container type", "reference" : "9.9.3.42", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "", "value" : "Generic message container", "type" : "Generic message container", "reference" : "9.9.3.43", "presence" : "M", "format" : "LV-E", "length" : "3-n"})
|
||||
ies.append({ "iei" : "65", "value" : "Additional information", "type" : "Additional information", "reference" : "9.9.2.0", "presence" : "O", "format" : "TLV", "length" : "3-n"})
|
||||
msg_list[key]["ies"] = ies
|
||||
20
lib/nas/eps/support/cache/nas-msg-193.py
vendored
Normal file
20
lib/nas/eps/support/cache/nas-msg-193.py
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "EPS QoS", "type" : "EPS quality of service", "reference" : "9.9.4.3", "presence" : "M", "format" : "LV", "length" : "2-14"})
|
||||
ies.append({ "iei" : "", "value" : "Access point name", "type" : "Access point name", "reference" : "9.9.4.1", "presence" : "M", "format" : "LV", "length" : "2-101"})
|
||||
ies.append({ "iei" : "", "value" : "PDN address", "type" : "PDN address", "reference" : "9.9.4.9", "presence" : "M", "format" : "LV", "length" : "6-14"})
|
||||
ies.append({ "iei" : "5D", "value" : "Transaction identifier", "type" : "Transaction identifier", "reference" : "9.9.4.17", "presence" : "O", "format" : "TLV", "length" : "3-4"})
|
||||
ies.append({ "iei" : "30", "value" : "Negotiated QoS", "type" : "Quality of service", "reference" : "9.9.4.12", "presence" : "O", "format" : "TLV", "length" : "14-22"})
|
||||
ies.append({ "iei" : "32", "value" : "Negotiated LLC SAPI", "type" : "LLC service access point identifier", "reference" : "9.9.4.7", "presence" : "O", "format" : "TV", "length" : "2"})
|
||||
ies.append({ "iei" : "8-", "value" : "Radio priority", "type" : "Radio priority", "reference" : "9.9.4.13", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "34", "value" : "Packet flow Identifier", "type" : "Packet flow Identifier", "reference" : "9.9.4.8", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "5E", "value" : "APN-AMBR", "type" : "APN aggregate maximum bit rate", "reference" : "9.9.4.2", "presence" : "O", "format" : "TLV", "length" : "4-8"})
|
||||
ies.append({ "iei" : "58", "value" : "ESM cause", "type" : "ESM cause", "reference" : "9.9.4.4", "presence" : "O", "format" : "TV", "length" : "2"})
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "B-", "value" : "Connectivity type", "type" : "Connectivity type", "reference" : "9.9.4.2A", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "C-", "value" : "WLAN offload indication", "type" : "WLAN offload acceptability", "reference" : "9.9.4.18", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "33", "value" : "NBIFOM container", "type" : "NBIFOM container", "reference" : "9.9.4.19", "presence" : "O", "format" : "TLV", "length" : "3-257"})
|
||||
ies.append({ "iei" : "66", "value" : "Header compression configuration", "type" : "Header compression configuration", "reference" : "9.9.4.22", "presence" : "O", "format" : "TLV", "length" : "5-257"})
|
||||
ies.append({ "iei" : "9-", "value" : "Control plane only indication", "type" : "Control plane only indication", "reference" : "9.9.4.23", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
ies.append({ "iei" : "6E", "value" : "Serving PLMN rate control", "type" : "Serving PLMN rate control", "reference" : "9.9.4.28", "presence" : "O", "format" : "TLV", "length" : "4"})
|
||||
msg_list[key]["ies"] = ies
|
||||
4
lib/nas/eps/support/cache/nas-msg-194.py
vendored
Normal file
4
lib/nas/eps/support/cache/nas-msg-194.py
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
5
lib/nas/eps/support/cache/nas-msg-195.py
vendored
Normal file
5
lib/nas/eps/support/cache/nas-msg-195.py
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "ESM cause", "type" : "ESM cause", "reference" : "9.9.4.4", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
14
lib/nas/eps/support/cache/nas-msg-197.py
vendored
Normal file
14
lib/nas/eps/support/cache/nas-msg-197.py
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "Linked EPS bearer identity", "type" : "Linked EPS bearer identity", "reference" : "9.9.4.6", "presence" : "M", "format" : "V", "length" : "1/2"})
|
||||
ies.append({ "iei" : "", "value" : "EPS QoS", "type" : "EPS quality of service", "reference" : "9.9.4.3", "presence" : "M", "format" : "LV", "length" : "2-14"})
|
||||
ies.append({ "iei" : "", "value" : "TFT", "type" : "Traffic flow template", "reference" : "9.9.4.16", "presence" : "M", "format" : "LV", "length" : "2-256"})
|
||||
ies.append({ "iei" : "5D", "value" : "Transaction identifier", "type" : "Transaction identifier", "reference" : "9.9.4.17", "presence" : "O", "format" : "TLV", "length" : "3-4"})
|
||||
ies.append({ "iei" : "30", "value" : "Negotiated QoS", "type" : "Quality of service", "reference" : "9.9.4.12", "presence" : "O", "format" : "TLV", "length" : "14-22"})
|
||||
ies.append({ "iei" : "32", "value" : "Negotiated LLC SAPI", "type" : "LLC service access point identifier", "reference" : "9.9.4.7", "presence" : "O", "format" : "TV", "length" : "2"})
|
||||
ies.append({ "iei" : "8-", "value" : "Radio priority", "type" : "Radio priority", "reference" : "9.9.4.13", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "34", "value" : "Packet flow Identifier", "type" : "Packet flow Identifier", "reference" : "9.9.4.8", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "C-", "value" : "WLAN offload indication", "type" : "WLAN offload acceptability", "reference" : "9.9.4.18", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "33", "value" : "NBIFOM container", "type" : "NBIFOM container", "reference" : "9.9.4.19", "presence" : "O", "format" : "TLV ", "length" : "3-257"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
5
lib/nas/eps/support/cache/nas-msg-198.py
vendored
Normal file
5
lib/nas/eps/support/cache/nas-msg-198.py
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "33", "value" : "NBIFOM container", "type" : "NBIFOM container", "reference" : "9.9.4.19", "presence" : "O", "format" : "TLV", "length" : "3-257"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
6
lib/nas/eps/support/cache/nas-msg-199.py
vendored
Normal file
6
lib/nas/eps/support/cache/nas-msg-199.py
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "ESM cause", "type" : "ESM cause", "reference" : "9.9.4.4", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "33", "value" : "NBIFOM container", "type" : "NBIFOM container", "reference" : "9.9.4.19", "presence" : "O", "format" : "TLV", "length" : "3-257"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
14
lib/nas/eps/support/cache/nas-msg-201.py
vendored
Normal file
14
lib/nas/eps/support/cache/nas-msg-201.py
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "5B", "value" : "New EPS QoS", "type" : "EPS quality of service", "reference" : "9.9.4.3", "presence" : "O", "format" : "TLV", "length" : "3-15"})
|
||||
ies.append({ "iei" : "36", "value" : "TFT", "type" : "Traffic flow template", "reference" : "9.9.4.16", "presence" : "O", "format" : "TLV", "length" : "3-257"})
|
||||
ies.append({ "iei" : "30", "value" : "New QoS", "type" : "Quality of service", "reference" : "9.9.4.12", "presence" : "O", "format" : "TLV", "length" : "14-22"})
|
||||
ies.append({ "iei" : "32", "value" : "Negotiated LLC SAPI", "type" : "LLC service access point identifier", "reference" : "9.9.4.7", "presence" : "O", "format" : "TV", "length" : "2"})
|
||||
ies.append({ "iei" : "8-", "value" : "Radio priority", "type" : "Radio priority", "reference" : "9.9.4.13", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "34", "value" : "Packet flow Identifier", "type" : "Packet flow Identifier", "reference" : "9.9.4.8", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "5E", "value" : "APN-AMBR", "type" : "APN aggregate maximum bit rate", "reference" : "9.9.4.2", "presence" : "O", "format" : "TLV", "length" : "4-8"})
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "C-", "value" : "WLAN offload indication", "type" : "WLAN offload acceptability", "reference" : "9.9.4.18", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "33", "value" : "NBIFOM container", "type" : "NBIFOM container", "reference" : "9.9.4.19", "presence" : "O", "format" : "TLV", "length" : "3-257"})
|
||||
ies.append({ "iei" : "66", "value" : "Header compression configuration", "type" : "Header compression configuration", "reference" : "9.9.4.22", "presence" : "O", "format" : "TLV", "length" : "5-257"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
5
lib/nas/eps/support/cache/nas-msg-202.py
vendored
Normal file
5
lib/nas/eps/support/cache/nas-msg-202.py
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "33", "value" : "NBIFOM container", "type" : "NBIFOM container", "reference" : "9.9.4.19", "presence" : "O", "format" : "TLV", "length" : "3-257"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
6
lib/nas/eps/support/cache/nas-msg-203.py
vendored
Normal file
6
lib/nas/eps/support/cache/nas-msg-203.py
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "ESM cause", "type" : "ESM cause", "reference" : "9.9.4.4", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "33", "value" : "NBIFOM container", "type" : "NBIFOM container", "reference" : "9.9.4.19", "presence" : "O", "format" : "TLV", "length" : "3-257"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
8
lib/nas/eps/support/cache/nas-msg-205.py
vendored
Normal file
8
lib/nas/eps/support/cache/nas-msg-205.py
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "ESM cause", "type" : "ESM cause", "reference" : "9.9.4.4", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "37", "value" : "T3396 value", "type" : "GPRS timer 3", "reference" : "9.9.3.16B", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "C-", "value" : "WLAN offload indication", "type" : "WLAN offload acceptability", "reference" : "9.9.4.18", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "33", "value" : "NBIFOM container", "type" : "NBIFOM container", "reference" : "9.9.4.19", "presence" : "O", "format" : "TLV", "length" : "3-257"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
4
lib/nas/eps/support/cache/nas-msg-206.py
vendored
Normal file
4
lib/nas/eps/support/cache/nas-msg-206.py
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
10
lib/nas/eps/support/cache/nas-msg-208.py
vendored
Normal file
10
lib/nas/eps/support/cache/nas-msg-208.py
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "Request type", "type" : "Request type", "reference" : "9.9.4.14", "presence" : "M", "format" : "V", "length" : "1/2"})
|
||||
ies.append({ "iei" : "D-", "value" : "ESM information transfer flag", "type" : "ESM information transfer flag", "reference" : "9.9.4.5", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "28", "value" : "Access point name", "type" : "Access point name", "reference" : "9.9.4.1", "presence" : "O", "format" : "TLV", "length" : "3-102"})
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "C-", "value" : "Device properties", "type" : "Device properties", "reference" : "9.9.2.0A", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "33", "value" : "NBIFOM container", "type" : "NBIFOM container", "reference" : "9.9.4.19", "presence" : "O", "format" : "TLV", "length" : "3-257"})
|
||||
ies.append({ "iei" : "66", "value" : "Header compression configuration", "type" : "Header compression configuration", "reference" : "9.9.4.22", "presence" : "O", "format" : "TLV", "length" : "5-257"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
8
lib/nas/eps/support/cache/nas-msg-209.py
vendored
Normal file
8
lib/nas/eps/support/cache/nas-msg-209.py
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "ESM cause", "type" : "ESM cause", "reference" : "9.9.4.4", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "37", "value" : "Back-off timer value", "type" : "GPRS timer 3", "reference" : "9.9.3.16B", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "6B", "value" : "Re-attempt indicator", "type" : "Re-attempt indicator", "reference" : "9.9.4.13A", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "33", "value" : "NBIFOM container", "type" : "NBIFOM container", "reference" : "9.9.4.19", "presence" : "O", "format" : "TLV", "length" : "3-257"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
5
lib/nas/eps/support/cache/nas-msg-210.py
vendored
Normal file
5
lib/nas/eps/support/cache/nas-msg-210.py
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "Linked EPS bearer identity", "type" : "Linked EPS bearer identity", "reference" : "9.9.4.6", "presence" : "M", "format" : "V", "length" : "1/2"})
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
5
lib/nas/eps/support/cache/nas-msg-211.py
vendored
Normal file
5
lib/nas/eps/support/cache/nas-msg-211.py
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "ESM cause", "type" : "ESM cause", "reference" : "9.9.4.4", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
9
lib/nas/eps/support/cache/nas-msg-212.py
vendored
Normal file
9
lib/nas/eps/support/cache/nas-msg-212.py
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "Linked EPS bearer identity", "type" : "Linked EPS bearer identity", "reference" : "9.9.4.6", "presence" : "M", "format" : "V", "length" : "1/2"})
|
||||
ies.append({ "iei" : "", "value" : "Traffic flow aggregate", "type" : "Traffic flow aggregate description", "reference" : "9.9.4.15", "presence" : "M", "format" : "LV", "length" : "2-256"})
|
||||
ies.append({ "iei" : "", "value" : "Required traffic flow QoS", "type" : "EPS quality of service", "reference" : "9.9.4.3", "presence" : "M", "format" : "LV", "length" : "2-14"})
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "C-", "value" : "Device properties", "type" : "Device properties", "reference" : "9.9.2.0A", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "33", "value" : "NBIFOM container", "type" : "NBIFOM container", "reference" : "9.9.4.19", "presence" : "O", "format" : "TLV", "length" : "3-257"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
8
lib/nas/eps/support/cache/nas-msg-213.py
vendored
Normal file
8
lib/nas/eps/support/cache/nas-msg-213.py
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "ESM cause", "type" : "ESM cause", "reference" : "9.9.4.4", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "37", "value" : "Back-off timer value", "type" : "GPRS timer 3", "reference" : "9.9.3.16B", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "6B", "value" : "Re-attempt indicator", "type" : "Re-attempt indicator", "reference" : "9.9.4.13A", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "33", "value" : "NBIFOM container", "type" : "NBIFOM container", "reference" : "9.9.4.19", "presence" : "O", "format" : "TLV", "length" : "3-257"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
11
lib/nas/eps/support/cache/nas-msg-214.py
vendored
Normal file
11
lib/nas/eps/support/cache/nas-msg-214.py
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "EPS bearer identity for packet filter", "type" : "Linked EPS bearer identity", "reference" : "9.9.4.6", "presence" : "M", "format" : "V", "length" : "1/2"})
|
||||
ies.append({ "iei" : "", "value" : "Traffic flow aggregate", "type" : "Traffic flow aggregate description", "reference" : "9.9.4.15", "presence" : "M", "format" : "LV", "length" : "2-256"})
|
||||
ies.append({ "iei" : "5B", "value" : "Required traffic flow QoS", "type" : "EPS quality of service", "reference" : "9.9.4.3", "presence" : "O", "format" : "TLV", "length" : "3-15"})
|
||||
ies.append({ "iei" : "58", "value" : "ESM cause", "type" : "ESM cause", "reference" : "9.9.4.4", "presence" : "O", "format" : "TV", "length" : "2"})
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "C-", "value" : "Device properties", "type" : "Device properties", "reference" : "9.9.2.0A", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "33", "value" : "NBIFOM container", "type" : "NBIFOM container", "reference" : "9.9.4.19", "presence" : "O", "format" : "TLV", "length" : "3-257"})
|
||||
ies.append({ "iei" : "66", "value" : "Header compression configuration", "type" : "Header compression configuration", "reference" : "9.9.4.22", "presence" : "O", "format" : "TLV", "length" : "5-257"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
8
lib/nas/eps/support/cache/nas-msg-215.py
vendored
Normal file
8
lib/nas/eps/support/cache/nas-msg-215.py
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "ESM cause", "type" : "ESM cause", "reference" : "9.9.4.4", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "37", "value" : "Back-off timer value", "type" : "GPRS timer 3", "reference" : "9.9.3.16B", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "6B", "value" : "Re-attempt indicator", "type" : "Re-attempt indicator", "reference" : "9.9.4.13A", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "33", "value" : "NBIFOM container", "type" : "NBIFOM container", "reference" : "9.9.4.19", "presence" : "O", "format" : "TLV", "length" : "3-257"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
2
lib/nas/eps/support/cache/nas-msg-217.py
vendored
Normal file
2
lib/nas/eps/support/cache/nas-msg-217.py
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
ies = []
|
||||
msg_list[key]["ies"] = ies
|
||||
5
lib/nas/eps/support/cache/nas-msg-218.py
vendored
Normal file
5
lib/nas/eps/support/cache/nas-msg-218.py
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "28", "value" : "Access point name", "type" : "Access point name", "reference" : "9.9.4.1", "presence" : "O", "format" : "TLV", "length" : "3-102"})
|
||||
ies.append({ "iei" : "27", "value" : "Protocol configuration options", "type" : "Protocol configuration options", "reference" : "9.9.4.11", "presence" : "O", "format" : "TLV", "length" : "3-253"})
|
||||
ies.append({ "iei" : "7B", "value" : "Extended protocol configuration options", "type" : "Extended protocol configuration options", "reference" : "9.9.4.26", "presence" : "O", "format" : "TLV-E", "length" : "4-65538"})
|
||||
msg_list[key]["ies"] = ies
|
||||
3
lib/nas/eps/support/cache/nas-msg-232.py
vendored
Normal file
3
lib/nas/eps/support/cache/nas-msg-232.py
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "ESM cause", "type" : "ESM cause", "reference" : "9.9.4.4", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
msg_list[key]["ies"] = ies
|
||||
25
lib/nas/eps/support/cache/nas-msg-65.py
vendored
Normal file
25
lib/nas/eps/support/cache/nas-msg-65.py
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "EPS attach type", "type" : "EPS attach type", "reference" : "9.9.3.11", "presence" : "M", "format" : "V", "length" : "1/2"})
|
||||
ies.append({ "iei" : "", "value" : "EPS mobile identity", "type" : "EPS mobile identity", "reference" : "9.9.3.12", "presence" : "M", "format" : "LV", "length" : "5-12"})
|
||||
ies.append({ "iei" : "", "value" : "UE network capability", "type" : "UE network capability", "reference" : "9.9.3.34", "presence" : "M", "format" : "LV", "length" : "3-14"})
|
||||
ies.append({ "iei" : "", "value" : "ESM message container", "type" : "ESM message container", "reference" : "9.9.3.15", "presence" : "M", "format" : "LV-E", "length" : "5-n"})
|
||||
ies.append({ "iei" : "19", "value" : "Old P-TMSI signature", "type" : "P-TMSI signature", "reference" : "9.9.3.26", "presence" : "O", "format" : "TV", "length" : "4"})
|
||||
ies.append({ "iei" : "50", "value" : "Additional GUTI", "type" : "EPS mobile identity", "reference" : "9.9.3.12", "presence" : "O", "format" : "TLV", "length" : "13"})
|
||||
ies.append({ "iei" : "52", "value" : "Last visited registered TAI", "type" : "Tracking area identity", "reference" : "9.9.3.32", "presence" : "O", "format" : "TV", "length" : "6"})
|
||||
ies.append({ "iei" : "5C", "value" : "DRX parameter", "type" : "DRX parameter", "reference" : "9.9.3.8", "presence" : "O", "format" : "TV", "length" : "3"})
|
||||
ies.append({ "iei" : "31", "value" : "MS network capability", "type" : "MS network capability", "reference" : "9.9.3.20", "presence" : "O", "format" : "TLV", "length" : "4-10"})
|
||||
ies.append({ "iei" : "13", "value" : "Old location area identification", "type" : "Location area identification", "reference" : "9.9.2.2", "presence" : "O", "format" : "TV", "length" : "6"})
|
||||
ies.append({ "iei" : "9-", "value" : "TMSI status", "type" : "TMSI status", "reference" : "9.9.3.31", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "11", "value" : "Mobile station classmark 2", "type" : "Mobile station classmark 2", "reference" : "9.9.2.4", "presence" : "O", "format" : "TLV", "length" : "5"})
|
||||
ies.append({ "iei" : "20", "value" : "Mobile station classmark 3", "type" : "Mobile station classmark 3", "reference" : "9.9.2.5", "presence" : "O", "format" : "TLV", "length" : "2-34"})
|
||||
ies.append({ "iei" : "40", "value" : "Supported Codecs", "type" : "Supported Codec List", "reference" : "9.9.2.10", "presence" : "O", "format" : "TLV", "length" : "5-n"})
|
||||
ies.append({ "iei" : "F-", "value" : "Additional update type", "type" : "Additional update type", "reference" : "9.9.3.0B", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "5D", "value" : "Voice domain preference and UE usage setting", "type" : "Voice domain preference and UE usage setting", "reference" : "9.9.3.44", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "D-", "value" : "Device properties", "type" : "Device properties", "reference" : "9.9.2.0A", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "E-", "value" : "Old GUTI type", "type" : "GUTI type", "reference" : "9.9.3.45", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "C- ", "value" : "MS network feature support", "type" : "MS network feature support", "reference" : "9.9.3.20A", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "10", "value" : "TMSI based NRI container", "type" : "Network resource identifier container", "reference" : "9.9.3.24A", "presence" : "O", "format" : "TLV", "length" : "4"})
|
||||
ies.append({ "iei" : "6A", "value" : "T3324 value", "type" : "GPRS timer 2", "reference" : "9.9.3.16A", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "5E", "value" : "T3412 extended value", "type" : "GPRS timer 3", "reference" : "9.9.3.16B", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "6E", "value" : "Extended DRX parameters", "type" : "Extended DRX parameters", "reference" : "9.9.3.46", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
msg_list[key]["ies"] = ies
|
||||
19
lib/nas/eps/support/cache/nas-msg-66.py
vendored
Normal file
19
lib/nas/eps/support/cache/nas-msg-66.py
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "EPS attach result", "type" : "EPS attach result", "reference" : "9.9.3.10", "presence" : "M", "format" : "V", "length" : "1/2"})
|
||||
ies.append({ "iei" : "", "value" : "T3412 value", "type" : "GPRS timer", "reference" : "9.9.3.16", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "", "value" : "TAI list", "type" : "Tracking area identity list", "reference" : "9.9.3.33", "presence" : "M", "format" : "LV", "length" : "7-97"})
|
||||
ies.append({ "iei" : "", "value" : "ESM message container", "type" : "ESM message container", "reference" : "9.9.3.15", "presence" : "M", "format" : "LV-E", "length" : "5-n"})
|
||||
ies.append({ "iei" : "50", "value" : "GUTI", "type" : "EPS mobile identity", "reference" : "9.9.3.12", "presence" : "O", "format" : "TLV", "length" : "13"})
|
||||
ies.append({ "iei" : "13", "value" : "Location area identification", "type" : "Location area identification", "reference" : "9.9.2.2", "presence" : "O", "format" : "TV", "length" : "6"})
|
||||
ies.append({ "iei" : "23", "value" : "MS identity", "type" : "Mobile identity", "reference" : "9.9.2.3", "presence" : "O", "format" : "TLV", "length" : "7-10"})
|
||||
ies.append({ "iei" : "53", "value" : "EMM cause", "type" : "EMM cause", "reference" : "9.9.3.9", "presence" : "O", "format" : "TV", "length" : "2"})
|
||||
ies.append({ "iei" : "17", "value" : "T3402 value", "type" : "GPRS timer", "reference" : "9.9.3.16", "presence" : "O", "format" : "TV", "length" : "2"})
|
||||
ies.append({ "iei" : "59", "value" : "T3423 value", "type" : "GPRS timer", "reference" : "9.9.3.16", "presence" : "O", "format" : "TV", "length" : "2"})
|
||||
ies.append({ "iei" : "4A", "value" : "Equivalent PLMNs", "type" : "PLMN list", "reference" : "9.9.2.8", "presence" : "O", "format" : "TLV", "length" : "5-47"})
|
||||
ies.append({ "iei" : "34", "value" : "Emergency number list", "type" : "Emergency number list", "reference" : "9.9.3.37", "presence" : "O", "format" : "TLV", "length" : "5-50"})
|
||||
ies.append({ "iei" : "64", "value" : "EPS network feature support", "type" : "EPS network feature support", "reference" : "9.9.3.12A", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "F-", "value" : "Additional update result", "type" : "Additional update result", "reference" : "9.9.3.0A", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "5E", "value" : "T3412 extended value", "type" : "GPRS timer 3", "reference" : "9.9.3.16B", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "6A", "value" : "T3324 value", "type" : "GPRS timer 2", "reference" : "9.9.3.16A", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "6E", "value" : "Extended DRX parameters", "type" : "Extended DRX parameters", "reference" : "9.9.3.46", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
msg_list[key]["ies"] = ies
|
||||
3
lib/nas/eps/support/cache/nas-msg-67.py
vendored
Normal file
3
lib/nas/eps/support/cache/nas-msg-67.py
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "ESM message container", "type" : "ESM message container", "reference" : "9.9.3.15", "presence" : "M", "format" : "LV-E", "length" : "5-n"})
|
||||
msg_list[key]["ies"] = ies
|
||||
7
lib/nas/eps/support/cache/nas-msg-68.py
vendored
Normal file
7
lib/nas/eps/support/cache/nas-msg-68.py
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "EMM cause", "type" : "EMM cause", "reference" : "9.9.3.9", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "78", "value" : "ESM message container", "type" : "ESM message container", "reference" : "9.9.3.15", "presence" : "O", "format" : "TLV-E", "length" : "6-n"})
|
||||
ies.append({ "iei" : "5F", "value" : "T3346 value", "type" : "GPRS timer 2", "reference" : "9.9.3.16A", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "16", "value" : "T3402 value", "type" : "GPRS timer 2", "reference" : "9.9.3.16A", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "A-", "value" : "Extended EMM cause", "type" : "Extended EMM cause", "reference" : "9.9.3.26A", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
msg_list[key]["ies"] = ies
|
||||
4
lib/nas/eps/support/cache/nas-msg-69.1.py
vendored
Normal file
4
lib/nas/eps/support/cache/nas-msg-69.1.py
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "Detach type", "type" : "Detach type", "reference" : "9.9.3.7", "presence" : "M", "format" : "V", "length" : "1/2"})
|
||||
ies.append({ "iei" : "", "value" : "EPS mobile identity", "type" : "EPS mobile identity", "reference" : "9.9.3.12", "presence" : "M", "format" : "LV", "length" : "5-12"})
|
||||
msg_list[key]["ies"] = ies
|
||||
4
lib/nas/eps/support/cache/nas-msg-69.2.py
vendored
Normal file
4
lib/nas/eps/support/cache/nas-msg-69.2.py
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "Detach type", "type" : "Detach type", "reference" : "9.9.3.7", "presence" : "M", "format" : "V", "length" : "1/2"})
|
||||
ies.append({ "iei" : "53", "value" : "EMM cause", "type" : "EMM cause", "reference" : "9.9.3.9", "presence" : "O", "format" : "TV", "length" : "2"})
|
||||
msg_list[key]["ies"] = ies
|
||||
2
lib/nas/eps/support/cache/nas-msg-70.py
vendored
Normal file
2
lib/nas/eps/support/cache/nas-msg-70.py
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
ies = []
|
||||
msg_list[key]["ies"] = ies
|
||||
29
lib/nas/eps/support/cache/nas-msg-72.py
vendored
Normal file
29
lib/nas/eps/support/cache/nas-msg-72.py
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "EPS update type", "type" : "EPS update type", "reference" : "9.9.3.14", "presence" : "M", "format" : "V", "length" : "1/2"})
|
||||
ies.append({ "iei" : "", "value" : "Old GUTI", "type" : "EPS mobile identity", "reference" : "9.9.3.12", "presence" : "M", "format" : "LV", "length" : "12"})
|
||||
ies.append({ "iei" : "B-", "value" : "Non-current native NAS key set identifier", "type" : "key set identifier", "reference" : "9.9.3.21", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "8-", "value" : "GPRS ciphering key sequence number", "type" : "Ciphering key sequence number", "reference" : "9.9.3.4a", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "19", "value" : "Old P-TMSI signature", "type" : "P-TMSI signature", "reference" : "9.9.3.26", "presence" : "O", "format" : "TV", "length" : "4"})
|
||||
ies.append({ "iei" : "50", "value" : "Additional GUTI", "type" : "EPS mobile identity", "reference" : "9.9.3.12", "presence" : "O", "format" : "TLV", "length" : "13"})
|
||||
ies.append({ "iei" : "55", "value" : "NonceUE", "type" : "Nonce", "reference" : "9.9.3.25", "presence" : "O", "format" : "TV", "length" : "5"})
|
||||
ies.append({ "iei" : "58", "value" : "UE network capability", "type" : "UE network capability", "reference" : "9.9.3.34", "presence" : "O", "format" : "TLV", "length" : "4-15"})
|
||||
ies.append({ "iei" : "52", "value" : "Last visited registered TAI", "type" : "Tracking area identity", "reference" : "9.9.3.32", "presence" : "O", "format" : "TV", "length" : "6"})
|
||||
ies.append({ "iei" : "5C", "value" : "DRX parameter", "type" : "DRX parameter", "reference" : "9.9.3.8", "presence" : "O", "format" : "TV", "length" : "3"})
|
||||
ies.append({ "iei" : "A-", "value" : "UE radio capability information update needed", "type" : "UE radio capability information update needed", "reference" : "9.9.3.35", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "57", "value" : "EPS bearer context status", "type" : "EPS bearer context status", "reference" : "9.9.2.1", "presence" : "O", "format" : "TLV", "length" : "4"})
|
||||
ies.append({ "iei" : "31", "value" : "MS network capability", "type" : "MS network capability", "reference" : "9.9.3.20", "presence" : "O", "format" : "TLV", "length" : "4-10"})
|
||||
ies.append({ "iei" : "13", "value" : "Old location area identification", "type" : "Location area identification", "reference" : "9.9.2.2", "presence" : "O", "format" : "TV", "length" : "6"})
|
||||
ies.append({ "iei" : "9-", "value" : "TMSI status", "type" : "TMSI status", "reference" : "9.9.3.31", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "11", "value" : "Mobile station classmark 2", "type" : "Mobile station classmark 2", "reference" : "9.9.2.4", "presence" : "O", "format" : "TLV", "length" : "5"})
|
||||
ies.append({ "iei" : "20", "value" : "Mobile station classmark 3", "type" : "Mobile station classmark 3", "reference" : "9.9.2.5", "presence" : "O", "format" : "TLV", "length" : "2-34"})
|
||||
ies.append({ "iei" : "40", "value" : "Supported Codecs", "type" : "Supported Codec List", "reference" : "9.9.2.10", "presence" : "O", "format" : "TLV", "length" : "5-n"})
|
||||
ies.append({ "iei" : "F-", "value" : "Additional update type", "type" : "Additional update type", "reference" : "9.9.3.0B", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "5D", "value" : "Voice domain preference and UE usage setting", "type" : "Voice domain preference and UE usage setting", "reference" : "9.9.3.44", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "E-", "value" : "Old GUTI type", "type" : "GUTI type", "reference" : "9.9.3.45", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "D-", "value" : "Device properties", "type" : "Device properties", "reference" : "9.9.2.0A", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "C-", "value" : "MS network feature support", "type" : "MS network feature support", "reference" : "9.9.3.20A", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "10", "value" : "TMSI based NRI container", "type" : "Network resource identifier container", "reference" : "9.9.3.24A", "presence" : "O", "format" : "TLV", "length" : "4"})
|
||||
ies.append({ "iei" : "6A", "value" : "T3324 value", "type" : "GPRS timer 2", "reference" : "9.9.3.16", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "5E", "value" : "T3412 extended value", "type" : "GPRS timer 3", "reference" : "9.9.3.16B", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "6E", "value" : "Extended DRX parameters", "type" : "Extended DRX parameters", "reference" : "9.9.3.46", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
msg_list[key]["ies"] = ies
|
||||
20
lib/nas/eps/support/cache/nas-msg-73.py
vendored
Normal file
20
lib/nas/eps/support/cache/nas-msg-73.py
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "EPS update result", "type" : "EPS update result", "reference" : "9.9.3.13", "presence" : "M", "format" : "V", "length" : "1/2"})
|
||||
ies.append({ "iei" : "5A", "value" : "T3412 value", "type" : "GPRS timer", "reference" : "9.9.3.16", "presence" : "O", "format" : "TV", "length" : "2"})
|
||||
ies.append({ "iei" : "50", "value" : "GUTI", "type" : "EPS mobile identity", "reference" : "9.9.3.12", "presence" : "O", "format" : "TLV", "length" : "13"})
|
||||
ies.append({ "iei" : "54", "value" : "TAI list", "type" : "Tracking area identity list", "reference" : "9.9.3.33", "presence" : "O", "format" : "TLV", "length" : "8-98"})
|
||||
ies.append({ "iei" : "57", "value" : "EPS bearer context status", "type" : "EPS bearer context status", "reference" : "9.9.2.1", "presence" : "O", "format" : "TLV", "length" : "4"})
|
||||
ies.append({ "iei" : "13", "value" : "Location area identification", "type" : "Location area identification", "reference" : "9.9.2.2", "presence" : "O", "format" : "TV", "length" : "6"})
|
||||
ies.append({ "iei" : "23", "value" : "MS identity", "type" : "Mobile identity", "reference" : "9.9.2.3", "presence" : "O", "format" : "TLV", "length" : "7-10"})
|
||||
ies.append({ "iei" : "53", "value" : "EMM cause", "type" : "EMM cause", "reference" : "9.9.3.9", "presence" : "O", "format" : "TV", "length" : "2"})
|
||||
ies.append({ "iei" : "17", "value" : "T3402 value", "type" : "GPRS timer", "reference" : "9.9.3.16", "presence" : "O", "format" : "TV", "length" : "2"})
|
||||
ies.append({ "iei" : "59", "value" : "T3423 value", "type" : "GPRS timer", "reference" : "9.9.3.16", "presence" : "O", "format" : "TV", "length" : "2"})
|
||||
ies.append({ "iei" : "4A", "value" : "Equivalent PLMNs", "type" : "PLMN list", "reference" : "9.9.2.8", "presence" : "O", "format" : "TLV", "length" : "5-47"})
|
||||
ies.append({ "iei" : "34", "value" : "Emergency number list", "type" : "Emergency number list", "reference" : "9.9.3.37", "presence" : "O", "format" : "TLV", "length" : "5-50"})
|
||||
ies.append({ "iei" : "64", "value" : "EPS network feature support", "type" : "EPS network feature support", "reference" : "9.9.3.12A", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "F-", "value" : "Additional update result", "type" : "Additional update result", "reference" : "9.9.3.0A", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "5E", "value" : "T3412 extended value", "type" : "GPRS timer 3", "reference" : "9.9.3.16B", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "6A", "value" : "T3324 value", "type" : "GPRS timer 2", "reference" : "9.9.3.16A", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "6E", "value" : "Extended DRX parameters", "type" : "Extended DRX parameters", "reference" : "9.9.3.46", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "68", "value" : "Header compression configuration status", "type" : "Header compression configuration status", "reference" : "9.9.4.27", "presence" : "O", "format" : "TLV", "length" : "4"})
|
||||
msg_list[key]["ies"] = ies
|
||||
2
lib/nas/eps/support/cache/nas-msg-74.py
vendored
Normal file
2
lib/nas/eps/support/cache/nas-msg-74.py
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
ies = []
|
||||
msg_list[key]["ies"] = ies
|
||||
5
lib/nas/eps/support/cache/nas-msg-75.py
vendored
Normal file
5
lib/nas/eps/support/cache/nas-msg-75.py
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "EMM cause", "type" : "EMM cause", "reference" : "9.9.3.9", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "5F", "value" : "T3346 value", "type" : "GPRS timer 2", "reference" : "9.9.3.16A", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
ies.append({ "iei" : "A-", "value" : "Extended EMM cause", "type" : "Extended EMM cause", "reference" : "9.9.3.26A", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
msg_list[key]["ies"] = ies
|
||||
7
lib/nas/eps/support/cache/nas-msg-76.py
vendored
Normal file
7
lib/nas/eps/support/cache/nas-msg-76.py
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "Service type", "type" : "Service type", "reference" : "9.9.3.27", "presence" : "M", "format" : "V", "length" : "1/2"})
|
||||
ies.append({ "iei" : "", "value" : "M-TMSI", "type" : "Mobile identity", "reference" : "9.9.2.3", "presence" : "M", "format" : "LV", "length" : "6"})
|
||||
ies.append({ "iei" : "B-", "value" : "CSFB response", "type" : "CSFB response", "reference" : "9.9.3.5", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "57", "value" : "EPS bearer context status", "type" : "EPS bearer context status", "reference" : "9.9.2.1", "presence" : "O", "format" : "TLV", "length" : "4"})
|
||||
ies.append({ "iei" : "D-", "value" : "Device properties", "type" : "Device properties", "reference" : "9.9.2.0A", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
msg_list[key]["ies"] = ies
|
||||
4
lib/nas/eps/support/cache/nas-msg-77.1.py
vendored
Normal file
4
lib/nas/eps/support/cache/nas-msg-77.1.py
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "KSI and sequence number", "type" : "KSI and sequence number", "reference" : "9.9.3.19", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "", "value" : "Message authentication code", "type" : "Short MAC", "reference" : "9.9.3.28", "presence" : "M", "format" : "V", "length" : "2"})
|
||||
msg_list[key]["ies"] = ies
|
||||
5
lib/nas/eps/support/cache/nas-msg-78.py
vendored
Normal file
5
lib/nas/eps/support/cache/nas-msg-78.py
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "EMM cause", "type" : "EMM cause", "reference" : "9.9.3.9", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "5B", "value" : "T3442 value", "type" : "GPRS timer", "reference" : "9.9.3.16", "presence" : "C", "format" : "TV", "length" : "2"})
|
||||
ies.append({ "iei" : "5F", "value" : "T3346 value", "type" : "GPRS timer 2", "reference" : "9.9.3.16A", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
msg_list[key]["ies"] = ies
|
||||
4
lib/nas/eps/support/cache/nas-msg-80.py
vendored
Normal file
4
lib/nas/eps/support/cache/nas-msg-80.py
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "GUTI", "type" : "EPS mobile identity", "reference" : "9.9.3.12", "presence" : "M", "format" : "LV", "length" : "12"})
|
||||
ies.append({ "iei" : "54", "value" : "TAI list", "type" : "Tracking area identity list", "reference" : "9.9.3.33", "presence" : "O", "format" : "TLV", "length" : "8-98"})
|
||||
msg_list[key]["ies"] = ies
|
||||
2
lib/nas/eps/support/cache/nas-msg-81.py
vendored
Normal file
2
lib/nas/eps/support/cache/nas-msg-81.py
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
ies = []
|
||||
msg_list[key]["ies"] = ies
|
||||
5
lib/nas/eps/support/cache/nas-msg-82.py
vendored
Normal file
5
lib/nas/eps/support/cache/nas-msg-82.py
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "NAS key set identifierASME", "type" : "key set identifier", "reference" : "9.9.3.21", "presence" : "M", "format" : "V", "length" : "1/2"})
|
||||
ies.append({ "iei" : "", "value" : "Authentication parameter RAND", "type" : "Authentication parameter RAND", "reference" : "9.9.3.3", "presence" : "M", "format" : "V", "length" : "16"})
|
||||
ies.append({ "iei" : "", "value" : "Authentication parameter AUTN", "type" : "Authentication parameter AUTN", "reference" : "9.9.3.2", "presence" : "M", "format" : "LV", "length" : "17"})
|
||||
msg_list[key]["ies"] = ies
|
||||
3
lib/nas/eps/support/cache/nas-msg-83.py
vendored
Normal file
3
lib/nas/eps/support/cache/nas-msg-83.py
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "Authentication response parameter", "type" : "Authentication response parameter", "reference" : "9.9.3.4", "presence" : "M", "format" : "LV", "length" : "5-17"})
|
||||
msg_list[key]["ies"] = ies
|
||||
2
lib/nas/eps/support/cache/nas-msg-84.py
vendored
Normal file
2
lib/nas/eps/support/cache/nas-msg-84.py
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
ies = []
|
||||
msg_list[key]["ies"] = ies
|
||||
3
lib/nas/eps/support/cache/nas-msg-85.py
vendored
Normal file
3
lib/nas/eps/support/cache/nas-msg-85.py
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "Identity type", "type" : "Identity type 2", "reference" : "9.9.3.17", "presence" : "M", "format" : "V", "length" : "1/2"})
|
||||
msg_list[key]["ies"] = ies
|
||||
3
lib/nas/eps/support/cache/nas-msg-86.py
vendored
Normal file
3
lib/nas/eps/support/cache/nas-msg-86.py
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "Mobile identity", "type" : "Mobile identity", "reference" : "9.9.2.3", "presence" : "M", "format" : "LV", "length" : "4-10"})
|
||||
msg_list[key]["ies"] = ies
|
||||
4
lib/nas/eps/support/cache/nas-msg-92.py
vendored
Normal file
4
lib/nas/eps/support/cache/nas-msg-92.py
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "EMM cause", "type" : "EMM cause", "reference" : "9.9.3.9", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "30", "value" : "Authentication failure parameter", "type" : "Authentication failure parameter", "reference" : "9.9.3.1", "presence" : "O", "format" : "TLV", "length" : "16"})
|
||||
msg_list[key]["ies"] = ies
|
||||
8
lib/nas/eps/support/cache/nas-msg-93.py
vendored
Normal file
8
lib/nas/eps/support/cache/nas-msg-93.py
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "Selected NAS security algorithms", "type" : "security algorithms", "reference" : "9.9.3.23", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
ies.append({ "iei" : "", "value" : "NAS key set identifier", "type" : "key set identifier", "reference" : "9.9.3.21", "presence" : "M", "format" : "V", "length" : "1/2"})
|
||||
ies.append({ "iei" : "", "value" : "Replayed UE security capabilities", "type" : "UE security capability", "reference" : "9.9.3.36", "presence" : "M", "format" : "LV", "length" : "3-6"})
|
||||
ies.append({ "iei" : "C-", "value" : "IMEISV request", "type" : "IMEISV request", "reference" : "9.9.3.18", "presence" : "O", "format" : "TV", "length" : "1"})
|
||||
ies.append({ "iei" : "55", "value" : "Replayed nonceUE", "type" : "Nonce", "reference" : "9.9.3.25", "presence" : "O", "format" : "TV", "length" : "5"})
|
||||
ies.append({ "iei" : "56", "value" : "NonceMME", "type" : "Nonce", "reference" : "9.9.3.25", "presence" : "O", "format" : "TV", "length" : "5"})
|
||||
msg_list[key]["ies"] = ies
|
||||
3
lib/nas/eps/support/cache/nas-msg-94.py
vendored
Normal file
3
lib/nas/eps/support/cache/nas-msg-94.py
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "23", "value" : "IMEISV", "type" : "Mobile identity", "reference" : "9.9.2.3", "presence" : "O", "format" : "TLV", "length" : "11"})
|
||||
msg_list[key]["ies"] = ies
|
||||
3
lib/nas/eps/support/cache/nas-msg-95.py
vendored
Normal file
3
lib/nas/eps/support/cache/nas-msg-95.py
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "EMM cause", "type" : "EMM cause", "reference" : "9.9.3.9", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
msg_list[key]["ies"] = ies
|
||||
3
lib/nas/eps/support/cache/nas-msg-96.py
vendored
Normal file
3
lib/nas/eps/support/cache/nas-msg-96.py
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "EMM cause", "type" : "EMM cause", "reference" : "9.9.3.9", "presence" : "M", "format" : "V", "length" : "1"})
|
||||
msg_list[key]["ies"] = ies
|
||||
7
lib/nas/eps/support/cache/nas-msg-97.py
vendored
Normal file
7
lib/nas/eps/support/cache/nas-msg-97.py
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "43", "value" : "Full name for network", "type" : "Network name", "reference" : "9.9.3.24", "presence" : "O", "format" : "TLV", "length" : "3-n"})
|
||||
ies.append({ "iei" : "45", "value" : "Short name for network", "type" : "Network name", "reference" : "9.9.3.24", "presence" : "O", "format" : "TLV", "length" : "3-n"})
|
||||
ies.append({ "iei" : "46", "value" : "Local time zone", "type" : "Time zone", "reference" : "9.9.3.29", "presence" : "O", "format" : "TV", "length" : "2"})
|
||||
ies.append({ "iei" : "47", "value" : "Universal time and local time zone", "type" : "Time zone and time", "reference" : "9.9.3.30", "presence" : "O", "format" : "TV", "length" : "8"})
|
||||
ies.append({ "iei" : "49", "value" : "Network daylight saving time", "type" : "Daylight saving time", "reference" : "9.9.3.6", "presence" : "O", "format" : "TLV", "length" : "3"})
|
||||
msg_list[key]["ies"] = ies
|
||||
3
lib/nas/eps/support/cache/nas-msg-98.py
vendored
Normal file
3
lib/nas/eps/support/cache/nas-msg-98.py
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "NAS message container", "type" : "message container", "reference" : "9.9.3.22", "presence" : "M", "format" : "LV", "length" : "3-252"})
|
||||
msg_list[key]["ies"] = ies
|
||||
3
lib/nas/eps/support/cache/nas-msg-99.py
vendored
Normal file
3
lib/nas/eps/support/cache/nas-msg-99.py
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
ies = []
|
||||
ies.append({ "iei" : "", "value" : "NAS message container", "type" : "message container", "reference" : "9.9.3.22", "presence" : "M", "format" : "LV", "length" : "3-252"})
|
||||
msg_list[key]["ies"] = ies
|
||||
1005
lib/nas/eps/support/nas-message.py
Normal file
1005
lib/nas/eps/support/nas-message.py
Normal file
File diff suppressed because it is too large
Load Diff
80
lib/nas/eps/support/type-list.py
Normal file
80
lib/nas/eps/support/type-list.py
Normal file
@@ -0,0 +1,80 @@
|
||||
|
||||
# Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
|
||||
|
||||
# This file is part of Open5GS.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
type_list["P-TMSI signature"]["decode"] = \
|
||||
" *p_tmsi_signature = htobe32(*p_tmsi_signature);\n\n"
|
||||
type_list["P-TMSI signature"]["encode"] = \
|
||||
" *p_tmsi_signature = be32toh(*p_tmsi_signature);\n\n"
|
||||
|
||||
type_list["Location area identification"]["decode"] = \
|
||||
" location_area_identification->lac = be16toh(location_area_identification->lac);\n\n"
|
||||
type_list["Location area identification"]["encode"] = \
|
||||
" target.lac = htobe16(location_area_identification->lac);\n\n"
|
||||
|
||||
type_list["Tracking area identity"]["decode"] = \
|
||||
" tracking_area_identity->tac = be16toh(tracking_area_identity->tac);\n\n"
|
||||
type_list["Tracking area identity"]["encode"] = \
|
||||
" target.tac = htobe16(tracking_area_identity->tac);\n\n"
|
||||
|
||||
type_list["Mobile identity"]["decode"] = \
|
||||
" if (mobile_identity->tmsi.type == OGS_NAS_MOBILE_IDENTITY_TMSI) {\n" \
|
||||
" mobile_identity->tmsi.tmsi = be32toh(mobile_identity->tmsi.tmsi);\n" \
|
||||
" }\n\n"
|
||||
type_list["Mobile identity"]["encode"] = \
|
||||
" if (mobile_identity->tmsi.type == OGS_NAS_MOBILE_IDENTITY_TMSI) {\n" \
|
||||
" target.tmsi.tmsi = htobe32(mobile_identity->tmsi.tmsi);\n" \
|
||||
" target.tmsi.spare = 0xf;\n" \
|
||||
" }\n\n"
|
||||
|
||||
type_list["EPS mobile identity"]["decode"] = \
|
||||
" if (eps_mobile_identity->guti.type == OGS_NAS_EPS_MOBILE_IDENTITY_GUTI) {\n" \
|
||||
" eps_mobile_identity->guti.mme_gid = be16toh(eps_mobile_identity->guti.mme_gid);\n" \
|
||||
" eps_mobile_identity->guti.m_tmsi = be32toh(eps_mobile_identity->guti.m_tmsi);\n" \
|
||||
" }\n\n"
|
||||
type_list["EPS mobile identity"]["encode"] = \
|
||||
" if (target.guti.type == OGS_NAS_EPS_MOBILE_IDENTITY_GUTI) {\n" \
|
||||
" target.guti.spare = 0xf;\n" \
|
||||
" target.guti.mme_gid = htobe16(eps_mobile_identity->guti.mme_gid);\n" \
|
||||
" target.guti.m_tmsi = htobe32(eps_mobile_identity->guti.m_tmsi);\n" \
|
||||
" }\n\n"
|
||||
|
||||
type_list["Nonce"]["decode"] = \
|
||||
" *nonce = be32toh(*nonce);\n\n"
|
||||
type_list["Nonce"]["encode"] = \
|
||||
" target = htobe32(*nonce);\n\n"
|
||||
|
||||
type_list["Header compression configuration"]["decode"] = \
|
||||
" header_compression_configuration->max_cid = be16toh(header_compression_configuration->max_cid);\n\n"
|
||||
type_list["Header compression configuration"]["encode"] = \
|
||||
" target.max_cid = htobe16(header_compression_configuration->max_cid);\n\n"
|
||||
|
||||
type_list["Short MAC"]["decode"] = \
|
||||
" *short_mac = be16toh(*short_mac);\n\n"
|
||||
type_list["Short MAC"]["encode"] = \
|
||||
" target = htobe16(*short_mac);\n\n"
|
||||
|
||||
type_list["Access point name"]["decode"] = \
|
||||
" {\n" \
|
||||
" char apn[OGS_MAX_APN_LEN];\n" \
|
||||
" access_point_name->length = ogs_fqdn_parse(apn, access_point_name->apn, access_point_name->length);\n" \
|
||||
" ogs_cpystrn(access_point_name->apn, apn, ogs_min(access_point_name->length, OGS_MAX_APN_LEN) + 1);\n" \
|
||||
" }\n\n"
|
||||
|
||||
type_list["Access point name"]["encode"] = \
|
||||
" target.length = ogs_fqdn_build(target.apn, access_point_name->apn, access_point_name->length);\n" \
|
||||
" size = target.length + sizeof(target.length);\n\n"
|
||||
739
lib/nas/eps/types.h
Normal file
739
lib/nas/eps/types.h
Normal file
@@ -0,0 +1,739 @@
|
||||
/*
|
||||
* Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
|
||||
*
|
||||
* This file is part of Open5GS.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#if !defined(OGS_NAS_INSIDE) && !defined(OGS_NAS_COMPILATION)
|
||||
#error "This header cannot be included directly."
|
||||
#endif
|
||||
|
||||
#ifndef OGS_NAS_EPS_TYPES_H
|
||||
#define OGS_NAS_EPS_TYPES_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* 9.9.2.0A Device properties
|
||||
* See subclause 10.5.7.8 in 3GPP TS 24.008 [13].
|
||||
* O TV 1 */
|
||||
typedef struct ogs_nas_device_properties_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:3;,
|
||||
uint8_t low_priority:1;)
|
||||
} __attribute__ ((packed)) ogs_nas_device_properties_t;
|
||||
|
||||
/* 9.9.2.2 Location area identification
|
||||
* See subclause 10.5.1.3 in 3GPP TS 24.008 [13]
|
||||
* O TV 6 */
|
||||
typedef struct ogs_nas_location_area_identification_s {
|
||||
ogs_nas_plmn_id_t nas_plmn_id;
|
||||
uint16_t lac;
|
||||
} __attribute__ ((packed)) ogs_nas_location_area_identification_t;
|
||||
|
||||
typedef ogs_nas_location_area_identification_t ogs_nas_lai_t;
|
||||
|
||||
/*9.9.2.5 Mobile station classmark 3
|
||||
* See subclause 10.5.1.7 in 3GPP TS 24.008 [13].
|
||||
* O TLV 2-34 */
|
||||
#define OGS_NAS_MAX_MOBILE_STATION_CLASSMARK_3_LEN 32
|
||||
typedef struct ogs_nas_mobile_station_classmark_3_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[OGS_NAS_MAX_MOBILE_STATION_CLASSMARK_3_LEN];
|
||||
} __attribute__ ((packed)) ogs_nas_mobile_station_classmark_3_t;
|
||||
|
||||
/* 9.9.3.0A Additional update result
|
||||
* O TV 1 */
|
||||
typedef struct ogs_nas_additional_update_result_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:2;,
|
||||
uint8_t additional_update_result_value:2;)
|
||||
} __attribute__ ((packed)) ogs_nas_additional_update_result_t;
|
||||
|
||||
/* 9.9.3.0B Additional update type
|
||||
* O TV 1 */
|
||||
#define OGS_NAS_ADDITIONAL_UPDATE_TYPE_CIOT_NONE 0
|
||||
#define OGS_NAS_ADDITIONAL_UPDATE_TYPE_CIOT_CONTROL_PLANE 1
|
||||
#define OGS_NAS_ADDITIONAL_UPDATE_TYPE_CIOT_DATA_PLANE 2
|
||||
#define OGS_NAS_ADDITIONAL_UPDATE_TYPE_CIOT_RESERVED 3
|
||||
typedef struct ogs_nas_additional_update_type_s {
|
||||
ED4(uint8_t type:4;,
|
||||
uint8_t pnb_ciot:2;,
|
||||
uint8_t saf:1;,
|
||||
uint8_t autv:1;)
|
||||
} __attribute__ ((packed)) ogs_nas_additional_update_type_t;
|
||||
|
||||
/* 9.9.3.4a Ciphering key sequence number
|
||||
* See subclause 10.5.1.2 in 3GPP TS 24.008 [13].
|
||||
* O TV 1 */
|
||||
#define OGS_NAS_CIPHERING_KEY_SEQUENCE_NUMBER_NO_KEY_FROM_MS 7
|
||||
typedef struct ogs_nas_ciphering_key_sequence_number_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:1;,
|
||||
uint8_t key_sequence:3;)
|
||||
} __attribute__ ((packed)) ogs_nas_ciphering_key_sequence_number_t;
|
||||
|
||||
/* 9.9.3.5 CSFB response
|
||||
* O TV 1 */
|
||||
#define OGS_NAS_CS_FALLBACK_RESPONSE_REJECTED_BY_THE_UE 0
|
||||
#define OGS_NAS_CS_FALLBACK_RESPONSE_ACCEPTED_BY_THE_UE 1
|
||||
typedef struct ogs_nas_csfb_response_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:1;,
|
||||
uint8_t response:3;)
|
||||
} __attribute__ ((packed)) ogs_nas_csfb_response_t;
|
||||
|
||||
/* 9.9.3.7 Detach type
|
||||
* M V 1/2
|
||||
* 9.9.3.21 NAS key set identifier
|
||||
* M V 1/2 */
|
||||
#define OGS_NAS_DETACH_TYPE_FROM_UE_EPS_DETACH 1
|
||||
#define OGS_NAS_DETACH_TYPE_FROM_UE_IMSI_DETACH 2
|
||||
#define OGS_NAS_DETACH_TYPE_FROM_UE_COMBINED_EPS_IMSI_DETACH 3
|
||||
#define OGS_NAS_DETACH_TYPE_TO_UE_RE_ATTACH_REQUIRED 1
|
||||
#define OGS_NAS_DETACH_TYPE_TO_UE_RE_ATTACH_NOT_REQUIRED 2
|
||||
#define OGS_NAS_DETACH_TYPE_TO_UE_IMSI_DETACH 3
|
||||
typedef struct ogs_nas_detach_type_s {
|
||||
ED4(uint8_t tsc:1;,
|
||||
uint8_t nas_key_set_identifier:3;,
|
||||
uint8_t switch_off:1;,
|
||||
uint8_t detach_type:3;)
|
||||
} __attribute__ ((packed)) ogs_nas_detach_type_t;
|
||||
|
||||
/* 9.9.3.8 DRX parameter
|
||||
* See subclause 10.5.5.6 in 3GPP TS 24.008
|
||||
* O TV 3 */
|
||||
#define OGS_NAS_DRX_PARAMETER_TIMER_MAX_1SEC 1
|
||||
#define OGS_NAS_DRX_PARAMETER_TIMER_MAX_2SEC 2
|
||||
#define OGS_NAS_DRX_PARAMETER_TIMER_MAX_4SEC 3
|
||||
#define OGS_NAS_DRX_PARAMETER_TIMER_MAX_8SEC 4
|
||||
#define OGS_NAS_DRX_PARAMETER_TIMER_MAX_16SEC 5
|
||||
#define OGS_NAS_DRX_PARAMETER_TIMER_MAX_32SEC 6
|
||||
#define OGS_NAS_DRX_PARAMETER_TIMER_MAX_64SEC 7
|
||||
|
||||
#define OGS_NAS_DRX_PARAMETER_COEFFICIENT_T_NOT_SPECIFIED_BY_MS 0
|
||||
#define OGS_NAS_DRX_PARAMETER_COEFFICIENT_6_T_32 6
|
||||
#define OGS_NAS_DRX_PARAMETER_COEFFICIENT_7_T_64 7
|
||||
#define OGS_NAS_DRX_PARAMETER_COEFFICIENT_8_T_128 8
|
||||
#define OGS_NAS_DRX_PARAMETER_COEFFICIENT_9_T_256 9
|
||||
typedef struct ogs_nas_drx_parameter_s {
|
||||
uint8_t split_pg_cycle_code;
|
||||
ED3(uint8_t cn_specific_drx_cycle_length_coefficient_and_drx_value_for_s1_mode:4;,
|
||||
uint8_t split_on_ccch:1;,
|
||||
uint8_t non_DRX_timer:3;)
|
||||
} __attribute__ ((packed)) ogs_nas_drx_parameter_t;
|
||||
|
||||
/* 9.9.3.9 EMM cause
|
||||
* O TV 2
|
||||
* Annex A (informative) Cause values for EPS mobility management
|
||||
* A.1 Causes related to UE identification */
|
||||
#define EMM_CAUSE_IMSI_UNKNOWN_IN_HSS 2
|
||||
#define EMM_CAUSE_ILLEGAL_UE 3
|
||||
#define EMM_CAUSE_IMSI_UNKNOWN_IN_VLR 4
|
||||
#define EMM_CAUSE_ILLEGAL_ME 6
|
||||
#define EMM_CAUSE_UE_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK 9
|
||||
#define EMM_CAUSE_IMPLICITLY_DETACHED 10
|
||||
/* A.2 Cause related to subscription options */
|
||||
#define EMM_CAUSE_IMEI_NOT_ACCEPTED 5
|
||||
#define EMM_CAUSE_EPS_SERVICES_NOT_ALLOWED 7
|
||||
#define EMM_CAUSE_EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED 8
|
||||
#define EMM_CAUSE_PLMN_NOT_ALLOWED 11
|
||||
#define EMM_CAUSE_TRACKING_AREA_NOT_ALLOWED 12
|
||||
#define EMM_CAUSE_ROAMING_NOT_ALLOWED_IN_THIS_TRACKING_AREA 13
|
||||
#define EMM_CAUSE_EPS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN 14
|
||||
#define EMM_CAUSE_NO_SUITABLE_CELLS_IN_TRACKING_AREA 15
|
||||
#define EMM_CAUSE_REQUESTED_SERVICE_OPTION_NOT_AUTHORIZED_IN_THIS_PLMN 35
|
||||
#define EMM_CAUSE_NO_EPS_BEARER_CONTEXT_ACTIVATED 40
|
||||
/* A.3 Causes related to PLMN specific network failures and
|
||||
* congestion/authentication failures */
|
||||
#define EMM_CAUSE_MSC_TEMPORARILY_NOT_REACHABLE 16
|
||||
#define EMM_CAUSE_NETWORK_FAILURE 17
|
||||
#define EMM_CAUSE_CS_DOMAIN_NOT_AVAILABLE 18
|
||||
#define EMM_CAUSE_ESM_FAILURE 19
|
||||
#define EMM_CAUSE_MAC_FAILURE 20
|
||||
#define EMM_CAUSE_SYNCH_FAILURE 21
|
||||
#define EMM_CAUSE_CONGESTION 22
|
||||
#define EMM_CAUSE_UE_SECURITY_CAPABILITIES_MISMATCH 23
|
||||
#define EMM_CAUSE_SECURITY_MODE_REJECTED_UNSPECIFIED 24
|
||||
#define EMM_CAUSE_NON_EPS_AUTHENTICATION_UNACCEPTABLE 26
|
||||
#define EMM_CAUSE_CS_SERVICE_TEMPORARILY_NOT_AVAILABLE 39
|
||||
#define EMM_CAUSE_SEVERE_NETWORK_FAILURE 42
|
||||
/* A.4 Causes related to nature of request
|
||||
* NOTE: This subclause has no entries in this version of the specification *
|
||||
* A.5 Causes related to invalid messages */
|
||||
#define EMM_CAUSE_SEMANTICALLY_INCORRECT_MESSAGE 95
|
||||
#define EMM_CAUSE_INVALID_MANDATORY_INFORMATION 96
|
||||
#define EMM_CAUSE_MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED 97
|
||||
#define EMM_CAUSE_MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE 98
|
||||
#define EMM_CAUSE_INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED 99
|
||||
#define EMM_CAUSE_CONDITIONAL_IE_ERROR 100
|
||||
#define EMM_CAUSE_MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE 101
|
||||
#define EMM_CAUSE_PROTOCOL_ERROR_UNSPECIFIED 111
|
||||
typedef uint8_t ogs_nas_emm_cause_t;
|
||||
|
||||
/* 9.9.3.10 * EPS attach result
|
||||
* M V 1/2 */
|
||||
#define OGS_NAS_ATTACH_RESULT_EPS_ONLY 1
|
||||
#define OGS_NAS_ATTACH_RESULT_COMBINED_EPS_IMSI_ATTACH 2
|
||||
typedef struct ogs_nas_eps_attach_result_s {
|
||||
ED2(uint8_t spare:5;,
|
||||
uint8_t result:3;)
|
||||
} __attribute__ ((packed)) ogs_nas_eps_attach_result_t;
|
||||
|
||||
/* 9.9.3.11 EPS attach type
|
||||
* M V 1/2
|
||||
* 9.9.3.21 NAS key set identifier
|
||||
* M V 1/2 */
|
||||
#define OGS_NAS_KEY_SET_IDENTIFIER_NATIVE 0
|
||||
#define OGS_NAS_KEY_SET_IDENTIFIER_MAPPED 1
|
||||
#define OGS_NAS_KEY_SET_IDENTIFIER_NOT_AVAILABLE 0x111
|
||||
|
||||
#define OGS_NAS_ATTACH_TYPE_EPS_ATTACH 1
|
||||
#define OGS_NAS_ATTACH_TYPE_COMBINED_EPS_IMSI_ATTAACH 2
|
||||
#define OGS_NAS_ATTACH_TYPE_EPS_ERMERGENCY_ATTCH 3
|
||||
#define OGS_NAS_ATTACH_TYPE_RESERVED 4
|
||||
typedef struct ogs_nas_eps_attach_type_s {
|
||||
ED4(uint8_t tsc:1;,
|
||||
uint8_t nas_key_set_identifier:3;,
|
||||
uint8_t spare:1;,
|
||||
uint8_t attach_type:3;)
|
||||
} __attribute__ ((packed)) ogs_nas_eps_attach_type_t;
|
||||
|
||||
/* 9.9.3.12 EPS mobile identity
|
||||
* M LV 5-12 */
|
||||
#define OGS_NAS_EPS_MOBILE_IDENTITY_IMSI 1
|
||||
#define OGS_NAS_EPS_MOBILE_IDENTITY_GUTI 6
|
||||
#define OGS_NAS_EPS_MOBILE_IDENTITY_IMEI 3
|
||||
typedef struct ogs_nas_eps_mobile_identity_guti_s {
|
||||
ED3(uint8_t spare:4;,
|
||||
uint8_t odd_even:1;,
|
||||
uint8_t type:3;)
|
||||
ogs_nas_plmn_id_t nas_plmn_id;
|
||||
uint16_t mme_gid;
|
||||
uint8_t mme_code;
|
||||
uint32_t m_tmsi;
|
||||
} __attribute__ ((packed)) ogs_nas_eps_mobile_identity_guti_t;
|
||||
typedef struct ogs_nas_eps_mobile_identity_s {
|
||||
uint8_t length;
|
||||
union {
|
||||
ogs_nas_mobile_identity_imsi_t imsi;
|
||||
ogs_nas_eps_mobile_identity_guti_t guti;
|
||||
ogs_nas_mobile_identity_imei_t imei;
|
||||
};
|
||||
} __attribute__ ((packed)) ogs_nas_eps_mobile_identity_t;
|
||||
|
||||
/* 9.9.3.12A EPS network feature support
|
||||
* O TLV 3 */
|
||||
typedef struct ogs_nas_eps_network_feature_support_s {
|
||||
uint8_t length;
|
||||
ED7(uint8_t cp_ciot:1;,
|
||||
uint8_t erw_opdn:1;,
|
||||
uint8_t esr_ps:1;,
|
||||
uint8_t cs_lcs:2;,
|
||||
uint8_t epc_lcs:1;,
|
||||
uint8_t emc_bs:1;,
|
||||
uint8_t ims_vops:1;)
|
||||
ED5(uint8_t spare:4;,
|
||||
uint8_t e_pco:1;,
|
||||
uint8_t hc_cp_ciot:1;,
|
||||
uint8_t s1_u_data:1;,
|
||||
uint8_t up_ciot :1;)
|
||||
} __attribute__ ((packed)) ogs_nas_eps_network_feature_support_t;
|
||||
|
||||
/* 9.9.3.13 EPS update result
|
||||
* M V 1/2 */
|
||||
#define OGS_NAS_EPS_UPDATE_RESULT_TA_UPDATED 0
|
||||
#define OGS_NAS_EPS_UPDATE_RESULT_COMBINED_TA_LA_UPDATED 1
|
||||
#define OGS_NAS_EPS_UPDATE_RESULT_TA_UPDATED_AND_ISR_ACTIVATED 4
|
||||
#define OGS_NAS_EPS_UPDATE_RESULT_COMBINED_TA_LA_UPDATED_AND_ISR_ACTIVATED 5
|
||||
typedef struct ogs_nas_eps_update_result_s {
|
||||
ED2(uint8_t spare:5;,
|
||||
uint8_t result:3;)
|
||||
} __attribute__ ((packed)) ogs_nas_eps_update_result_t;
|
||||
|
||||
/* 9.9.3.14 EPS update type
|
||||
* M V 1/2
|
||||
* 9.9.3.21 NAS key set identifier
|
||||
* M V 1/2 */
|
||||
#define OGS_NAS_EPS_UPDATE_TYPE_TA_UPDATING 0
|
||||
#define OGS_NAS_EPS_UPDATE_TYPE_COMBINED_TA_LA_UPDATING 1
|
||||
#define OGS_NAS_EPS_UPDATE_TYPE_COMBINED_TA_LA_UPDATING_WITH_IMSI_ATTACH 2
|
||||
#define OGS_NAS_EPS_UPDATE_TYPE_PERIODIC_UPDATING 3
|
||||
typedef struct ogs_nas_eps_update_type_s {
|
||||
ED4(uint8_t tsc:1;,
|
||||
uint8_t nas_key_set_identifier:3;,
|
||||
uint8_t active_flag:1;,
|
||||
uint8_t update_type:3;)
|
||||
} __attribute__ ((packed)) ogs_nas_eps_update_type_t;
|
||||
|
||||
/* 9.9.3.15 ESM message container
|
||||
* M LV-E 5-n */
|
||||
typedef struct ogs_nas_esm_message_container_s {
|
||||
uint16_t length;
|
||||
uint8_t *buffer;
|
||||
} ogs_nas_esm_message_container_t;
|
||||
|
||||
/* 9.9.3.17 Identity type 2
|
||||
* See subclause 10.5.5.9 in 3GPP TS 24.008 [13].
|
||||
* M V 1/2 */
|
||||
#define OGS_NAS_IDENTITY_TYPE_2_IMSI 1
|
||||
#define OGS_NAS_IDENTITY_TYPE_2_IMEI 2
|
||||
#define OGS_NAS_IDENTITY_TYPE_2_IMEISV 3
|
||||
#define OGS_NAS_IDENTITY_TYPE_2_TMSI 4
|
||||
typedef struct ogs_nas_identity_type_2_s {
|
||||
ED2(uint8_t spare:5;,
|
||||
uint8_t type:3;)
|
||||
} __attribute__ ((packed)) ogs_nas_identity_type_2_t;
|
||||
|
||||
/* 9.9.3.19 KSI and sequence number
|
||||
* M V 1 */
|
||||
typedef struct ogs_nas_ksi_and_sequence_number_s {
|
||||
ED2(uint8_t ksi:3;,
|
||||
uint8_t sequence_number:5;)
|
||||
} __attribute__ ((packed)) ogs_nas_ksi_and_sequence_number_t;
|
||||
|
||||
/* 9.9.3.20 MS network capability
|
||||
* See subclause 10.5.5.12 in 3GPP TS 24.008
|
||||
* O TLV 4-10 */
|
||||
#define OGS_NAS_MS_NETWORK_CAPABILITY_GEA2 0b01000000
|
||||
#define OGS_NAS_MS_NETWORK_CAPABILITY_GEA3 0b00100000
|
||||
#define OGS_NAS_MS_NETWORK_CAPABILITY_GEA4 0b00010000
|
||||
#define OGS_NAS_MS_NETWORK_CAPABILITY_GEA5 0b00001000
|
||||
#define OGS_NAS_MS_NETWORK_CAPABILITY_GEA6 0b00000100
|
||||
#define OGS_NAS_MS_NETWORK_CAPABILITY_GEA7 0b00000010
|
||||
typedef struct ogs_nas_ms_network_capability_s {
|
||||
uint8_t length;
|
||||
ED7(uint8_t gea1:1;,
|
||||
uint8_t sm_capabilities_via_dedicated_channels:1;,
|
||||
uint8_t sm_capabilities_via_gprs_channels:1;,
|
||||
uint8_t ucs2:1;,
|
||||
uint8_t ss_screening_indicator:2;,
|
||||
uint8_t solsa_capability:1;,
|
||||
uint8_t revision_level_indicator:1;)
|
||||
ED3(uint8_t pfc_feature_mode:1;,
|
||||
uint8_t extended_gea:6;,
|
||||
uint8_t lcs_va_capability:1;)
|
||||
ED8(uint8_t ps_inter_rat_ho_from_geran_to_utran_iu_mode_capability:1;,
|
||||
uint8_t ps_inter_rat_ho_from_geran_to_e_utran_s1_mode_capability:1;,
|
||||
uint8_t emm_combined_procedures_capability:1;,
|
||||
uint8_t isr_support:1;,
|
||||
uint8_t srvcc_to_geran_utran_capability:1;,
|
||||
uint8_t epc_capability:1;,
|
||||
uint8_t nf_capability:1;,
|
||||
uint8_t geran_network_sharing_capability:1;)
|
||||
ED6(uint8_t user_plane_integrity_protection_support:1;,
|
||||
uint8_t gia4:1;,
|
||||
uint8_t gia5:1;,
|
||||
uint8_t gia6:1;,
|
||||
uint8_t gia7:1;,
|
||||
uint8_t spare:3;)
|
||||
} __attribute__ ((packed)) ogs_nas_ms_network_capability_t;
|
||||
|
||||
/* 9.9.3.20A MS network feature support
|
||||
* See subclause 10.5.1.15 in 3GPP TS 24.008 [13].
|
||||
* O TV 1 */
|
||||
typedef struct ogs_nas_ms_network_feature_support_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:3;,
|
||||
uint8_t extended_periodic_timers:1;)
|
||||
} __attribute__ ((packed)) ogs_nas_ms_network_feature_support_t;
|
||||
|
||||
/* 9.9.3.22 message container
|
||||
* M LV 3-252 */
|
||||
#define OGS_NAS_MAX_MESSAGE_CONTAINER_LEN 250
|
||||
typedef struct ogs_nas_message_container_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[OGS_NAS_MAX_MESSAGE_CONTAINER_LEN];
|
||||
} __attribute__ ((packed)) ogs_nas_message_container_t;
|
||||
|
||||
/* 9.9.3.23 NAS security algorithms
|
||||
* M V 1 */
|
||||
#define OGS_NAS_SECURITY_ALGORITHMS_EIA0 0
|
||||
#define OGS_NAS_SECURITY_ALGORITHMS_128_EIA1 1
|
||||
#define OGS_NAS_SECURITY_ALGORITHMS_128_EIA2 2
|
||||
#define OGS_NAS_SECURITY_ALGORITHMS_128_EIA3 3
|
||||
#define OGS_NAS_SECURITY_ALGORITHMS_EEA0 0
|
||||
#define OGS_NAS_SECURITY_ALGORITHMS_128_EEA1 1
|
||||
#define OGS_NAS_SECURITY_ALGORITHMS_128_EEA2 2
|
||||
#define OGS_NAS_SECURITY_ALGORITHMS_128_EEA3 3
|
||||
typedef struct ogs_nas_security_algorithms_s {
|
||||
ED4(uint8_t spare1:1;,
|
||||
uint8_t type_of_ciphering_algorithm:3;,
|
||||
uint8_t spare2:1;,
|
||||
uint8_t type_of_integrity_protection_algorithm:3;)
|
||||
} __attribute__ ((packed)) ogs_nas_security_algorithms_t;
|
||||
|
||||
/* 9.9.3.24A Network resource identifier container
|
||||
* See subclause 10.5.5.31 in 3GPP TS 24.008 [13].
|
||||
* O TLV 4 */
|
||||
typedef struct ogs_nas_network_resource_identifier_container_s {
|
||||
uint8_t length;
|
||||
uint8_t nri_container_value1;
|
||||
ED2(uint8_t nri_container_value2:2;,
|
||||
uint8_t spare:6;)
|
||||
} __attribute__ ((packed)) ogs_nas_network_resource_identifier_container_t;
|
||||
|
||||
/* 9.9.3.25 Nonce
|
||||
* O TV 5 */
|
||||
typedef uint32_t ogs_nas_nonce_t;
|
||||
|
||||
/* 9.9.3.25A Paging identity
|
||||
* M V 1 */
|
||||
#define OGS_NAS_PAGING_IDENTITY_IMSI 0
|
||||
#define OGS_NAS_PAGING_IDENTITY_TMSI 1
|
||||
typedef struct ogs_nas_paging_identity_s {
|
||||
ED2(uint8_t spare:7;,
|
||||
uint8_t identity:1;)
|
||||
} ogs_nas_paging_identity_t;
|
||||
|
||||
/* 9.9.3.26 P-TMSI signature
|
||||
* See subclause 10.5.5.8 in 3GPP TS 24.008
|
||||
* O TV 4 */
|
||||
typedef uint32_t ogs_nas_p_tmsi_signature_t; /* TV : 4bytes */
|
||||
|
||||
/* 9.9.3.26A Extended EMM cause
|
||||
* O TV 1 */
|
||||
typedef struct ogs_nas_extended_emm_cause_s {
|
||||
ED4(uint8_t type:4;,
|
||||
uint8_t spare:2;,
|
||||
uint8_t eps_optimization_info:1;,
|
||||
uint8_t e_utran_allowed:1;)
|
||||
} ogs_nas_extended_emm_cause_t;
|
||||
|
||||
/* 9.9.3.27 Service type
|
||||
* M V 1/2
|
||||
* 9.9.3.21 NAS key set identifier
|
||||
* M V 1/2 */
|
||||
#define OGS_NAS_SERVICE_TYPE_CS_FALLBACK_FROM_UE 0
|
||||
#define OGS_NAS_SERVICE_TYPE_CS_FALLBACK_TO_UE 1
|
||||
#define OGS_NAS_SERVICE_TYPE_CS_FALLBACK_EMERGENCY_CALL_FROM_UE 2
|
||||
typedef struct ogs_nas_service_type_s {
|
||||
ED3(uint8_t tsc:1;,
|
||||
uint8_t nas_key_set_identifier:3;,
|
||||
uint8_t service_type:4;)
|
||||
} __attribute__ ((packed)) ogs_nas_service_type_t;
|
||||
|
||||
/* 9.9.3.28 Short MAC
|
||||
* M V 2 */
|
||||
typedef uint16_t ogs_nas_short_mac_t;
|
||||
|
||||
/* 9.9.3.31 TMSI status
|
||||
* See subclause 10.5.5.4 in 3GPP TS 24.008 [13]
|
||||
* O TV 1 */
|
||||
typedef struct ogs_nas_tmsi_status_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:3;,
|
||||
uint8_t tmsi_flag:1;)
|
||||
} __attribute__ ((packed)) ogs_nas_tmsi_status_t;
|
||||
|
||||
/* 9.9.3.35 UE radio capability information update needed
|
||||
* O TV 1 */
|
||||
typedef struct ogs_nas_ue_radio_capability_information_update_needed_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:3;,
|
||||
uint8_t update_needed:1;)
|
||||
} __attribute__ ((packed)) ogs_nas_ue_radio_capability_information_update_needed_t;
|
||||
|
||||
/* 9.9.3.34 UE network capability
|
||||
* M LV 3-14 */
|
||||
typedef struct ogs_nas_s1_ue_network_capability_s ogs_nas_ue_network_capability_t;
|
||||
|
||||
/* 9.9.3.36 UE security capability
|
||||
* M LV 3-6 */
|
||||
typedef struct ogs_nas_s1_ue_security_capability_s ogs_nas_ue_security_capability_t;
|
||||
|
||||
/* 9.9.3.38 CLI
|
||||
* O TLV 3-14
|
||||
* The coding of the CLI value part is the same as for
|
||||
* octets 3 to 14 of the Calling party BCD number information element
|
||||
* defined in subclause 10.5.4.9 of 3GPP TS 24.008 [13]. */
|
||||
#define NAX_MAX_CLI_LEN 12
|
||||
typedef struct ogs_nas_cli_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[NAX_MAX_CLI_LEN];
|
||||
} __attribute__ ((packed)) ogs_nas_cli_t;
|
||||
|
||||
/* 9.9.3.39 SS Code
|
||||
* O TV 2
|
||||
* The coding of the SS Code value is given in subclause 17.7.5 of
|
||||
* 3GPP TS 29.002 [15C] */
|
||||
typedef uint8_t ogs_nas_ss_code_t;
|
||||
|
||||
/* 9.9.3.40 LCS indicator
|
||||
* O TV 2 */
|
||||
#define OGS_NAS_LCS_INDICATOR_MT_LR 1
|
||||
typedef uint8_t ogs_nas_lcs_indicator_t;
|
||||
|
||||
/* 9.9.3.41 LCS client identity
|
||||
* O TLV 3-257 */
|
||||
#define OGS_NAS_MAX_LCS_CLIENT_IDENTITY_LEN 255
|
||||
typedef struct ogs_nas_lcs_client_identity_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[OGS_NAS_MAX_LCS_CLIENT_IDENTITY_LEN];
|
||||
} __attribute__ ((packed)) ogs_nas_lcs_client_identity_t;
|
||||
|
||||
/* 9.9.3.42 Generic message container type
|
||||
* M V 1 */
|
||||
#define OGS_NAS_GENERIC_MESSAGE_CONTAINER_TYPE_LTE_POSITIONING_PROTOCOL 1
|
||||
#define OGS_NAS_GENERIC_MESSAGE_CONTAINER_TYPE_LTE_LOCATION_SERVICES_MESSAGE 2
|
||||
typedef uint8_t ogs_nas_generic_message_container_type_t;
|
||||
|
||||
/* 9.9.3.43 Generic message container
|
||||
* M LV-E 3-n */
|
||||
typedef struct ogs_nas_generic_message_container_s {
|
||||
uint16_t length;
|
||||
uint8_t *buffer;
|
||||
} ogs_nas_generic_message_container_t;
|
||||
|
||||
/* 9.9.3.44 Voice domain preference and UE's usage setting
|
||||
* See subclause 10.5.5.28 in 3GPP TS 24.008 [13].
|
||||
* O TLV 3 */
|
||||
typedef struct ogs_nas_voice_domain_preference_and_ue_usage_setting_s {
|
||||
uint8_t length;
|
||||
ED3(uint8_t spare:5;,
|
||||
uint8_t ue_usage_setting:1;,
|
||||
uint8_t voice_domain_preference_for_e_utran:2;)
|
||||
} __attribute__ ((packed)) ogs_nas_voice_domain_preference_and_ue_usage_setting_t;
|
||||
|
||||
/* 9.9.3.45 GUTI type
|
||||
* O TV 1 */
|
||||
typedef struct ogs_nas_guti_type_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:3;,
|
||||
uint8_t guti_type:1;)
|
||||
} __attribute__ ((packed)) ogs_nas_guti_type_t;
|
||||
|
||||
/* 9.9.4.1 Access point name
|
||||
* See subclause 10.5.6.1 in 3GPP TS 24.008 [13].
|
||||
* O TLV 3-102 */
|
||||
typedef struct ogs_nas_access_point_name_s {
|
||||
uint8_t length;
|
||||
char apn[OGS_MAX_APN_LEN];
|
||||
} __attribute__ ((packed)) ogs_nas_access_point_name_t;
|
||||
|
||||
/* 9.9.4.2A Connectivity type
|
||||
* See subclause 10.5.6.19 in 3GPP TS 24.008 [13].
|
||||
* O TV 1 */
|
||||
typedef struct ogs_nas_connectivity_type_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:3;,
|
||||
uint8_t considered_lipa_pdn_connection:1;)
|
||||
} __attribute__ ((packed)) ogs_nas_connectivity_type_t;
|
||||
|
||||
/* 9.9.4.4 ESM cause
|
||||
* M V 1
|
||||
* Annex B (informative) Cause values for EPS session management
|
||||
B.1 Causes related to nature of request */
|
||||
#define ESM_CAUSE_OPERATOR_DETERMINED_BARRING 8
|
||||
#define ESM_CAUSE_INSUFFICIENT_RESOURCES 26
|
||||
#define ESM_CAUSE_MISSING_OR_UNKNOWN_APN 27
|
||||
#define ESM_CAUSE_UNKNOWN_PDN_TYPE 28
|
||||
#define ESM_CAUSE_USER_AUTHENTICATION_FAILED 29
|
||||
#define ESM_CAUSE_REQUEST_REJECTED_BY_SERVING_GW_OR_PDN_GW 30
|
||||
#define ESM_CAUSE_REQUEST_REJECTED_UNSPECIFIED 31
|
||||
#define ESM_CAUSE_SERVICE_OPTION_NOT_SUPPORTED 32
|
||||
#define ESM_CAUSE_REQUESTED_SERVICE_OPTION_NOT_SUBSCRIBED 33
|
||||
#define ESM_CAUSE_SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER 34
|
||||
#define ESM_CAUSE_PTI_ALREADY_IN_USE 35
|
||||
#define ESM_CAUSE_REGULAR_DEACTIVATION 36
|
||||
#define ESM_CAUSE_EPS_QOS_NOT_ACCEPTED 37
|
||||
#define ESM_CAUSE_NETWORK_FAILURE 38
|
||||
#define ESM_CAUSE_REACTIVATION_REQUESTED 39
|
||||
#define ESM_CAUSE_SEMANTIC_ERROR_IN_THE_TFT_OPERATION 41
|
||||
#define ESM_CAUSE_SYNTACTICAL_ERROR_IN_THE_TFT_OPERATION 42
|
||||
#define ESM_CAUSE_INVALID_EPS_BEARER_IDENTITY 43
|
||||
#define ESM_CAUSE_SEMANTIC_ERRORS_IN_PACKET_FILTERS 44
|
||||
#define ESM_CAUSE_SYNTACTICAL_ERROR_IN_PACKET_FILTERS 45
|
||||
#define ESM_CAUSE_PTI_MISMATCH 47
|
||||
#define ESM_CAUSE_LAST_PDN_DISCONNECTION_NOT_ALLOWED 49
|
||||
#define ESM_CAUSE_PDN_TYPE_IPV4_ONLY_ALLOWED 50
|
||||
#define ESM_CAUSE_PDN_TYPE_IPV6_ONLY_ALLOWED 51
|
||||
#define ESM_CAUSE_SINGLE_ADDRESS_BEARERS_ONLY_ALLOWED 52
|
||||
#define ESM_CAUSE_ESM_INFORMATION_NOT_RECEIVED 53
|
||||
#define ESM_CAUSE_PDN_CONNECTION_DOES_NOT_EXIST 54
|
||||
#define ESM_CAUSE_MULTIPLE_PDN_CONNECTIONS_FOR_A_GIVEN_APN_NOT_ALLOWED 55
|
||||
#define ESM_CAUSE_COLLISION_WITH_NETWORK_INITIATED_REQUEST 56
|
||||
#define ESM_CAUSE_PDN_TYPE_IPV4V6_ONLY_ALLOWED 57
|
||||
#define ESM_CAUSE_PDN_TYPE_NON_IP_ONLY_ALLOWED 58
|
||||
#define ESM_CAUSE_UNSUPPORTED_QCI_VALUE 59
|
||||
#define ESM_CAUSE_BEARER_HANDLING_NOT_SUPPORTED 60
|
||||
#define ESM_CAUSE_MAXIMUM_NUMBER_OF_EPS_BEARERS_REACHED 65
|
||||
#define ESM_CAUSE_REQUESTED_APN_NOT_SUPPORTED_IN_CURRENT_RAT_AND_PLMN_COMBINATION 66
|
||||
#define ESM_CAUSE_INVALID_PTI_VALUE 81
|
||||
#define ESM_CAUSE_APN_RESTRICTION_VALUE_INCOMPATIBLE_WITH_ACTIVE_EPS_BEARER_CONTEXT 112
|
||||
#define ESM_CAUSE_MULTIPLE_ACCESSES_TO_A_PDN_CONNECTION_NOT_ALLOWED 113
|
||||
/* B.2 Protocol errors (e.g., unknown message) class */
|
||||
#define ESM_CAUSE_SEMANTICALLY_INCORRECT_MESSAGE 95
|
||||
#define ESM_CAUSE_INVALID_MANDATORY_INFORMATION 96
|
||||
#define ESM_CAUSE_MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED 97
|
||||
#define ESM_CAUSE_MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE 98
|
||||
#define ESM_CAUSE_INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED 99
|
||||
#define ESM_CAUSE_CONDITIONAL_IE_ERROR 100
|
||||
#define ESM_CAUSE_MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE 101
|
||||
#define ESM_CAUSE_PROTOCOL_ERROR_UNSPECIFIED 111
|
||||
typedef uint8_t ogs_nas_esm_cause_t;
|
||||
|
||||
/* 9.9.4.5 ESM information transfer flag
|
||||
* O TV 1 */
|
||||
typedef struct ogs_nas_esm_information_transfer_flag_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:3;,
|
||||
uint8_t security_protected_required:1;)
|
||||
} __attribute__ ((packed)) ogs_nas_esm_information_transfer_flag_t;
|
||||
|
||||
/* 9.9.4.6 Linked EPS bearer identity
|
||||
* M V 1/2 */
|
||||
typedef struct ogs_nas_linked_eps_bearer_identity_s {
|
||||
ED2(uint8_t spare:4;,
|
||||
uint8_t eps_bearer_identity:4;)
|
||||
} __attribute__ ((packed)) ogs_nas_linked_eps_bearer_identity_t;
|
||||
|
||||
/* 9.9.4.7 LLC service access point identifier
|
||||
* See subclause 10.5.6.9 in 3GPP TS 24.008 [13].
|
||||
* O TV 2 */
|
||||
typedef uint8_t ogs_nas_llc_service_access_point_identifier_t;
|
||||
|
||||
/* 9.9.4.8 Packet flow Identifier
|
||||
* See subclause 10.5.6.11 in 3GPP TS 24.008 [13].
|
||||
* O TLV 3 */
|
||||
#define OGS_NAS_PACKET_FLOW_IDENTIFIER_BEST_EFFORT 0
|
||||
#define OGS_NAS_PACKET_FLOW_IDENTIFIER_SIGNALLING 1
|
||||
#define OGS_NAS_PACKET_FLOW_IDENTIFIER_SMS 2
|
||||
#define OGS_NAS_PACKET_FLOW_IDENTIFIER_TOM8 3
|
||||
#define OGS_NAS_PACKET_FLOW_IDENTIFIER_DYNAMIC_ASSIGN_MIN 8
|
||||
#define OGS_NAS_PACKET_FLOW_IDENTIFIER_DYNAMIC_ASSIGN_MAX 0xef
|
||||
typedef struct ogs_nas_packet_flow_identifier_s {
|
||||
uint8_t length;
|
||||
ED2(uint8_t spare:1;,
|
||||
uint8_t value:7;)
|
||||
} __attribute__ ((packed)) ogs_nas_packet_flow_identifier_t;
|
||||
|
||||
/* 9.9.4.13 Radio priority
|
||||
* See subclause 10.5.7.2 in 3GPP TS 24.008 [13].
|
||||
* O TV 1 */
|
||||
typedef struct ogs_nas_radio_priority_s {
|
||||
ED3(uint8_t type:4;,
|
||||
uint8_t spare:1;,
|
||||
uint8_t value:3;)
|
||||
} __attribute__ ((packed)) ogs_nas_radio_priority_t;
|
||||
|
||||
/* 9.9.4.9 PDN address
|
||||
* M LV 6-14 */
|
||||
#define OGS_NAS_PDN_ADDRESS_IPV4_LEN 5
|
||||
#define OGS_NAS_PDN_ADDRESS_IPV6_LEN 9
|
||||
#define OGS_NAS_PDN_ADDRESS_IPV4V6_LEN 13
|
||||
typedef struct ogs_nas_pdn_address_s {
|
||||
uint8_t length;
|
||||
ED2(uint8_t reserved:5;,
|
||||
uint8_t pdn_type:3;)
|
||||
union {
|
||||
uint32_t addr;
|
||||
struct {
|
||||
uint8_t addr6[OGS_IPV6_LEN>>1]; /* Interface Identifer Only */
|
||||
};
|
||||
struct {
|
||||
uint8_t addr6[OGS_IPV6_LEN>>1]; /* Interface Identifer Only */
|
||||
uint32_t addr;
|
||||
} both;
|
||||
};
|
||||
} __attribute__ ((packed)) ogs_nas_pdn_address_t;
|
||||
|
||||
/* 9.9.4.11 Protocol configuration options
|
||||
* See subclause 10.5.6.3 in 3GPP TS 24.008 [13].
|
||||
* O TLV 3-253 */
|
||||
typedef struct ogs_nas_protocol_configuration_options_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[OGS_MAX_PCO_LEN];
|
||||
} __attribute__ ((packed)) ogs_nas_protocol_configuration_options_t;
|
||||
|
||||
/* 9.9.4.12 Quality of service
|
||||
* See subclause 10.5.6.5 in 3GPP TS 24.008 [13].
|
||||
* O TLV 14-22 */
|
||||
#define OGS_NAS_QOS_LEN 20
|
||||
typedef struct ogs_nas_quality_of_service_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[OGS_NAS_QOS_LEN];
|
||||
} __attribute__ ((packed)) ogs_nas_quality_of_service_t;
|
||||
|
||||
/* 9.9.4.14 Request type
|
||||
* M V 1/2
|
||||
* See subclause 10.5.6.17 in 3GPP TS 24.008 [13].
|
||||
* 9.9.4.10 PDN type "PDN type
|
||||
* M V 1/2 */
|
||||
#define OGS_NAS_PDN_CONNECTIVITY_REQUEST_TYPE_INITIAL 1
|
||||
#define OGS_NAS_PDN_CONNECTIVITY_REQUEST_TYPE_HANDOVER 2
|
||||
#define OGS_NAS_PDN_CONNECTIVITY_REQUEST_TYPE_EMERGENCY 4
|
||||
#define OGS_NAS_PDN_CONNECTIVITY_PDN_TYPE_IPV4 1
|
||||
#define OGS_NAS_PDN_CONNECTIVITY_PDN_TYPE_IPV6 2
|
||||
#define OGS_NAS_PDN_CONNECTIVITY_PDN_TYPE_IPV4V6 3
|
||||
#define OGS_NAS_PDN_CONNECTIVITY_PDN_TYPE_NON_IP 5
|
||||
typedef struct ogs_nas_request_type_s {
|
||||
ED4(uint8_t spare1:1;,
|
||||
uint8_t pdn_type:3;,
|
||||
uint8_t spare2:1;,
|
||||
uint8_t request_type:3;)
|
||||
} __attribute__ ((packed)) ogs_nas_request_type_t;
|
||||
|
||||
/* 9.9.4.15 Traffic flow aggregate description
|
||||
* see subclause 10.5.6.12 in 3GPP TS 24.008 [13]
|
||||
* M LV 2-256 */
|
||||
#define OGS_NAS_MAX_TRAFFIC_FLOW_AGGREGATE_DESCRIPTION 255
|
||||
typedef struct ogs_nas_traffic_flow_aggregate_description_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[OGS_NAS_MAX_TRAFFIC_FLOW_AGGREGATE_DESCRIPTION];
|
||||
} __attribute__ ((packed)) ogs_nas_traffic_flow_aggregate_description_t;
|
||||
|
||||
/* 9.9.4.16 Traffic flow template
|
||||
* See subclause 10.5.6.12 in 3GPP TS 24.008 [13].
|
||||
* M LV 2-256 */
|
||||
#define OGS_NAS_MAX_TRAFFIC_FLOW_TEMPLATE 255
|
||||
typedef struct ogs_nas_traffic_flow_template_s {
|
||||
uint8_t length;
|
||||
uint8_t buffer[OGS_NAS_MAX_TRAFFIC_FLOW_TEMPLATE];
|
||||
} __attribute__ ((packed)) ogs_nas_traffic_flow_template_t;
|
||||
|
||||
/* 9.9.4.17 Transaction identifier
|
||||
* 3GPP TS 24.008 [13], subclause 10.5.6.7.
|
||||
* O TLV 3-4 */
|
||||
typedef struct ogs_nas_transaction_identifier_s {
|
||||
uint8_t length;
|
||||
uint16_t linked_ti;
|
||||
} __attribute__ ((packed)) ogs_nas_transaction_identifier_t;
|
||||
|
||||
/* 9.9.4.18 WLAN offload acceptability
|
||||
* 3GPP TS 24.008 [13], subclause 10.5.6.20
|
||||
* O TV 1 */
|
||||
typedef struct ogs_nas_wlan_offload_acceptability_s {
|
||||
ED4(uint8_t type:4;,
|
||||
uint8_t spare:2;,
|
||||
uint8_t utran_via_wlan_acceptable:1;,
|
||||
uint8_t e_utran_via_wlan_acceptable:1;)
|
||||
} __attribute__ ((packed)) ogs_nas_wlan_offload_acceptability_t;
|
||||
|
||||
/* 9.9.4.27 Header compression configuration status
|
||||
* O TLV 4 */
|
||||
typedef struct ogs_nas_header_compression_configuration_status_s {
|
||||
uint8_t length;
|
||||
uint16_t value;
|
||||
} __attribute__ ((packed)) ogs_nas_header_compression_configuration_status_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* OGS_NAS_EPS_TYPES_H */
|
||||
|
||||
Reference in New Issue
Block a user