## org.freedesktop.ModemManager1.Modem.Oma org.freedesktop.ModemManager1.Modem.Oma — The ModemManager Open Mobile Alliance interface. |

## Methods

    Setup                         (IN  u features);
    StartClientInitiatedSession   (IN  u session_type);
    AcceptNetworkInitiatedSession (IN  u session_id,
                                   IN  b accept);
    CancelSession                 ();

## Signals

    SessionStateChanged (i old_session_state,
                         i new_session_state,
                         u session_state_failed_reason);

## Properties

    Features                         readable   u
    PendingNetworkInitiatedSessions  readable   a(uu)
    SessionType                      readable   u
    SessionState                     readable   i

## Description

This interface allows clients to handle device management operations as specified by the Open Mobile Alliance (OMA).

Device management sessions are either on-demand (client-initiated), or automatically initiated by either the device itself or the network.

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 Setup() method

    Setup (IN  u features);

Configures which OMA device management features should be enabled.

Since: 1.2

`IN u `features``: | Bitmask of MMModemOmaFeature flags, specifying which device management features should get enabled or disabled. MM_OMA_FEATURE_NONE will disable all features.

### The StartClientInitiatedSession() method

    StartClientInitiatedSession (IN  u session_type);

Starts a client-initiated device management session.

Since: 1.2

`IN u `session_type``: | Type of client-initiated device management session,given as a MMModemOmaSessionType

### The AcceptNetworkInitiatedSession() method

    AcceptNetworkInitiatedSession (IN  u session_id,
                                   IN  b accept);

Accepts or rejects a network-initiated device management session.

Since: 1.2

`IN u `session_id``: | Unique ID of the network-initiated device management session.
`IN b `accept``: | Boolean specifying whether the session is accepted or rejected.

### The CancelSession() method

    CancelSession ();

Cancels the current on-going device management session.

Since: 1.2

## Signal Details

### The "SessionStateChanged" signal

    SessionStateChanged (i old_session_state,
                         i new_session_state,
                         u session_state_failed_reason);

The session state changed.

Since: 1.2

`i `old_session_state``: | Previous session state, given as a MMOmaSessionState.
`i `new_session_state``: | Current session state, given as a MMOmaSessionState.
`u `session_state_failed_reason``: | Reason of failure, given as a MMOmaSessionStateFailedReason, if `session_state` is MM_OMA_SESSION_STATE_FAILED.

## Property Details

### The "Features" property

    Features  readable   u

Bitmask of MMModemOmaFeature flags, specifying which device management features are enabled or disabled.

Since: 1.2

### The "PendingNetworkInitiatedSessions" property

    PendingNetworkInitiatedSessions  readable   a(uu)

List of network-initiated sessions which are waiting to be accepted or rejected, given as an array of unsigned integer pairs, where:

| The first integer is a MMOmaSessionType.
| The second integer is the unique session ID.

Since: 1.2

### The "SessionType" property

    SessionType  readable   u

Type of the current on-going device management session, given as a MMOmaSessionType.

Since: 1.2

### The "SessionState" property

    SessionState  readable   i

State of the current on-going device management session, given as a MMOmaSessionState.

Since: 1.2