• Api Documentation
Show / Hide Table of Contents
  • Linphone
    • Account
    • AccountCreator
    • AccountCreatorActivationCodeStatus
    • AccountCreatorAlgoStatus
    • AccountCreatorBackend
    • AccountCreatorDomainStatus
    • AccountCreatorEmailStatus
    • AccountCreatorLanguageStatus
    • AccountCreatorListener
    • AccountCreatorListener.OnAccountCreationRequestTokenDelegate
    • AccountCreatorListener.OnAccountCreationTokenUsingRequestTokenDelegate
    • AccountCreatorListener.OnActivateAccountDelegate
    • AccountCreatorListener.OnActivateAliasDelegate
    • AccountCreatorListener.OnCreateAccountDelegate
    • AccountCreatorListener.OnIsAccountActivatedDelegate
    • AccountCreatorListener.OnIsAccountExistDelegate
    • AccountCreatorListener.OnIsAccountLinkedDelegate
    • AccountCreatorListener.OnIsAliasUsedDelegate
    • AccountCreatorListener.OnLinkAccountDelegate
    • AccountCreatorListener.OnLoginLinphoneAccountDelegate
    • AccountCreatorListener.OnRecoverAccountDelegate
    • AccountCreatorListener.OnSendTokenDelegate
    • AccountCreatorListener.OnUpdateAccountDelegate
    • AccountCreatorPasswordStatus
    • AccountCreatorPhoneNumberStatus
    • AccountCreatorStatus
    • AccountCreatorTransportStatus
    • AccountCreatorUsernameStatus
    • AccountDevice
    • AccountListener
    • AccountListener.OnConferenceInformationUpdatedDelegate
    • AccountListener.OnMessageWaitingIndicationChangedDelegate
    • AccountListener.OnRegistrationStateChangedDelegate
    • AccountManagerServices
    • AccountManagerServicesRequest
    • AccountManagerServicesRequestListener
    • AccountManagerServicesRequestListener.OnDevicesListFetchedDelegate
    • AccountManagerServicesRequestListener.OnRequestErrorDelegate
    • AccountManagerServicesRequestListener.OnRequestSuccessfulDelegate
    • AccountManagerServicesRequestType
    • AccountParams
    • Address
    • AddressFamily
    • Alert
    • AlertListener
    • AlertListener.OnTerminatedDelegate
    • AlertType
    • AudioDevice
    • AudioDeviceCapabilities
    • AudioDeviceType
    • AuthInfo
    • AuthMethod
    • AVPFMode
    • BaudotMode
    • BaudotStandard
    • BearerToken
    • Buffer
    • Call
    • CallDir
    • CallListener
    • CallListener.OnAckProcessingDelegate
    • CallListener.OnAudioDeviceChangedDelegate
    • CallListener.OnAuthenticationTokenVerifiedDelegate
    • CallListener.OnBaudotDetectedDelegate
    • CallListener.OnCameraNotWorkingDelegate
    • CallListener.OnDtmfReceivedDelegate
    • CallListener.OnEncryptionChangedDelegate
    • CallListener.OnGoclearAckSentDelegate
    • CallListener.OnInfoMessageReceivedDelegate
    • CallListener.OnNextVideoFrameDecodedDelegate
    • CallListener.OnReceiveMasterKeyChangedDelegate
    • CallListener.OnReferRequestedDelegate
    • CallListener.OnRemoteRecordingDelegate
    • CallListener.OnSecurityLevelDowngradedDelegate
    • CallListener.OnSendMasterKeyChangedDelegate
    • CallListener.OnSnapshotTakenDelegate
    • CallListener.OnStateChangedDelegate
    • CallListener.OnStatsUpdatedDelegate
    • CallListener.OnTmmbrReceivedDelegate
    • CallListener.OnTransferStateChangedDelegate
    • CallListener.OnVideoDisplayErrorOccurredDelegate
    • CallLog
    • CallParams
    • CallState
    • CallStats
    • CallStatus
    • CardDavParams
    • ChatMessage
    • ChatMessageDirection
    • ChatMessageListener
    • ChatMessageListener.OnEphemeralMessageDeletedDelegate
    • ChatMessageListener.OnEphemeralMessageTimerStartedDelegate
    • ChatMessageListener.OnFileTransferProgressIndicationDelegate
    • ChatMessageListener.OnFileTransferRecvDelegate
    • ChatMessageListener.OnFileTransferSendChunkDelegate
    • ChatMessageListener.OnFileTransferSendDelegate
    • ChatMessageListener.OnFileTransferTerminatedDelegate
    • ChatMessageListener.OnMsgStateChangedDelegate
    • ChatMessageListener.OnNewMessageReactionDelegate
    • ChatMessageListener.OnParticipantImdnStateChangedDelegate
    • ChatMessageListener.OnReactionRemovedDelegate
    • ChatMessageReaction
    • ChatMessageState
    • ChatParams
    • ChatRoom
    • ChatRoomBackend
    • ChatRoomCapabilities
    • ChatRoomEncryptionBackend
    • ChatRoomEphemeralMode
    • ChatRoomHistoryFilter
    • ChatRoomListener
    • ChatRoomListener.OnChatMessageParticipantImdnStateChangedDelegate
    • ChatRoomListener.OnChatMessageReceivedDelegate
    • ChatRoomListener.OnChatMessageSendingDelegate
    • ChatRoomListener.OnChatMessageSentDelegate
    • ChatRoomListener.OnChatMessageShouldBeStoredDelegate
    • ChatRoomListener.OnChatMessagesReceivedDelegate
    • ChatRoomListener.OnChatRoomReadDelegate
    • ChatRoomListener.OnConferenceAddressGenerationDelegate
    • ChatRoomListener.OnConferenceJoinedDelegate
    • ChatRoomListener.OnConferenceLeftDelegate
    • ChatRoomListener.OnEphemeralEventDelegate
    • ChatRoomListener.OnEphemeralMessageDeletedDelegate
    • ChatRoomListener.OnEphemeralMessageTimerStartedDelegate
    • ChatRoomListener.OnIsComposingReceivedDelegate
    • ChatRoomListener.OnMessageReceivedDelegate
    • ChatRoomListener.OnMessagesReceivedDelegate
    • ChatRoomListener.OnNewEventDelegate
    • ChatRoomListener.OnNewEventsDelegate
    • ChatRoomListener.OnNewMessageReactionDelegate
    • ChatRoomListener.OnParticipantAddedDelegate
    • ChatRoomListener.OnParticipantAdminStatusChangedDelegate
    • ChatRoomListener.OnParticipantDeviceAddedDelegate
    • ChatRoomListener.OnParticipantDeviceMediaAvailabilityChangedDelegate
    • ChatRoomListener.OnParticipantDeviceRemovedDelegate
    • ChatRoomListener.OnParticipantDeviceStateChangedDelegate
    • ChatRoomListener.OnParticipantRegistrationSubscriptionRequestedDelegate
    • ChatRoomListener.OnParticipantRegistrationUnsubscriptionRequestedDelegate
    • ChatRoomListener.OnParticipantRemovedDelegate
    • ChatRoomListener.OnSecurityEventDelegate
    • ChatRoomListener.OnStateChangedDelegate
    • ChatRoomListener.OnSubjectChangedDelegate
    • ChatRoomListener.OnUndecryptableMessageReceivedDelegate
    • ChatRoomParams
    • ChatRoomSecurityLevel
    • ChatRoomState
    • CodecPriorityPolicy
    • Conference
    • ConferenceInfo
    • ConferenceInfoState
    • ConferenceJoiningMode
    • ConferenceLayout
    • ConferenceListener
    • ConferenceListener.OnActiveSpeakerParticipantDeviceDelegate
    • ConferenceListener.OnAllowedParticipantListChangedDelegate
    • ConferenceListener.OnAudioDeviceChangedDelegate
    • ConferenceListener.OnAvailableMediaChangedDelegate
    • ConferenceListener.OnFullStateReceivedDelegate
    • ConferenceListener.OnParticipantAddedDelegate
    • ConferenceListener.OnParticipantAdminStatusChangedDelegate
    • ConferenceListener.OnParticipantDeviceAddedDelegate
    • ConferenceListener.OnParticipantDeviceIsMutedDelegate
    • ConferenceListener.OnParticipantDeviceIsSpeakingChangedDelegate
    • ConferenceListener.OnParticipantDeviceJoiningRequestDelegate
    • ConferenceListener.OnParticipantDeviceMediaAvailabilityChangedDelegate
    • ConferenceListener.OnParticipantDeviceMediaCapabilityChangedDelegate
    • ConferenceListener.OnParticipantDeviceRemovedDelegate
    • ConferenceListener.OnParticipantDeviceScreenSharingChangedDelegate
    • ConferenceListener.OnParticipantDeviceStateChangedDelegate
    • ConferenceListener.OnParticipantRemovedDelegate
    • ConferenceListener.OnParticipantRoleChangedDelegate
    • ConferenceListener.OnStateChangedDelegate
    • ConferenceListener.OnSubjectChangedDelegate
    • ConferenceParams
    • ConferenceParticipantListType
    • ConferenceScheduler
    • ConferenceSchedulerListener
    • ConferenceSchedulerListener.OnInvitationsSentDelegate
    • ConferenceSchedulerListener.OnStateChangedDelegate
    • ConferenceSchedulerState
    • ConferenceSchedulerType
    • ConferenceSecurityLevel
    • ConferenceState
    • Config
    • ConfiguringState
    • ConsolidatedPresence
    • Content
    • Core
    • Core.MSOglContextInfo
    • CoreListener
    • CoreListener.OnAccountAddedDelegate
    • CoreListener.OnAccountRegistrationStateChangedDelegate
    • CoreListener.OnAccountRemovedDelegate
    • CoreListener.OnAudioDeviceChangedDelegate
    • CoreListener.OnAudioDevicesListUpdatedDelegate
    • CoreListener.OnAuthenticationRequestedDelegate
    • CoreListener.OnBuddyInfoUpdatedDelegate
    • CoreListener.OnCallCreatedDelegate
    • CoreListener.OnCallEncryptionChangedDelegate
    • CoreListener.OnCallGoclearAckSentDelegate
    • CoreListener.OnCallIdUpdatedDelegate
    • CoreListener.OnCallLogUpdatedDelegate
    • CoreListener.OnCallReceiveMasterKeyChangedDelegate
    • CoreListener.OnCallSendMasterKeyChangedDelegate
    • CoreListener.OnCallStateChangedDelegate
    • CoreListener.OnCallStatsUpdatedDelegate
    • CoreListener.OnChatRoomEphemeralMessageDeletedDelegate
    • CoreListener.OnChatRoomReadDelegate
    • CoreListener.OnChatRoomSessionStateChangedDelegate
    • CoreListener.OnChatRoomStateChangedDelegate
    • CoreListener.OnChatRoomSubjectChangedDelegate
    • CoreListener.OnConferenceInfoReceivedDelegate
    • CoreListener.OnConferenceStateChangedDelegate
    • CoreListener.OnConfiguringStatusDelegate
    • CoreListener.OnDefaultAccountChangedDelegate
    • CoreListener.OnDtmfReceivedDelegate
    • CoreListener.OnEcCalibrationAudioInitDelegate
    • CoreListener.OnEcCalibrationAudioUninitDelegate
    • CoreListener.OnEcCalibrationResultDelegate
    • CoreListener.OnFirstCallStartedDelegate
    • CoreListener.OnFriendListCreatedDelegate
    • CoreListener.OnFriendListRemovedDelegate
    • CoreListener.OnGlobalStateChangedDelegate
    • CoreListener.OnImeeUserRegistrationDelegate
    • CoreListener.OnInfoReceivedDelegate
    • CoreListener.OnIsComposingReceivedDelegate
    • CoreListener.OnLastCallEndedDelegate
    • CoreListener.OnLogCollectionUploadProgressIndicationDelegate
    • CoreListener.OnLogCollectionUploadStateChangedDelegate
    • CoreListener.OnMessageReceivedDelegate
    • CoreListener.OnMessageReceivedUnableDecryptDelegate
    • CoreListener.OnMessageSentDelegate
    • CoreListener.OnMessagesReceivedDelegate
    • CoreListener.OnMessageWaitingIndicationChangedDelegate
    • CoreListener.OnNetworkReachableDelegate
    • CoreListener.OnNewAlertTriggeredDelegate
    • CoreListener.OnNewMessageReactionDelegate
    • CoreListener.OnNewSubscriptionRequestedDelegate
    • CoreListener.OnNotifyPresenceReceivedDelegate
    • CoreListener.OnNotifyPresenceReceivedForUriOrTelDelegate
    • CoreListener.OnNotifyReceivedDelegate
    • CoreListener.OnNotifySentDelegate
    • CoreListener.OnPreviewDisplayErrorOccurredDelegate
    • CoreListener.OnPublishReceivedDelegate
    • CoreListener.OnPublishStateChangedDelegate
    • CoreListener.OnPushNotificationReceivedDelegate
    • CoreListener.OnQrcodeFoundDelegate
    • CoreListener.OnReactionRemovedDelegate
    • CoreListener.OnReferReceivedDelegate
    • CoreListener.OnRegistrationStateChangedDelegate
    • CoreListener.OnRemainingNumberOfFileTransferChangedDelegate
    • CoreListener.OnSnapshotTakenDelegate
    • CoreListener.OnSubscribeReceivedDelegate
    • CoreListener.OnSubscriptionStateChangedDelegate
    • CoreListener.OnTransferStateChangedDelegate
    • CoreListener.OnVersionUpdateCheckResultReceivedDelegate
    • CoreLogCollectionUploadState
    • DialPlan
    • Dictionary
    • DigestAuthenticationPolicy
    • EcCalibratorStatus
    • EktInfo
    • ErrorInfo
    • Event
    • EventListener
    • EventListener.OnNotifyReceivedDelegate
    • EventListener.OnNotifyResponseDelegate
    • EventListener.OnPublishReceivedDelegate
    • EventListener.OnPublishStateChangedDelegate
    • EventListener.OnSubscribeReceivedDelegate
    • EventListener.OnSubscribeStateChangedDelegate
    • EventLog
    • EventLogType
    • Factory
    • Friend
    • FriendCapability
    • FriendDevice
    • FriendList
    • FriendListener
    • FriendListener.OnPresenceReceivedDelegate
    • FriendListListener
    • FriendListListener.OnContactCreatedDelegate
    • FriendListListener.OnContactDeletedDelegate
    • FriendListListener.OnContactUpdatedDelegate
    • FriendListListener.OnNewSipAddressDiscoveredDelegate
    • FriendListListener.OnPresenceReceivedDelegate
    • FriendListListener.OnSyncStatusChangedDelegate
    • FriendListStatus
    • FriendListSyncStatus
    • FriendListType
    • FriendPhoneNumber
    • GlobalState
    • Headers
    • IceState
    • ImNotifPolicy
    • InfoMessage
    • Ldap
    • LdapAuthMethod
    • LdapCertVerificationMode
    • LdapCheck
    • LdapDebugLevel
    • LdapParams
    • LimeState
    • LinphoneException
    • LinphoneObject
    • LinphoneWrapper
    • LogCollectionState
    • LoggingService
    • LoggingServiceListener
    • LoggingServiceListener.OnLogMessageWrittenDelegate
    • LogLevel
    • MagicSearch
    • MagicSearchAggregation
    • MagicSearchListener
    • MagicSearchListener.OnLdapHaveMoreResultsDelegate
    • MagicSearchListener.OnMoreResultsAvailableDelegate
    • MagicSearchListener.OnSearchResultsReceivedDelegate
    • MagicSearchSource
    • MediaDirection
    • MediaEncryption
    • MediaFileFormat
    • MediaResourceMode
    • MediastreamerFactory
    • MessageWaitingIndication
    • MessageWaitingIndicationContextClass
    • MessageWaitingIndicationSummary
    • NatPolicy
    • Participant
    • ParticipantDevice
    • ParticipantDeviceDisconnectionMethod
    • ParticipantDeviceIdentity
    • ParticipantDeviceJoiningMethod
    • ParticipantDeviceListener
    • ParticipantDeviceListener.OnIsMutedDelegate
    • ParticipantDeviceListener.OnIsSpeakingChangedDelegate
    • ParticipantDeviceListener.OnScreenSharingChangedDelegate
    • ParticipantDeviceListener.OnStateChangedDelegate
    • ParticipantDeviceListener.OnStreamAvailabilityChangedDelegate
    • ParticipantDeviceListener.OnStreamCapabilityChangedDelegate
    • ParticipantDeviceListener.OnThumbnailStreamAvailabilityChangedDelegate
    • ParticipantDeviceListener.OnThumbnailStreamCapabilityChangedDelegate
    • ParticipantDeviceListener.OnVideoDisplayErrorOccurredDelegate
    • ParticipantDeviceState
    • ParticipantImdnState
    • ParticipantInfo
    • ParticipantRole
    • PayloadType
    • Player
    • PlayerListener
    • PlayerListener.OnEofReachedDelegate
    • PlayerState
    • PresenceActivity
    • PresenceActivityType
    • PresenceBasicStatus
    • PresenceModel
    • PresenceNote
    • PresencePerson
    • PresenceService
    • Privacy
    • ProxyConfig
    • PublishState
    • PushNotificationConfig
    • PushNotificationMessage
    • Range
    • Reason
    • Recorder
    • RecorderParams
    • RecorderState
    • RegistrationState
    • RemoteContactDirectory
    • RemoteContactDirectoryType
    • SearchDirection
    • SearchResult
    • SecurityEventType
    • SecurityLevel
    • SessionExpiresRefresher
    • SignalInformation
    • SignalStrengthUnit
    • SignalType
    • SrtpSuite
    • StreamType
    • SubscribePolicy
    • SubscriptionDir
    • SubscriptionState
    • SupportLevel
    • ToneID
    • Transports
    • TransportType
    • Tunnel
    • TunnelConfig
    • TunnelMode
    • UpnpState
    • Vcard
    • VersionUpdateCheckResult
    • VideoActivationPolicy
    • VideoDefinition
    • VideoSourceDescriptor
    • VideoSourceScreenSharingType
    • VideoSourceType
    • XmlRpcArgType
    • XmlRpcRequest
    • XmlRpcRequestListener
    • XmlRpcRequestListener.OnResponseDelegate
    • XmlRpcSession
    • XmlRpcStatus
    • ZrtpKeyAgreement
    • ZrtpPeerStatus

Class ChatRoom

A chat room is the place where Linphone.ChatMessage are exchanged.

To create (or find) a Linphone.ChatRoom, you first need a Linphone.ChatRoomParams object. A chat room is uniquely identified by it's local and remote SIP addresses, meaning you can only have one chat room between two accounts (unless the backend is Linphone.ChatRoomBackend.FlexisipChat). Then you can call Linphone.Core.SearchChatRoom() or Linphone.Core.CreateChatRoom(). Be careful as a Linphone.ChatRoomBackend.FlexisipChat backend Linphone.ChatRoom will be created asynchronously, so make sure you add a Linphone.ChatRoomListener to the returned object to be notified when it will be in state Linphone.ChatRoomState.Created. All chat rooms are loaded from database when the Linphone.Core starts, and you can get them using Linphone.Core.ChatRooms. This method doesn't return empty chat rooms nor ones for which the local address doesn't match an existing Linphone.Account identity, unless you specify otherwise in the [misc] section of your configuration file by setting hide_empty_chat_rooms=0 and/or hide_chat_rooms_from_removed_proxies=0.

Inheritance
System.Object
LinphoneObject
ChatRoom
Inherited Members
LinphoneObject.linphone_pointer_to_string(IntPtr)
LinphoneObject.linphone_string_to_pointer(String)
LinphoneObject.StringArrayToBctbxList(IEnumerable<String>)
LinphoneObject.CleanStringArrayPtrs(IntPtr)
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Linphone
Assembly: cs.temp.dll.dll
Syntax
public class ChatRoom : LinphoneObject

Properties

Call

Gets the current call associated to this chatroom if any To commit a message, use Linphone.ChatMessage.Send()

Declaration
public Call Call { get; }
Property Value
Type Description
Call

Linphone.Call or null.

Capabilities

Gets the capabilities of a chat room.

Declaration
public uint Capabilities { get; }
Property Value
Type Description
System.UInt32

The capabilities of the chat room (as a LinphoneChatRoomCapabilitiesMask)

Char

When realtime text is enabled in a Linphone.Call (see Linphone.CallParams.RealtimeTextEnabled()), LinphoneCoreIsComposingReceivedCb is called everytime a Real-Time Text character is received from peer.

Linphone.ChatRoom.Char pops a character previously received from the receive queue, and returns it. When a new line character is received, a Linphone.ChatMessage is automatically created with received characters and notified to the application through the Linphone.CoreListener or Linphone.ChatRoomListener interfaces.

Declaration
public uint Char { get; }
Property Value
Type Description
System.UInt32

RFC 4103/T.140 char

ComposingAddresses

Gets the list of participants that are currently composing.

Declaration
public IEnumerable<Address> ComposingAddresses { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Address>

List of addresses that are in the is_composing state.

ConferenceAddress

Gets the conference address of the chat room.

Declaration
public Address ConferenceAddress { get; set; }
Property Value
Type Description
Address

The conference address of the chat room or null if this type of chat room is not conference based.

ConferenceInfo

Gets the conference information associated to the chatroom.

Declaration
public ConferenceInfo ConferenceInfo { get; }
Property Value
Type Description
ConferenceInfo

the Linphone.ConferenceInfo.

Core

Returns back pointer to Linphone.Core object.

Declaration
public Core Core { get; }
Property Value
Type Description
Core

the Linphone.Core object this chat room is attached to.

CreationTime

Returns the creation time for the chat room.

Declaration
public long CreationTime { get; }
Property Value
Type Description
System.Int64

the time at which the chat room was created

CurrentParams

Returns current parameters associated with the chat room.

This is typically the parameters passed at chat room chat_roomeation to linphone_core_chat_roomeate_chat_room() or some default parameters if no Linphone.ChatRoomParams was explicitely passed during chat room chat_roomeation.

Declaration
public ChatRoomParams CurrentParams { get; }
Property Value
Type Description
ChatRoomParams

the current Linphone.ChatRoomParams parameters.

DocumentContents

Gets all contents for which content-type starts with either text/ or application/.

Declaration
public IEnumerable<Content> DocumentContents { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Content>

A list of contents considered as "document".

EphemeralEnabled

Returns whether or not the ephemeral message feature is enabled in the chat room.

Declaration
public bool EphemeralEnabled { get; set; }
Property Value
Type Description
System.Boolean

true if ephemeral is enabled, false otherwise.

EphemeralLifetime

Gets lifetime (in seconds) for all new ephemeral messages in the chat room.

After the message is read, it will be deleted after "time" seconds.

Declaration
public int EphemeralLifetime { get; set; }
Property Value
Type Description
System.Int32

the ephemeral lifetime (in secoonds)

Remarks

See : Linphone.ChatRoom.EphemeralEnabled()

EphemeralMode

Gets the ephemeral mode of the chat room.

Declaration
public ChatRoomEphemeralMode EphemeralMode { get; set; }
Property Value
Type Description
ChatRoomEphemeralMode

the ephemeral mode Linphone.ChatRoomEphemeralMode

Remarks

See : Linphone.ChatRoom.EphemeralEnabled()

HistoryEventsSize

Gets the number of events in a chat room.

Declaration
public int HistoryEventsSize { get; }
Property Value
Type Description
System.Int32

the number of events.

HistorySize

Gets the number of messages in a chat room.

Declaration
public int HistorySize { get; }
Property Value
Type Description
System.Int32

the number of messages.

IsEmpty

Returns whether or not a Linphone.ChatRoom has at least one Linphone.ChatMessage or not.

Declaration
public bool IsEmpty { get; }
Property Value
Type Description
System.Boolean

true if there are no Linphone.ChatMessage, false otherwise.

IsReadOnly

Returns whether or not a message can be sent using this chat room.

A chat room may be read only until it's created, or when it's a group you have left.

Declaration
public bool IsReadOnly { get; }
Property Value
Type Description
System.Boolean

true if a chat message can't be sent in it, false otherwise.

IsRemoteComposing

Tells whether the remote is currently composing a message.

Declaration
public bool IsRemoteComposing { get; }
Property Value
Type Description
System.Boolean

true if the remote is currently composing a message, false otherwise.

LastMessageInHistory

Gets the last chat message sent or received in this chat room.

Declaration
public ChatMessage LastMessageInHistory { get; }
Property Value
Type Description
ChatMessage

the latest Linphone.ChatMessage or null if no message.

LastUpdateTime

Returns the last updated time for the chat room.

Declaration
public long LastUpdateTime { get; }
Property Value
Type Description
System.Int64

the last updated time

Listener

Declaration
public ChatRoomListener Listener { get; set; }
Property Value
Type Description
ChatRoomListener

LocalAddress

Get the local address associated to this chat room.

Declaration
public Address LocalAddress { get; }
Property Value
Type Description
Address

The local address.

Remarks

Warning : This method returns a guessed address based on the me participant if the ChatRoom is in the Instantiated state

Me

Gets the participant representing myself in the chat room.

Declaration
public Participant Me { get; }
Property Value
Type Description
Participant

The participant representing myself in the conference or null if me is not set.

MediaContents

Gets all contents for which content-type starts with either video/, audio/ or image/.

Declaration
public IEnumerable<Content> MediaContents { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Content>

A list of contents considered as "media".

Muted

Gets if a chat room has been flagged as muted (not by default).

A muted chat room isn't used to compute unread messages total count.

Declaration
public bool Muted { get; set; }
Property Value
Type Description
System.Boolean

true if the chat room is muted, false otherwise.

NbParticipants

Gets the number of participants in the chat room (that is without ourselves).

Declaration
public int NbParticipants { get; }
Property Value
Type Description
System.Int32

The number of participants in the chat room

Participants

Gets the list of participants of a chat room.

Declaration
public IEnumerable<Participant> Participants { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Participant>

A of the participants

PeerAddress

Get the peer address associated to this chat room.

Declaration
public Address PeerAddress { get; }
Property Value
Type Description
Address

The peer address.

Remarks

Warning : This method returns an invalid address if the ChatRoom is in the Instantiated state

SecurityLevel

Gets the security level of a chat room.

Declaration
public ChatRoomSecurityLevel SecurityLevel { get; }
Property Value
Type Description
ChatRoomSecurityLevel

The current Linphone.ChatRoomSecurityLevel of the chat room

State

Gets the state of the chat room.

Declaration
public ChatRoomState State { get; }
Property Value
Type Description
ChatRoomState

The current Linphone.ChatRoomState of the chat room

Subject

Gets the subject of a chat room.

Declaration
public string Subject { get; set; }
Property Value
Type Description
System.String

The subject of the chat room.

SubjectUtf8

Gets the subject of a chat room (as an UTF8 string)

Declaration
public string SubjectUtf8 { get; set; }
Property Value
Type Description
System.String

The subject of the chat room.

UnreadHistory

Gets all unread messages for this chat room, sorted from oldest to most recent.

Declaration
public IEnumerable<ChatMessage> UnreadHistory { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<ChatMessage>

A list of unread chat messages.

UnreadMessagesCount

Gets the number of unread messages in the chatroom.

Declaration
public int UnreadMessagesCount { get; }
Property Value
Type Description
System.Int32

the number of unread messages.

Methods

AddParticipant(Address)

Adds a participant to a chat room.

This may fail if this type of chat room does not handle participants. Use Linphone.ChatRoom.CanHandleParticipants() to know if this chat room handles participants.

Declaration
public void AddParticipant(Address addr)
Parameters
Type Name Description
Address addr

The address of the participant to add to the chat room

AddParticipants(IEnumerable<Address>)

Adds several participants to a chat room at once.

This may fail if this type of chat room does not handle participants. Use Linphone.ChatRoom.CanHandleParticipants() to know if this chat room handles participants.

Declaration
public bool AddParticipants(IEnumerable<Address> addresses)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<Address> addresses

The participants to add.

Returns
Type Description
System.Boolean

true if everything is OK, false otherwise

AllowCpim()

Allow cpim on a basic chat room .

Declaration
public void AllowCpim()

AllowMultipart()

Allow multipart on a basic chat room .

Declaration
public void AllowMultipart()

CanHandleParticipants()

Tells whether a chat room is able to handle participants.

Declaration
public bool CanHandleParticipants()
Returns
Type Description
System.Boolean

true if the chat room can handle participants, false otherwise

Compose()

Notifies the destination of the chat message being composed that the user is typing a new message.

Declaration
public void Compose()

CreateEmptyMessage()

Creates an empty message attached to the given chat room.

Declaration
public ChatMessage CreateEmptyMessage()
Returns
Type Description
ChatMessage

a new Linphone.ChatMessage

CreateFileTransferMessage(Content)

Creates a message attached to the given chat room with a particular content.

Use Linphone.ChatMessage.Send() to initiate the transfer

Declaration
public ChatMessage CreateFileTransferMessage(Content initialContent)
Parameters
Type Name Description
Content initialContent

Linphone.Content initial content.

Returns
Type Description
ChatMessage

a new Linphone.ChatMessage

CreateForwardMessage(ChatMessage)

Creates a forward message attached to the given chat room with a particular message.

Declaration
public ChatMessage CreateForwardMessage(ChatMessage message)
Parameters
Type Name Description
ChatMessage message

Linphone.ChatMessage message to be forwarded.

Returns
Type Description
ChatMessage

a new Linphone.ChatMessage

CreateMessage(String)

Creates a message attached to the given chat room with a plain text content filled with the given message.

Declaration
public ChatMessage CreateMessage(string message)
Parameters
Type Name Description
System.String message

text message, null if absent.

Returns
Type Description
ChatMessage

a new Linphone.ChatMessage

CreateMessageFromUtf8(String)

Creates a message attached to the given chat room with a plain text content filled with the given message.

Introduced in 01/07/2020

Declaration
public ChatMessage CreateMessageFromUtf8(string message)
Parameters
Type Name Description
System.String message

text message in UTF8, null if absent.

Returns
Type Description
ChatMessage

a new Linphone.ChatMessage

CreateReplyMessage(ChatMessage)

Creates a reply message attached to the given chat room with a particular message.

Declaration
public ChatMessage CreateReplyMessage(ChatMessage message)
Parameters
Type Name Description
ChatMessage message

Linphone.ChatMessage message to reply to.

Returns
Type Description
ChatMessage

a new Linphone.ChatMessage

CreateVoiceRecordingMessage(Recorder)

Creates a chat message with a voice recording attached to the given chat room.

Declaration
public ChatMessage CreateVoiceRecordingMessage(Recorder recorder)
Parameters
Type Name Description
Recorder recorder

the Linphone.Recorder object used to record the voice message.

Returns
Type Description
ChatMessage

a new Linphone.ChatMessage

Remarks

Warning : If the recorder isn't in Closed state, it will return an empty message!

DeleteHistory()

Delete all messages from the history.

Declaration
public void DeleteHistory()

DeleteMessage(ChatMessage)

Delete a message from the chat room history.

Declaration
public void DeleteMessage(ChatMessage message)
Parameters
Type Name Description
ChatMessage message

The Linphone.ChatMessage object to remove.

EphemeralSupportedByAllParticipants()

Check if all participants support ephemeral messages.

It doesn't prevent to send ephemeral messages in the room but those who don't support it won't delete messages after lifetime has expired. The check is done by verifying the participant's advertised capabilities (+org.linphone.specs parameter).

Declaration
public bool EphemeralSupportedByAllParticipants()
Returns
Type Description
System.Boolean

true if all participants in the chat room support ephemeral messages, false otherwise

Remarks

See : Linphone.ChatRoom.EphemeralEnabled()

FindEventLog(String)

Gets the event log sent or received in this chat room that matches a chat message with the given message_id.

Declaration
public EventLog FindEventLog(string messageId)
Parameters
Type Name Description
System.String messageId

The id of the message to find

Returns
Type Description
EventLog

the Linphone.EventLog if found or null.

FindMessage(String)

Gets the chat message sent or received in this chat room that matches the message_id.

Declaration
public ChatMessage FindMessage(string messageId)
Parameters
Type Name Description
System.String messageId

The id of the message to find

Returns
Type Description
ChatMessage

the Linphone.ChatMessage if found or null.

FindParticipant(Address)

Finds a participant of a chat room from its address.

Declaration
public Participant FindParticipant(Address address)
Parameters
Type Name Description
Address address

The Linphone.Address to search in the list of participants of the chat room

Returns
Type Description
Participant

The participant if found, null otherwise.

GetHistory(Int32)

Gets nb_message most recent messages from chat_room chat room, sorted from oldest to most recent.

Declaration
public IEnumerable<ChatMessage> GetHistory(int nbMessage)
Parameters
Type Name Description
System.Int32 nbMessage

Number of message to retrieve. 0 means everything.

Returns
Type Description
System.Collections.Generic.IEnumerable<ChatMessage>

A list of

GetHistory(Int32, UInt32)

Gets nb_message most recent events from chat_room chat room, sorted from oldest to most recent.

Declaration
public IEnumerable<EventLog> GetHistory(int nbMessage, uint filters)
Parameters
Type Name Description
System.Int32 nbMessage

Number of events to retrieve. 0 means everything.

System.UInt32 filters

The LinphoneChatRoomHistoryFilterMask mask to filter the results with Linphone.ChatRoomHistoryFilter

Returns
Type Description
System.Collections.Generic.IEnumerable<EventLog>

A list of

GetHistoryEvents(Int32)

Gets nb_events most recent events from chat_room chat room, sorted from oldest to most recent.

Declaration
public IEnumerable<EventLog> GetHistoryEvents(int nbEvents)
Parameters
Type Name Description
System.Int32 nbEvents

Number of events to retrieve. 0 means everything.

Returns
Type Description
System.Collections.Generic.IEnumerable<EventLog>

The list of the most recent events.

GetHistoryMessageEvents(Int32)

Gets nb_events most recent chat message events from chat_room chat room, sorted from oldest to most recent.

Declaration
public IEnumerable<EventLog> GetHistoryMessageEvents(int nbEvents)
Parameters
Type Name Description
System.Int32 nbEvents

Number of events to retrieve. 0 means everything.

Returns
Type Description
System.Collections.Generic.IEnumerable<EventLog>

A list

GetHistoryRange(Int32, Int32)

Gets the partial list of messages in the given range, sorted from oldest to most recent.

Declaration
public IEnumerable<ChatMessage> GetHistoryRange(int begin, int end)
Parameters
Type Name Description
System.Int32 begin

The first message of the range to be retrieved. History most recent message has index 0.

System.Int32 end

The last message of the range to be retrieved. History oldest message has index of history size - 1 (use Linphone.ChatRoom.HistorySize to retrieve history size)

Returns
Type Description
System.Collections.Generic.IEnumerable<ChatMessage>

A list of chat messages.

GetHistoryRange(Int32, Int32, UInt32)

Gets the partial list of events in the given range, sorted from oldest to most recent.

Declaration
public IEnumerable<EventLog> GetHistoryRange(int begin, int end, uint filters)
Parameters
Type Name Description
System.Int32 begin

The first event of the range to be retrieved. History most recent message has index 0.

System.Int32 end

The last event of the range to be retrieved. History oldest message has index of history size - 1 (use Linphone.ChatRoom.HistorySize to retrieve history size)

System.UInt32 filters
Returns
Type Description
System.Collections.Generic.IEnumerable<EventLog>

A list of

GetHistoryRangeBetween(EventLog, EventLog, UInt32)

Gets the partial list of messages between two given Linphone.EventLog, sorted from oldest to most recent.

If either first_event or last_event is null, then nothing is returned.

Declaration
public IEnumerable<EventLog> GetHistoryRangeBetween(EventLog firstEvent, EventLog lastEvent, uint filters)
Parameters
Type Name Description
EventLog firstEvent

The Linphone.EventLog object corresponding to the event.

EventLog lastEvent

The Linphone.EventLog object corresponding to the event.

System.UInt32 filters

The LinphoneChatRoomHistoryFilterMask mask to filter the results with Linphone.ChatRoomHistoryFilter

Returns
Type Description
System.Collections.Generic.IEnumerable<EventLog>

A list of between the two provided events, if any.

GetHistoryRangeEvents(Int32, Int32)

Gets the partial list of events in the given range, sorted from oldest to most recent.

Declaration
public IEnumerable<EventLog> GetHistoryRangeEvents(int begin, int end)
Parameters
Type Name Description
System.Int32 begin

The first event of the range to be retrieved. History most recent event has index 0.

System.Int32 end

The last event of the range to be retrieved. History oldest event has index of history size - 1

Returns
Type Description
System.Collections.Generic.IEnumerable<EventLog>

The list of the found events.

GetHistoryRangeMessageEvents(Int32, Int32)

Gets the partial list of chat message events in the given range, sorted from oldest to most recent.

Declaration
public IEnumerable<EventLog> GetHistoryRangeMessageEvents(int begin, int end)
Parameters
Type Name Description
System.Int32 begin

The first event of the range to be retrieved. History most recent event has index 0.

System.Int32 end

The last event of the range to be retrieved. History oldest event has index of history size - 1

Returns
Type Description
System.Collections.Generic.IEnumerable<EventLog>

The list of chat message events.

GetHistoryRangeNear(UInt32, UInt32, EventLog, UInt32)

Gets the partial list of messages in the given range near the Linphone.EventLog provided, sorted from oldest to most recent.

If before and after are both set to 0, the returned list is empty.

Declaration
public IEnumerable<EventLog> GetHistoryRangeNear(uint before, uint after, EventLog ev, uint filters)
Parameters
Type Name Description
System.UInt32 before

The number of messages to retrieve before the event provided.

System.UInt32 after

The number of messages to retrieve after the event provided.

EventLog ev

The Linphone.EventLog object corresponding to the event.

System.UInt32 filters

The LinphoneChatRoomHistoryFilterMask mask to filter the results with Linphone.ChatRoomHistoryFilter

Returns
Type Description
System.Collections.Generic.IEnumerable<EventLog>

A list of near the event provided included.

GetHistorySize(UInt32)

Gets the number of messages in a chat room.

Declaration
public int GetHistorySize(uint filters)
Parameters
Type Name Description
System.UInt32 filters

The LinphoneChatRoomHistoryFilterMask mask to filter the result with Linphone.ChatRoomHistoryFilter

Returns
Type Description
System.Int32

the number of messages.

HasBeenLeft()

Returns whether or not the chat room has been left.

Declaration
public bool HasBeenLeft()
Returns
Type Description
System.Boolean

true if the chat room has been left, false otherwise.

HasCapability(Int32)

Checks if a chat room has given capabilities.

Declaration
public bool HasCapability(int mask)
Parameters
Type Name Description
System.Int32 mask

a LinphoneChatRoomCapabilitiesMask mask

Returns
Type Description
System.Boolean

true if the mask matches, false otherwise

Leave()

Leaves a chat room.

Declaration
public void Leave()

MarkAsRead()

Mark all messages of the conversation as read.

Declaration
public void MarkAsRead()

NotifyParticipantDeviceRegistration(Address)

Notifies the chatroom that a participant device has just registered.

This function is meaningful only for server implementation of chatroom, and shall not by used by client applications.

Declaration
public void NotifyParticipantDeviceRegistration(Address participantDevice)
Parameters
Type Name Description
Address participantDevice

list of the participant devices to be used by the group chat room

ReceiveChatMessage(ChatMessage)

Used to receive a chat message when using async mechanism with IM enchat_roomyption engine.

Declaration
public void ReceiveChatMessage(ChatMessage message)
Parameters
Type Name Description
ChatMessage message

Linphone.ChatMessage object

RemoveParticipant(Participant)

Removes a participant of a chat room.

Declaration
public void RemoveParticipant(Participant participant)
Parameters
Type Name Description
Participant participant

The participant to remove from the chat room

RemoveParticipants(IEnumerable<Participant>)

Removes several participants of a chat room at once.

Declaration
public void RemoveParticipants(IEnumerable<Participant> participants)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<Participant> participants

The participants to remove.

SearchChatMessageByText(String, EventLog, SearchDirection)

Searches chat messages by text.

Declaration
public EventLog SearchChatMessageByText(string text, EventLog from, SearchDirection direction)
Parameters
Type Name Description
System.String text

The text to search in messages

EventLog from

The Linphone.EventLog object corresponding to the event where to start the search

SearchDirection direction

The Linphone.SearchDirection where to search, LinphoneSearchDirectionUp will search older messages while LinphoneSearchDirectionDown will search newer messages

Returns
Type Description
EventLog

the Linphone.EventLog corresponding to the message if found or null.

SetParticipantAdminStatus(Participant, Boolean)

Changes the admin status of a participant of a chat room (you need to be an admin yourself to do this).

Declaration
public void SetParticipantAdminStatus(Participant participant, bool isAdmin)
Parameters
Type Name Description
Participant participant

The Participant for which to change the admin status

System.Boolean isAdmin

A boolean value telling whether the participant should now be an admin or not

SetParticipantDevices(Address, IEnumerable<ParticipantDeviceIdentity>)

Sets the list of participant devices in the form of SIP URIs with GRUUs for a given participant.

This function is meaningful only for server implementation of chatroom, and shall not by used by client applications.

Declaration
public void SetParticipantDevices(Address participantAddress, IEnumerable<ParticipantDeviceIdentity> deviceIdentities)
Parameters
Type Name Description
Address participantAddress

The participant address

System.Collections.Generic.IEnumerable<ParticipantDeviceIdentity> deviceIdentities

List of the participant devices to be used by the group chat room

StateToString(ChatRoomState)

Converts a Linphone.ChatRoomState enum to a string.

Declaration
public static string StateToString(ChatRoomState state)
Parameters
Type Name Description
ChatRoomState state

a Linphone.ChatRoomState to convert to string

Returns
Type Description
System.String

the string representation of the Linphone.ChatRoomState

In This Article
Back to top Generated by DocFX