com.skype.api
Class Voicemail

java.lang.Object
  extended by com.skype.ipc.SidObject
      extended by com.skype.api.Voicemail
All Implemented Interfaces:
SidGetResponding

public final class Voicemail
extends SidObject

Wrapper class that includes voicemail-specific methods and properties. In the Skype Conversation API, Voicemail is actually something of a misnomer for what would be more accurately called Voice Message. The traditional Voicemail use case involves recording a voice message when an incoming call does not get answered in a pre-determined amount of time. In the Skype Conversation API, voicemail does not depend on a call going unanswered - you can post a voice message asynchronously into any dialog conversation at any time. In fact, a high-level action flow directing unanswered incoming live sessions to voicemail is not something provided by the Conversation API - implementation of this use case is largely up to your UI. The fact that your UI must retrieve incoming Voicemails by monitoring changes to a Conversation instance's Messages illustrates this conceptual difference between traditional voicemail and voice messages. The message type Message.POSTED_VOICE_MESSAGE indicates that a Message instance should be handled as a voice message instead of by displaying its body text in the Conversation UI. Message.GetVoiceMessage enables you to retrieve the associated Voicemail instance; Voicemail.StartPlayback enables you to listen to the message audio. To put it another way, the object chain goes like this:


Nested Class Summary
static class Voicemail.FailureReason
           
static class Voicemail.Property
          Properties of the Voicemail class
static class Voicemail.Status
           
static class Voicemail.Type
           
 
Field Summary
 int mAllowedDuration
           
 byte[] mChatMsgGuid
           
 Conversation mConversation
           
 int mDuration
           
 Voicemail.FailureReason mFailureReason
           
 java.lang.String mPartnerDisplayName
           
 java.lang.String mPartnerHandle
           
 int mPlaybackProgress
           
 Voicemail.Status mStatus
           
 java.lang.String mSubject
           
 int mTimestamp
           
 Voicemail.Type mType
           
 
Fields inherited from class com.skype.ipc.SidObject
mSidCached, mSidOid, mSidRoot, mSidTimestamp
 
Constructor Summary
Voicemail(int oid, SidRoot root)
           
 
Method Summary
 void cancel()
          Canceling recording of your own auto-answer greeting message.
 boolean checkPermission()
          check if we can send voicemail (unauth,blocked,no priv etc cases).
 void delete()
          first from server, and then the local copy
 int getAllowedDuration()
          max allowed duration in seconds
 byte[] getChatMsgGuid()
          GUID of the message that the VM is tied to
 Conversation getConversation()
          CONVERSATION_ID of corresponding conversation
 int getDuration()
          duration in seconds
 Voicemail.FailureReason getFailureReason()
           
 java.lang.String getPartnerDisplayName()
          user's display name of the other party
 java.lang.String getPartnerHandle()
          registered username of the other party
 int getPlaybackProgress()
          VM playback progress in seconds
 java.lang.String getPropertyAsString(int prop)
           
 java.lang.String getPropertyAsString(Voicemail.Property prop)
           
 Voicemail.Status getStatus()
           
 java.lang.String getSubject()
          DEPRECATED: subject line
 int getTimestamp()
          timestamp of creation
 Voicemail.Type getType()
           
 int moduleId()
           
 byte[] sidGetBinaryProperty(PropertyEnumConverting prop)
           
 EnumConverting sidGetEnumProperty(PropertyEnumConverting prop)
           
 int sidGetIntProperty(PropertyEnumConverting prop)
           
 SidObject sidGetObjectProperty(PropertyEnumConverting prop)
           
 java.lang.String sidGetStringProperty(PropertyEnumConverting prop)
           
 SidGetResponding sidMultiGet(Voicemail.Property[] requested)
          generic multiget of a list of Property
static SidGetResponding[] sidMultiGet(Voicemail.Property[] requested, Voicemail[] objects)
          generic multiget of list of Property for a list of Voicemail
protected  void sidOnChangedProperty(int propertyId, int value, java.lang.String svalue)
           
 void sidSetProperty(PropertyEnumConverting prop, byte[] newValue)
           
 void sidSetProperty(PropertyEnumConverting prop, int newValue)
           
 void sidSetProperty(PropertyEnumConverting prop, SidObject newValue)
           
 void sidSetProperty(PropertyEnumConverting prop, java.lang.String newValue)
           
 void startPlayback()
          Initiates playback of a voice message
 void startRecording()
          Start recording your own auto-answer greeting message (leave message after the beep...) only.
 void stopPlayback()
          Terminates playback of a voice message
 void stopRecording()
          Stop recording of your own auto-answer greeting message only.
 
Methods inherited from class com.skype.ipc.SidObject
finalize, getOid, hasCached, invalidateCache, isCached, sidDoRequest, sidGetBoolProperty, sidGetFilenameProperty, sidGetLongProperty, sidGetObject, sidGetUintProperty, sidGetXmlProperty, sidMultiGet, sidMultiGet, sidMultiGet, sidMultiGet, sidRequestBinaryProperty, sidRequestBoolProperty, sidRequestEnumProperty, sidRequestFilenameProperty, sidRequestIntProperty, sidRequestObjectProperty, sidRequestProperty, sidRequestStringProperty, sidRequestUintProperty, sidRequestXmlProperty, sidSetProperty
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mType

public Voicemail.Type mType

mPartnerHandle

public java.lang.String mPartnerHandle

mPartnerDisplayName

public java.lang.String mPartnerDisplayName

mStatus

public Voicemail.Status mStatus

mFailureReason

public Voicemail.FailureReason mFailureReason

mSubject

public java.lang.String mSubject

mTimestamp

public int mTimestamp

mDuration

public int mDuration

mAllowedDuration

public int mAllowedDuration

mPlaybackProgress

public int mPlaybackProgress

mConversation

public Conversation mConversation

mChatMsgGuid

public byte[] mChatMsgGuid
Constructor Detail

Voicemail

public Voicemail(int oid,
                 SidRoot root)
Method Detail

startRecording

public void startRecording()
Start recording your own auto-answer greeting message (leave message after the beep...) only. Recording of outgoing Voicemail messages start automatically (using Conversation.StartVoiceMessage) after playback of the remote side greeting message has finished.


stopRecording

public void stopRecording()
Stop recording of your own auto-answer greeting message only. To stop recording of and send an outgoing Voicemail, use Conversation.PostVoiceMessage.


startPlayback

public void startPlayback()
Initiates playback of a voice message


stopPlayback

public void stopPlayback()
Terminates playback of a voice message


delete

public void delete()
first from server, and then the local copy


cancel

public void cancel()
Canceling recording of your own auto-answer greeting message. To stop recording of and cancel an outgoing Voicemail, use Conversation.LeaveLiveSession.


checkPermission

public boolean checkPermission()
check if we can send voicemail (unauth,blocked,no priv etc cases). only OUTGOING * @return result


sidMultiGet

public SidGetResponding sidMultiGet(Voicemail.Property[] requested)
generic multiget of a list of Property

Parameters:
requested - the list of requested properties of Voicemail
Returns:
SidGetResponding

sidMultiGet

public static SidGetResponding[] sidMultiGet(Voicemail.Property[] requested,
                                             Voicemail[] objects)
generic multiget of list of Property for a list of Voicemail

Parameters:
requested - the list of requested properties
Returns:
SidGetResponding[] can be casted to (Voicemail[]) if all properties are cached

getType

public Voicemail.Type getType()

getPartnerHandle

public java.lang.String getPartnerHandle()
registered username of the other party


getPartnerDisplayName

public java.lang.String getPartnerDisplayName()
user's display name of the other party


getStatus

public Voicemail.Status getStatus()

getFailureReason

public Voicemail.FailureReason getFailureReason()

getSubject

public java.lang.String getSubject()
DEPRECATED: subject line


getTimestamp

public int getTimestamp()
timestamp of creation


getDuration

public int getDuration()
duration in seconds


getAllowedDuration

public int getAllowedDuration()
max allowed duration in seconds


getPlaybackProgress

public int getPlaybackProgress()
VM playback progress in seconds


getConversation

public Conversation getConversation()
CONVERSATION_ID of corresponding conversation


getChatMsgGuid

public byte[] getChatMsgGuid()
GUID of the message that the VM is tied to


sidGetStringProperty

public java.lang.String sidGetStringProperty(PropertyEnumConverting prop)
Specified by:
sidGetStringProperty in interface SidGetResponding
Overrides:
sidGetStringProperty in class SidObject

sidGetObjectProperty

public SidObject sidGetObjectProperty(PropertyEnumConverting prop)
Specified by:
sidGetObjectProperty in interface SidGetResponding
Overrides:
sidGetObjectProperty in class SidObject

sidGetIntProperty

public int sidGetIntProperty(PropertyEnumConverting prop)
Specified by:
sidGetIntProperty in interface SidGetResponding
Overrides:
sidGetIntProperty in class SidObject

sidGetEnumProperty

public EnumConverting sidGetEnumProperty(PropertyEnumConverting prop)
Specified by:
sidGetEnumProperty in interface SidGetResponding
Overrides:
sidGetEnumProperty in class SidObject

sidGetBinaryProperty

public byte[] sidGetBinaryProperty(PropertyEnumConverting prop)
Specified by:
sidGetBinaryProperty in interface SidGetResponding
Overrides:
sidGetBinaryProperty in class SidObject

getPropertyAsString

public java.lang.String getPropertyAsString(int prop)

getPropertyAsString

public java.lang.String getPropertyAsString(Voicemail.Property prop)

sidOnChangedProperty

protected void sidOnChangedProperty(int propertyId,
                                    int value,
                                    java.lang.String svalue)
Specified by:
sidOnChangedProperty in class SidObject

sidSetProperty

public void sidSetProperty(PropertyEnumConverting prop,
                           java.lang.String newValue)
Specified by:
sidSetProperty in interface SidGetResponding
Overrides:
sidSetProperty in class SidObject

sidSetProperty

public void sidSetProperty(PropertyEnumConverting prop,
                           SidObject newValue)
Specified by:
sidSetProperty in interface SidGetResponding
Overrides:
sidSetProperty in class SidObject

sidSetProperty

public void sidSetProperty(PropertyEnumConverting prop,
                           int newValue)
Specified by:
sidSetProperty in interface SidGetResponding
Overrides:
sidSetProperty in class SidObject

sidSetProperty

public void sidSetProperty(PropertyEnumConverting prop,
                           byte[] newValue)
Specified by:
sidSetProperty in interface SidGetResponding
Overrides:
sidSetProperty in class SidObject

moduleId

public int moduleId()
Specified by:
moduleId in class SidObject


Copyright © 2010, 2011 Skype Technologies. All Rights Reserved.