Interface Channel.Interface.Voicemail.DRAFT

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

Signals

DivertedToVoicemail (u: AllowedDuration, u: Reason)

Properties

RecordVoicemail b Read only Immutable, Sometimes requestable
RecordGreeting b Read only Immutable, Sometimes requestable
AllowedDuration u Read only Immutable

Types

Voicemail_Diversion_Reason Enum 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.
Objects implementing this interface must also implement:

Description

This interface may be present on voice (or potentially video) channels for protocols that support voicemail (or videomail?).

The interface can notify the user when their call has been diverted to voicemail (via the DivertedToVoicemail signal).

On protocols that allow it, the RecordVoicemail property can be used to leave a voicemail for a remote user without first placing an outgoing call.

To retreive voicemails, have a look at the Connection.Interface.Voicemail.DRAFT and Channel.Interface.VoicemailRetrieval.DRAFT interfaces.

Signals

(Permalink)

DivertedToVoicemail (u: AllowedDuration, u: Reason)

Parameters

This signal SHOULD be emitted when a call has been diverted to Voicemail, if the Connection Manager is able to determine such an event has taken place.

This signal heralds the change in properties on this interface. The RecordVoicemail property MUST be set True before emitting this signal, as well as any other properties whos values can now be determined by the Connection Manager.

Properties

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

RecordVoicemail — b

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
Depending on the protocol, this property may be requestable, which means that it may be allowed in the properties hash of a channel request such as in the CreateChannel and EnsureChannel methods on Requests and ChannelDispatcher. If supported on this protocol, the property should appear in either the Fixed_Properties or Allowed_Properties of a RequestableChannelClass advertised by the CM.

This property is requestable for channels where the protocol supports leaving a voicemail without needing a call to be diverted to voicemail.

Protocols that support leaving voicemail without first making a call will have a requestable channel class featuring this property.

Rationale:
This is instead of a flag in Voicemail_Capability_Flags.

Protocols that do not support leaving voicemails without placing a call MUST return NotCapable if this property is included in the request.

This property SHOULD appear in the immutable properties, if the channel was requested with it.

In the case where a call is diverted to voicemail, this property SHOULD also change to True, if this event can be detected by the Connection Manager. Its change will be heralded by the DivertedToVoicemail signal.

(Permalink)

RecordGreeting — b

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
Depending on the protocol, this property may be requestable, which means that it may be allowed in the properties hash of a channel request such as in the CreateChannel and EnsureChannel methods on Requests and ChannelDispatcher. If supported on this protocol, the property should appear in either the Fixed_Properties or Allowed_Properties of a RequestableChannelClass advertised by the CM.

Including this property in a channel request indicates that the requested channel is for recording a voicemail greeting that will be played to other users when they leave you voicemail.

This property SHOULD appear in the channel's immutable properties.

On protocols where a different voicemail greeting can be recorded for different users or contact groups, the channel request MAY include a TargetHandle or TargetID of TargetHandleType Contact or Group. Omitting a target sets the default greeting. If a greeting for a specific user/group cannot be set, the channel request MUST fail with NotCapable.

Rationale:
It's possible that a protocol supports this.

Protocols that support recording greetings will have up to three requestable channel classes: one for recording the default greeting; one for recording a per-user greeting; and one for recording a per-group greeting.

(Permalink)

AllowedDuration — 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

Permitted voicemail duration in seconds. 0 if voicemails may be of indefinite duration, or the allowable duration is unknown.

This property MUST be included in the channel's immutable properties if the channel was requested with RecordVoicemail; or it SHOULD be set prior to the emission of DivertedToVoicemail.

Rationale:
Some protocols only permit voicemails to be of a certain length. This property allows for clients to provide a visual notification of how much longer the user has to leave their message.

Types

Enum (Permalink)

Voicemail_Diversion_Reason — u

The reason why the call was diverted to voicemail.

Rationale:
These values come from the Causes in RFC 4458, §2.2.
  • Unknown (0)
  • The reason is unknown or otherwise not available. Corresponds to SIP cause 404.
  • User_Busy (1)
  • The user is busy (on another call). Corresponds to SIP cause 486.
  • No_Reply (2)
  • There was no answer. Corresponds to SIP cause 408.
  • Unconditional (3)
  • Redirection to voicemail was unconditional. Corresponds to SIP cause 302.
  • Deflection_During_Alerting (4)
  • Corresponds to SIP cause 487.
  • Deflection_Immediate_Response (5)
  • Corresponds to SIP cause 480.
  • Mobile_Subscriber_Not_Reachable (6)
  • Corresponds to SIP cause 503.