diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2021-03-01 12:59:36 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2021-03-02 11:15:34 +0100 |
commit | 3feeb4e516acdab89ff71d29a01eef4f5338b581 (patch) | |
tree | 153a752503e3f86e8bfc31e1857f75903f23966f | |
parent | 1878b725fa311ec337fb04277f66a44f511a0020 (diff) |
nas: support 'Network Reject' indications
-rw-r--r-- | data/qmi-service-nas.json | 43 | ||||
-rw-r--r-- | docs/reference/libqmi-glib/libqmi-glib-common.sections | 5 | ||||
-rw-r--r-- | docs/reference/libqmi-glib/libqmi-glib-docs.xml | 1 | ||||
-rw-r--r-- | src/libqmi-glib/qmi-enums-nas.h | 133 |
4 files changed, 182 insertions, 0 deletions
diff --git a/data/qmi-service-nas.json b/data/qmi-service-nas.json index 10bfbd9..b01fd0d 100644 --- a/data/qmi-service-nas.json +++ b/data/qmi-service-nas.json @@ -3833,6 +3833,49 @@ "output" : [ { "common-ref" : "Operation Result" } ] }, // ********************************************************************************* + + { "name" : "Network Reject", + "type" : "Indication", + "service" : "NAS", + "id" : "0x0068", + "since" : "1.30", + "output" : [ { "name" : "Radio Interface", + "id" : "0x01", + "type" : "TLV", + "since" : "1.30", + "format" : "guint8", + "public-format" : "QmiNasRadioInterface" }, + { "name" : "Service Domain", + "id" : "0x02", + "type" : "TLV", + "since" : "1.30", + "format" : "guint8", + "public-format" : "QmiNasNetworkServiceDomain" }, + { "name" : "Reject Cause", + "id" : "0x03", + "type" : "TLV", + "since" : "1.30", + "format" : "guint8", + "public-format" : "QmiNasRejectCause" }, + { "name" : "PLMN", + "id" : "0x10", + "type" : "TLV", + "since" : "1.30", + "format" : "sequence", + "contents" : [ { "name" : "MCC", + "format" : "guint16" }, + { "name" : "MNC", + "format" : "guint16" }, + { "name" : "Includes PCS Digit", + "format" : "guint8", + "public-format" : "gboolean" } ] }, + { "name" : "Closed Subscriber Group", + "id" : "0x11", + "type" : "TLV", + "since" : "1.30", + "format" : "guint32" } ] }, + + // ********************************************************************************* { "name" : "Get DRX", "type" : "Message", "service" : "NAS", diff --git a/docs/reference/libqmi-glib/libqmi-glib-common.sections b/docs/reference/libqmi-glib/libqmi-glib-common.sections index f7a8c61..d0b5bb6 100644 --- a/docs/reference/libqmi-glib/libqmi-glib-common.sections +++ b/docs/reference/libqmi-glib/libqmi-glib-common.sections @@ -365,6 +365,7 @@ QmiNasDrx QmiNasBoolean QmiNasPlmnLanguageId QmiNasLteVoiceDomain +QmiNasRejectCause <SUBSECTION Methods> qmi_nas_radio_interface_get_string qmi_nas_active_band_get_string @@ -432,6 +433,7 @@ qmi_nas_drx_get_string qmi_nas_boolean_get_string qmi_nas_plmn_language_id_get_string qmi_nas_lte_voice_domain_get_string +qmi_nas_reject_cause_get_string <SUBSECTION Private> qmi_nas_radio_interface_build_string_from_mask qmi_nas_active_band_build_string_from_mask @@ -495,6 +497,7 @@ qmi_nas_drx_build_string_from_mask qmi_nas_boolean_build_string_from_mask qmi_nas_plmn_language_id_build_string_from_mask qmi_nas_lte_voice_domain_build_string_from_mask +qmi_nas_reject_cause_build_string_from_mask <SUBSECTION Standard> QMI_TYPE_NAS_ACTIVE_BAND QMI_TYPE_NAS_ATTACH_STATE @@ -558,6 +561,7 @@ QMI_TYPE_NAS_DRX QMI_TYPE_NAS_BOOLEAN QMI_TYPE_NAS_PLMN_LANGUAGE_ID QMI_TYPE_NAS_LTE_VOICE_DOMAIN +QMI_TYPE_NAS_REJECT_CAUSE qmi_nas_active_band_get_type qmi_nas_attach_state_get_type qmi_nas_call_barring_status_get_type @@ -620,6 +624,7 @@ qmi_nas_drx_get_type qmi_nas_boolean_get_type qmi_nas_plmn_language_id_get_type qmi_nas_lte_voice_domain_get_type +qmi_nas_reject_cause_get_type </SECTION> <SECTION> diff --git a/docs/reference/libqmi-glib/libqmi-glib-docs.xml b/docs/reference/libqmi-glib/libqmi-glib-docs.xml index 32e620f..951d968 100644 --- a/docs/reference/libqmi-glib/libqmi-glib-docs.xml +++ b/docs/reference/libqmi-glib/libqmi-glib-docs.xml @@ -147,6 +147,7 @@ <xi:include href="xml/qmi-indication-nas-system-info.xml"/> <xi:include href="xml/qmi-indication-nas-signal-info.xml"/> <xi:include href="xml/qmi-indication-nas-operator-name.xml"/> + <xi:include href="xml/qmi-indication-nas-network-reject.xml"/> </section> <section> <title>NAS Requests</title> diff --git a/src/libqmi-glib/qmi-enums-nas.h b/src/libqmi-glib/qmi-enums-nas.h index f386fe9..85f583f 100644 --- a/src/libqmi-glib/qmi-enums-nas.h +++ b/src/libqmi-glib/qmi-enums-nas.h @@ -1560,4 +1560,137 @@ typedef enum { /*< since=1.28 >*/ QMI_NAS_LTE_VOICE_DOMAIN_3GPP = 0x03 } QmiNasLteVoiceDomain; +/** + * QmiNasRejectCause: + * @QMI_NAS_REJECT_CAUSE_NONE: None. + * @QMI_NAS_REJECT_CAUSE_IMSI_UNKNOWN_IN_HLR: IMSI unknown in HLR/HSS. + * @QMI_NAS_REJECT_CAUSE_ILLEGAL_UE: Illegal MS/UE. + * @QMI_NAS_REJECT_CAUSE_IMSI_UNKNOWN_IN_VLR: IMSI unknown in VLR. + * @QMI_NAS_REJECT_CAUSE_IMEI_NOT_ACCEPTED: IMEI not accepted. + * @QMI_NAS_REJECT_CAUSE_ILLEGAL_ME: Illegal ME. + * @QMI_NAS_REJECT_CAUSE_PS_SERVICES_NOT_ALLOWED: GPRS/EPS services not allowed. + * @QMI_NAS_REJECT_CAUSE_PS_AND_NON_PS_SERVICES_NOT_ALLOWED: GPRS/EPS and non-GPRS/EPS services not allowed. + * @QMI_NAS_REJECT_CAUSE_UE_IDENTITY_NOT_DERIVED_BY_NETWORK: MS/UE identity not derived by network. + * @QMI_NAS_REJECT_CAUSE_IMPLICITLY_DETACHED: Implicitly detached. + * @QMI_NAS_REJECT_CAUSE_PLMN_NOT_ALLOWED: PLMN not allowed. + * @QMI_NAS_REJECT_CAUSE_LOCATION_AREA_NOT_ALLOWED: Location/tracking area not allowed. + * @QMI_NAS_REJECT_CAUSE_ROAMING_IN_LOCATION_AREA_NOT_ALLOWED: Roaming in location/tracking area not allowed. + * @QMI_NAS_REJECT_CAUSE_PS_SERVICES_IN_LOCATION_AREA_NOT_ALLOWED: GPRS/EPS services in location/tracking area not allowed. + * @QMI_NAS_REJECT_CAUSE_NO_SUITABLE_CELLS_IN_LOCATION_AREA: No suitable cells in location/tracking area. + * @QMI_NAS_REJECT_CAUSE_MSC_TEMPORARILY_NOT_REACHABLE: MSC temporarily not reachable. + * @QMI_NAS_REJECT_CAUSE_NETWORK_FAILURE: Network failure. + * @QMI_NAS_REJECT_CAUSE_CS_DOMAIN_NOT_AVAILABLE: CS domain not available. + * @QMI_NAS_REJECT_CAUSE_ESM_FAILURE: ESM failure. + * @QMI_NAS_REJECT_CAUSE_MAC_FAILURE: MAC failure. + * @QMI_NAS_REJECT_CAUSE_SYNCH_FAILURE: Synch failure. + * @QMI_NAS_REJECT_CAUSE_CONGESTION: Congestion. + * @QMI_NAS_REJECT_CAUSE_UE_SECURITY_CAPABILITIES_MISMATCH: GSM authentication unacceptable, UE security capabilities mismatch. + * @QMI_NAS_REJECT_CAUSE_SECURITY_MODE_REJECTED_UNSPECIFIED: Security mode rejected or unspecified. + * @QMI_NAS_REJECT_CAUSE_CSG_NOT_AUTHORIZED: CSG not authorized. + * @QMI_NAS_REJECT_CAUSE_NON_EPS_AUTHENTICATION_UNACCEPTABLE: Non-EPS authentication unacceptable. + * @QMI_NAS_REJECT_CAUSE_SMS_PROVIDED_BY_GPRS_IN_ROUTING_AREA: SMS provided by GPRS in routing area. + * @QMI_NAS_REJECT_CAUSE_REDIRECTION_TO_5GCN_REQUIRED: Redirection to 5GCN required. + * @QMI_NAS_REJECT_CAUSE_SERVICE_OPTION_NOT_SUPPORTED: Service option not supported. + * @QMI_NAS_REJECT_CAUSE_REQUESTED_SERVICE_OPTION_NOT_SUBSCRIBED: Requested service option not subscribed. + * @QMI_NAS_REJECT_CAUSE_SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER: Service option temporarily out of order. + * @QMI_NAS_REJECT_CAUSE_REQUESTED_SERVICE_OPTION_NOT_AUTHORIZED: Requested service option not authorized. + * @QMI_NAS_REJECT_CAUSE_CALL_CANNOT_BE_IDENTIFIED: Call cannot be identified. + * @QMI_NAS_REJECT_CAUSE_CS_SERVICE_TEMPORARILY_NOT_AVAILABLE: CS service temporarily not available. + * @QMI_NAS_REJECT_CAUSE_NO_EPS_BEARER_CONTEXT_ACTIVATED: No EPS bearer context activated. + * @QMI_NAS_REJECT_CAUSE_SEVERE_NETWORK_FAILURE: Severe network failure. + * @QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_0: Retry upon entry 0. + * @QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_1: Retry upon entry 1. + * @QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_2: Retry upon entry 2. + * @QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_3: Retry upon entry 3. + * @QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_4: Retry upon entry 4. + * @QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_5: Retry upon entry 5. + * @QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_6: Retry upon entry 6. + * @QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_7: Retry upon entry 7. + * @QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_8: Retry upon entry 8. + * @QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_9: Retry upon entry 9. + * @QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_10: Retry upon entry 10. + * @QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_11: Retry upon entry 11. + * @QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_12: Retry upon entry 12. + * @QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_13: Retry upon entry 13. + * @QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_14: Retry upon entry 14. + * @QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_15: Retry upon entry 15. + * @QMI_NAS_REJECT_CAUSE_SEMANTICALLY_INCORRECT_MESSAGE: Semantically incorrect message. + * @QMI_NAS_REJECT_CAUSE_INVALID_MANDATORY_INFORMATION: Invalid mandatory information. + * @QMI_NAS_REJECT_CAUSE_MESSAGE_TYPE_NON_EXISTENT: Message type non existent. + * @QMI_NAS_REJECT_CAUSE_MESSAGE_TYPE_NOT_COMPATIBLE: Message type not compatible. + * @QMI_NAS_REJECT_CAUSE_INFORMATION_ELEMENT_NON_EXISTENT: Information element non existent. + * @QMI_NAS_REJECT_CAUSE_CONDITIONAL_INFORMATION_ELEMENT_ERROR: Conditional information element error. + * @QMI_NAS_REJECT_CAUSE_MESSAGE_NOT_COMPATIBLE: Message not compatible. + * @QMI_NAS_REJECT_CAUSE_UNSPECIFIED_PROTOCOL_ERROR: Unspecified protocol error. + * + * Reason why a request from the mobile station is rejected by the network. + * + * Defined in 3GPP TS 24.008 in sections 10.5.3.6 and 10.5.5.14 (detailed in + * annex G) and in 3GPP TS 24.301 in section 9.9.3.9. + * + * Since: 1.30 + */ +typedef enum { /*< since=1.30 >*/ + QMI_NAS_REJECT_CAUSE_NONE = 0x00, + QMI_NAS_REJECT_CAUSE_IMSI_UNKNOWN_IN_HLR = 0x02, + QMI_NAS_REJECT_CAUSE_ILLEGAL_UE = 0x03, + QMI_NAS_REJECT_CAUSE_IMSI_UNKNOWN_IN_VLR = 0x04, + QMI_NAS_REJECT_CAUSE_IMEI_NOT_ACCEPTED = 0x05, + QMI_NAS_REJECT_CAUSE_ILLEGAL_ME = 0x06, + QMI_NAS_REJECT_CAUSE_PS_SERVICES_NOT_ALLOWED = 0x07, + QMI_NAS_REJECT_CAUSE_PS_AND_NON_PS_SERVICES_NOT_ALLOWED = 0x08, + QMI_NAS_REJECT_CAUSE_UE_IDENTITY_NOT_DERIVED_BY_NETWORK = 0x09, + QMI_NAS_REJECT_CAUSE_IMPLICITLY_DETACHED = 0x0A, + QMI_NAS_REJECT_CAUSE_PLMN_NOT_ALLOWED = 0x0B, + QMI_NAS_REJECT_CAUSE_LOCATION_AREA_NOT_ALLOWED = 0x0C, + QMI_NAS_REJECT_CAUSE_ROAMING_IN_LOCATION_AREA_NOT_ALLOWED = 0x0D, + QMI_NAS_REJECT_CAUSE_PS_SERVICES_IN_LOCATION_AREA_NOT_ALLOWED = 0x0E, + QMI_NAS_REJECT_CAUSE_NO_SUITABLE_CELLS_IN_LOCATION_AREA = 0x0F, + QMI_NAS_REJECT_CAUSE_MSC_TEMPORARILY_NOT_REACHABLE = 0x10, + QMI_NAS_REJECT_CAUSE_NETWORK_FAILURE = 0x11, + QMI_NAS_REJECT_CAUSE_CS_DOMAIN_NOT_AVAILABLE = 0x12, + QMI_NAS_REJECT_CAUSE_ESM_FAILURE = 0x13, + QMI_NAS_REJECT_CAUSE_MAC_FAILURE = 0x14, + QMI_NAS_REJECT_CAUSE_SYNCH_FAILURE = 0x15, + QMI_NAS_REJECT_CAUSE_CONGESTION = 0x16, + QMI_NAS_REJECT_CAUSE_UE_SECURITY_CAPABILITIES_MISMATCH = 0x17, + QMI_NAS_REJECT_CAUSE_SECURITY_MODE_REJECTED_UNSPECIFIED = 0x18, + QMI_NAS_REJECT_CAUSE_CSG_NOT_AUTHORIZED = 0x19, + QMI_NAS_REJECT_CAUSE_NON_EPS_AUTHENTICATION_UNACCEPTABLE = 0x1A, + QMI_NAS_REJECT_CAUSE_SMS_PROVIDED_BY_GPRS_IN_ROUTING_AREA = 0x1C, + QMI_NAS_REJECT_CAUSE_REDIRECTION_TO_5GCN_REQUIRED = 0x1F, + QMI_NAS_REJECT_CAUSE_SERVICE_OPTION_NOT_SUPPORTED = 0x20, + QMI_NAS_REJECT_CAUSE_REQUESTED_SERVICE_OPTION_NOT_SUBSCRIBED = 0x21, + QMI_NAS_REJECT_CAUSE_SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER = 0x22, + QMI_NAS_REJECT_CAUSE_REQUESTED_SERVICE_OPTION_NOT_AUTHORIZED = 0x23, + QMI_NAS_REJECT_CAUSE_CALL_CANNOT_BE_IDENTIFIED = 0x26, + QMI_NAS_REJECT_CAUSE_CS_SERVICE_TEMPORARILY_NOT_AVAILABLE = 0x27, + QMI_NAS_REJECT_CAUSE_NO_EPS_BEARER_CONTEXT_ACTIVATED = 0x28, + QMI_NAS_REJECT_CAUSE_SEVERE_NETWORK_FAILURE = 0x2A, + QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_0 = 0x30, + QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_1 = 0x31, + QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_2 = 0x32, + QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_3 = 0x33, + QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_4 = 0x34, + QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_5 = 0x35, + QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_6 = 0x36, + QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_7 = 0x37, + QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_8 = 0x38, + QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_9 = 0x39, + QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_10 = 0x3A, + QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_11 = 0x3B, + QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_12 = 0x3C, + QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_13 = 0x3D, + QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_14 = 0x3E, + QMI_NAS_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_NEW_CELL_15 = 0x3F, + QMI_NAS_REJECT_CAUSE_SEMANTICALLY_INCORRECT_MESSAGE = 0x5F, + QMI_NAS_REJECT_CAUSE_INVALID_MANDATORY_INFORMATION = 0x60, + QMI_NAS_REJECT_CAUSE_MESSAGE_TYPE_NON_EXISTENT = 0x61, + QMI_NAS_REJECT_CAUSE_MESSAGE_TYPE_NOT_COMPATIBLE = 0x62, + QMI_NAS_REJECT_CAUSE_INFORMATION_ELEMENT_NON_EXISTENT = 0x63, + QMI_NAS_REJECT_CAUSE_CONDITIONAL_INFORMATION_ELEMENT_ERROR = 0x64, + QMI_NAS_REJECT_CAUSE_MESSAGE_NOT_COMPATIBLE = 0x65, + QMI_NAS_REJECT_CAUSE_UNSPECIFIED_PROTOCOL_ERROR = 0x6F, +} QmiNasRejectCause; + #endif /* _LIBQMI_GLIB_QMI_ENUMS_NAS_H_ */ |