Interface Channel.Interface.VoicemailRetrieval.DRAFT

Interface Index (Compact) | Summary | Description | Properties | Types

Properties

VoicemailSenderHandle u (Handle) Read only Immutable
VoicemailSenderID s Read only Immutable
VoicemailTimestamp x (Unix_Timestamp64) Read only Immutable
VoicemailToken s (Voicemail_Token) Read only Immutable, Requestable
VoicemailDuration u Read only Immutable
ShortMessage s Read only Immutable

Types

Voicemail_Token Simple Type s
WARNING: This interface is experimental and is likely to cause havoc to your API/ABI if bindings are generated. Do not include this interface in libraries that care about compatibility.
Objects implementing this interface must also implement:

Description

This interface is present on channels that are being used to transmit voicemail to the user.

On some protocols—including most cellular telephony services, voicemail is retrieved by calling one particular number-which plays back all your voicemails in order and might be controllable using DTMF tones.

Other protocols—such as Skype and visual voicemail-enabled cellular services—support retrieving individual voicemails. The resulting channel plays back that single voicemail.

Both types of Voicemail retrieval are accessed by making a request that includes the VoicemailToken (see below).

Voicemail notifications are provided on the Connection.Interface.Voicemail.DRAFT interface.

Rationale:

On the Nokia N900, which predates the MailNotification interface, voicemail notifications are implemented as specially-formatted Message_Part[]s on a special Text channel. Cellular voicemail notifications contain the phone number which should be called; Skype voicemail notifications contain the values for the VoicemailSenderID and VoicemailToken properties on a precursor of this interface.

Requesting channels to record voicemail, and notification of when a call is diverted to voicemail is provided by the Channel.Interface.Voicemail.DRAFT interface.

Requesting Voicemail Channels

Channels should be requested with TargetHandle = 0, TargetHandleType = None, and the appropriate VoicemailToken.

For example:

{
  Channel.ChannelType: Channel.Type.Call.DRAFT,
  Channel.TargetHandle: 0,
  Channel.TargetHandleType: Target_Handle_None,
  VoicemailToken: <opaque value>,
}

Properties

Accessed using the org.freedesktop.DBus.Properties interface.
(Permalink)

VoicemailSenderHandle — u (Handle)

Read only
This property is immutable which means that it can never change once the channel has been created. Immutable properties SHOULD appear in the channel detail list of NewChannels signals

The handle of the voicemail sender; otherwise, 0.

(Permalink)

VoicemailSenderID — s

Read only
This property is immutable which means that it can never change once the channel has been created. Immutable properties SHOULD appear in the channel detail list of NewChannels signals

The string received by inspecting the VoicemailSenderHandle property, or "" if that property is 0.

(Permalink)

VoicemailTimestamp — x (Unix_Timestamp64)

Read only
This property is immutable which means that it can never change once the channel has been created. Immutable properties SHOULD appear in the channel detail list of NewChannels signals
Timestamp for the Voicemail.
(Permalink)

VoicemailToken — s (Voicemail_Token)

Read only
This property is immutable which means that it can never change once the channel has been created. Immutable properties SHOULD appear in the channel detail list of NewChannels signals
This property is requestable, which means that it is allowed in the properties hash of a channel request such as in the CreateChannel and EnsureChannel methods on Requests and ChannelDispatcher. The property should also appear in either the Fixed_Properties or Allowed_Properties of a RequestableChannelClass advertised by the CM.

This is a token used to retrieve an individual voicemail on protocols that support such a thing. The token is some value that is meaningful to the connection-manager, but is opaque to the client.

Rationale:

Different protocols have different ways to represent a message. This might be for example, the Voicemail timestamp, a Voicemail OID, or an IMAP4 identifier.

This value was originally proposed as a variant-type, but this proved hard to do comparisons against, whereas strings are easy to compare even if their meaning is opaque. Connection Managers that want to use a type such as 'ay' can base64 encode the value as a string.

(Permalink)

VoicemailDuration — u

Read only
This property is immutable which means that it can never change once the channel has been created. Immutable properties SHOULD appear in the channel detail list of NewChannels signals

Duration of the voicemail, in seconds. 0 if unknown.

(Permalink)

ShortMessage — s

Read only
This property is immutable which means that it can never change once the channel has been created. Immutable properties SHOULD appear in the channel detail list of NewChannels signals

A short text message included with the voicemail.

Rationale:
Some protocols, such as GSM and Skype allow the inclusion of a short text message with the voicemail notification. For example with GSM it might be "Call 8080 to access your Voicemail messages".

Types

Simple Type (Permalink)

Voicemail_Token — s

An opaque token used by the Connection Manager to represent a voicemail.