## org.freedesktop.ModemManager1.Call

org.freedesktop.ModemManager1.Call — The ModemManager Call interface.

## Methods

    Start           ();
    Accept          ();
    Deflect         (IN  s number);
    JoinMultiparty  ();
    LeaveMultiparty ();
    Hangup          ();
    SendDtmf        (IN  s dtmf);

## Signals

    DtmfReceived (s dtmf);
    StateChanged (i old,
                  i new,
                  u reason);

## Properties

    State             readable   i
    StateReason       readable   i
    Direction         readable   i
    Number            readable   s
    Multiparty        readable   b
    AudioPort         readable   s
    AudioFormat       readable   a{sv}
    DtmfToneDuration  readable   u

## Description

The Call interface Defines operations and properties of a single Call.

## Method Details

### The `Start()` method

    Start ();

If the outgoing call has not yet been started, start it.

Applicable only if state is `MM_CALL_STATE_UNKNOWN` and direction is `MM_CALL_DIRECTION_OUTGOING`.

Since: 1.6

### The `Accept()` method

    Accept ();

Accept incoming call (answer).

Applicable only if state is `MM_CALL_STATE_RINGING_IN` and direction is `MM_CALL_DIRECTION_INCOMING`.

Since: 1.6

### The `Deflect()` method

    Deflect (IN  s number);

Deflect an incoming or waiting call to a new number. This call will be considered terminated once the deflection is performed.

Applicable only if state is `MM_CALL_STATE_RINGING_IN` or `MM_CALL_STATE_WAITING` and direction is `MM_CALL_DIRECTION_INCOMING`.

Since: 1.12

`IN s `number``: | new number where the call will be deflected.

### The `JoinMultiparty()` method

    JoinMultiparty ();

Join the currently held call into a single multiparty call with another already active call.

The calls will be flagged with the 'Multiparty' property while they are part of the multiparty call.

Applicable only if state is `MM_CALL_STATE_HELD`.

Since: 1.12

### The `LeaveMultiparty()` method

    LeaveMultiparty ();

If this call is part of an ongoing multiparty call, detach it from the multiparty call, put the multiparty call on hold, and activate this one alone. This operation makes this call private again between both ends of the call.

Applicable only if state is `MM_CALL_STATE_ACTIVE` or `MM_CALL_STATE_HELD` and the call is a multiparty call.

Since: 1.12

### The `Hangup()` method

    Hangup ();

Hangup the active call.

Applicable only if state is `MM_CALL_STATE_UNKNOWN`.

Since: 1.6

### The `SendDtmf()` method

    SendDtmf (IN  s dtmf);

Send one or more DTMF tones (Dual Tone Multi-Frequency) (only on supported modems). Before 1.26 only the first character in `dtmf` was sent to the modem; all others were discarded.

Since 1.26 up to 50 tone identifiers are accepted and each will be sent to the modem in the order given. The comma [,] character pauses DTMF tones for two-seconds then continues with the remaining characters.

Applicable only if state is `MM_CALL_STATE_ACTIVE`.

Since: 1.6

`IN s `dtmf``: | A string of DTMF tone identifiers [0-9A-D*#] and/or pause characters [,].

## Signal Details

### The "DtmfReceived" signal

    DtmfReceived (s dtmf);

Emitted when a DTMF tone is received (only on supported modems)

Since: 1.6

`s `dtmf``: | DTMF tone identifier [0-9A-D*#].

### The "StateChanged" signal

    StateChanged (i old,
                  i new,
                  u reason);

Emitted when call changes state

Since: 1.6

`i `old``: | Old state MMCallState
`i `new``: | New state MMCallState
`u `reason``: | A MMCallStateReason value, specifying the reason for this state change.

## Property Details

### The "State" property

    State  readable   i

A MMCallState value, describing the state of the call.

Since: 1.6

### The "StateReason" property

    StateReason  readable   i

A MMCallStateReason value, describing why the state is changed.

Since: 1.6

### The "Direction" property

    Direction  readable   i

A MMCallDirection value, describing the direction of the call.

Since: 1.6

### The "Number" property

    Number  readable   s

The remote phone number.

Since: 1.6

### The "Multiparty" property

    Multiparty  readable   b

Whether the call is currently part of a multiparty conference call.

Since: 1.12

### The "AudioPort" property

    AudioPort  readable   s

If call audio is routed via the host, the name of the kernel device that provides the audio. For example, with certain Huawei USB modems, this property might be "ttyUSB2" indicating audio is available via ttyUSB2 in the format described by the AudioFormat property.

Since: 1.10

### The "AudioFormat" property

    AudioFormat  readable   a{sv}

If call audio is routed via the host, a description of the audio format supported by the audio port.

This property may include the following items:

`"encoding"` | The audio encoding format. For example, "pcm" for PCM audio.
`"resolution"` | The sampling precision and its encoding format. For example, "s16le" for signed 16-bit little-endian samples.
`"rate"` | The sampling rate as an unsigned integer. For example, 8000 for 8000hz.

Since: 1.10

### The "DtmfToneDuration" property

    DtmfToneDuration  readable   u

The length of DTMF tones, in milliseconds. Valid range is 100ms to 1000ms and is rounded up to the next 100ms if not evenly divisble by 100. Set the duration by passing this property to `CreateCall()` at call creation time.

Since: 1.26