api: new 'attached RLOS' registration state

Reporting the state when the UE attaches to access restricted local
operator services.
This commit is contained in:
Aleksander Morgado
2020-04-09 12:38:50 +00:00
parent 1c7304eb71
commit 68917f502e
3 changed files with 5 additions and 2 deletions
+2
View File
@@ -1193,6 +1193,7 @@ typedef enum { /*< underscore_name=mm_modem_cdma_rm_protocol >*/
* @MM_MODEM_3GPP_REGISTRATION_STATE_EMERGENCY_ONLY: Emergency services only. Since 1.8.
* @MM_MODEM_3GPP_REGISTRATION_STATE_HOME_CSFB_NOT_PREFERRED: Registered for "CSFB not preferred", home network (applicable only when on LTE). Since 1.8.
* @MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING_CSFB_NOT_PREFERRED: Registered for "CSFB not preferred", roaming network (applicable only when on LTE). Since 1.8.
* @MM_MODEM_3GPP_REGISTRATION_STATE_ATTACHED_RLOS: Attached for access to Restricted Local Operator Services (applicable only when on LTE). Since 1.14.
*
* GSM registration code as defined in 3GPP TS 27.007.
*
@@ -1210,6 +1211,7 @@ typedef enum { /*< underscore_name=mm_modem_3gpp_registration_state >*/
MM_MODEM_3GPP_REGISTRATION_STATE_EMERGENCY_ONLY = 8,
MM_MODEM_3GPP_REGISTRATION_STATE_HOME_CSFB_NOT_PREFERRED = 9,
MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING_CSFB_NOT_PREFERRED = 10,
MM_MODEM_3GPP_REGISTRATION_STATE_ATTACHED_RLOS = 11,
} MMModem3gppRegistrationState;
/**
+1
View File
@@ -480,6 +480,7 @@ modem_3gpp_registration_state_changed (MMIfaceModem3gpp *modem,
case MM_MODEM_3GPP_REGISTRATION_STATE_HOME_SMS_ONLY:
case MM_MODEM_3GPP_REGISTRATION_STATE_HOME_CSFB_NOT_PREFERRED:
case MM_MODEM_3GPP_REGISTRATION_STATE_SEARCHING:
case MM_MODEM_3GPP_REGISTRATION_STATE_ATTACHED_RLOS:
self->priv->reason_3gpp = CONNECTION_FORBIDDEN_REASON_NONE;
break;
case MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING:
+2 -2
View File
@@ -2096,8 +2096,8 @@ mm_3gpp_parse_creg_response (GMatchInfo *info,
return FALSE;
}
/* 'roaming (csfb not preferred)' is the last valid state */
if (stat > MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING_CSFB_NOT_PREFERRED) {
/* 'attached RLOS' is the last valid state */
if (stat > MM_MODEM_3GPP_REGISTRATION_STATE_ATTACHED_RLOS) {
mm_obj_warn (log_object, "unknown registration state value '%lu'", stat);
stat = MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN;
}