aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2021-03-01 12:59:36 +0100
committerAleksander Morgado <aleksander@aleksander.es>2021-03-02 11:15:34 +0100
commit3feeb4e516acdab89ff71d29a01eef4f5338b581 (patch)
tree153a752503e3f86e8bfc31e1857f75903f23966f
parent1878b725fa311ec337fb04277f66a44f511a0020 (diff)
nas: support 'Network Reject' indications
-rw-r--r--data/qmi-service-nas.json43
-rw-r--r--docs/reference/libqmi-glib/libqmi-glib-common.sections5
-rw-r--r--docs/reference/libqmi-glib/libqmi-glib-docs.xml1
-rw-r--r--src/libqmi-glib/qmi-enums-nas.h133
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_ */