Avaya Client Services API Reference (Windows)
Avaya Client Services API Reference (Windows)
Avaya.ClientServices
Conversation Class
Conversation Properties
Conversation Methods
Conversation Events

# Conversation Class

Interface for all conversation related tasks and properties.
Inheritance Hierarchy
System
Object
Avaya.ClientServices
Conversation
Avaya.ClientServices
SearchConversation

Namespace: Avaya.ClientServices
Assembly: AvayaClientServices (in AvayaClientServices.dll) Version: 550.0.60.0
Syntax
C#
Copy

    public class Conversation

The Conversation type exposes the following members.

Properties

| Name | Description
--- | --- | ---
| ActiveParticipants | Gets a list of active participants contained in this conversation.
| AddParticipantsCapability | Returns a Capability object that indicates if new participants can be added to the conversation.
| ComposingParticipants | Gets a list of composing participants contained in this conversation.
| CreateMessageCapability | Returns a Capability object that indicates if a new message can be created in the conversation.
| HasAttachments | Returns true if the conversation has any attachments on any of its messages.
| HasUnreadAttachments | Returns true if the conversation has any unread attachments.
| HasUnreadMessages | Returns true if the conversation has any unread messages.
| HasUnreadMessagesSinceLastAccess | Returns whether the conversation has unread messages since the time the conversation was last accessed.
| Id | Returns the unique conversation identifier.
| IsActive | Returns true if the conversation is active.
| IsClosed | Returns true if the conversation is closed.
| IsMultiParty | Returns the multi-party status of the conversation. A conversation is considered to be a multi-party conversation if there are more than two active participants in the conversation.
| IsPrivate | Returns true if the conversation is private (i.e. the Sensitivity of the conversation is set to Private.
| IsTypingCapability | Returns a Capability object that indicates if typing status reporting is available.
| LastAccessedTime | Returns the time the conversation was last accessed.
| LastEntryTime | Returns the last entry timestamp of the conversation. This is the timestamp of the most recent message in the conversation.
| LastUpdatedByParticipant | Returns the last participant that updated this conversation.
| LastUpdatedTime | Returns the time the conversation was last updated.
| LeaveCapability | Returns a Capability object that indicates if the conversation can be left.
| MarkAllContentAsReadCapability | Returns a Capability object that indicates if all messages in the conversation can be marked as read.
| MessageDeliveryStateCapability | Returns a Capability indicating whether this conversation is capable of reporting delivery state updates for sent messages.
| MessageReadStateCapability | Returns a Capability indicating whether this conversation is capable of reporting read state updates for sent messages.
| OlderContentCapability | Returns a Capability object that indicates whether the user can "scroll to get more messages", i.e. there are additional messages not yet downloaded from the server.
| Participants | Gets a list of participants contained in this conversation.
| PreviewText | Returns the preview text of the conversation.
| ProviderConversationId | Returns the conversation ID from the underlying provider (e.g., the AMM server) as-is. It will be consistent across clients and application launches, but is only guaranteed to be unique for conversations of that provider type. It will be empty for draft conversation.
| ProviderType | Gets a provider type for the conversation.
| RemoveCapability | Returns a Capability object that indicates if the conversation can be removed.
| RemoveParticipantCapability | Returns a Capability object that indicates if a participant can be removed from the conversation.
| RemoveParticipantsCapability | Returns a Capability object that indicates if participants can be removed from the conversation.
| Sensitivity | Returns the sensitivity of the conversation.
| StartCapability | Returns a Capability object that indicates if the conversation can be started.
| Status | Returns the server reconciled status of the conversation.
| Subject | Returns the subject of the conversation if one is provided by the server.
| TotalAttachmentCount | Returns the total number of attachments in all messages of the conversation.
| TotalMessageCount | Returns the total number of messages in the conversation.
| Type | Returns the conversation type.
| UnreadAttachmentCount | Returns the total number of unread attachments in all messages of the conversation.
| UnreadMessageCount | Returns the number of unread messages in the conversation.
| UpdateLastAccessTimeCapability | Returns a Capability object that indicates if the last accessed time of the conversation can be updated.
| UpdateSensitivityCapability | Returns a Capability object that indicates if the sensitivity of the conversation can be updated.
| UpdateSubjectCapability | Returns a Capability object that indicates if the subject property of the conversation can be updated.
| UpdateTypeCapability | Returns a Capability object that indicates if the type of the conversation can be updated.

Top
Methods

| Name | Description
--- | --- | ---
| AddParticipant | Invokes an add participant request for this conversation for contact object.
| AddParticipantAddresses | Invokes an add participant request for this conversation for given contact.
| ClearLocalAttachmentData | Clear conversation local attachment data.
| CreateMessage | Creates a new Message in this conversation.
| IsParticipantActive | Returns true if a specified participant is active in this conversation.
| Leave | Invokes a leave request for this conversation.
| MarkAllContentAsRead | Marks all content in this conversation as read.
| RemoveMessage | Removes a Message (only draft messages can be removed).
| RemoveParticipant | Invokes a remove participant request for this conversation.
| RemoveParticipantAddresses | Invokes a remove participant request for this conversation for each of the provided addresses.
| RetrieveMessages | Starts the retrieval of messages associated with this conversation. This initial retrieval represents the most recent messages in the conversation and is limited to a maximum number that is specified by the messaging server. This is not necessarily the entire historical message content of the conversation.
| RetrieveMessagesAfter | Retrieves a list of the conversation messages after the specified message. This list represents a list of contiguous messages which have been, or are being, downloaded.
| RetrieveMessagesBefore | Retrieves a list of the conversation messages before the specified message. This list represents a list of contiguous messages which have been, or are being, downloaded.
| SetLastAccessTime | Invokes a set last access time request for this conversation.
| SetSensitivity | Sets the conversation sensitivity.
| SetSubject | Sets the subject for this conversation.
| SetType | Sets the conversation type.
| Start | Invokes a start request for this conversation.

Top
Events

| Name | Description
--- | --- | ---
| ActiveStatusChanged | Notifies the application that the conversation's active status has changed in response to a local or remote operation.
| ClosedStatusChanged | Notifies the application that the conversation's closed status has changed in response to a local or remote operation.
| ComposingParticipantsChanged | Occurs when the list of remote participants that are currently composing a message is changed.
| ConversationCapabilitiesChanged | Notifies the application that one or more of the capabilities of the conversation has changed. The application should query each of the capabilities and enable/disable elements of the user interface based on the new capability settings. Capabilities can change as a result of local or remote actions.
| LastAccessTimeChanged | Notifies the application that the last accessed time of the conversation has changed in response to messages in the conversation being marked as read, or by an explicit invocation of the SetLastAccessTime(Conversation CompletionHandler) method.
| LastEntryTimeChanged | Notifies the application that the last entry time of the conversation has changed in response to new messages being added to the conversation.
| LastUpdateTimeChanged | Notifies the application that the last updated time of the conversation has changed.
| MessagesAdded | Notifies the application that one or more messages have been added to the conversation.
| MessagesDeleted | Notifies the application that one or more messages have been removed from the conversation.
| MultiPartyStatusChanged | Notifies the application that the conversation's multi-party status has changed in response to new participants being added or existing participants being removed.
| ParticipantsAdded | Notifies the application that one or more participants have been added to the conversation.
| ParticipantsRemoved | Notifies the application that one or more participants have been removed from the conversation.
| PreviewTextChanged | Notifies the application that the preview text for the conversation has changed.
| SensitivityChanged | Notifies the application that the sensitivity of the conversation has changed via either a local or remote operation.
| StatusChanged | Notifies the application that the status of the conversation has changed.
| SubjectChanged | Notifies the application that the subject of the conversation has changed via either a local or remote operation.
| TotalAttachmentCountChanged | Notifies the application that the total number of attachments in the conversation has changed.
| TotalMessageCountChanged | Notifies the application that the total number of messages in the conversation has changed.
| TotalUnreadAttachmentCountChanged | Notifies the application that the total number of unread attachments in the conversation has changed.
| TotalUnreadMessageCountChanged | Notifies the application that the number of unread messages in the conversation has changed.

Top
Remarks

A conversation is managing a list of messages which are sent between its participants.

Beside messages, a conversation also contains a lot of its own parameters. Almost all of them can be set only before it is published. After that, one can only send a message, add a new participant, change subject, etc.

It is important to understand that all conversation participants have the same privileges. Once the first user starts a conversation it cannot be closed by that user; every user can leave only by themselves, and add new participants as desired.

After creating new conversation object call AddParticipantAddresses() method for adding new participants. Before sending first message set all other required parameters, like Subject and call Start() method.

After sending the first message, the conversation becomes visible to other users.

See Also

#### Reference

Avaya.ClientServices Namespace

© 2017 Avaya LLC. All Rights Reserved.