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 |
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
VoicemailSenderHandle — u (Handle)
The handle of the voicemail sender; otherwise, 0
.
VoicemailSenderID — s
The string received by inspecting the
VoicemailSenderHandle property, or ""
if that property is 0
.
VoicemailTimestamp — x (Unix_Timestamp64)
VoicemailToken — s (Voicemail_Token)
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.
VoicemailDuration — u
Duration of the voicemail, in seconds. 0 if unknown.
ShortMessage — s
A short text message included with the voicemail.