Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.skype.api
Class Conversation

    java.lang.Object
      com.skype.ipc.SidObject
          com.skype.api.Conversation

All Implemented Interfaces:
  SidGetResponding

    public final class Conversation

extends SidObject

The Conversation class encapsulates all types of communication possible with Skype client. Instant messaging, calls, video calls, file transfers, SMS, screen sharing - all take place within the context of a Conversation. Contacts are represented in Conversation as Participant objects. This also applies to contacts of PSTN type. All events in a conversation are represented as Message objects.

Nested Class Summary
`static class` | `Conversation.AllowedActivity` values for opt_admin_only_activities property
`class` | `Conversation.GetLastMessagesResponse`
`static class` | `Conversation.ListType`
`static class` | `Conversation.LocalLiveStatus`
`static class` | `Conversation.MyStatus`
`static class` | `Conversation.ParticipantFilter`
`class` | `Conversation.PostFilesResponse`
`static class` | `Conversation.Property` Properties of the Conversation class
`static class` | `Conversation.Type`

Field Summary
`static java.lang.String` | `CALL_APPLY_CF` Setupkey SETUPKEY_CALL_APPLY_CF type:int Enables/disables call forwarding.
`static java.lang.String` | `CALL_EMERGENCY_COUNTRY` Setupkey SETUPKEY_CALL_EMERGENCY_COUNTRY type:string Country code for emergency calls This is account-specific setup key.
`static java.lang.String` | `CALL_NOANSWER_TIMEOUT` Setupkey SETUPKEY_CALL_NOANSWER_TIMEOUT type:int default value:"15" Timeout in seconds after which the incoming live session will stop ringing (and if possible, proceed to voicemail or call forward).
`static java.lang.String` | `CALL_SEND_TO_VM` Setupkey SETUPKEY_CALL_SEND_TO_VM type:int Autoforwarding of incoming calls to voicemail.
`static java.lang.String` | `CHAT_HISTORY_DAYS` Setupkey SETUPKEY_CHAT_HISTORY_DAYS type:int Time limit for keeping local chat message history.
`static java.lang.String` | `CHATDB_LIMIT_KB` Setupkey SETUPKEY_CHATDB_LIMIT_KB type:int default value:"0" Use this key to limit the size of the chat db.
`static java.lang.String` | `DISABLE_CHAT` Setupkey SETUPKEY_DISABLE_CHAT type:int Disables chat (for voice only clients).
`static java.lang.String` | `DISABLE_CHAT_ACTIVITY_INDICATION` Setupkey SETUPKEY_DISABLE_CHAT_ACTIVITY_INDICATION type:int Enables/disables transmitting typing indicator signals to othe participants of conversations.
`static java.lang.String` | `DISABLE_CHAT_HISTORY` Setupkey SETUPKEY_DISABLE_CHAT_HISTORY type:int Disables storage of chat history.
`static java.lang.String` | `ENABLE_BIRTHDAY_NOTIFICATION` Setupkey SETUPKEY_ENABLE_BIRTHDAY_NOTIFICATION type:int default value:"1" Enables/disables birthday notification messages.
`static java.lang.String` | `INBOX_UPDATE_TIMEOUT` Setupkey SETUPKEY_INBOX_UPDATE_TIMEOUT type:int Timeout in seconds, how old the Conversation.P_INBOX_TIMESTAMP has to be for it to be re-sorted in the inbox.
`Voicemail` | `mActiveVoicemail`
`java.lang.String` | `mAlertString`
`int` | `mConsumptionHorizon`
`int` | `mCreationTimestamp`
`java.lang.String` | `mCreator`
`java.lang.String` | `mDisplayName`
`java.lang.String` | `mGivenDisplayName`
`java.lang.String` | `mIdentity`
`Message` | `mInboxMessageId`
`int` | `mInboxTimestamp`
`boolean` | `mIsBookmarked`
`int` | `mLastActivityTimestamp`
`java.lang.String` | `mLiveHost`
`boolean` | `mLiveIsMuted`
`int` | `mLiveStartTimestamp`
`Conversation.LocalLiveStatus` | `mLocalLiveStatus`
`java.lang.String` | `mMetaGuidelines`
`java.lang.String` | `mMetaName`
`byte[]` | `mMetaPicture`
`java.lang.String` | `mMetaTopic`
`Conversation.MyStatus` | `mMyStatus`
`int` | `mOptAdminOnlyActivities`
`boolean` | `mOptDiscloseHistory`
`Participant.Rank` | `mOptEntryLevelRank`
`boolean` | `mOptJoiningEnabled`
`java.lang.String` | `mPasswordHint`
`Conversation` | `mSpawnedFromConvoId`
`Conversation.Type` | `mType`
`int` | `mUnconsumedElevatedMessages`
`boolean` | `mUnconsumedMessagesVoice`
`int` | `mUnconsumedNormalMessages`
`int` | `mUnconsumedSuppressedMessages`
`static java.lang.String` | `RECENTLY_LIVE_TIMEOUT` Setupkey SETUPKEY_RECENTLY_LIVE_TIMEOUT type:int default value:"20" The number of seconds a formerly live conversation will remain the Conversation.LIVE_CONVERSATIONS filter.

Fields inherited from class com.skype.ipc.SidObject
`mSidCached, mSidOid, mSidRoot, mSidTimestamp`

Constructor Summary
`Conversation(int oid, SidRoot root)`

Method Summary
`void` | `addConsumers(java.lang.String[] identities)` Takes one or more Contact identities and creates corresponding Participant objects within the context of this Conversation, which must be of type CONFERENCE.
`void` | `addToInbox(int timestamp)` Sets Conversation inbox_timestamp property.
`Conversation` | `assimilate(Conversation otherConversation)` Merges two live conversations.
`boolean` | `canTransferLiveSession(java.lang.String identity)` Checks if the identity is available for receiving a transferred live session.
`void` | `delete()` Deletes this conversation, which must be of type CONFERENCE - dialogs between local user and any of his contacts are always persistant.
`void` | `enterPassword(java.lang.String password)` Submits password for joining password-protected conversation.
`Message` | `findMessage(java.lang.String text, int fromTimestampUp)` Finds the most recent Message object in the conversation that contains the substring specified by the text argument.
`Voicemail` | `getActiveVoicemail()` ID of voice message that is being played or recorded in this conversation
`java.lang.String` | `getAlertString()` '' everything matches, '=' nothing matches, '=string' string matches
`int` | `getConsumptionHorizon()` consumption cutoff timestamp: messages after (but not including) this are considered unconsumed
`int` | `getCreationTimestamp()` timestamp of creation, tells you how far you can retrieve messages
`java.lang.String` | `getCreator()` identity of conversation creator (doesn't apply to dialogs)
`java.lang.String` | `getDisplayName()` resulting display name of the conversation (based on given name, topic, participant list, etc)
`java.lang.String` | `getGivenDisplayName()` local name assigned via Rename
`java.lang.String` | `getIdentity()` contact identity in case of dialogs, chat name in case of conferences
`Message` | `getInboxMessageId()` ID of the message that caused INBOX_TIMESTAMP to be set
`int` | `getInboxTimestamp()` timestamp to sort the conversations in inbox by.
`boolean` | `getIsBookmarked()` if conversation is bookmarked/flagged
`java.lang.String` | `getJoinBlob()` Retrieves a binary join blob for joining public conversations, which are always of type CONFERENCE.
`int` | `getLastActivityTimestamp()` timestamp of last activity in conversation
`Conversation.GetLastMessagesResponse` | `getLastMessages(int requireTimestamp)` Returns recent messages.
`java.lang.String` | `getLiveHost()` host of current live session.
`boolean` | `getLiveIsMuted()` if live session is muted
`int` | `getLiveStartTimestamp()` moment when first participant other than host joined the current or last live session
`Conversation.LocalLiveStatus` | `getLocalLiveStatus()` if the conversation is live and in which status it is then
`java.lang.String` | `getMetaGuidelines()` guidelines (doesn't apply to dialogs)
`java.lang.String` | `getMetaName()` deprecated, not used
`byte[]` | `getMetaPicture()` conversation picture, in jpeg format (doesn't apply to dialogs)
`java.lang.String` | `getMetaTopic()` conversation topic (doesn't apply to dialogs)
`Conversation.MyStatus` | `getMyStatus()` my status in this conversation (connecting, participating, retired, etc) (doesn't apply to dialogs)
`int` | `getOptAdminOnlyActivities()` activities that only ADMIN can do.
`boolean` | `getOptDiscloseHistory()` if history visible to new consumers (doesn't apply to dialogs)
`Participant.Rank` | `getOptEntryLevelRank()` rank that is auto-assigned at join (doesn't apply to dialogs)
`boolean` | `getOptJoiningEnabled()` if it's a public conversation (doesn't apply to dialogs)
`Participant[]` | `getParticipants(Conversation.ParticipantFilter filter)` Retrieves the list of this conversation's current participants, which you can optionally request to be filtered.
`java.lang.String` | `getPasswordHint()` public conversation password hint, use SetPassword to set (doesn't apply to dialogs)
`java.lang.String` | `getPropertyAsString(Conversation.Property prop)`
`java.lang.String` | `getPropertyAsString(int prop)`
`Conversation` | `getSpawnedFromConvoId()` dialog this conference was spawned from
`Conversation.Type` | `getType()` type of the conversation
`int` | `getUnconsumedElevatedMessages()` DEPRECATED, not set anymore
`boolean` | `getUnconsumedMessagesVoice()` if there are unconsumed voice or call messages in the conversation
`int` | `getUnconsumedNormalMessages()` number of messages in UNCONSUMED_NORMAL consumption status
`int` | `getUnconsumedSuppressedMessages()` number of messages in UNCONSUMED_SUPPRESSED consumption status
`void` | `holdMyLiveSession()` Puts the conversation on hold - Conversation LOCAL_LIVESTATUS changes to ON_HOLD_LOCALLY and to ON_HOLD_REMOTELY for remote participants.
`boolean` | `isMemberOf(ContactGroup group)` Checks if the conversation is a member of the given ContactGroup * @param group ContactGroup
`void` | `join()` Tries to join a public conversation (aka public chat).
`void` | `joinLiveSession(java.lang.String accessToken)` starts, answers or joins a live session (first one to join becomes LIVE_HOST) * @param accessToken if starting a live session, allows to set a custom access token
`void` | `leaveLiveSession(boolean postVoiceAutoresponse)` Hang up or refuse to answer an incoming call.
`void` | `markUnread()` sets consumption horizon to last inbox message id timestamp
`Conversation` | `mgetInfo()` multiget the following properties - P_DISPLAY_NAME - P_UNCONSUMED_NORMAL_MESSAGES - P_INBOX_TIMESTAMP
`static Conversation[]` | `mgetInfo(Conversation[] objects)` multiget the following properties for a list of Conversation - P_DISPLAY_NAME - P_UNCONSUMED_NORMAL_MESSAGES - P_INBOX_TIMESTAMP
`int` | `moduleId()`
`void` | `muteMyMicrophone()` Sets VOICE_STATUS to LISTENING in the Participant instance associated with us, causing any input from our microphone to be ignored.
`void` | `postContacts(Contact[] contacts)` Takes a list of Contacts as an argument and posts the list into the Conversation.
`Conversation.PostFilesResponse` | `postFiles(java.lang.String[] paths, java.lang.String body)` Takes a list of fully-qualified filenames and initiates corresponding file transfers in the conversation.
`void` | `postSms(Sms sms, java.lang.String body)` Takes an SMS instance created by Skype.CreateOutgoingSms and posts it in the conversation.
`Message` | `postText(java.lang.String text, boolean isXml)` Posts the specified text the conversation, and populates message with a reference to the corresponding Message object (if no error occurred during execution).
`void` | `postVoiceMessage(Voicemail voicemail, java.lang.String body)` Stops the active voicemail recording and sends it (dialog only) * @param voicemail This argument is deprecated as of SDK version 3.2.
`void` | `removeFromInbox()` Removes conversation from Inbox.
`void` | `renameTo(java.lang.String name)` Changes the META_NAME property of the conversation.
`void` | `resumeMyLiveSession()` Resumes call from local hold.
`void` | `retireFrom()` Leaves the conference.
`void` | `ringOthers(java.lang.String[] identities, boolean videoCall, java.lang.String origin)` This is an alternative to calling Ring method for each Participant individually.
`void` | `sendDtmf(Participant.Dtmf dtmf, int lengthInMs)` Sends DTMF tone to a live conversation.
`void` | `setAlertString(java.lang.String alertString)` Setter for Conversation class ALERT_STRING property.
`void` | `setBookmark(boolean bookmark)` Setter for Conversation class IS_BOOKMARKED.
`void` | `setConsumedHorizon(int timestamp, boolean alsoUnconsume)` This method can be used to set the consumption (read) status of messages in the conversation.
`void` | `setGuidelines(java.lang.String guidelines, boolean isXml)` Setter for Conversation META_GUIDELINES.
`void` | `setMyTextStatusTo(Participant.TextStatus status)` Sets local user typing indicator in the Conversation.
`void` | `setOption(int propKey, int value)` Setter method for Conversation option properties.
`void` | `setPassword(java.lang.String password, java.lang.String hint)` Sets password protection/new password for the conversation.
`void` | `setPicture(byte[] jpeg)` Sets the conversation's avatar to the specified JPEG image, which is propagated to both local and remote participants.
`void` | `setTopic(java.lang.String topic, boolean isXml)` Setter for Conversation class META_TOPIC.
`byte[]` | `sidGetBinaryProperty(PropertyEnumConverting prop)`
`boolean` | `sidGetBoolProperty(PropertyEnumConverting prop)`
`EnumConverting` | `sidGetEnumProperty(PropertyEnumConverting prop)`
`int` | `sidGetIntProperty(PropertyEnumConverting prop)`
`SidObject` | `sidGetObjectProperty(PropertyEnumConverting prop)`
`java.lang.String` | `sidGetStringProperty(PropertyEnumConverting prop)`
`SidGetResponding` | `sidMultiGet(Conversation.Property[] requested)` generic multiget of a list of Property
`static SidGetResponding[]` | `sidMultiGet(Conversation.Property[] requested, Conversation[] objects)` generic multiget of list of Property for a list of Conversation
`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)`
`Conversation` | `spawnConference(java.lang.String[] identitiesToAdd)` When called from dialog conversation, this spawns a new conversation, with existing two dialog participants plus new contact identities given in the identitiesToAdd list.
`void` | `startVoiceMessage()` Begin recording a voice mail for this conversation's remote participant.
`void` | `stopSendDtmf()` Stops the current DTMF tone being played into conversation.
`void` | `transferLiveSession(java.lang.String[] identities, java.lang.String transferTopic)` This method is for doing call transfers.
`void` | `unmuteMyMicrophone()` Sets VOICE_STATUS to SPEAKING in the Participant instance associated with us, causing any input from our microphone to be sent to the call host.

Methods inherited from class com.skype.ipc.SidObject
`finalize, getOid, hasCached, invalidateCache, isCached, sidDoRequest, 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

### ENABLE_BIRTHDAY_NOTIFICATION

    public static final java.lang.String ENABLE_BIRTHDAY_NOTIFICATION

  Setupkey SETUPKEY_ENABLE_BIRTHDAY_NOTIFICATION type:int default value:"1"
  Enables/disables birthday notification messages.
  - 0 - disable;
  - 1 - enable;
  This is account-specific setup key. It can only be used while an account is logged in.

  See Also:
    Constant Field Values

### INBOX_UPDATE_TIMEOUT

    public static final java.lang.String INBOX_UPDATE_TIMEOUT

  Setupkey SETUPKEY_INBOX_UPDATE_TIMEOUT type:int
  Timeout in seconds, how old the Conversation.P_INBOX_TIMESTAMP has to be for it to be re-sorted in the inbox.
  This is account-specific setup key. It can only be used while an account is logged in.

  See Also:
    Constant Field Values

### RECENTLY_LIVE_TIMEOUT

    public static final java.lang.String RECENTLY_LIVE_TIMEOUT

  Setupkey SETUPKEY_RECENTLY_LIVE_TIMEOUT type:int default value:"20"
  The number of seconds a formerly live conversation will remain the Conversation.LIVE_CONVERSATIONS filter. Note that while the conversation remains in Conversation.LIVE_CONVERSATIONS filter, Skype.OnConversationListChange events will not fire if there is another call coming up within the same conversation. Seeting this key to 0 will cause conversations to exit the Conversation.LIVE_CONVERSATIONS list immediately, after live state drops.
  This is account-specific setup key. It can only be used while an account is logged in.

  See Also:
    Constant Field Values

### DISABLE_CHAT

    public static final java.lang.String DISABLE_CHAT

  Setupkey SETUPKEY_DISABLE_CHAT type:int Disables chat (for voice only clients).
  This setup key is machine-specific and affects all local accounts.

  See Also:
    Constant Field Values

### DISABLE_CHAT_HISTORY

    public static final java.lang.String DISABLE_CHAT_HISTORY

  Setupkey SETUPKEY_DISABLE_CHAT_HISTORY type:int
  Disables storage of chat history.
  This is account-specific setup key. It can only be used while an account is logged in.

  See Also:
    Constant Field Values

### CHAT_HISTORY_DAYS

    public static final java.lang.String CHAT_HISTORY_DAYS

  Setupkey SETUPKEY_CHAT_HISTORY_DAYS type:int
  Time limit for keeping local chat message history.
  This is account-specific setup key. It can only be used while an account is logged in.

  See Also:
    Constant Field Values

### CHATDB_LIMIT_KB

    public static final java.lang.String CHATDB_LIMIT_KB

  Setupkey SETUPKEY_CHATDB_LIMIT_KB type:int default value:"0" Use this key to limit the size of the chat db. Value is in KB. By default there is no limit. A minimum of 16 MB is recommended.

  See Also:
    Constant Field Values

### DISABLE_CHAT_ACTIVITY_INDICATION

    public static final java.lang.String DISABLE_CHAT_ACTIVITY_INDICATION

  Setupkey SETUPKEY_DISABLE_CHAT_ACTIVITY_INDICATION type:int
  Enables/disables transmitting typing indicator signals to othe participants of conversations.
  - 0 - disable;
  - 1 - enable;
  This is account-specific setup key. It can only be used while an account is logged in.

  See Also:
    Constant Field Values

### CALL_NOANSWER_TIMEOUT

    public static final java.lang.String CALL_NOANSWER_TIMEOUT

  Setupkey SETUPKEY_CALL_NOANSWER_TIMEOUT type:int default value:"15"
  Timeout in seconds after which the incoming live session will stop ringing (and if possible, proceed to voicemail or call forward).
  This is account-specific setup key. It can only be used while an account is logged in.

  See Also:
    Constant Field Values

### CALL_SEND_TO_VM

    public static final java.lang.String CALL_SEND_TO_VM

  Setupkey SETUPKEY_CALL_SEND_TO_VM type:int
  Autoforwarding of incoming calls to voicemail.
  - 0 - off
  - 1 - on
  This is account-specific setup key. It can only be used while an account is logged in.

  See Also:
    Constant Field Values

### CALL_APPLY_CF

    public static final java.lang.String CALL_APPLY_CF

  Setupkey SETUPKEY_CALL_APPLY_CF type:int
  Enables/disables call forwarding.
  - 0 - disable;
  - 1 - enable;
  This is account-specific setup key. It can only be used while an account is logged in.

  See Also:
    Constant Field Values

### CALL_EMERGENCY_COUNTRY

    public static final java.lang.String CALL_EMERGENCY_COUNTRY

  Setupkey SETUPKEY_CALL_EMERGENCY_COUNTRY type:string
  Country code for emergency calls
  This is account-specific setup key. It can only be used while an account is logged in.

  See Also:
    Constant Field Values

### mIdentity

    public java.lang.String mIdentity

### mType

    public Conversation.Type mType

### mLiveHost

    public java.lang.String mLiveHost

### mLiveStartTimestamp

    public int mLiveStartTimestamp

### mLiveIsMuted

    public boolean mLiveIsMuted

### mAlertString

    public java.lang.String mAlertString

### mIsBookmarked

    public boolean mIsBookmarked

### mGivenDisplayName

    public java.lang.String mGivenDisplayName

### mDisplayName

    public java.lang.String mDisplayName

### mLocalLiveStatus

    public Conversation.LocalLiveStatus mLocalLiveStatus

### mInboxTimestamp

    public int mInboxTimestamp

### mInboxMessageId

    public Message mInboxMessageId

### mUnconsumedSuppressedMessages

    public int mUnconsumedSuppressedMessages

### mUnconsumedNormalMessages

    public int mUnconsumedNormalMessages

### mUnconsumedElevatedMessages

    public int mUnconsumedElevatedMessages

### mUnconsumedMessagesVoice

    public boolean mUnconsumedMessagesVoice

### mActiveVoicemail

    public Voicemail mActiveVoicemail

### mConsumptionHorizon

    public int mConsumptionHorizon

### mLastActivityTimestamp

    public int mLastActivityTimestamp

### mSpawnedFromConvoId

    public Conversation mSpawnedFromConvoId

### mCreator

    public java.lang.String mCreator

### mCreationTimestamp

    public int mCreationTimestamp

### mMyStatus

    public Conversation.MyStatus mMyStatus

### mOptJoiningEnabled

    public boolean mOptJoiningEnabled

### mOptEntryLevelRank

    public Participant.Rank mOptEntryLevelRank

### mOptDiscloseHistory

    public boolean mOptDiscloseHistory

### mOptAdminOnlyActivities

    public int mOptAdminOnlyActivities

### mPasswordHint

    public java.lang.String mPasswordHint

### mMetaName

    public java.lang.String mMetaName

### mMetaTopic

    public java.lang.String mMetaTopic

### mMetaGuidelines

    public java.lang.String mMetaGuidelines

### mMetaPicture

    public byte[] mMetaPicture

Constructor Detail

### Conversation

    public Conversation(int oid,
                        SidRoot root)

Method Detail

### setOption

    public void setOption(int propKey,
                          int value)

  Setter method for Conversation option properties. Option properties are all Conversation properties starting with OPT_ prefix. * @param propKey Conversation property key, for example: Conversation.OPT_JOINING_ENABLED

  Parameters:
    `value` - New value for the option property.

### setTopic

    public void setTopic(java.lang.String topic,
                         boolean isXml)

  Setter for Conversation class META_TOPIC. This topic will be set for remote participants as well. * @param topic New conversation topic.

  Parameters:
    `isXml` - Notifies remote UIs that the new topic contains xml tags.

### setGuidelines

    public void setGuidelines(java.lang.String guidelines,
                              boolean isXml)

  Setter for Conversation META_GUIDELINES. This property will be visible to remote participants of the conversation. * @param guidelines New value for the META_GUIDELINES property.

  Parameters:
    `isXml` - Set true to notify remote UIs that the new guideline contains XML tags.

### setPicture

    public void setPicture(byte[] jpeg)

  Sets the conversation's avatar to the specified JPEG image, which is propagated to both local and remote participants. Before calling this method, you should use Skype.ValidateAvatar to verify that jpeg references a valid JPEG image. * @param jpeg Conversation avatar binary.

### spawnConference

    public Conversation spawnConference(java.lang.String[] identitiesToAdd)

  When called from dialog conversation, this spawns a new conversation, with existing two dialog participants plus new contact identities given in the identitiesToAdd list. You do not need to add existing dialog participants to the string list. In fact, passing only the existing participants in the identities list will cause the method call to fail (return false), the same as if the list was empty. This method will also return false if the original conversation was not a dialog (contained more than two participants). Also note that this method always creates a new Conversation - even if a conversation with exactly the same participant list existed before. * @param identitiesToAdd String list of additional participant identities. You do not need to add existing two participants from the original dialog to this list.

  Returns:
    conference Returns the resulting conversation or 0 if the method call failed.

### addConsumers

    public void addConsumers(java.lang.String[] identities)

  Takes one or more Contact identities and creates corresponding Participant objects within the context of this Conversation, which must be of type CONFERENCE. If you have an existing dialog conversation, use SpawnConference instead. * @param identities Contact identities to be added to the Conversation.

### assimilate

    public Conversation assimilate(Conversation otherConversation)

  Merges two live conversations. For example, if the user already has a live conversation up - let's call it conversation A. Then a new incoming call occurs - another conversation obtains LOCAL_LIVESTATUS == Conversation.RINGING_FOR_ME, let's call it conversation B. The user wishes to pick up the new incoming call and add it to the existing one. For this you can first call B->JoinLiveSession and then merge two calls with A->Assimilate(B, A). The second argument will return the merged conversation. Note that there are actually three conversation objects involved: A (before merge), B and C (after the merge). Normally it would make sense to have the first conversation (A) as the second argument, so that it gets overwritten with the assimilation result. * @param otherConversation The new conversation to be merged with the one already in live state.

  Returns:
    conversation Returns a 3rd live conversation, result of merging two existing ones.

### joinLiveSession

    public void joinLiveSession(java.lang.String accessToken)

  starts, answers or joins a live session (first one to join becomes LIVE_HOST) * @param accessToken if starting a live session, allows to set a custom access token

### ringOthers

    public void ringOthers(java.lang.String[] identities,
                           boolean videoCall,
                           java.lang.String origin)

  This is an alternative to calling Ring method for each Participant individually. This also works with dialogs (with identities containing only one item). * @param identities List of Participants to ring. Leaving the list empty will result in ringing all participants of at least speaker level.

  Parameters:
    `videoCall` - If true, indicates that we want to do a video call (video still needs to be separately enabled)
    `origin` - When call is initiated from web link, this argument must contain the URI that was used

### muteMyMicrophone

    public void muteMyMicrophone()

  Sets VOICE_STATUS to LISTENING in the Participant instance associated with us, causing any input from our microphone to be ignored. This is a Conversation class method, rather than Participant class, because this only applies to local participant.

### unmuteMyMicrophone

    public void unmuteMyMicrophone()

  Sets VOICE_STATUS to SPEAKING in the Participant instance associated with us, causing any input from our microphone to be sent to the call host. This is a Conversation class method, rather than Participant class, because this only applies to local participant.

### holdMyLiveSession

    public void holdMyLiveSession()

  Puts the conversation on hold - Conversation LOCAL_LIVESTATUS changes to ON_HOLD_LOCALLY and to ON_HOLD_REMOTELY for remote participants.

### resumeMyLiveSession

    public void resumeMyLiveSession()

  Resumes call from local hold.

### leaveLiveSession

    public void leaveLiveSession(boolean postVoiceAutoresponse)

  Hang up or refuse to answer an incoming call. Set postVoiceAutoresponse to true to enable a caller to leave a voicemail message. * @param postVoiceAutoresponse

### startVoiceMessage

    public void startVoiceMessage()

  Begin recording a voice mail for this conversation's remote participant. Applies to conversations of type DIALOG only.

### transferLiveSession

    public void transferLiveSession(java.lang.String[] identities,
                                    java.lang.String transferTopic)

  This method is for doing call transfers. NB! Call transfers only work in one-on-one conversations (dialogs). Before attempting call transfer, you should check availability of transfer recipients with Conversation class CanTransferLiveSession method. If the current conversation has a live session up, that session (call) will be transferred to targets specified in the identities list. Note that identities is a string list - all identities in that list will get incoming calls. The first one of them to pick up the call - wins, and rest of the transfer targets will stop ringing. Let's take a closer look how this works in practice. We have three call participants involved in the process, and two separate conversations. Let there be three callers: Caller A (call originator), Caller B (transferor) and Caller C (recipient of transfer). - Caller A - calls Caller B; Caller B picks up the call - live conversation C1 is now up with A and B in it. - After awhile, Caller B initiates call transfers to Caller C (and optionally to Callers D, E, F.. ). LOCAL_LIVESTATUS of C1 will get set to TRANSFERRING for both A and B. - Caller C picks up the call. Conversation C1 will go off live status. For Caller B, conversation C1 LOCAL_LIVESTATUS will change to RECENTLY_LIVE. Another live conversation - C2 gets spawned, with Caller A and Caller C in it. For caller C, participant object representing caller A will have TRANSFERRED_BY property set to identity of caller A. For Caller B (in now no longer live conversation C1), participant object representing caller A gets its TRANSFERRED_TO property set to identity of caller C.

  Parameters:
    `identities` - String list of transfer target identities. As soon as first one in this list picks up the call, others will stop ringing.
    `transferTopic` - Optional conversation topic. This value will get set as META_TOPIC property of the conversation at the transferee end. Note that this is the only case where META_TOPIC field is used in context of dialog conversations. Thus assumption that remote UI will display topic field in case of dialogs may not be 100% correct.

### canTransferLiveSession

    public boolean canTransferLiveSession(java.lang.String identity)

  Checks if the identity is available for receiving a transferred live session. If you are going to attempt to go for multiple transfer targets, you should use this check for all the target identities. * @param identity Target identity.

  Returns:
    result Returns true if call transfer to given target is possible.

### sendDtmf

    public void sendDtmf(Participant.Dtmf dtmf,
                         int lengthInMs)

  Sends DTMF tone to a live conversation. * @param dtmf Outgoing dtmf tone, possible values come from Participant.DTMF enumerator.

  Parameters:
    `lengthInMs` - Duration in milliseconds. Defaults to 260 ms. Note that the DTMF tone can be also cancelled with Conversation.StopSendDTMF method.

### stopSendDtmf

    public void stopSendDtmf()

  Stops the current DTMF tone being played into conversation. For example, use this method to cancel DTMF signals started with Conversation.SendDTMF before the duration given in lengthInMS runs out.

### setMyTextStatusTo

    public void setMyTextStatusTo(Participant.TextStatus status)

  Sets local user typing indicator in the Conversation. Remote Participants can display these in their UI. * @param status Typing indicator status value - Participant.TEXT_STATUS

### postText

    public Message postText(java.lang.String text,
                            boolean isXml)

  Posts the specified text the conversation, and populates message with a reference to the corresponding Message object (if no error occurred during execution). The isXML argument can be used if the client UI has already taken care of converting message text to xml (for example, your UI might enable users to use bold tags in text messages.) * @param text Text value of the outgoing message (gets set as BODY_XML property of the Message object).

  Parameters:
    `isXml` - For cases where the text argument was already encoded as xml message. * @return message Returns the Message object created as a result of this method (if successful).

### postContacts

    public void postContacts(Contact[] contacts)

  Takes a list of Contacts as an argument and posts the list into the Conversation. The purpose of this feature is to enable sharing contacts between users, without resorting to contact search. Instead, if user A has contacts B and C, he can post contact C into chat with contact B. At this point, Contact B can add contact C to his contact list. From remote side, the posted contacts will appear as messages with type Message.POSTED_CONTACTS appearing in the conversation. The UI should allow adding these contacts from messages with this type into the contact list. The list of posted contacts can be retrieved with the Message.GetContacts method. Additionally, the UI then can parse the posted Contact data out of the Message.P_BODY_XML property. The list of contacts is wrapped between tags. Each contact item in the xml has following format: - t - contact type. "s" - skype contact; "p" - phone number; - s - skypename, present only in skypename contacts (t="s") - p - phone number, present only in phone number contacts (t="p") - f - contact's full name, if available - d - contact's display name, if available Note that only the type (t) field is mandatory. Depending on type, either skypename (s) or phone number (p) fields are always present. Full name and display name fields are optional. Example BODY_XML with skypname contact:

  Parameters:
    `contacts` - List of Contact objects, to be posted in the conversation.

### postFiles

    public Conversation.PostFilesResponse postFiles(java.lang.String[] paths,
                                                    java.lang.String body)

  Takes a list of fully-qualified filenames and initiates corresponding file transfers in the conversation. From the remote side, incoming file transfers will appear as a conversation message with type POSTED_FILES. Once such a message is detected, the list of file transfer objects can be retrieved with Message.GetTransfers. At that point, remote participants will need to accept or decline those transfers. * @param paths list of fully-qualified filenames to be transferred

  Parameters:
    `body` - Optional BODY_XML property for POSTED_FILES type messages that show up in remote UI.
  Returns:
    PostFilesResponse
    - errorCode Error code, possible values come from the TRANSFER_SENDFILE_ERROR enumerator. This will be set for the first failed fail. The failed file is identified in the error_file return argument.
    - errorFile Filename of the file that triggered error.

### postVoiceMessage

    public void postVoiceMessage(Voicemail voicemail,
                                 java.lang.String body)

  Stops the active voicemail recording and sends it (dialog only) * @param voicemail This argument is deprecated as of SDK version 3.2. Instead of manually constructing Voicemail object, you can call Conversation.StartVoiceMessage method to start recording a voicemail in context of a dialog. PostVoiceMessage will stop recording this voicemail and post it in the dialog. If instead of sending Voicemail, the user decides to cancel it, you should use Conversation.LeaveLiveSession method (Voicemail.Cancel is deprecated).

  Parameters:
    `body` - Optional text message that remote UI can display in conversation, to notify the user of a new voicemail.

### postSms

    public void postSms(Sms sms,
                        java.lang.String body)

  Takes an SMS instance created by Skype.CreateOutgoingSms and posts it in the conversation. Note that you will need to set both Sms body text (Sms.SetBody) and recipient list (Sms.SetTargets) before you can post the object. * @param sms SMS object.

  Parameters:
    `body` - This argument is currently ignored. The message text needs to be set with Sms.SetBody method, prior to passing the Sms object to this method

### getJoinBlob

    public java.lang.String getJoinBlob()

  Retrieves a binary join blob for joining public conversations, which are always of type CONFERENCE. If called for a dialog, the blob argument will contain the empty string. The best way to create a Public Chat is to first create a fresh conversation with Skype class CreateConference, then minimally apply the public chat options OPT_JOINING_ENABLED and OPT_ENTRY_LEVEL_RANK - options, like this (C++):

  Returns:
    blob Returns the public conversation join blob.

### join

    public void join()

  Tries to join a public conversation (aka public chat). This method is only useful if you have used Skype.GetConversationByBlob method with alsoJoin argument set to false.

### enterPassword

    public void enterPassword(java.lang.String password)

  Submits password for joining password-protected conversation. * @param password Password string.

### setPassword

    public void setPassword(java.lang.String password,
                            java.lang.String hint)

  Sets password protection/new password for the conversation. * @param password New password.

  Parameters:
    `hint` - Password hint.

### retireFrom

    public void retireFrom()

  Leaves the conference. Not applicable to dialogs.

### delete

    public void delete()

  Deletes this conversation, which must be of type CONFERENCE - dialogs between local user and any of his contacts are always persistant. Note that this also removes corresponding Message and Participant objects.

### renameTo

    public void renameTo(java.lang.String name)

  Changes the META_NAME property of the conversation. Note that unlike topic and guidelines, this rename is just local - remote participants can have their own private names for conversations. * @param name New name for the conversation. Passing an empty string in this argument causes the META_NAME to unset.

### setBookmark

    public void setBookmark(boolean bookmark)

  Setter for Conversation class IS_BOOKMARKED. * @param bookmark Set true to set the bookmark, false to remove the bookmark.

### setAlertString

    public void setAlertString(java.lang.String alertString)

  Setter for Conversation class ALERT_STRING property. The main use of this property is checking bodies of incoming messages in the conversation for the alert string and producing notifications in UI for the user, when appropriate. * @param alertString Substring to check in BODY_XML property of incoming messages.

### removeFromInbox

    public void removeFromInbox()

  Removes conversation from Inbox.

### addToInbox

    public void addToInbox(int timestamp)

  Sets Conversation inbox_timestamp property. If the timestamp argument is left empty or is greater than conversation consumption horizon, then the conversation will be restored to the inbox. * @param timestamp If left empty or set to 0, the inbox_timestamp property is set to current time.

### setConsumedHorizon

    public void setConsumedHorizon(int timestamp,
                                   boolean alsoUnconsume)

  This method can be used to set the consumption (read) status of messages in the conversation. It sets Message.CONSUMPTION_STATUS to Message.CONSUMED for all messages in the conversation, older than the given timestamp. If the second argument is set to true, it also modifies messages more recent than the timestamp, by marking them as unconsumed. * @param timestamp Consumption cutoff timestamp. Setting this to current time will mark all messages in the conversation as consumed.

  Parameters:
    `alsoUnconsume` - If set to true, this also marks messages newer than the cutoff timestamp as unconsumed. For example, setting timestamp to 0 and also_unconsumed to true, will unconsume all messages in the conversation.

### markUnread

    public void markUnread()

  sets consumption horizon to last inbox message id timestamp

### isMemberOf

    public boolean isMemberOf(ContactGroup group)

  Checks if the conversation is a member of the given ContactGroup * @param group ContactGroup

  Returns:
    result True if this conversation is a member of the ContactGroup specified by the group argument contains the conversation

### getParticipants

    public Participant[] getParticipants(Conversation.ParticipantFilter filter)

  Retrieves the list of this conversation's current participants, which you can optionally request to be filtered. If no Participants pass the filter, an empty list will be returned (the method itself still returns true). * @param filter Conversation.PARTICIPANTFILTER - defaults to Conversation.ALL

  Returns:
    participants List of conversation Participant objects that passed the filter.

### getLastMessages

    public Conversation.GetLastMessagesResponse getLastMessages(int requireTimestamp)

  Returns recent messages. The messages are returned in two lists - new messages (unconsumed) and recent message history (context messages). The context message list contains messages that are already above the consumption horizon but are fairly recent, making it likely that displaying them in UI would be good default behaviour. * @param requireTimestamp If set to a non-zero value, includes messages no earlier than this timestamp, if not, includes messages from the last 24 hours only

  Returns:
    GetLastMessagesResponse
    - contextMessages Already consumed messages, provided for context
    - unconsumedMessages Unconsumed messages

### findMessage

    public Message findMessage(java.lang.String text,
                               int fromTimestampUp)

  Finds the most recent Message object in the conversation that contains the substring specified by the text argument. If no matching messages are found, this method will return false. The search proceeds backwards in time, starting from the timestamp argument. To continue searching, you can start with timestamp=MAX_UINT, retrieve the TIMESTAMP property of the matching message, decrement it by one, and submit it as timestamp for the next FindMessage call. * @param text Substring to search for. * @param fromTimestampUp

  Returns:
    message Returns matching message or 0 if there was no match. As the likelihood of this object being invalid is quite high, you should always check for method return value before you start calling methods of this object.

### sidMultiGet

    public SidGetResponding sidMultiGet(Conversation.Property[] requested)

  generic multiget of a list of Property

  Parameters:
    `requested` - the list of requested properties of Conversation
  Returns:
    SidGetResponding

### sidMultiGet

    public static SidGetResponding[] sidMultiGet(Conversation.Property[] requested,
                                                 Conversation[] objects)

  generic multiget of list of Property for a list of Conversation

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

### mgetInfo

    public Conversation mgetInfo()

  multiget the following properties - P_DISPLAY_NAME - P_UNCONSUMED_NORMAL_MESSAGES - P_INBOX_TIMESTAMP

### mgetInfo

    public static Conversation[] mgetInfo(Conversation[] objects)

  multiget the following properties for a list of Conversation - P_DISPLAY_NAME - P_UNCONSUMED_NORMAL_MESSAGES - P_INBOX_TIMESTAMP

  Parameters:
    `objects` - targets of the request
  Returns:
    Conversation[] responses

### getIdentity

    public java.lang.String getIdentity()

  contact identity in case of dialogs, chat name in case of conferences

### getType

    public Conversation.Type getType()

  type of the conversation

### getLiveHost

    public java.lang.String getLiveHost()

  host of current live session. none => no session. myself in case of 1:1 calls

### getLiveStartTimestamp

    public int getLiveStartTimestamp()

  moment when first participant other than host joined the current or last live session

### getLiveIsMuted

    public boolean getLiveIsMuted()

  if live session is muted

### getAlertString

    public java.lang.String getAlertString()

  '' everything matches, '=' nothing matches, '=string' string matches

### getIsBookmarked

    public boolean getIsBookmarked()

  if conversation is bookmarked/flagged

### getGivenDisplayName

    public java.lang.String getGivenDisplayName()

  local name assigned via Rename

### getDisplayName

    public java.lang.String getDisplayName()

  resulting display name of the conversation (based on given name, topic, participant list, etc)

### getLocalLiveStatus

    public Conversation.LocalLiveStatus getLocalLiveStatus()

  if the conversation is live and in which status it is then

### getInboxTimestamp

    public int getInboxTimestamp()

  timestamp to sort the conversations in inbox by. 0 means not in inbox

### getInboxMessageId

    public Message getInboxMessageId()

  ID of the message that caused INBOX_TIMESTAMP to be set

### getUnconsumedSuppressedMessages

    public int getUnconsumedSuppressedMessages()

  number of messages in UNCONSUMED_SUPPRESSED consumption status

### getUnconsumedNormalMessages

    public int getUnconsumedNormalMessages()

  number of messages in UNCONSUMED_NORMAL consumption status

### getUnconsumedElevatedMessages

    public int getUnconsumedElevatedMessages()

  DEPRECATED, not set anymore

### getUnconsumedMessagesVoice

    public boolean getUnconsumedMessagesVoice()

  if there are unconsumed voice or call messages in the conversation

### getActiveVoicemail

    public Voicemail getActiveVoicemail()

  ID of voice message that is being played or recorded in this conversation

### getConsumptionHorizon

    public int getConsumptionHorizon()

  consumption cutoff timestamp: messages after (but not including) this are considered unconsumed

### getLastActivityTimestamp

    public int getLastActivityTimestamp()

  timestamp of last activity in conversation

### getSpawnedFromConvoId

    public Conversation getSpawnedFromConvoId()

  dialog this conference was spawned from

### getCreator

    public java.lang.String getCreator()

  identity of conversation creator (doesn't apply to dialogs)

### getCreationTimestamp

    public int getCreationTimestamp()

  timestamp of creation, tells you how far you can retrieve messages

### getMyStatus

    public Conversation.MyStatus getMyStatus()

  my status in this conversation (connecting, participating, retired, etc) (doesn't apply to dialogs)

### getOptJoiningEnabled

    public boolean getOptJoiningEnabled()

  if it's a public conversation (doesn't apply to dialogs)

### getOptEntryLevelRank

    public Participant.Rank getOptEntryLevelRank()

  rank that is auto-assigned at join (doesn't apply to dialogs)

### getOptDiscloseHistory

    public boolean getOptDiscloseHistory()

  if history visible to new consumers (doesn't apply to dialogs)

### getOptAdminOnlyActivities

    public int getOptAdminOnlyActivities()

  activities that only ADMIN can do. Bitmap of ALLOWED_ACTIVITY values (doesn't apply to dialogs)

### getPasswordHint

    public java.lang.String getPasswordHint()

  public conversation password hint, use SetPassword to set (doesn't apply to dialogs)

### getMetaName

    public java.lang.String getMetaName()

  deprecated, not used

### getMetaTopic

    public java.lang.String getMetaTopic()

  conversation topic (doesn't apply to dialogs)

### getMetaGuidelines

    public java.lang.String getMetaGuidelines()

  guidelines (doesn't apply to dialogs)

### getMetaPicture

    public byte[] getMetaPicture()

  conversation picture, in jpeg format (doesn't apply to dialogs)

### 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`

### sidGetBoolProperty

    public boolean sidGetBoolProperty(PropertyEnumConverting prop)

  Specified by:
    `sidGetBoolProperty` in interface `SidGetResponding`
  Overrides:
    `sidGetBoolProperty` 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(Conversation.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`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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