## org.freedesktop.ModemManager1.Modem.Modem3gpp org.freedesktop.ModemManager1.Modem.Modem3gpp — The ModemManager 3GPP interface. |

## Methods

    Register                    (IN  s      operator_id);
    Scan                        (OUT aa{sv} results);
    SetEpsUeModeOperation       (IN  u      mode);
    SetInitialEpsBearerSettings (IN  a{sv}  settings);
    DisableFacilityLock         (IN  (us)   properties);

## Properties

    Imei                      readable   s
    RegistrationState         readable   u
    OperatorCode              readable   s
    OperatorName              readable   s
    EnabledFacilityLocks      readable   u
    SubscriptionState         readable   u
    EpsUeModeOperation        readable   u
    Pco                       readable   a(ubay)
    InitialEpsBearer          readable   o
    InitialEpsBearerSettings  readable   a{sv}

## Description

This interface provides access to specific actions that may be performed in modems with 3GPP capabilities.

This interface will only be available once the modem is ready to be registered in the cellular network. 3GPP devices will require a valid unlocked SIM card before any of the features in the interface can be used.

## Method Details

### The Register() method

    Register (IN  s operator_id);

Request registration with a given mobile network.

Since: 1.0

`IN s `operator_id``: | The operator ID (ie, `"MCCMNC"`, like `"310260"`) to register. An empty string can be used to register to the home network.

### The Scan() method

    Scan (OUT aa{sv} results);

Scan for available networks.

`results` is an array of dictionaries with each array element describing a mobile network found in the scan. Each dictionary may include one or more of the following keys:

`"status"` | A MMModem3gppNetworkAvailability value representing network availability status, given as an unsigned integer (signature `"u"`). This key will always be present.
`"operator-long"` | Long-format name of operator, given as a string value (signature `"s"`). If the name is unknown, this field should not be present.
`"operator-short"` | Short-format name of operator, given as a string value (signature `"s"`). If the name is unknown, this field should not be present.
`"operator-code"` | Mobile code of the operator, given as a string value (signature `"s"`). Returned in the format `"MCCMNC"`, where `MCC` is the three-digit ITU E.212 Mobile Country Code and `MNC` is the two- or three-digit GSM Mobile Network Code. e.g. `"31026"` or `"310260"`.
`"access-technology"` | A MMModemAccessTechnology value representing the generic access technology used by this mobile network, given as an unsigned integer (signature `"u"`).

Since: 1.0

`OUT aa{sv} `results``: | Array of dictionaries with the found networks.

### The SetEpsUeModeOperation() method

    SetEpsUeModeOperation (IN  u mode);

Sets the UE mode of operation for EPS.

Since: 1.10

`IN u `mode``: | a MMModem3gppEpsUeModeOperation.

### The SetInitialEpsBearerSettings() method

    SetInitialEpsBearerSettings (IN  a{sv} settings);

Updates the default settings to be used in the initial default EPS bearer when registering to the LTE network.

The allowed properties in this method are all the 3GPP-specific ones specified in the bearer properties; i.e.: `"apn"`, `"ip-type"`, `"allowed-auth"`, `"user"`, and `"password"`.

Since: 1.10

`IN a{sv} `settings``: | List of properties to use when requesting the LTE attach procedure.

### The DisableFacilityLock() method

    DisableFacilityLock (IN  (us) properties);

Sends control key to modem to disable selected facility lock

"facility" | A MMModem3gppFacility value representing the type of the facility lock to disable.
"control key" | Alphanumeric key required to unlock facility.

`IN (us) `properties``: | A tuple of facility type and control key.

## Property Details

### The "Imei" property

    Imei  readable   s

The IMEI of the device.

Since: 1.0

### The "RegistrationState" property

    RegistrationState  readable   u

A MMModem3gppRegistrationState value specifying the mobile registration status as defined in 3GPP TS 27.007 section 10.1.19.

Since: 1.0

### The "OperatorCode" property

    OperatorCode  readable   s

Code of the operator to which the mobile is currently registered.

Returned in the format `"MCCMNC"`, where `MCC` is the three-digit ITU E.212 Mobile Country Code and `MNC` is the two- or three-digit GSM Mobile Network Code. e.g. e`"31026"` or `"310260"`.

If the `MCC` and `MNC` are not known or the mobile is not registered to a mobile network, this property will be a zero-length (blank) string.

Since: 1.0

### The "OperatorName" property

    OperatorName  readable   s

Name of the operator to which the mobile is currently registered.

If the operator name is not known or the mobile is not registered to a mobile network, this property will be a zero-length (blank) string.

Since: 1.0

### The "EnabledFacilityLocks" property

    EnabledFacilityLocks  readable   u

Bitmask of MMModem3gppFacility values for which PIN locking is enabled.

Since: 1.0

### The "SubscriptionState" property

    SubscriptionState  readable   u

A MMModem3gppSubscriptionState value representing the subscription status of the account and whether there is any data remaining, given as an unsigned integer (signature `"u"`).

Since: 1.2

Deprecated: 1.10.0. The value of this property can only be obtained with operator specific logic (e.g. processing specific PCO info), and therefore it doesn't make sense to expose it in the ModemManager interface.

### The "EpsUeModeOperation" property

    EpsUeModeOperation  readable   u

A MMModem3gppEpsUeModeOperation value representing the UE mode of operation for EPS, given as an unsigned integer (signature `"u"`).

Since: 1.10

### The "Pco" property

    Pco  readable   a(ubay)

The raw PCOs received from the network, given as array of PCO elements (signature `"a(ubay)"`).

Each PCO is defined as a sequence of 3 fields:

1. The session ID associated with the PCO, given as an unsigned integer value (signature `"u"`).
2. The flag that indicates whether the PCO data contains the complete PCO structure received from the network, given as a boolean value (signature `"b"`).
3. The raw PCO data, given as an array of bytes (signature `"ay"`).

Since: 1.10

### The "InitialEpsBearer" property

    InitialEpsBearer  readable   o

The object path for the initial default EPS bearer.

Since: 1.10

### The "InitialEpsBearerSettings" property

    InitialEpsBearerSettings  readable   a{sv}

List of properties requested by the device for the initial EPS bearer during LTE network attach procedure.

The network may decide to use different settings during the actual device attach procedure, e.g. if the device is roaming or no explicit settings were requested, so the values shown in the "InitialEpsBearer" bearer object may be totally different.

This is a read-only property, updating these settings should be done using the SetInitialEpsBearerSettings() method.

Since: 1.10