diff --git a/cli/mmcli-modem.c b/cli/mmcli-modem.c
index 1375c7b4..2c17f5b4 100644
--- a/cli/mmcli-modem.c
+++ b/cli/mmcli-modem.c
@@ -412,6 +412,11 @@ print_modem_info (void)
const gchar *initial_eps_bearer_password = NULL;
const gchar *nr5g_registration_settings_mico_mode_str = NULL;
const gchar *nr5g_registration_settings_drx_cycle_str = NULL;
+ MMNetworkRejection *network_rejection = NULL;
+ const gchar *nw_rejection_operator_id = NULL;
+ const gchar *nw_rejection_operator_name = NULL;
+ g_autofree gchar *nw_rejection_access_technology = NULL;
+ g_autofree gchar *nw_rejection_error_str = NULL;
if (ctx->modem_3gpp) {
imei = mm_modem_3gpp_get_imei (ctx->modem_3gpp);
@@ -445,22 +450,43 @@ print_modem_info (void)
nr5g_registration_settings_drx_cycle_str = mm_modem_3gpp_drx_cycle_get_string (mm_nr5g_registration_settings_get_drx_cycle (nr5g_registration_settings));
}
}
+
+ network_rejection = mm_modem_3gpp_peek_network_rejection (ctx->modem_3gpp);
+ if (network_rejection) {
+ MMNetworkError nw_rejection_error_n;
+ MMModemAccessTechnology nw_rejection_access_technology_n;
+ const gchar *nw_rejection_error = NULL;
+
+ nw_rejection_error_n = mm_network_rejection_get_error (network_rejection);
+ nw_rejection_error = mm_network_error_get_string (nw_rejection_error_n);
+ nw_rejection_error_str = nw_rejection_error ? g_strdup_printf ("%s", nw_rejection_error) :
+ g_strdup_printf ("unknown network rejection error: %u", nw_rejection_error_n);
+ nw_rejection_operator_id = mm_network_rejection_get_operator_id (network_rejection);
+ nw_rejection_operator_name = mm_network_rejection_get_operator_name (network_rejection);
+ nw_rejection_access_technology_n = mm_network_rejection_get_access_technology (network_rejection);
+ nw_rejection_access_technology = mm_modem_access_technology_build_string_from_mask (nw_rejection_access_technology_n);
+
+ }
}
- mmcli_output_string (MMC_F_3GPP_IMEI, imei);
- mmcli_output_string_list (MMC_F_3GPP_ENABLED_LOCKS, facility_locks);
- mmcli_output_string (MMC_F_3GPP_OPERATOR_ID, operator_code);
- mmcli_output_string (MMC_F_3GPP_OPERATOR_NAME, operator_name);
- mmcli_output_string (MMC_F_3GPP_REGISTRATION, registration);
- mmcli_output_string (MMC_F_3GPP_PACKET_SERVICE_STATE, packet_service_state);
- mmcli_output_string (MMC_F_3GPP_EPS_UE_MODE, eps_ue_mode);
- mmcli_output_string (MMC_F_3GPP_EPS_INITIAL_BEARER_PATH, g_strcmp0 (initial_eps_bearer_path, "/") != 0 ? initial_eps_bearer_path : NULL);
- mmcli_output_string (MMC_F_3GPP_EPS_BEARER_SETTINGS_APN, initial_eps_bearer_apn);
- mmcli_output_string_take (MMC_F_3GPP_EPS_BEARER_SETTINGS_IP_TYPE, initial_eps_bearer_ip_family_str);
- mmcli_output_string (MMC_F_3GPP_EPS_BEARER_SETTINGS_USER, initial_eps_bearer_user);
- mmcli_output_string (MMC_F_3GPP_EPS_BEARER_SETTINGS_PASSWORD, initial_eps_bearer_password);
- mmcli_output_string (MMC_F_3GPP_5GNR_REGISTRATION_MICO_MODE, nr5g_registration_settings_mico_mode_str);
- mmcli_output_string (MMC_F_3GPP_5GNR_REGISTRATION_DRX_CYCLE, nr5g_registration_settings_drx_cycle_str);
+ mmcli_output_string (MMC_F_3GPP_IMEI, imei);
+ mmcli_output_string_list (MMC_F_3GPP_ENABLED_LOCKS, facility_locks);
+ mmcli_output_string (MMC_F_3GPP_OPERATOR_ID, operator_code);
+ mmcli_output_string (MMC_F_3GPP_OPERATOR_NAME, operator_name);
+ mmcli_output_string (MMC_F_3GPP_REGISTRATION, registration);
+ mmcli_output_string_take (MMC_F_3GPP_NETWORK_REJECTION_ERROR, g_steal_pointer (&nw_rejection_error_str));
+ mmcli_output_string (MMC_F_3GPP_NETWORK_REJECTION_OPERATOR_ID, nw_rejection_operator_id);
+ mmcli_output_string (MMC_F_3GPP_NETWORK_REJECTION_OPERATOR_NAME, nw_rejection_operator_name);
+ mmcli_output_string_take (MMC_F_3GPP_NETWORK_REJECTION_ACCESS_TECHNOLOGY, g_steal_pointer (&nw_rejection_access_technology));
+ mmcli_output_string (MMC_F_3GPP_PACKET_SERVICE_STATE, packet_service_state);
+ mmcli_output_string (MMC_F_3GPP_EPS_UE_MODE, eps_ue_mode);
+ mmcli_output_string (MMC_F_3GPP_EPS_INITIAL_BEARER_PATH, g_strcmp0 (initial_eps_bearer_path, "/") != 0 ? initial_eps_bearer_path : NULL);
+ mmcli_output_string (MMC_F_3GPP_EPS_BEARER_SETTINGS_APN, initial_eps_bearer_apn);
+ mmcli_output_string_take (MMC_F_3GPP_EPS_BEARER_SETTINGS_IP_TYPE, initial_eps_bearer_ip_family_str);
+ mmcli_output_string (MMC_F_3GPP_EPS_BEARER_SETTINGS_USER, initial_eps_bearer_user);
+ mmcli_output_string (MMC_F_3GPP_EPS_BEARER_SETTINGS_PASSWORD, initial_eps_bearer_password);
+ mmcli_output_string (MMC_F_3GPP_5GNR_REGISTRATION_MICO_MODE, nr5g_registration_settings_mico_mode_str);
+ mmcli_output_string (MMC_F_3GPP_5GNR_REGISTRATION_DRX_CYCLE, nr5g_registration_settings_drx_cycle_str);
mmcli_output_pco_list (pco_list);
g_free (facility_locks);
diff --git a/cli/mmcli-output.c b/cli/mmcli-output.c
index 151778ef..c1c064da 100644
--- a/cli/mmcli-output.c
+++ b/cli/mmcli-output.c
@@ -136,6 +136,10 @@ static FieldInfo field_infos[] = {
[MMC_F_3GPP_OPERATOR_ID] = { "modem.3gpp.operator-code", "operator id", MMC_S_MODEM_3GPP, },
[MMC_F_3GPP_OPERATOR_NAME] = { "modem.3gpp.operator-name", "operator name", MMC_S_MODEM_3GPP, },
[MMC_F_3GPP_REGISTRATION] = { "modem.3gpp.registration-state", "registration", MMC_S_MODEM_3GPP, },
+ [MMC_F_3GPP_NETWORK_REJECTION_ERROR] = { "modem.3gpp.network-rejection-error", "network rejection error", MMC_S_MODEM_3GPP, },
+ [MMC_F_3GPP_NETWORK_REJECTION_OPERATOR_ID] = { "modem.3gpp.network-rejection-operator-id", "network rejection operator id", MMC_S_MODEM_3GPP, },
+ [MMC_F_3GPP_NETWORK_REJECTION_OPERATOR_NAME] = { "modem.3gpp.network-rejection-operator-name", "network rejection operator name", MMC_S_MODEM_3GPP, },
+ [MMC_F_3GPP_NETWORK_REJECTION_ACCESS_TECHNOLOGY] = { "modem.3gpp.network-rejection-access-technology", "network rejection access technology", MMC_S_MODEM_3GPP, },
[MMC_F_3GPP_PACKET_SERVICE_STATE] = { "modem.3gpp.packet-service-state", "packet service state", MMC_S_MODEM_3GPP, },
[MMC_F_3GPP_PCO] = { "modem.3gpp.pco", "pco", MMC_S_MODEM_3GPP, },
[MMC_F_3GPP_EPS_UE_MODE] = { "modem.3gpp.eps.ue-mode-operation", "ue mode of operation", MMC_S_MODEM_3GPP_EPS, },
diff --git a/cli/mmcli-output.h b/cli/mmcli-output.h
index 5e2a3071..f942f16b 100644
--- a/cli/mmcli-output.h
+++ b/cli/mmcli-output.h
@@ -138,6 +138,10 @@ typedef enum {
MMC_F_3GPP_OPERATOR_NAME,
MMC_F_3GPP_REGISTRATION,
MMC_F_3GPP_PACKET_SERVICE_STATE,
+ MMC_F_3GPP_NETWORK_REJECTION_ERROR,
+ MMC_F_3GPP_NETWORK_REJECTION_OPERATOR_ID,
+ MMC_F_3GPP_NETWORK_REJECTION_OPERATOR_NAME,
+ MMC_F_3GPP_NETWORK_REJECTION_ACCESS_TECHNOLOGY,
MMC_F_3GPP_PCO,
/* 3GPP EPS section */
MMC_F_3GPP_EPS_UE_MODE,
diff --git a/include/ModemManager-enums.h b/include/ModemManager-enums.h
index 178c15f2..1217e581 100644
--- a/include/ModemManager-enums.h
+++ b/include/ModemManager-enums.h
@@ -1954,4 +1954,159 @@ typedef enum { /*< underscore_name=mm_serving_cell_type >*/
MM_SERVING_CELL_TYPE_INVALID = 0xFFFFFFFF
} MMServingCellType;
+/**
+ * MMNetworkError:
+ * @MM_NETWORK_ERROR_NONE: No error.
+ * @MM_NETWORK_ERROR_IMSI_UNKNOWN_IN_HLR: IMSI unknown in the HLR.
+ * @MM_NETWORK_ERROR_ILLEGAL_MS: Illegal MS.
+ * @MM_NETWORK_ERROR_IMSI_UNKNOWN_IN_VLR: IMSI unknown in the VLR.
+ * @MM_NETWORK_ERROR_IMEI_NOT_ACCEPTED: IMEI not accepted.
+ * @MM_NETWORK_ERROR_ILLEGAL_ME: Illegal ME.
+ * @MM_NETWORK_ERROR_GPRS_NOT_ALLOWED: GPRS not allowed.
+ * @MM_NETWORK_ERROR_GPRS_AND_NON_GPRS_NOT_ALLOWED: GPRS and non-GPRS not allowed.
+ * @MM_NETWORK_ERROR_MS_IDENTITY_NOT_DERIVED_BY_NETWORK: MS identity cannot be derived by the network.
+ * @MM_NETWORK_ERROR_IMPLICITLY_DETACHED: Implicitly detached.
+ * @MM_NETWORK_ERROR_PLMN_NOT_ALLOWED: PLMN not allowed.
+ * @MM_NETWORK_ERROR_LOCATION_AREA_NOT_ALLOWED: Location area not allowed.
+ * @MM_NETWORK_ERROR_ROAMING_NOT_ALLOWED_IN_LOCATION_AREA: Roaming not allowed in the location area.
+ * @MM_NETWORK_ERROR_GPRS_NOT_ALLOWED_IN_PLMN: GPRS not allowed in PLMN.
+ * @MM_NETWORK_ERROR_NO_CELLS_IN_LOCATION_AREA: No cells in location area.
+ * @MM_NETWORK_ERROR_MSC_TEMPORARILY_NOT_REACHABLE: MSC temporarily not reachable.
+ * @MM_NETWORK_ERROR_NETWORK_FAILURE: Network failure.
+ * @MM_NETWORK_ERROR_MAC_FAILURE: MAC failure.
+ * @MM_NETWORK_ERROR_SYNCH_FAILURE: Synch failure.
+ * @MM_NETWORK_ERROR_CONGESTION: Congestion.
+ * @MM_NETWORK_ERROR_GSM_AUTHENTICATION_UNACCEPTABLE: GSM authentication unacceptable.
+ * @MM_NETWORK_ERROR_NOT_AUTHORIZED_FOR_CSG: Not authorized for this CSG.
+ * @MM_NETWORK_ERROR_INSUFFICIENT_RESOURCES: Insufficient resources.
+ * @MM_NETWORK_ERROR_MISSING_OR_UNKNOWN_APN: Missing or unknown access point name.
+ * @MM_NETWORK_ERROR_UNKNOWN_PDP_ADDRESS_OR_TYPE: Unknown PDP address or PDP type.
+ * @MM_NETWORK_ERROR_USER_AUTHENTICATION_FAILED: User authentication failed.
+ * @MM_NETWORK_ERROR_ACTIVATION_REJECTED_BY_GGSN_OR_GW: Activation rejected by GGSN, Serving GW or PDN GW.
+ * @MM_NETWORK_ERROR_ACTIVATION_REJECTED_UNSPECIFIED: Activation rejected, unspecified.
+ * @MM_NETWORK_ERROR_SERVICE_OPTION_NOT_SUPPORTED: Service option not supported.
+ * @MM_NETWORK_ERROR_REQUESTED_SERVICE_OPTION_NOT_SUBSCRIBED: Requested service option not subscribed.
+ * @MM_NETWORK_ERROR_SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER: Service option temporarily out of order.
+ * @MM_NETWORK_ERROR_NO_PDP_CONTEXT_ACTIVATED: No PDP context activated.
+ * @MM_NETWORK_ERROR_SEMANTIC_ERROR_IN_THE_TFT_OPERATION: Semantic error in the TFT operation.
+ * @MM_NETWORK_ERROR_SYNTACTICAL_ERROR_IN_THE_TFT_OPERATION: Syntactical error in the TFT operation.
+ * @MM_NETWORK_ERROR_UNKNOWN_PDP_CONTEXT: Unknown PDP context.
+ * @MM_NETWORK_ERROR_SEMANTIC_ERRORS_IN_PACKET_FILTER: Semantic errors in packet filter.
+ * @MM_NETWORK_ERROR_SYNTACTICAL_ERRORS_IN_PACKET_FILTER: Syntactical errors in packet filter.
+ * @MM_NETWORK_ERROR_PDP_CONTEXT_WITHOUT_TFT_ALREADY_ACTIVATED: PDP context without TFT already activated.
+ * @MM_NETWORK_ERROR_REQUEST_REJECTED_OR_BEARER_CONTROL_MODE_VIOLATION: Request rejected, Bearer Control Mode violation.
+ * @MM_NETWORK_ERROR_LAST_PDN_DISCONNECTION_NOT_ALLOWED: Last PDN disconnection not allowed.
+ * @MM_NETWORK_ERROR_PDP_TYPE_IPV4_ONLY_ALLOWED: PDP type IPv4 only allowed.
+ * @MM_NETWORK_ERROR_PDP_TYPE_IPV6_ONLY_ALLOWED: PDP type IPv6 only allowed.
+ * @MM_NETWORK_ERROR_NO_NETWORK_SLICES_AVAILABLE: No network slices available.
+ * @MM_NETWORK_ERROR_MAXIMUM_NUMBER_OF_PDP_CONTEXTS_REACHED: Maximum number of PDP contexts reached.
+ * @MM_NETWORK_ERROR_REQUESTED_APN_NOT_SUPPORTED_IN_CURRENT_RAT_AND_PLMN: Requested APN not supported in current RAT and PLMN combination.
+ * @MM_NETWORK_ERROR_INSUFFICIENT_RESOURCES_FOR_SPECIFIC_SLICE_AND_DNN: Insufficient resources for specific slice and DNN.
+ * @MM_NETWORK_ERROR_INSUFFICIENT_RESOURCES_FOR_SPECIFIC_SLICE: Insufficient resources for specific slice.
+ * @MM_NETWORK_ERROR_NGKSI_ALREADY_IN_USE: NgKSI already in use.
+ * @MM_NETWORK_ERROR_NON_3GPP_ACCESS_TO_5GCN_NOT_ALLOWED: Non-3GPP access to 5GCN not allowed.
+ * @MM_NETWORK_ERROR_SERVING_NETWORK_NOT_AUTHORIZED: Serving network not authorized.
+ * @MM_NETWORK_ERROR_TEMPORARILY_NOT_AUTHORIZED_FOR_THIS_SNPN: Temporarily not authorized for this SNPN.
+ * @MM_NETWORK_ERROR_PERMANENTLY_NOT_AUTHORIZED_FOR_THIS_SNPN: Permanently not authorized for this SNPN.
+ * @MM_NETWORK_ERROR_NOT_AUTHORIZED_FOR_THIS_CAG_OR_AUTHORIZED_FOR_CAG_CELLS_ONLY: Not authorized for this CAG or authorized for CAG cells.
+ * @MM_NETWORK_ERROR_WIRELINE_ACCESS_AREA_NOT_ALLOWED: Wireline access area not allowed.
+ * @MM_NETWORK_ERROR_PAYLOAD_WAS_NOT_FORWARDED: Payload was not forwarded.
+ * @MM_NETWORK_ERROR_DNN_NOT_SUPPORTED_OR_NOT_SUBSCRIBED_IN_THE_SLICE: DNN not supported or not subscribed in the slice.
+ * @MM_NETWORK_ERROR_INSUFFICIENT_USER_PLANE_RESOURCES_FOR_THE_PDU_SESSION: Insufficient user-plane resources for the PDU session.
+ * @MM_NETWORK_ERROR_SEMANTICALLY_INCORRECT_MESSAGE: Semantically incorrect message.
+ * @MM_NETWORK_ERROR_INVALID_MANDATORY_INFORMATION: Invalid mandatory information.
+ * @MM_NETWORK_ERROR_MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED: Message type non-existent or not implemented.
+ * @MM_NETWORK_ERROR_MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE: Message type not compatible with protocol state.
+ * @MM_NETWORK_ERROR_INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED: Information element non-existent or not implemented.
+ * @MM_NETWORK_ERROR_CONDITIONAL_IE_ERROR: Conditional IE error.
+ * @MM_NETWORK_ERROR_MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE: Message not compatible with protocol state.
+ * @MM_NETWORK_ERROR_PROTOCOL_ERROR_UNSPECIFIED: Protocol error, unspecified.
+ * @MM_NETWORK_ERROR_APN_RESTRICTION_VALUE_INCOMPATIBLE_WITH_ACTIVE_PDP_CONTEXT: APN restriction value incompatible with active PDP context.
+ * @MM_NETWORK_ERROR_MULTIPLE_ACCESSES_TO_A_PDN_CONNECTION_NOT_ALLOWED: Multiple accesses to a PDN connection not allowed.
+ *
+ * Network errors reported by the network when registration is rejected.
+ * Even though some error names make reference to legacy technologies (e.g. GPRS), errors are not
+ * technology specific and the same type of errors are reported even for newer
+ * technologies like LTE and 5G.
+ * Network errors are 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.24
+ */
+typedef enum { /*< underscore_name=mm_network_error >*/
+ MM_NETWORK_ERROR_NONE = 0,
+ MM_NETWORK_ERROR_IMSI_UNKNOWN_IN_HLR = 2,
+ MM_NETWORK_ERROR_ILLEGAL_MS = 3,
+ MM_NETWORK_ERROR_IMSI_UNKNOWN_IN_VLR = 4,
+ MM_NETWORK_ERROR_IMEI_NOT_ACCEPTED = 5,
+ MM_NETWORK_ERROR_ILLEGAL_ME = 6,
+ MM_NETWORK_ERROR_GPRS_NOT_ALLOWED = 7,
+ MM_NETWORK_ERROR_GPRS_AND_NON_GPRS_NOT_ALLOWED = 8,
+ MM_NETWORK_ERROR_MS_IDENTITY_NOT_DERIVED_BY_NETWORK = 9,
+ MM_NETWORK_ERROR_IMPLICITLY_DETACHED = 10,
+ MM_NETWORK_ERROR_PLMN_NOT_ALLOWED = 11,
+ MM_NETWORK_ERROR_LOCATION_AREA_NOT_ALLOWED = 12,
+ MM_NETWORK_ERROR_ROAMING_NOT_ALLOWED_IN_LOCATION_AREA = 13,
+ MM_NETWORK_ERROR_GPRS_NOT_ALLOWED_IN_PLMN = 14,
+ MM_NETWORK_ERROR_NO_CELLS_IN_LOCATION_AREA = 15,
+ MM_NETWORK_ERROR_MSC_TEMPORARILY_NOT_REACHABLE = 16,
+ MM_NETWORK_ERROR_NETWORK_FAILURE = 17,
+ MM_NETWORK_ERROR_CS_DOMAIN_NOT_AVAILABLE = 18,
+ MM_NETWORK_ERROR_ESM_FAILURE = 19,
+ MM_NETWORK_ERROR_MAC_FAILURE = 20,
+ MM_NETWORK_ERROR_SYNCH_FAILURE = 21,
+ MM_NETWORK_ERROR_CONGESTION = 22,
+ MM_NETWORK_ERROR_GSM_AUTHENTICATION_UNACCEPTABLE = 23,
+ MM_NETWORK_ERROR_NOT_AUTHORIZED_FOR_CSG = 25,
+ MM_NETWORK_ERROR_INSUFFICIENT_RESOURCES = 26,
+ MM_NETWORK_ERROR_MISSING_OR_UNKNOWN_APN = 27,
+ MM_NETWORK_ERROR_UNKNOWN_PDP_ADDRESS_OR_TYPE = 28,
+ MM_NETWORK_ERROR_USER_AUTHENTICATION_FAILED = 29,
+ MM_NETWORK_ERROR_ACTIVATION_REJECTED_BY_GGSN_OR_GW = 30,
+ MM_NETWORK_ERROR_REDIRECTION_TO_5GCN_REQUIRED = 31,
+ MM_NETWORK_ERROR_SERVICE_OPTION_NOT_SUPPORTED = 32,
+ MM_NETWORK_ERROR_REQUESTED_SERVICE_OPTION_NOT_SUBSCRIBED = 33,
+ MM_NETWORK_ERROR_SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER = 34,
+ MM_NETWORK_ERROR_REQUESTED_SERVICE_OPTION_NOT_AUTHORIZED = 35,
+ MM_NETWORK_ERROR_CALL_CANNOT_BE_IDENTIFIED = 38,
+ MM_NETWORK_ERROR_CS_SERVICE_TEMPORARILY_NOT_AVAILABLE = 39,
+ MM_NETWORK_ERROR_NO_PDP_CONTEXT_ACTIVATED = 40,
+ MM_NETWORK_ERROR_SEMANTIC_ERROR_IN_THE_TFT_OPERATION = 41,
+ MM_NETWORK_ERROR_SYNTACTICAL_ERROR_IN_THE_TFT_OPERATION = 42,
+ MM_NETWORK_ERROR_UNKNOWN_PDP_CONTEXT = 43,
+ MM_NETWORK_ERROR_SEMANTIC_ERRORS_IN_PACKET_FILTER = 44,
+ MM_NETWORK_ERROR_SYNTACTICAL_ERRORS_IN_PACKET_FILTER = 45,
+ MM_NETWORK_ERROR_PDP_CONTEXT_WITHOUT_TFT_ALREADY_ACTIVATED = 46,
+ MM_NETWORK_ERROR_REQUEST_REJECTED_OR_BEARER_CONTROL_MODE_VIOLATION = 48,
+ MM_NETWORK_ERROR_LAST_PDN_DISCONNECTION_NOT_ALLOWED = 49,
+ MM_NETWORK_ERROR_PDP_TYPE_IPV4_ONLY_ALLOWED = 50,
+ MM_NETWORK_ERROR_PDP_TYPE_IPV6_ONLY_ALLOWED = 51,
+ MM_NETWORK_ERROR_NO_NETWORK_SLICES_AVAILABLE = 62,
+ MM_NETWORK_ERROR_MAXIMUM_NUMBER_OF_PDP_CONTEXTS_REACHED = 65,
+ MM_NETWORK_ERROR_REQUESTED_APN_NOT_SUPPORTED_IN_CURRENT_RAT_AND_PLMN = 66,
+ MM_NETWORK_ERROR_INSUFFICIENT_RESOURCES_FOR_SPECIFIC_SLICE_AND_DNN = 67,
+ MM_NETWORK_ERROR_INSUFFICIENT_RESOURCES_FOR_SPECIFIC_SLICE = 69,
+ MM_NETWORK_ERROR_NGKSI_ALREADY_IN_USE = 71,
+ MM_NETWORK_ERROR_NON_3GPP_ACCESS_TO_5GCN_NOT_ALLOWED = 72,
+ MM_NETWORK_ERROR_SERVING_NETWORK_NOT_AUTHORIZED = 73,
+ MM_NETWORK_ERROR_TEMPORARILY_NOT_AUTHORIZED_FOR_THIS_SNPN = 74,
+ MM_NETWORK_ERROR_PERMANENTLY_NOT_AUTHORIZED_FOR_THIS_SNPN = 75,
+ MM_NETWORK_ERROR_NOT_AUTHORIZED_FOR_THIS_CAG_OR_AUTHORIZED_FOR_CAG_CELLS_ONLY = 76,
+ MM_NETWORK_ERROR_WIRELINE_ACCESS_AREA_NOT_ALLOWED = 77,
+ MM_NETWORK_ERROR_PAYLOAD_WAS_NOT_FORWARDED = 90,
+ MM_NETWORK_ERROR_DNN_NOT_SUPPORTED_OR_NOT_SUBSCRIBED_IN_THE_SLICE = 91,
+ MM_NETWORK_ERROR_INSUFFICIENT_USER_PLANE_RESOURCES_FOR_THE_PDU_SESSION = 92,
+ MM_NETWORK_ERROR_SEMANTICALLY_INCORRECT_MESSAGE = 95,
+ MM_NETWORK_ERROR_INVALID_MANDATORY_INFORMATION = 96,
+ MM_NETWORK_ERROR_MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED = 97,
+ MM_NETWORK_ERROR_MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98,
+ MM_NETWORK_ERROR_INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED = 99,
+ MM_NETWORK_ERROR_CONDITIONAL_IE_ERROR = 100,
+ MM_NETWORK_ERROR_MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101,
+ MM_NETWORK_ERROR_PROTOCOL_ERROR_UNSPECIFIED = 111,
+ MM_NETWORK_ERROR_APN_RESTRICTION_VALUE_INCOMPATIBLE_WITH_ACTIVE_PDP_CONTEXT = 112,
+ MM_NETWORK_ERROR_MULTIPLE_ACCESSES_TO_A_PDN_CONNECTION_NOT_ALLOWED = 113,
+ MM_NETWORK_ERROR_UNKNOWN = 114,
+} MMNetworkError;
+
#endif /* _MODEMMANAGER_ENUMS_H_ */
diff --git a/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml b/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml
index f7719676..04cabb8b 100644
--- a/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml
+++ b/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml
@@ -160,6 +160,53 @@
-->
+
+
+