Static Public Member Functions | |
| static string | StateToString (Linphone.ChatRoomState state) |
Additional Inherited Members | |
Protected Member Functions inherited from Linphone.LinphoneObject | |
| static String | linphone_pointer_to_string (IntPtr ptr) |
| static IntPtr | linphone_string_to_pointer ([MarshalAs(LinphoneWrapper.ByteStringMarshalling)] String str) |
| IntPtr | StringArrayToBctbxList (IEnumerable< string > stringlist) |
| void | CleanStringArrayPtrs (IntPtr l) |
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.
|
inline |
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.
| addr | The address of the participant to add to the chat room |
|
inline |
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.
| addresses | The participants to add. A list of Linphone.Address objects. |
|
inline |
Allow cpim on a basic chat room .
|
inline |
Allow multipart on a basic chat room .
|
inline |
Tells whether a chat room is able to handle participants.
|
inline |
Terminates a chat room and instruct the server to remove all participants.
|
inline |
Notifies the destination of the chat message being composed that the user is typing a new message.
Deprecated : 24/06/2025 use Linphone.ChatRoom.ComposeTextMessage() instead.
|
inline |
Notifies the destination of the chat message being composed that the user is typing a message.
|
inline |
Notifies the destination of the chat message being composed that the user is recording a new voice message.
|
inline |
Creates an empty message attached to the given chat room.
|
inline |
Creates a message attached to the given chat room with a particular content.
Use Linphone.ChatMessage.Send() to initiate the transfer
| initialContent | Linphone.Content initial content. |
|
inline |
Creates a forward message attached to the given chat room with a particular message.
| message | Linphone.ChatMessage message to be forwarded. |
|
inline |
Creates a message attached to the given chat room with a plain text content filled with the given message.
| message | text message, null if absent. |
Deprecated : 01/07/2020. Use Linphone.ChatRoom.CreateMessageFromUtf8() instead.
|
inline |
Creates a message attached to the given chat room with a plain text content filled with the given message.
Introduced in 01/07/2020
| message | text message in UTF8, null if absent. |
|
inline |
Creates a replaces message that will edit the original message.
| message | Linphone.ChatMessage message to edit. |
|
inline |
Creates a reply message attached to the given chat room with a particular message.
| message | Linphone.ChatMessage message to reply to. |
|
inline |
Creates a chat message with a voice recording attached to the given chat room.
Warning : If the recorder isn't in Closed state, it will return an empty message!
| recorder | the Linphone.Recorder object used to record the voice message. |
|
inline |
Delete all messages from the history.
|
inline |
Delete a message from the chat room history.
| message | The Linphone.ChatMessage object to remove. |
|
inline |
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).
See : Linphone.ChatRoom.EphemeralEnabled()
|
inline |
Gets the event log sent or received in this chat room that matches a chat message with the given message_id.
| messageId | The id of the message to find |
|
inline |
Gets the chat message sent or received in this chat room that matches the message_id.
| messageId | The id of the message to find |
|
inline |
Finds a participant of a chat room from its address.
| address | The Linphone.Address to search in the list of participants of the chat room |
|
inline |
Gets the partial list of contents for which content-type starts with either text/ or application/.
| begin | The first content of the range to be retrieved. Most recent content has index 0. |
| end | The last content of the range to be retrieved. Oldest content has index of size (use Linphone.ChatRoom.DocumentContentsSize to retrieve size) |
|
inline |
Gets nb_message most recent events from chat_room chat room, sorted from oldest to most recent.
| nbMessage | Number of events to retrieve. 0 means everything. |
| filters | The LinphoneChatRoomHistoryFilterMask mask to filter the results with Linphone.ChatRoomHistoryFilter |
|
inline |
Gets nb_message most recent messages from chat_room chat room, sorted from oldest to most recent.
| nbMessage | Number of message to retrieve. 0 means everything. |
Deprecated : 30/07/2024. Use Linphone.ChatRoom.History instead.
|
inline |
Gets nb_events most recent events from chat_room chat room, sorted from oldest to most recent.
| nbEvents | Number of events to retrieve. 0 means everything. |
|
inline |
Gets nb_events most recent chat message events from chat_room chat room, sorted from oldest to most recent.
| nbEvents | Number of events to retrieve. 0 means everything. |
|
inline |
Gets the partial list of events in the given range, sorted from oldest to most recent.
| begin | The first event of the range to be retrieved. History most recent message has index 0. |
| end | The last event of the range to be retrieved. History oldest message has index of history size (use Linphone.ChatRoom.HistorySize to retrieve history size) |
| filters | The LinphoneChatRoomHistoryFilterMask mask to filter the results with Linphone.ChatRoomHistoryFilter |
|
inline |
Gets the partial list of messages in the given range, sorted from oldest to most recent.
| begin | The first message of the range to be retrieved. History most recent message has index 0. |
| end | The last message of the range to be retrieved. History oldest message has index of history size (use Linphone.ChatRoom.HistorySize to retrieve history size) |
Deprecated : 30/07/2024. Use Linphone.ChatRoom.HistoryRange instead.
|
inline |
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.
| firstEvent | The Linphone.EventLog object corresponding to the event. |
| lastEvent | The Linphone.EventLog object corresponding to the event. |
| filters | The LinphoneChatRoomHistoryFilterMask mask to filter the results with Linphone.ChatRoomHistoryFilter |
|
inline |
Gets the partial list of events in the given range, sorted from oldest to most recent.
| begin | The first event of the range to be retrieved. History most recent event has index 0. |
| end | The last event of the range to be retrieved. History oldest event has index of history size |
|
inline |
Gets the partial list of chat message events in the given range, sorted from oldest to most recent.
| begin | The first event of the range to be retrieved. History most recent event has index 0. |
| end | The last event of the range to be retrieved. History oldest event has index of history size |
|
inline |
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.
| before | The number of messages to retrieve before the event provided. |
| after | The number of messages to retrieve after the event provided. |
| ev | The Linphone.EventLog object corresponding to the event. |
| filters | The LinphoneChatRoomHistoryFilterMask mask to filter the results with Linphone.ChatRoomHistoryFilter |
|
inline |
Gets the number of messages in a chat room.
| filters | The LinphoneChatRoomHistoryFilterMask mask to filter the result with Linphone.ChatRoomHistoryFilter |
|
inline |
Gets the partial list of contents for which content-type starts with either video/, audio/ or image/.
| begin | The first content of the range to be retrieved. Most recent content has index 0. |
| end | The last content of the range to be retrieved. Oldest content has index of size (use Linphone.ChatRoom.MediaContentsSize to retrieve size) |
|
inline |
Returns whether or not the chat room has been left.
Deprecated : 16/03/2022 use Linphone.ChatRoom.IsReadOnly() instead.
|
inline |
Checks if a chat room has given capabilities.
| mask | a LinphoneChatRoomCapabilitiesMask mask |
|
inline |
Leaves a chat room.
|
inline |
Mark all messages of the conversation as read.
|
inline |
Nominates a new admin and then leaves a chat room.
| newAdmin | The Linphone.Address of the new admin |
Note : The local participant will not leave the chat room if the new admin cannot be nominated
|
inline |
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.
| participantDevice | list of the participant devices to be used by the group chat room |
|
inline |
Used to receive a chat message when using async mechanism with IM enchat_roomyption engine.
| message | Linphone.ChatMessage object |
|
inline |
Removes a participant of a chat room.
| participant | The participant to remove from the chat room |
|
inline |
Removes several participants of a chat room at once.
| participants | The participants to remove. A list of Linphone.Participant objects. |
|
inline |
Deletes the content of a previously sent message for both sender and receivers.
Message will still appear in the conversation history but will be empty. You can still delete it from history using Linphone.ChatRoom.DeleteMessage().
| message | The Linphone.ChatMessage object to delete. |
|
inline |
Searches chat messages by text.
| text | The text to search in messages |
| from | The Linphone.EventLog object corresponding to the event where to start the search |
| direction | The Linphone.SearchDirection where to search, LinphoneSearchDirectionUp will search older messages while LinphoneSearchDirectionDown will search newer messages |
|
inline |
Changes the admin status of a participant of a chat room (you need to be an admin yourself to do this).
| participant | The Participant for which to change the admin status |
| isAdmin | A boolean value telling whether the participant should now be an admin or not |
|
inline |
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.
| participantAddress | The participant address |
| deviceIdentities | List of the participant devices to be used by the group chat room A list of Linphone.ParticipantDeviceIdentity objects. |
|
inlinestatic |
Converts a Linphone.ChatRoomState enum to a string.
| state | a Linphone.ChatRoomState to convert to string |
|
inline |
Notifies the destination of the chat message that the user is no longer composing.
|
get |
Returns the local account to which this chat room is related.
|
get |
Gets the current call associated to this chatroom if any To commit a message, use Linphone.ChatMessage.Send()
|
get |
Gets the capabilities of a chat room.
|
get |
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.
|
get |
Gets the list of participants that are currently composing.
|
get |
Gets the list of participants that are currently composing.
|
getset |
Gets the conference address of the chat room.
|
get |
Gets the conference information associated to the chatroom.
|
get |
Returns back pointer to Linphone.Core object.
|
get |
Returns the creation time for the chat room.
|
get |
Returns current parameters associated with the chat room.
This is typically the parameters passed during the Linphone.ChatRoom creation process to Linphone.Core.CreateChatRoom() or some default parameters if no Linphone.ChatRoomParams was explicitely passed during Linphone.ChatRoom creation.
Deprecated : 17/07/2025. Use Linphone.ChatRoom.Params instead.
|
get |
Gets all contents for which content-type starts with either text/ or application/.
|
get |
Gets the number of document contents (see Linphone.ChatRoom.DocumentContents).
|
getset |
Returns whether or not the ephemeral message feature is enabled in the chat room.
|
getset |
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.
See : Linphone.ChatRoom.EphemeralEnabled()
|
getset |
Gets the ephemeral mode of the chat room.
See : Linphone.ChatRoom.EphemeralEnabled()
|
getset |
Gets not-read lifetime (in seconds) for all new ephemeral messages in the chat room.
If the message is not read, it will be deleted after "time" seconds.
See : Linphone.ChatRoom.EphemeralEnabled()
|
get |
Gets the number of events in a chat room.
|
get |
Gets the number of messages in a chat room.
Deprecated : 30/07/2024. Use Linphone.ChatRoom.HistorySize instead.
|
get |
Returns the chat room identifier.
Warning : This method returns a null pointer if the ChatRoom is in the Instantiated state
|
get |
Returns whether or not a Linphone.ChatRoom has at least one Linphone.ChatMessage or not.
|
get |
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.
|
get |
Tells whether the remote is currently composing a message.
|
get |
Gets the last chat message sent or received in this chat room.
|
get |
Returns the last updated time for the chat room.
|
get |
Get the local address associated to this chat room.
Warning : This method returns a guessed address based on the me participant if the ChatRoom is in the Instantiated state
|
get |
Gets the participant representing myself in the chat room.
|
get |
Gets all contents for which content-type starts with either video/, audio/ or image/.
|
get |
Gets the number of media contents (see Linphone.ChatRoom.MediaContents).
|
getset |
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.
|
get |
Gets the number of participants in the chat room (that is without ourselves).
|
get |
Returns current parameters associated with the chat room.
This is typically the parameters passed during the Linphone.ChatRoom creation process to Linphone.Core.CreateChatRoom() or some default parameters if no Linphone.ChatRoomParams was explicitely passed during Linphone.ChatRoom creation.
|
get |
Gets the list of participants of a chat room.
|
get |
Get the peer address associated to this chat room.
Warning : This method returns an invalid address if the ChatRoom is in the Instantiated state
|
get |
Returns the content-type (if set) of what the remote is currently composing.
|
get |
Gets the security level of a chat room.
|
get |
Gets the state of the chat room.
|
getset |
Gets the subject of a chat room.
|
getset |
Gets the subject of a chat room (as an UTF8 string)
|
get |
Gets all unread messages for this chat room, sorted from oldest to most recent.
|
get |
Gets the number of unread messages in the chatroom.