Interface Connection.Interface.Voicemail.DRAFT

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

Methods

DeleteVoicemails (as: Voicemails) nothing

Signals

NewVoicemails (i: VoicemailCount, aa{sv}: Voicemails)
VoicemailsRemoved (i: VoicemailCount, as: Voicemails)

Properties

VoicemailCapabilities u (Voicemail_Capability_Flags) Read only
Voicemails aa{sv} (Qualified_Property_Value_Map_List) Read only
VoicemailCount i Read only

Types

Voicemail_Capability_Flags Flags u
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.

Description

This interface may be present on connections that support voicemail. It allows listing and management of voicemails, and provides for notification of new voicemails. It also indicates what capabilities this protocol supports for voicemail.

Clients interested in voicemail notification MUST indicate interest in this interface with AddClientInterest.

Retrieval of voicemail is not done via this interface, but is instead done by requesting a Call.DRAFT or StreamedMedia channel which includes properties from the Channel.Interface.VoicemailRetrieval.DRAFT interface. More documentation on how to request voicemails is available there.

Recording voicemails and notification of when calls are diverted to voicemail is provied by the Channel.Interface.Voicemail.DRAFT interface.

Cellular specific settings, such as the Voicemail service number, are stored in the Cellular interface.

Methods

(Permalink)

DeleteVoicemails (as: Voicemails) → nothing

Parameters

Deletes one or more voicemails from the server.

Possible Errors

  • Disconnected
  • The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection for which StatusChanged has signalled status Disconnected for reason None.
    Rationale:
    The second usage corresponds to None in the Connection_Status_Reason enum; if a better reason is available, the corresponding error should be used instead.
  • Network Error
  • Raised when there is an error reading from or writing to the network.
  • Not Implemented
  • Raised when the requested method, channel, etc is not available on this connection.
  • Invalid Argument
  • Returned if one of the supplied voicemail tokens is invalid.

Signals

(Permalink)

NewVoicemails (i: VoicemailCount, aa{sv}: Voicemails)

Parameters

Notifies the client that new voicemails are present and ready to be retrieved.

If the server supports requesting individual voicemails, this signal will herald each unique voicemail, and these voicemails will appear individually in Voicemails.

If the server does not support individual voicemails, this signal will be emitted each time there are new voicemails to be retrieved, but will contain a generic entry and only a single generic entry will appear in Voicemails.

The total number of voicemails available can be checked via the VoicemailCount property.

(Permalink)

VoicemailsRemoved (i: VoicemailCount, as: Voicemails)

Parameters

Notifies the client that voicemails have been removed.

If the server supports requesting individual voicemails, this signal will list each removed voicemail.

If the server does not support individual voicemails, this signal will be emitted each time there are voicemails that have been removed, but will contain a single generic entry.

The total number of voicemails available can be checked via the VoicemailCount property.

Properties

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

VoicemailCapabilities — u (Voicemail_Capability_Flags)

Read only
Integer representing the bitwise-OR of supported features for voicemail on this server. This property MUST NOT change after the Connection becomes CONNECTED.
(Permalink)

Voicemails — aa{sv} (Qualified_Property_Value_Map_List)

Read only

If the server supports listing voicemail, this is a complete list of the user's voicemail. Else it SHOULD be the list of all voicemails we know about (i.e. those that have been signalled by NewVoicemails.

If a server does not support retrieving individual voicemails, this list will contain one item, for the generic voicemail channel request, if there are voicemails to be retrieved. Else it will be an empty list.

Voicemails are given as a qualified property value map of properties from the Channel.Interface.VoicemailRetrieval.DRAFT interface.

If the VoicemailToken property isn't present, this means that there are voicemails present, but we don't know how to retreive them.

Rationale:
A GSM SIM-vendor may not have set the Voicemail number on the SIM card. We still receive notification of voicemail, but we don't know what number to dial to retreive the voicemail. In this case all we can do is hope that the user knows what to do.
(Permalink)

VoicemailCount — i

Read only

The number of voicemails present on the server.

This may not necessarily be the same as the number of items in Voicemails, since for some protocols, voicemails are requested via an interactive channel.

Rationale:
This allows clients to display how many voicemails in the case where voicemails cannot be listed individually.

The value MUST always be 0, positive, or -1. The value -1 indicates that some number of voicemails exist on the server, but the number is unknown.

Rationale:
On some protocols, the presence of voicemail is only indicated by a single-bit. This allows a client to say "There are voicemails" without saying how many.

Types

Flags (Permalink)

Voicemail_Capability_Flags — u

  • Supports_Listing_Voicemail (1)
  • If present, the Voicemails property lists all the voicemails available on the server. Otherwise it SHOULD list the voicemails we know about.
  • Supports_Deleting_Voicemail (2)
  • If present, the DeleteVoicemails method is available.
  • Supports_Retrieving_Individual_Voicemail (4)
  • If present, the protocol allows the user to request individual voicemails from the server. Otherwise, the voicemail channel is driven via some other method, e.g. DTMF tones.