Liblinphone: Chatroom

Liblinphone 5.3.0

Typedefs | Enumerations | Functions
Chatroom

Instant messaging. More...

## Typedefs
typedef struct _LinphoneImNotifPolicy | LinphoneImNotifPolicy
| Policy to use to send/receive instant messaging composing/delivery/display notifications.
typedef void(* | LinphoneChatMessageCbsMsgStateChangedCb) (LinphoneChatMessage *message, LinphoneChatMessageState state)
| Call back used to notify message delivery status.
typedef void(* | LinphoneChatMessageCbsNewMessageReactionCb) (LinphoneChatMessage *message, const LinphoneChatMessageReaction *reaction)
| Callback used to notify a reaction has been received or sent for a given message.
typedef void(* | LinphoneChatMessageCbsReactionRemovedCb) (LinphoneChatMessage *message, const LinphoneAddress *address)
| Callback used to notify a reaction has been removed from a given message.
typedef void(* | LinphoneChatMessageCbsParticipantImdnStateChangedCb) (LinphoneChatMessage *message, const LinphoneParticipantImdnState *state)
| Call back used to notify participant IMDN state.
typedef void(* | LinphoneChatMessageCbsFileTransferRecvCb) (LinphoneChatMessage *message, LinphoneContent *content, const LinphoneBuffer *buffer)
| File transfer receive callback prototype.
typedef LinphoneBuffer *(* | LinphoneChatMessageCbsFileTransferSendCb) (LinphoneChatMessage *message, LinphoneContent *content, size_t offset, size_t size)
| File transfer send callback prototype.
typedef void(* | LinphoneChatMessageCbsFileTransferSendChunkCb) (LinphoneChatMessage *message, LinphoneContent *content, size_t offset, size_t size, LinphoneBuffer *buffer)
| File transfer send callback prototype.
typedef void(* | LinphoneChatMessageCbsFileTransferProgressIndicationCb) (LinphoneChatMessage *message, LinphoneContent *content, size_t offset, size_t total)
| File transfer progress indication callback prototype.
typedef void(* | LinphoneChatMessageCbsEphemeralMessageTimerStartedCb) (LinphoneChatMessage *message)
| Callback used to notify an ephemeral message that its lifespan before disappearing has started to decrease.
typedef void(* | LinphoneChatMessageCbsEphemeralMessageDeletedCb) (LinphoneChatMessage *message)
| Call back used to notify ephemeral message is deleted.
typedef void(* | LinphoneChatRoomCbsIsComposingReceivedCb) (LinphoneChatRoom *chat_room, const LinphoneAddress *remote_address, bool_t is_composing)
| Is composing notification callback prototype.
typedef void(* | LinphoneChatRoomCbsMessageReceivedCb) (LinphoneChatRoom *chat_room, LinphoneChatMessage *message)
| Callback used to notify a chat room that a message has been received.
typedef void(* | LinphoneChatRoomCbsMessagesReceivedCb) (LinphoneChatRoom *chat_room, const bctbx_list_t *chat_messages)
| Callback used to notify a chat room that many chat messages have been received.
typedef void(* | LinphoneChatRoomCbsNewEventCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify a chat room that an event log has been created.
typedef void(* | LinphoneChatRoomCbsNewEventsCb) (LinphoneChatRoom *chat_room, const bctbx_list_t *event_logs)
| Callback used to notify a chat room that many event logs have been created.
typedef void(* | LinphoneChatRoomCbsChatMessageReceivedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify a chat room that a chat message has been received.
typedef void(* | LinphoneChatRoomCbsChatMessagesReceivedCb) (LinphoneChatRoom *chat_room, const bctbx_list_t *event_logs)
| Callback used to notify a chat room that one or many chat messages have been received.
typedef void(* | LinphoneChatRoomCbsChatMessageSendingCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify a chat room that a chat message is being sent.
typedef void(* | LinphoneChatRoomCbsChatMessageSentCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify a chat room that a chat message has been sent.
typedef void(* | LinphoneChatRoomCbsParticipantAddedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify a chat room that a participant has been added.
typedef void(* | LinphoneChatRoomCbsParticipantRemovedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify a chat room that a participant has been removed.
typedef void(* | LinphoneChatRoomCbsParticipantAdminStatusChangedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify a chat room that the admin status of a participant has been changed.
typedef void(* | LinphoneChatRoomCbsStateChangedCb) (LinphoneChatRoom *chat_room, LinphoneChatRoomState newState)
| Callback used to notify a chat room state has changed.
typedef void(* | LinphoneChatRoomCbsSecurityEventCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify a security event in the chat room.
typedef void(* | LinphoneChatRoomCbsSubjectChangedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify that the subject of a chat room has changed.
typedef void(* | LinphoneChatRoomCbsUndecryptableMessageReceivedCb) (LinphoneChatRoom *chat_room, LinphoneChatMessage *message)
| Callback used to notify a chat room that a message has been received but we were unable to decrypt it.
typedef void(* | LinphoneChatRoomCbsParticipantDeviceAddedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify a chat room that a participant has been added.
typedef void(* | LinphoneChatRoomCbsParticipantDeviceRemovedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify a chat room that a participant has been removed.
typedef void(* | LinphoneChatRoomCbsParticipantDeviceStateChangedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log, const LinphoneParticipantDeviceState state)
| Callback used to notify a conference that a participant device has changed state.
typedef void(* | LinphoneChatRoomCbsParticipantDeviceMediaAvailabilityChangedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify a conference that the media availability of a participant device has been changed.
typedef void(* | LinphoneChatRoomCbsConferenceJoinedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify a chat room has been joined.
typedef void(* | LinphoneChatRoomCbsConferenceLeftCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify a chat room has been left.
typedef void(* | LinphoneChatRoomCbsEphemeralEventCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify a chat room that an ephemeral related event has been generated.
typedef void(* | LinphoneChatRoomCbsEphemeralMessageTimerStartedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify a chat room that the lifespan of an ephemeral message before disappearing has started to decrease.
typedef void(* | LinphoneChatRoomCbsEphemeralMessageDeletedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)
| Callback used to notify a chat room that an ephemeral message has been deleted.
typedef void(* | LinphoneChatRoomCbsConferenceAddressGenerationCb) (LinphoneChatRoom *chat_room)
| Callback used when a group chat room is created server-side to generate the address of the chat room.
typedef void(* | LinphoneChatRoomCbsParticipantRegistrationSubscriptionRequestedCb) (LinphoneChatRoom *chat_room, const LinphoneAddress *participant_address)
| Callback used when a group chat room server is subscribing to registration state of a participant.
typedef void(* | LinphoneChatRoomCbsParticipantRegistrationUnsubscriptionRequestedCb) (LinphoneChatRoom *chat_room, const LinphoneAddress *participant_address)
| Callback used when a group chat room server is unsubscribing to registration state of a participant.
typedef void(* | LinphoneChatRoomCbsShouldChatMessageBeStoredCb) (LinphoneChatRoom *chat_room, LinphoneChatMessage *message)
| Callback used to tell the core whether or not to store the incoming message in db or not using linphone_chat_message_set_to_be_stored().
typedef void(* | LinphoneChatRoomCbsChatMessageParticipantImdnStateChangedCb) (LinphoneChatRoom *chat_room, LinphoneChatMessage *message, const LinphoneParticipantImdnState *state)
| Callback used to notify a participant state has changed in a message of this chat room.
typedef void(* | LinphoneChatRoomCbsChatRoomReadCb) (LinphoneChatRoom *chat_room)
| Callback used to notify a chat room was "marked as read".
typedef void(* | LinphoneChatMessageStateChangedCb) (LinphoneChatMessage *message, LinphoneChatMessageState state, void *user_data)
| Call back used to notify message delivery status.
typedef struct _LinphoneChatMessage | LinphoneChatMessage
| An chat message is the object that is sent or received through a LinphoneChatRoom.
typedef struct _LinphoneChatMessageReaction | LinphoneChatMessageReaction
| A chat message reaction is an emoji sent by someone in the same chat room to react to a specific LinphoneChatMessage.
typedef struct _LinphoneChatMessageCbs | LinphoneChatMessageCbs
| An object to handle the callbacks for the handling a LinphoneChatMessage objects.
typedef struct _LinphoneChatRoom | LinphoneChatRoom
| A chat room is the place where LinphoneChatMessage are exchanged.
typedef struct _LinphoneChatRoomParams | LinphoneChatRoomParams
| Object defining parameters for a LinphoneChatRoom.
typedef int | LinphoneChatRoomCapabilitiesMask
| A mask of LinphoneChatRoomCapabilities.
typedef struct _LinphoneChatRoomCbs | LinphoneChatRoomCbs
| An object to handle the callbacks for the handling a LinphoneChatRoom objects.
typedef enum _LinphoneChatMessageState | LinphoneChatMessageState
| LinphoneChatMessageState is used to notify if messages have been successfully delivered or not.
typedef enum _LinphoneChatMessageDirection | LinphoneChatMessageDirection
| LinphoneChatMessageDirection is used to indicate if a message is outgoing or incoming.
typedef enum _LinphoneChatRoomState | LinphoneChatRoomState
| LinphoneChatRoomState is used to indicate the current state of a chat room.
typedef enum _LinphoneChatRoomCapabilities | LinphoneChatRoomCapabilities
| LinphoneChatRoomCapabilities is used to indicate the capabilities of a chat room.
typedef enum _LinphoneChatRoomBackend | LinphoneChatRoomBackend
| LinphoneChatRoomBackend is used to indicate the backend implementation of a chat room.
typedef enum _LinphoneChatRoomEncryptionBackend | LinphoneChatRoomEncryptionBackend
| LinphoneChatRoomEncryptionBackend is used to indicate the encryption engine used by a chat room.
typedef enum _LinphoneChatRoomEphemeralMode | LinphoneChatRoomEphemeralMode
| LinphoneChatRoomEphemeralMode is used to the ephemeral message mode used by a chat room.
typedef enum _LinphoneChatRoomSecurityLevel | LinphoneChatRoomSecurityLevel
| TODO move to encryption engine object when available LinphoneChatRoomSecurityLevel is used to indicate the encryption security level of a chat room.

## Enumerations
enum | _LinphoneChatMessageState { LinphoneChatMessageStateIdle = 0 , LinphoneChatMessageStateInProgress = 1 , LinphoneChatMessageStateDelivered = 2 , LinphoneChatMessageStateNotDelivered = 3 , LinphoneChatMessageStateFileTransferError , LinphoneChatMessageStateFileTransferDone = 5 , LinphoneChatMessageStateDeliveredToUser , LinphoneChatMessageStateDisplayed = 7 , LinphoneChatMessageStateFileTransferInProgress }
| LinphoneChatMessageState is used to notify if messages have been successfully delivered or not. More...
enum | _LinphoneChatMessageDirection { LinphoneChatMessageDirectionIncoming = 0 , LinphoneChatMessageDirectionOutgoing = 1 }
| LinphoneChatMessageDirection is used to indicate if a message is outgoing or incoming. More...
enum | _LinphoneChatRoomState { LinphoneChatRoomStateNone = 0 , LinphoneChatRoomStateInstantiated = 1 , LinphoneChatRoomStateCreationPending = 2 , LinphoneChatRoomStateCreated = 3 , LinphoneChatRoomStateCreationFailed = 4 , LinphoneChatRoomStateTerminationPending = 5 , LinphoneChatRoomStateTerminated = 6 , LinphoneChatRoomStateTerminationFailed = 7 , LinphoneChatRoomStateDeleted = 8 }
| LinphoneChatRoomState is used to indicate the current state of a chat room. More...
enum | _LinphoneChatRoomCapabilities { LinphoneChatRoomCapabilitiesNone = 0 , LinphoneChatRoomCapabilitiesBasic = 1 << 0 , LinphoneChatRoomCapabilitiesRealTimeText = 1 << 1 , LinphoneChatRoomCapabilitiesConference = 1 << 2 , LinphoneChatRoomCapabilitiesProxy = 1 << 3 , LinphoneChatRoomCapabilitiesMigratable = 1 << 4 , LinphoneChatRoomCapabilitiesOneToOne , LinphoneChatRoomCapabilitiesEncrypted = 1 << 6 , LinphoneChatRoomCapabilitiesEphemeral = 1 << 7 }
| LinphoneChatRoomCapabilities is used to indicate the capabilities of a chat room. More...
enum | _LinphoneChatRoomBackend { LinphoneChatRoomBackendBasic = 1 << 0 , LinphoneChatRoomBackendFlexisipChat = 1 << 1 }
| LinphoneChatRoomBackend is used to indicate the backend implementation of a chat room. More...
enum | _LinphoneChatRoomEncryptionBackend { LinphoneChatRoomEncryptionBackendNone = 0 , LinphoneChatRoomEncryptionBackendLime = 1 << 0 }
| LinphoneChatRoomEncryptionBackend is used to indicate the encryption engine used by a chat room. More...
enum | _LinphoneChatRoomEphemeralMode { LinphoneChatRoomEphemeralModeDeviceManaged = 0 , LinphoneChatRoomEphemeralModeAdminManaged }
| LinphoneChatRoomEphemeralMode is used to the ephemeral message mode used by a chat room. More...
enum | _LinphoneChatRoomSecurityLevel { LinphoneChatRoomSecurityLevelUnsafe = 0 , LinphoneChatRoomSecurityLevelClearText = 1 , LinphoneChatRoomSecurityLevelEncrypted = 2 , LinphoneChatRoomSecurityLevelSafe = 3 }
| TODO move to encryption engine object when available LinphoneChatRoomSecurityLevel is used to indicate the encryption security level of a chat room. More...

## Functions
const bctbx_list_t * | linphone_core_get_chat_rooms (LinphoneCore *core)
| Returns a list of chat rooms.
LinphoneChatRoomParams * | linphone_core_create_default_chat_room_params (LinphoneCore *core)
| Creates and returns the default chat room parameters.
void | linphone_core_set_im_encryption_engine (LinphoneCore *core, LinphoneImEncryptionEngine *imee)
| Sets an IM Encryption Engine in the core.
LinphoneImEncryptionEngine * | linphone_core_get_im_encryption_engine (const LinphoneCore *core)
| Gets the IM Encryption Engine in the core if possible.
bool_t | linphone_core_is_content_type_supported (const LinphoneCore *core, const char *content_type)
| Tells whether a content type is supported.
void | linphone_core_add_content_type_support (LinphoneCore *core, const char *content_type)
| Add support for the specified content type.
void | linphone_core_remove_content_type_support (LinphoneCore *core, const char *content_type)
| Remove support for the specified content type.
LinphoneChatRoom * | linphone_core_create_chat_room_6 (LinphoneCore *core, const LinphoneChatRoomParams *params, const LinphoneAddress *localAddr, const bctbx_list_t *participants)
| Create a chat room.
LinphoneChatRoom * | linphone_core_search_chat_room (const LinphoneCore *core, const LinphoneChatRoomParams *params, const LinphoneAddress *localAddr, const LinphoneAddress *remoteAddr, const bctbx_list_t *participants)
| Find a chat room.
void | linphone_core_delete_chat_room (LinphoneCore *core, LinphoneChatRoom *chat_room)
| Removes a chatroom including all message history from the LinphoneCore.
void | linphone_core_disable_chat (LinphoneCore *core, LinphoneReason deny_reason)
| Inconditionnaly disable incoming chat messages.
void | linphone_core_enable_chat (LinphoneCore *core)
| Enable reception of incoming chat messages.
bool_t | linphone_core_chat_enabled (const LinphoneCore *core)
| Returns whether chat is enabled.
LinphoneImNotifPolicy * | linphone_core_get_im_notif_policy (const LinphoneCore *core)
| Get the LinphoneImNotifPolicy object controlling the instant messaging notifications.
void | linphone_core_chat_room_set_default_ephemeral_mode (LinphoneCore *core, LinphoneChatRoomEphemeralMode mode)
| Sets the default ephemeral message mode.
LinphoneChatRoomEphemeralMode | linphone_core_chat_room_get_default_ephemeral_mode (const LinphoneCore *core)
| Gets the default ephemeral message mode.
void | linphone_core_set_default_ephemeral_lifetime (LinphoneCore *core, long value)
| Set the default ephemeral lifetime in seconds.
long | linphone_core_get_default_ephemeral_lifetime (const LinphoneCore *core)
| Gets the default lifetime of ephemeral messages in seconds.
MS2_DEPRECATED LinphoneChatRoom * | linphone_core_create_client_group_chat_room (LinphoneCore *core, const char *subject, bool_t fallback)
| Create a client-side group chat room.
MS2_DEPRECATED LinphoneChatRoom * | linphone_core_create_client_group_chat_room_2 (LinphoneCore *core, const char *subject, bool_t fallback, bool_t encrypted)
| Create a client-side group chat room.
MS2_DEPRECATED LinphoneChatRoom * | linphone_core_create_chat_room (LinphoneCore *core, const LinphoneChatRoomParams *params, const LinphoneAddress *localAddr, const char *subject, const bctbx_list_t *participants)
| Create a chat room.
MS2_DEPRECATED LinphoneChatRoom * | linphone_core_create_chat_room_2 (LinphoneCore *core, const LinphoneChatRoomParams *params, const char *subject, const bctbx_list_t *participants)
| Create a chat room.
MS2_DEPRECATED LinphoneChatRoom * | linphone_core_create_chat_room_3 (LinphoneCore *core, const char *subject, const bctbx_list_t *participants)
MS2_DEPRECATED LinphoneChatRoom * | linphone_core_create_chat_room_4 (LinphoneCore *core, const LinphoneChatRoomParams *params, const LinphoneAddress *localAddr, const LinphoneAddress *participant)
MS2_DEPRECATED LinphoneChatRoom * | linphone_core_create_chat_room_5 (LinphoneCore *core, const LinphoneAddress *participant)
MS2_DEPRECATED LinphoneChatRoom * | linphone_core_get_chat_room (LinphoneCore *core, const LinphoneAddress *addr)
| Get a chat room whose peer is the supplied address.
MS2_DEPRECATED LinphoneChatRoom * | linphone_core_get_chat_room_2 (LinphoneCore *core, const LinphoneAddress *peer_addr, const LinphoneAddress *local_addr)
| Get a chat room.
MS2_DEPRECATED LinphoneChatRoom * | linphone_core_get_chat_room_from_uri (LinphoneCore *core, const char *to)
| Get a chat room for messaging from a sip uri like sip:joe@s.nosp@m.ip.l.nosp@m.inpho.nosp@m.ne.o.nosp@m.rg.
MS2_DEPRECATED LinphoneChatRoom * | linphone_core_find_chat_room (const LinphoneCore *core, const LinphoneAddress *peer_addr, const LinphoneAddress *local_addr)
| Find a chat room.
MS2_DEPRECATED LinphoneChatRoom * | linphone_core_find_one_to_one_chat_room (const LinphoneCore *core, const LinphoneAddress *local_addr, const LinphoneAddress *participant_addr)
| Find a one to one chat room.
MS2_DEPRECATED LinphoneChatRoom * | linphone_core_find_one_to_one_chat_room_2 (const LinphoneCore *core, const LinphoneAddress *local_addr, const LinphoneAddress *participant_addr, bool_t encrypted)
| Find a one to one chat room.
LinphoneImNotifPolicy * | linphone_im_notif_policy_ref (LinphoneImNotifPolicy *policy)
| Acquire a reference to the LinphoneImNotifPolicy object.
void | linphone_im_notif_policy_unref (LinphoneImNotifPolicy *policy)
| Release reference to the LinphoneImNotifPolicy object.
void * | linphone_im_notif_policy_get_user_data (const LinphoneImNotifPolicy *policy)
| Retrieve the user pointer associated with the LinphoneImNotifPolicy object.
void | linphone_im_notif_policy_set_user_data (LinphoneImNotifPolicy *policy, void *user_data)
| Assign a user pointer to the LinphoneImNotifPolicy object.
void | linphone_im_notif_policy_clear (LinphoneImNotifPolicy *policy)
| Clear an IM notif policy (deactivate all receiving and sending of notifications).
void | linphone_im_notif_policy_enable_all (LinphoneImNotifPolicy *policy)
| Enable all receiving and sending of notifications.
bool_t | linphone_im_notif_policy_get_send_is_composing (const LinphoneImNotifPolicy *policy)
| Tell whether is_composing notifications are being sent.
void | linphone_im_notif_policy_set_send_is_composing (LinphoneImNotifPolicy *policy, bool_t enable)
| Enable is_composing notifications sending.
bool_t | linphone_im_notif_policy_get_recv_is_composing (const LinphoneImNotifPolicy *policy)
| Tell whether is_composing notifications are being notified when received.
void | linphone_im_notif_policy_set_recv_is_composing (LinphoneImNotifPolicy *policy, bool_t enable)
| Enable is_composing notifications receiving.
bool_t | linphone_im_notif_policy_get_send_imdn_delivered (const LinphoneImNotifPolicy *policy)
| Tell whether imdn delivered notifications are being sent.
void | linphone_im_notif_policy_set_send_imdn_delivered (LinphoneImNotifPolicy *policy, bool_t enable)
| Enable imdn delivered notifications sending.
bool_t | linphone_im_notif_policy_get_recv_imdn_delivered (const LinphoneImNotifPolicy *policy)
| Tell whether imdn delivered notifications are being notified when received.
void | linphone_im_notif_policy_set_recv_imdn_delivered (LinphoneImNotifPolicy *policy, bool_t enable)
| Enable imdn delivered notifications receiving.
bool_t | linphone_im_notif_policy_get_send_imdn_delivery_error (const LinphoneImNotifPolicy *policy)
| Tell whether imdn delivery error notifications are being sent.
void | linphone_im_notif_policy_set_send_imdn_delivery_error (LinphoneImNotifPolicy *policy, bool_t enable)
| Enable imdn delivery error notifications sending.
bool_t | linphone_im_notif_policy_get_recv_imdn_delivery_error (const LinphoneImNotifPolicy *policy)
| Tell whether imdn delivery error notifications are being notified when received.
void | linphone_im_notif_policy_set_recv_imdn_delivery_error (LinphoneImNotifPolicy *policy, bool_t enable)
| Enable imdn delivery error notifications receiving.
bool_t | linphone_im_notif_policy_get_send_imdn_displayed (const LinphoneImNotifPolicy *policy)
| Tell whether imdn displayed notifications are being sent.
void | linphone_im_notif_policy_set_send_imdn_displayed (LinphoneImNotifPolicy *policy, bool_t enable)
| Enable imdn displayed notifications sending.
bool_t | linphone_im_notif_policy_get_recv_imdn_displayed (const LinphoneImNotifPolicy *policy)
| Tell whether imdn displayed notifications are being notified when received.
void | linphone_im_notif_policy_set_recv_imdn_displayed (LinphoneImNotifPolicy *policy, bool_t enable)
| Enable imdn displayed notifications receiving.
LinphoneChatMessageCbs * | linphone_chat_message_cbs_new (void)
LinphoneChatMessageCbs * | linphone_chat_message_cbs_ref (LinphoneChatMessageCbs *cbs)
| Acquire a reference to the chat message callbacks object.
void | linphone_chat_message_cbs_unref (LinphoneChatMessageCbs *cbs)
| Release reference to the chat message callbacks object.
void * | linphone_chat_message_cbs_get_user_data (const LinphoneChatMessageCbs *cbs)
| Retrieve the user pointer associated with the chat message callbacks object.
void | linphone_chat_message_cbs_set_user_data (LinphoneChatMessageCbs *cbs, void *user_data)
| Assign a user pointer to the chat message callbacks object.
LinphoneChatMessageCbsMsgStateChangedCb | linphone_chat_message_cbs_get_msg_state_changed (const LinphoneChatMessageCbs *cbs)
| Get the message state changed callback.
void | linphone_chat_message_cbs_set_msg_state_changed (LinphoneChatMessageCbs *cbs, LinphoneChatMessageCbsMsgStateChangedCb cb)
| Set the message state changed callback.
LinphoneChatMessageCbsNewMessageReactionCb | linphone_chat_message_cbs_get_new_message_reaction (const LinphoneChatMessageCbs *cbs)
| Get the new reaction callback.
void | linphone_chat_message_cbs_set_new_message_reaction (LinphoneChatMessageCbs *cbs, LinphoneChatMessageCbsNewMessageReactionCb cb)
| Set the new reaction callback.
LinphoneChatMessageCbsReactionRemovedCb | linphone_chat_message_cbs_get_reaction_removed (const LinphoneChatMessageCbs *cbs)
| Get the removed reaction callback.
void | linphone_chat_message_cbs_set_reaction_removed (LinphoneChatMessageCbs *cbs, LinphoneChatMessageCbsReactionRemovedCb cb)
| Set the removed reaction callback.
LinphoneChatMessageCbsFileTransferRecvCb | linphone_chat_message_cbs_get_file_transfer_recv (const LinphoneChatMessageCbs *cbs)
| Get the file transfer receive callback.
void | linphone_chat_message_cbs_set_file_transfer_recv (LinphoneChatMessageCbs *cbs, LinphoneChatMessageCbsFileTransferRecvCb cb)
| Set the file transfer receive callback.
LinphoneChatMessageCbsFileTransferSendCb | linphone_chat_message_cbs_get_file_transfer_send (const LinphoneChatMessageCbs *cbs)
| Get the file transfer send callback.
void | linphone_chat_message_cbs_set_file_transfer_send (LinphoneChatMessageCbs *cbs, LinphoneChatMessageCbsFileTransferSendCb cb)
| Set the file transfer send callback.
LinphoneChatMessageCbsFileTransferSendChunkCb | linphone_chat_message_cbs_get_file_transfer_send_chunk (const LinphoneChatMessageCbs *cbs)
| Get the file transfer send callback.
void | linphone_chat_message_cbs_set_file_transfer_send_chunk (LinphoneChatMessageCbs *cbs, LinphoneChatMessageCbsFileTransferSendChunkCb cb)
| Set the file transfer send callback.
LinphoneChatMessageCbsFileTransferProgressIndicationCb | linphone_chat_message_cbs_get_file_transfer_progress_indication (const LinphoneChatMessageCbs *cbs)
| Get the file transfer progress indication callback.
void | linphone_chat_message_cbs_set_file_transfer_progress_indication (LinphoneChatMessageCbs *cbs, LinphoneChatMessageCbsFileTransferProgressIndicationCb cb)
| Set the file transfer progress indication callback.
LinphoneChatMessageCbsParticipantImdnStateChangedCb | linphone_chat_message_cbs_get_participant_imdn_state_changed (const LinphoneChatMessageCbs *cbs)
| Get the participant IMDN state changed callback.
void | linphone_chat_message_cbs_set_participant_imdn_state_changed (LinphoneChatMessageCbs *cbs, LinphoneChatMessageCbsParticipantImdnStateChangedCb cb)
| Set the participant IMDN state changed callback.
LinphoneChatMessageCbsEphemeralMessageTimerStartedCb | linphone_chat_message_cbs_get_ephemeral_message_timer_started (const LinphoneChatMessageCbs *cbs)
| Get the current "ephemeral message timer started" callback.
void | linphone_chat_message_cbs_set_ephemeral_message_timer_started (LinphoneChatMessageCbs *cbs, LinphoneChatMessageCbsEphemeralMessageTimerStartedCb cb)
| Set the ephemeral message timer started callback.
LinphoneChatMessageCbsEphemeralMessageDeletedCb | linphone_chat_message_cbs_get_ephemeral_message_deleted (const LinphoneChatMessageCbs *cbs)
| Get the ephemeral message deleted callback.
void | linphone_chat_message_cbs_set_ephemeral_message_deleted (LinphoneChatMessageCbs *cbs, LinphoneChatMessageCbsEphemeralMessageDeletedCb cb)
| Set the ephemeral message deleted callback.
const char * | linphone_chat_message_reaction_get_body (const LinphoneChatMessageReaction *reaction)
| Returns the emoji(s) used for the reaction.
const LinphoneAddress * | linphone_chat_message_reaction_get_from_address (const LinphoneChatMessageReaction *reaction)
| Returns the LinphoneAddress of the participant that sent this reaction.
LinphoneChatMessageReaction * | linphone_chat_message_reaction_ref (LinphoneChatMessageReaction *reaction)
| Takes a reference on a LinphoneChatMessageReaction.
void | linphone_chat_message_reaction_unref (LinphoneChatMessageReaction *reaction)
| Releases a LinphoneChatMessageReaction reference.
void | linphone_chat_message_reaction_send (LinphoneChatMessageReaction *reaction)
| Sends a LinphoneChatMessageReaction.
const char * | linphone_chat_message_reaction_get_call_id (const LinphoneChatMessageReaction *reaction)
| Allows to get the Call ID associated with a LinphoneChatMessageReaction.
LinphoneChatRoomCbs * | linphone_chat_room_cbs_ref (LinphoneChatRoomCbs *cbs)
| Acquire a reference to the chat room callbacks object.
void | linphone_chat_room_cbs_unref (LinphoneChatRoomCbs *cbs)
| Release reference to the chat room callbacks object.
void * | linphone_chat_room_cbs_get_user_data (const LinphoneChatRoomCbs *cbs)
| Retrieve the user pointer associated with the chat room callbacks object.
void | linphone_chat_room_cbs_set_user_data (LinphoneChatRoomCbs *cbs, void *user_data)
| Assign a user pointer to the chat room callbacks object.
LinphoneChatRoomCbsIsComposingReceivedCb | linphone_chat_room_cbs_get_is_composing_received (const LinphoneChatRoomCbs *cbs)
| Get the is-composing received callback.
void | linphone_chat_room_cbs_set_is_composing_received (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsIsComposingReceivedCb cb)
| Set the is-composing received callback.
LinphoneChatRoomCbsMessageReceivedCb | linphone_chat_room_cbs_get_message_received (const LinphoneChatRoomCbs *cbs)
| Get the message received callback.
void | linphone_chat_room_cbs_set_message_received (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsMessageReceivedCb cb)
| Set the message received callback.
LinphoneChatRoomCbsMessagesReceivedCb | linphone_chat_room_cbs_get_messages_received (const LinphoneChatRoomCbs *cbs)
| Get the chat messages received callback.
void | linphone_chat_room_cbs_set_messages_received (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsMessagesReceivedCb cb)
| Set the chat message received callback.
LinphoneChatRoomCbsNewEventCb | linphone_chat_room_cbs_get_new_event (const LinphoneChatRoomCbs *cbs)
| Get the new event log callback.
void | linphone_chat_room_cbs_set_new_event (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsNewEventCb cb)
| Set the new event log callback.
LinphoneChatRoomCbsNewEventsCb | linphone_chat_room_cbs_get_new_events (const LinphoneChatRoomCbs *cbs)
| Get the new event logs callback.
void | linphone_chat_room_cbs_set_new_events (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsNewEventsCb cb)
| Set the new event logs callback.
LinphoneChatRoomCbsChatMessageReceivedCb | linphone_chat_room_cbs_get_chat_message_received (const LinphoneChatRoomCbs *cbs)
| Get the chat message received callback.
void | linphone_chat_room_cbs_set_chat_message_received (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsChatMessageReceivedCb cb)
| Set the chat message received callback.
LinphoneChatRoomCbsChatMessagesReceivedCb | linphone_chat_room_cbs_get_chat_messages_received (const LinphoneChatRoomCbs *cbs)
| Get the chat messages received callback.
void | linphone_chat_room_cbs_set_chat_messages_received (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsChatMessagesReceivedCb cb)
| Set the chat messages received callback.
LinphoneChatRoomCbsChatMessageSendingCb | linphone_chat_room_cbs_get_chat_message_sending (const LinphoneChatRoomCbs *cbs)
| Get the chat message sending callback.
void | linphone_chat_room_cbs_set_chat_message_sending (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsChatMessageSendingCb cb)
| Set the chat message sending callback.
LinphoneChatRoomCbsChatMessageSentCb | linphone_chat_room_cbs_get_chat_message_sent (const LinphoneChatRoomCbs *cbs)
| Get the chat message sent callback.
void | linphone_chat_room_cbs_set_chat_message_sent (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsChatMessageSentCb cb)
| Set the chat message sent callback.
LinphoneChatRoomCbsParticipantAddedCb | linphone_chat_room_cbs_get_participant_added (const LinphoneChatRoomCbs *cbs)
| Get the participant added callback.
void | linphone_chat_room_cbs_set_participant_added (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsParticipantAddedCb cb)
| Set the participant added callback.
LinphoneChatRoomCbsParticipantRemovedCb | linphone_chat_room_cbs_get_participant_removed (const LinphoneChatRoomCbs *cbs)
| Get the participant removed callback.
void | linphone_chat_room_cbs_set_participant_removed (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsParticipantRemovedCb cb)
| Set the participant removed callback.
LinphoneChatRoomCbsParticipantAdminStatusChangedCb | linphone_chat_room_cbs_get_participant_admin_status_changed (const LinphoneChatRoomCbs *cbs)
| Get the participant admin status changed callback.
void | linphone_chat_room_cbs_set_participant_admin_status_changed (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsParticipantAdminStatusChangedCb cb)
| Set the participant admin status changed callback.
LinphoneChatRoomCbsStateChangedCb | linphone_chat_room_cbs_get_state_changed (const LinphoneChatRoomCbs *cbs)
| Get the state changed callback.
void | linphone_chat_room_cbs_set_state_changed (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsStateChangedCb cb)
| Set the state changed callback.
LinphoneChatRoomCbsSecurityEventCb | linphone_chat_room_cbs_get_security_event (const LinphoneChatRoomCbs *cbs)
| Get the security event callback.
void | linphone_chat_room_cbs_set_security_event (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsSecurityEventCb cb)
| Set the security event callback.
LinphoneChatRoomCbsSubjectChangedCb | linphone_chat_room_cbs_get_subject_changed (const LinphoneChatRoomCbs *cbs)
| Get the subject changed callback.
void | linphone_chat_room_cbs_set_subject_changed (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsSubjectChangedCb cb)
| Set the subject changed callback.
LinphoneChatRoomCbsUndecryptableMessageReceivedCb | linphone_chat_room_cbs_get_undecryptable_message_received (const LinphoneChatRoomCbs *cbs)
| Get the undecryptable message received callback.
void | linphone_chat_room_cbs_set_undecryptable_message_received (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsUndecryptableMessageReceivedCb cb)
| Set the undecryptable message received callback.
LinphoneChatRoomCbsParticipantDeviceAddedCb | linphone_chat_room_cbs_get_participant_device_added (const LinphoneChatRoomCbs *cbs)
| Get the participant device added callback.
void | linphone_chat_room_cbs_set_participant_device_added (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsParticipantDeviceAddedCb cb)
| Set the participant device added callback.
LinphoneChatRoomCbsParticipantDeviceRemovedCb | linphone_chat_room_cbs_get_participant_device_removed (const LinphoneChatRoomCbs *cbs)
| Get the participant device removed callback.
void | linphone_chat_room_cbs_set_participant_device_removed (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsParticipantDeviceRemovedCb cb)
| Set the participant device removed callback.
LinphoneChatRoomCbsParticipantDeviceStateChangedCb | linphone_chat_room_cbs_get_participant_device_state_changed (const LinphoneChatRoomCbs *cbs)
| Get the participant device state callback.
void | linphone_chat_room_cbs_set_participant_device_state_changed (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsParticipantDeviceStateChangedCb cb)
| Set the participant device state callback.
LinphoneChatRoomCbsParticipantDeviceMediaAvailabilityChangedCb | linphone_chat_room_cbs_get_participant_device_media_availability_changed (const LinphoneChatRoomCbs *cbs)
| Get the participant device media availability changed callback.
void | linphone_chat_room_cbs_set_participant_device_media_availability_changed (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsParticipantDeviceMediaAvailabilityChangedCb cb)
| Set the participant device media availability changed callback.
LinphoneChatRoomCbsConferenceJoinedCb | linphone_chat_room_cbs_get_conference_joined (const LinphoneChatRoomCbs *cbs)
| Get the conference joined callback.
void | linphone_chat_room_cbs_set_conference_joined (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsConferenceJoinedCb cb)
| Set the conference joined callback.
LinphoneChatRoomCbsConferenceLeftCb | linphone_chat_room_cbs_get_conference_left (const LinphoneChatRoomCbs *cbs)
| Get the conference left callback.
void | linphone_chat_room_cbs_set_conference_left (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsConferenceLeftCb cb)
| Set the conference left callback.
LinphoneChatRoomCbsEphemeralEventCb | linphone_chat_room_cbs_get_ephemeral_event (const LinphoneChatRoomCbs *cbs)
| Get the ephemeral event callback.
void | linphone_chat_room_cbs_set_ephemeral_event (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsEphemeralEventCb cb)
| Set the ephemeral event callback.
LinphoneChatRoomCbsEphemeralMessageTimerStartedCb | linphone_chat_room_cbs_get_ephemeral_message_timer_started (const LinphoneChatRoomCbs *cbs)
| Get the current "ephemeral message timer started" callback.
void | linphone_chat_room_cbs_set_ephemeral_message_timer_started (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsEphemeralMessageTimerStartedCb cb)
| Set the ephemeral message timer started callback.
LinphoneChatRoomCbsEphemeralMessageDeletedCb | linphone_chat_room_cbs_get_ephemeral_message_deleted (const LinphoneChatRoomCbs *cbs)
| Get the ephemeral message deleted callback.
void | linphone_chat_room_cbs_set_ephemeral_message_deleted (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsEphemeralMessageDeletedCb cb)
| Set the ephemeral message deleted callback.
LinphoneChatRoomCbsConferenceAddressGenerationCb | linphone_chat_room_cbs_get_conference_address_generation (const LinphoneChatRoomCbs *cbs)
| Get the conference address generation callback.
void | linphone_chat_room_cbs_set_conference_address_generation (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsConferenceAddressGenerationCb cb)
| Set the conference address generation callback.
LinphoneChatRoomCbsParticipantRegistrationSubscriptionRequestedCb | linphone_chat_room_cbs_get_participant_registration_subscription_requested (const LinphoneChatRoomCbs *cbs)
| Get the participant registration subscription callback.
void | linphone_chat_room_cbs_set_participant_registration_subscription_requested (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsParticipantRegistrationSubscriptionRequestedCb cb)
| Set the participant registration subscription callback.
LinphoneChatRoomCbsParticipantRegistrationUnsubscriptionRequestedCb | linphone_chat_room_cbs_get_participant_registration_unsubscription_requested (const LinphoneChatRoomCbs *cbs)
| Get the participant registration unsubscription callback.
void | linphone_chat_room_cbs_set_participant_registration_unsubscription_requested (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsParticipantRegistrationUnsubscriptionRequestedCb cb)
| Set the participant registration unsubscription callback.
LinphoneChatRoomCbsShouldChatMessageBeStoredCb | linphone_chat_room_cbs_get_chat_message_should_be_stored (LinphoneChatRoomCbs *cbs)
| Get the message should be stored callback.
void | linphone_chat_room_cbs_set_chat_message_should_be_stored (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsShouldChatMessageBeStoredCb cb)
| Set the message should be stored callback.
LinphoneChatRoomCbsChatMessageParticipantImdnStateChangedCb | linphone_chat_room_cbs_get_chat_message_participant_imdn_state_changed (LinphoneChatRoomCbs *cbs)
| Get the message's participant state changed callback.
void | linphone_chat_room_cbs_set_chat_message_participant_imdn_state_changed (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsChatMessageParticipantImdnStateChangedCb cb)
| Set the message's participant state changed callback callback.
LinphoneChatRoomCbsChatRoomReadCb | linphone_chat_room_cbs_get_chat_room_read (const LinphoneChatRoomCbs *cbs)
| Get the "marked as read" callback.
void | linphone_chat_room_cbs_set_chat_room_read (LinphoneChatRoomCbs *cbs, LinphoneChatRoomCbsChatRoomReadCb cb)
| Set the "marked as read" callback.
LinphoneChatRoom * | linphone_chat_room_ref (LinphoneChatRoom *chat_room)
| Acquire a reference to the chat room.
void | linphone_chat_room_unref (LinphoneChatRoom *chat_room)
| Release reference to the chat room.
void * | linphone_chat_room_get_user_data (const LinphoneChatRoom *chat_room)
| Retrieve the user pointer associated with the chat room.
void | linphone_chat_room_set_user_data (LinphoneChatRoom *chat_room, void *user_data)
| Assign a user pointer to the chat room.
LinphoneChatMessage * | linphone_chat_room_create_empty_message (LinphoneChatRoom *chat_room)
| Creates an empty message attached to the given chat room.
LinphoneChatMessage * | linphone_chat_room_create_message_from_utf8 (LinphoneChatRoom *chat_room, const char *message)
| Creates a message attached to the given chat room with a plain text content filled with the given message.
LinphoneChatMessage * | linphone_chat_room_create_file_transfer_message (LinphoneChatRoom *chat_room, LinphoneContent *initial_content)
| Creates a message attached to the given chat room with a particular content.
LinphoneChatMessage * | linphone_chat_room_create_forward_message (LinphoneChatRoom *chat_room, LinphoneChatMessage *message)
| Creates a forward message attached to the given chat room with a particular message.
LinphoneChatMessage * | linphone_chat_room_create_reply_message (LinphoneChatRoom *chat_room, LinphoneChatMessage *message)
| Creates a reply message attached to the given chat room with a particular message.
LinphoneChatMessage * | linphone_chat_room_create_voice_recording_message (LinphoneChatRoom *chat_room, LinphoneRecorder *recorder)
| Creates a chat message with a voice recording attached to the given chat room.
const LinphoneAddress * | linphone_chat_room_get_peer_address (LinphoneChatRoom *chat_room)
| Get the peer address associated to this chat room.
const LinphoneAddress * | linphone_chat_room_get_local_address (LinphoneChatRoom *chat_room)
| Get the local address associated to this chat room.
void | linphone_chat_room_receive_chat_message (LinphoneChatRoom *chat_room, LinphoneChatMessage *message)
| Used to receive a chat message when using async mechanism with IM enchat_roomyption engine.
void | linphone_chat_room_mark_as_read (LinphoneChatRoom *chat_room)
| Mark all messages of the conversation as read.
void | linphone_chat_room_enable_ephemeral (LinphoneChatRoom *chat_room, bool_t enable)
| Enable or disable the ephemeral message feature in the chat room.
bool_t | linphone_chat_room_ephemeral_enabled (const LinphoneChatRoom *chat_room)
| Returns whether or not the ephemeral message feature is enabled in the chat room.
void | linphone_chat_room_set_ephemeral_lifetime (LinphoneChatRoom *chat_room, long time)
| Set lifetime (in seconds) for all new ephemeral messages in the chat room.
long | linphone_chat_room_get_ephemeral_lifetime (const LinphoneChatRoom *chat_room)
| Get lifetime (in seconds) for all new ephemeral messages in the chat room.
void | linphone_chat_room_set_ephemeral_mode (LinphoneChatRoom *chat_room, LinphoneChatRoomEphemeralMode mode)
| Set the ephemeral mode of the chat room.
LinphoneChatRoomEphemeralMode | linphone_chat_room_get_ephemeral_mode (const LinphoneChatRoom *chat_room)
| Get the ephemeral mode of the chat room.
bool_t | linphone_chat_room_ephemeral_supported_by_all_participants (const LinphoneChatRoom *chat_room)
| Uses linphone spec to check if all participants support ephemeral messages.
void | linphone_chat_room_delete_message (LinphoneChatRoom *chat_room, LinphoneChatMessage *message)
| Delete a message from the chat room history.
void | linphone_chat_room_delete_history (LinphoneChatRoom *chat_room)
| Delete all messages from the history.
int | linphone_chat_room_get_history_size (LinphoneChatRoom *chat_room)
| Gets the number of messages in a chat room.
bool_t | linphone_chat_room_is_empty (LinphoneChatRoom *chat_room)
| Returns whether or not a LinphoneChatRoom has at least one LinphoneChatMessage or not.
bctbx_list_t * | linphone_chat_room_get_history (LinphoneChatRoom *chat_room, int nb_message)
| Gets nb_message most recent messages from chat_room chat room, sorted from oldest to most recent.
bctbx_list_t * | linphone_chat_room_get_history_range (LinphoneChatRoom *chat_room, int begin, int end)
| Gets the partial list of messages in the given range, sorted from oldest to most recent.
bctbx_list_t * | linphone_chat_room_get_unread_history (LinphoneChatRoom *chat_room)
| Gets all unread messages for this chat room, sorted from oldest to most recent.
bctbx_list_t * | linphone_chat_room_get_history_message_events (LinphoneChatRoom *chat_room, int nb_events)
| Gets nb_events most recent chat message events from chat_room chat room, sorted from oldest to most recent.
bctbx_list_t * | linphone_chat_room_get_history_range_message_events (LinphoneChatRoom *chat_room, int begin, int end)
| Gets the partial list of chat message events in the given range, sorted from oldest to most recent.
bctbx_list_t * | linphone_chat_room_get_history_events (LinphoneChatRoom *chat_room, int nb_events)
| Gets nb_events most recent events from chat_room chat room, sorted from oldest to most recent.
bctbx_list_t * | linphone_chat_room_get_history_range_events (LinphoneChatRoom *chat_room, int begin, int end)
| Gets the partial list of events in the given range, sorted from oldest to most recent.
int | linphone_chat_room_get_history_events_size (LinphoneChatRoom *chat_room)
| Gets the number of events in a chat room.
LinphoneChatMessage * | linphone_chat_room_get_last_message_in_history (LinphoneChatRoom *chat_room)
| Gets the last chat message sent or received in this chat room.
LinphoneChatMessage * | linphone_chat_room_find_message (LinphoneChatRoom *chat_room, const char *message_id)
| Gets the chat message sent or received in this chat room that matches the message_id.
void | linphone_chat_room_compose (LinphoneChatRoom *chat_room)
| Notifies the destination of the chat message being composed that the user is typing a new message.
bool_t | linphone_chat_room_is_remote_composing (const LinphoneChatRoom *chat_room)
| Tells whether the remote is currently composing a message.
int | linphone_chat_room_get_unread_messages_count (LinphoneChatRoom *chat_room)
| Gets the number of unread messages in the chatroom.
LinphoneCore * | linphone_chat_room_get_core (const LinphoneChatRoom *chat_room)
| Returns back pointer to LinphoneCore object.
uint32_t | linphone_chat_room_get_char (LinphoneChatRoom *chat_room)
| When realtime text is enabled linphone_call_params_realtime_text_enabled(), LinphoneCoreIsComposingReceivedCb is call everytime a char is received from peer.
LinphoneCall * | linphone_chat_room_get_call (const LinphoneChatRoom *chat_room)
| Gets the current call associated to this chatroom if any To commit a message, use linphone_chat_message_send().
void | linphone_chat_room_add_callbacks (LinphoneChatRoom *chat_room, LinphoneChatRoomCbs *cbs)
| Add a listener in order to be notified of LinphoneChatRoom events.
void | linphone_chat_room_remove_callbacks (LinphoneChatRoom *chat_room, LinphoneChatRoomCbs *cbs)
| Remove a listener from a LinphoneChatRoom.
LinphoneChatRoomCbs * | linphone_chat_room_get_current_callbacks (const LinphoneChatRoom *chat_room)
| Gets the current LinphoneChatRoomCbs.
LinphoneChatRoomState | linphone_chat_room_get_state (const LinphoneChatRoom *chat_room)
| Get the state of the chat room.
bool_t | linphone_chat_room_has_been_left (const LinphoneChatRoom *chat_room)
| Return whether or not the chat room has been left.
bool_t | linphone_chat_room_is_read_only (const LinphoneChatRoom *chat_room)
| Return whether or not a message can be sent using this chat room.
time_t | linphone_chat_room_get_creation_time (const LinphoneChatRoom *chat_room)
| Return the creation time for the chat room.
time_t | linphone_chat_room_get_last_update_time (const LinphoneChatRoom *chat_room)
| Return the last updated time for the chat room.
void | linphone_chat_room_add_participant (LinphoneChatRoom *chat_room, LinphoneAddress *addr)
| Add a participant to a chat room.
bool_t | linphone_chat_room_add_participants (LinphoneChatRoom *chat_room, const bctbx_list_t *addresses)
| Add several participants to a chat room at once.
bool_t | linphone_chat_room_can_handle_participants (const LinphoneChatRoom *chat_room)
| Tells whether a chat room is able to handle participants.
LinphoneParticipant * | linphone_chat_room_find_participant (const LinphoneChatRoom *chat_room, LinphoneAddress *address)
| Find a participant of a chat room from its address.
LinphoneChatRoomCapabilitiesMask | linphone_chat_room_get_capabilities (const LinphoneChatRoom *chat_room)
| Get the capabilities of a chat room.
bool_t | linphone_chat_room_has_capability (const LinphoneChatRoom *chat_room, int mask)
| Check if a chat room has given capabilities.
const LinphoneAddress * | linphone_chat_room_get_conference_address (const LinphoneChatRoom *chat_room)
| Get the conference address of the chat room.
LinphoneParticipant * | linphone_chat_room_get_me (const LinphoneChatRoom *chat_room)
| Get the participant representing myself in the chat room.
int | linphone_chat_room_get_nb_participants (const LinphoneChatRoom *chat_room)
| Get the number of participants in the chat room (that is without ourselves).
bctbx_list_t * | linphone_chat_room_get_participants (const LinphoneChatRoom *chat_room)
| Get the list of participants of a chat room.
const char * | linphone_chat_room_get_subject (const LinphoneChatRoom *chat_room)
| Get the subject of a chat room.
LinphoneChatRoomSecurityLevel | linphone_chat_room_get_security_level (LinphoneChatRoom *chat_room)
| Get the security level of a chat room.
void | linphone_chat_room_leave (LinphoneChatRoom *chat_room)
| Leave a chat room.
void | linphone_chat_room_remove_participant (LinphoneChatRoom *chat_room, LinphoneParticipant *participant)
| Remove a participant of a chat room.
void | linphone_chat_room_remove_participants (LinphoneChatRoom *chat_room, const bctbx_list_t *participants)
| Remove several participants of a chat room at once.
void | linphone_chat_room_set_participant_admin_status (LinphoneChatRoom *chat_room, LinphoneParticipant *participant, bool_t is_admin)
| Change the admin status of a participant of a chat room (you need to be an admin yourself to do this).
void | linphone_chat_room_set_subject (LinphoneChatRoom *chat_room, const char *subject)
| Set the subject of a chat room.
const bctbx_list_t * | linphone_chat_room_get_composing_addresses (LinphoneChatRoom *chat_room)
| Gets the list of participants that are currently composing.
void | linphone_chat_room_set_conference_address (LinphoneChatRoom *chat_room, LinphoneAddress *conference_address)
| Set the conference address of a group chat room.
void | linphone_chat_room_set_participant_devices (LinphoneChatRoom *chat_room, LinphoneAddress *participant_address, const bctbx_list_t *device_identities)
| Set the list of participant devices in the form of SIP URIs with GRUUs for a given participant.
void | linphone_chat_room_notify_participant_device_registration (LinphoneChatRoom *chat_room, const LinphoneAddress *participant_device)
| Notify the chatroom that a participant device has just registered.
const LinphoneChatRoomParams * | linphone_chat_room_get_current_params (const LinphoneChatRoom *chat_room)
| Returns current parameters associated with the chat room.
bool_t | linphone_chat_room_get_muted (const LinphoneChatRoom *chat_room)
| Gets if a chat room has been flagged as muted (not by default).
void | linphone_chat_room_set_muted (LinphoneChatRoom *chat_room, bool_t muted)
| Sets if a chat room should be considered as muted or not.
MS2_DEPRECATED LinphoneChatMessage * | linphone_chat_room_create_message_2 (LinphoneChatRoom *chat_room, const char *message, const char *external_body_url, LinphoneChatMessageState state, time_t time, bool_t is_read, bool_t is_incoming)
| Creates a message attached to the given chat room.
MS2_DEPRECATED LinphoneCore * | linphone_chat_room_get_lc (const LinphoneChatRoom *chat_room)
| Returns back pointer to LinphoneCore object.
MS2_DEPRECATED void | linphone_chat_room_send_message (LinphoneChatRoom *chat_room, const char *message)
| Send a message to peer member of this chat room.
MS2_DEPRECATED void | linphone_chat_room_send_chat_message (LinphoneChatRoom *chat_room, LinphoneChatMessage *message)
| Send a message to peer member of this chat room.
MS2_DEPRECATED LinphoneChatMessage * | linphone_chat_room_create_message (LinphoneChatRoom *chat_room, const char *message)
| Creates a message attached to the given chat room with a plain text content filled with the given message.
const char * | linphone_chat_room_state_to_string (const LinphoneChatRoomState state)
| Converts a LinphoneChatRoomState enum to a string.
LinphoneChatRoomParams * | linphone_chat_room_params_new (void)
| Returns new chat room parameters.
LinphoneChatRoomParams * | linphone_chat_room_params_new_and_init (LinphoneCore *core)
LinphoneChatRoomParams * | linphone_chat_room_params_clone (const LinphoneChatRoomParams *params)
LinphoneChatRoomParams * | linphone_chat_room_params_ref (LinphoneChatRoomParams *params)
| Acquire a reference to the chat room parameters.
void | linphone_chat_room_params_unref (LinphoneChatRoomParams *params)
| Release reference to the chat room params.
bool_t | linphone_chat_room_params_is_valid (const LinphoneChatRoomParams *params)
| Returns whether the given parameters are valid or not.
LinphoneChatRoomBackend | linphone_chat_room_params_get_backend (const LinphoneChatRoomParams *params)
| Get the backend implementation of the chat room associated with the given parameters.
LinphoneChatRoomEncryptionBackend | linphone_chat_room_params_get_encryption_backend (const LinphoneChatRoomParams *params)
| Get the encryption implementation of the chat room associated with the given parameters.
bool_t | linphone_chat_room_params_group_enabled (const LinphoneChatRoomParams *params)
| Get the group chat status of the chat room associated with the given parameters.
LinphoneChatRoomEphemeralMode | linphone_chat_room_params_get_ephemeral_mode (const LinphoneChatRoomParams *params)
| Get the ephemeral message mode of the chat room associated with the given parameters.
void | linphone_chat_room_params_set_ephemeral_lifetime (LinphoneChatRoomParams *params, long time)
| Set lifetime (in seconds) for all new ephemral messages in the chat room.
long | linphone_chat_room_params_get_ephemeral_lifetime (const LinphoneChatRoomParams *params)
| Get lifetime (in seconds) for all new ephemeral messages in the chat room.
bool_t | linphone_chat_room_params_encryption_enabled (const LinphoneChatRoomParams *params)
| Get the encryption status of the chat room associated with the given parameters.
bool_t | linphone_chat_room_params_rtt_enabled (const LinphoneChatRoomParams *params)
| Get the real time text status of the chat room associated with the given parameters.
void | linphone_chat_room_params_set_backend (LinphoneChatRoomParams *params, LinphoneChatRoomBackend backend)
| Set the backend implementation of these chat room parameters.
void | linphone_chat_room_params_set_encryption_backend (LinphoneChatRoomParams *params, LinphoneChatRoomEncryptionBackend backend)
| Set the encryption backend implementation of these chat room parameters.
void | linphone_chat_room_params_enable_group (LinphoneChatRoomParams *params, bool_t group)
| Enables or disables group chat for the chat room associated with the given parameters.
void | linphone_chat_room_params_set_ephemeral_mode (LinphoneChatRoomParams *params, LinphoneChatRoomEphemeralMode mode)
| Enables or disables forcing of ephemeral messages for the chat room associated with the given parameters.
void | linphone_chat_room_params_enable_encryption (LinphoneChatRoomParams *params, bool_t encrypted)
| Enables or disables encryption for the chat room associated with the given parameters.
void | linphone_chat_room_params_enable_rtt (LinphoneChatRoomParams *params, bool_t rtt)
| Enables or disables real time text for the chat room associated with the given parameters.
const char * | linphone_chat_room_params_get_subject (const LinphoneChatRoomParams *params)
| Get the subject of the chat room.
void | linphone_chat_room_params_set_subject (LinphoneChatRoomParams *params, const char *subject)
| Set the subject of the chat room.

## Detailed Description

Instant messaging.

## Typedef Documentation

## ◆ LinphoneChatMessage

typedef struct _LinphoneChatMessage LinphoneChatMessage

An chat message is the object that is sent or received through a LinphoneChatRoom.

To create a LinphoneChatMessage, use linphone_chat_room_create_empty_message(), then either add text using linphone_chat_message_add_utf8_text_content() or a LinphoneContent with file informations using linphone_chat_message_add_file_content(). A valid LinphoneContent for file transfer must contain a type and subtype, the name of the file and it's size. Finally call linphone_chat_message_send() to send it.

To send files through a LinphoneChatMessage, you need to have configured a file transfer server URL with linphone_core_set_file_transfer_server(). On the receiving side, either use linphone_chat_message_download_content() to download received files or enable auto-download in the LinphoneCore using linphone_core_set_max_size_for_auto_download_incoming_files(), -1 disabling the feature and 0 always downloading files no matter it's size.

Keep in mind a LinphoneChatMessage created by a LinphoneChatRoomBackendBasic LinphoneChatRoom can only contain one LinphoneContent, either text or file.

## ◆ LinphoneChatMessageCbsEphemeralMessageDeletedCb

typedef void(* LinphoneChatMessageCbsEphemeralMessageDeletedCb) (LinphoneChatMessage *message)

Call back used to notify ephemeral message is deleted.

Parameters

  message | LinphoneChatMessage object

## ◆ LinphoneChatMessageCbsEphemeralMessageTimerStartedCb

typedef void(* LinphoneChatMessageCbsEphemeralMessageTimerStartedCb) (LinphoneChatMessage *message)

Callback used to notify an ephemeral message that its lifespan before disappearing has started to decrease.

This callback is called when the ephemeral message is read by the receiver.

Parameters

  message | LinphoneChatMessage object

## ◆ LinphoneChatMessageCbsFileTransferProgressIndicationCb

typedef void(* LinphoneChatMessageCbsFileTransferProgressIndicationCb) (LinphoneChatMessage *message, LinphoneContent *content, size_t offset, size_t total)

File transfer progress indication callback prototype.

Parameters

  message | LinphoneChatMessage message from which the body is received.
  content | LinphoneContent incoming content information
  offset | The number of bytes sent/received since the beginning of the transfer.
  total | The total number of bytes to be sent/received.

## ◆ LinphoneChatMessageCbsFileTransferRecvCb

typedef void(* LinphoneChatMessageCbsFileTransferRecvCb) (LinphoneChatMessage *message, LinphoneContent *content, const LinphoneBuffer *buffer)

File transfer receive callback prototype.

This function is called by the core upon an incoming File transfer is started. This function may be call several time for the same file in case of large file.

Parameters

  message | LinphoneChatMessage message from which the body is received.
  content | LinphoneContent incoming content information
  buffer | LinphoneBuffer holding the received data. Empty buffer means end of file.

## ◆ LinphoneChatMessageCbsFileTransferSendCb

typedef LinphoneBuffer *(* LinphoneChatMessageCbsFileTransferSendCb) (LinphoneChatMessage *message, LinphoneContent *content, size_t offset, size_t size)

File transfer send callback prototype.

This function is called by the core when an outgoing file transfer is started. This function is called until size is set to 0.

Parameters

  message | LinphoneChatMessage message from which the body is received.
  content | LinphoneContent outgoing content
  offset | the offset in the file from where to get the data to be sent
  size | the number of bytes expected by the framework

Returns
  A LinphoneBuffer object holding the data written by the application. An empty buffer means end of file.

Warning
  The returned value isn't used, hence the deprecation!

Deprecated
  17/08/2020 Use LinphoneChatMessageCbsFileTransferSendChunkCb instead.

## ◆ LinphoneChatMessageCbsFileTransferSendChunkCb

typedef void(* LinphoneChatMessageCbsFileTransferSendChunkCb) (LinphoneChatMessage *message, LinphoneContent *content, size_t offset, size_t size, LinphoneBuffer *buffer)

File transfer send callback prototype.

This function is called by the core when an outgoing file transfer is started. This function is called until size is set to 0.

Parameters

  message | LinphoneChatMessage message from which the body is received.
  content | LinphoneContent outgoing content
  offset | the offset in the file from where to get the data to be sent
  size | the number of bytes expected by the framework
  buffer | A LinphoneBuffer to be filled. Leave it empty when end of file has been reached.

## ◆ LinphoneChatMessageCbsMsgStateChangedCb

typedef void(* LinphoneChatMessageCbsMsgStateChangedCb) (LinphoneChatMessage *message, LinphoneChatMessageState state)

Call back used to notify message delivery status.

Parameters

  message | LinphoneChatMessage object
  state | LinphoneChatMessageState

## ◆ LinphoneChatMessageCbsNewMessageReactionCb

typedef void(* LinphoneChatMessageCbsNewMessageReactionCb) (LinphoneChatMessage *message, const LinphoneChatMessageReaction *reaction)

Callback used to notify a reaction has been received or sent for a given message.

Parameters

  message | LinphoneChatMessage object
  reaction | the LinphoneChatMessageReaction reaction that was sent or received

## ◆ LinphoneChatMessageCbsParticipantImdnStateChangedCb

typedef void(* LinphoneChatMessageCbsParticipantImdnStateChangedCb) (LinphoneChatMessage *message, const LinphoneParticipantImdnState *state)

Call back used to notify participant IMDN state.

Parameters

  message | LinphoneChatMessage object
  state | LinphoneParticipantImdnState

## ◆ LinphoneChatMessageCbsReactionRemovedCb

typedef void(* LinphoneChatMessageCbsReactionRemovedCb) (LinphoneChatMessage *message, const LinphoneAddress *address)

Callback used to notify a reaction has been removed from a given message.

Parameters

  message | LinphoneChatMessage object
  address | the LinphoneAddress of the person that removed it's reaction

## ◆ LinphoneChatMessageReaction

typedef struct _LinphoneChatMessageReaction LinphoneChatMessageReaction

A chat message reaction is an emoji sent by someone in the same chat room to react to a specific LinphoneChatMessage.

To create a LinphoneChatMessageReaction, use linphone_chat_message_create_reaction(). Once you are ready, send the reaction using linphone_chat_message_reaction_send().

Reactions are available using linphone_chat_message_get_reactions() and will be notified using dedicated callbacks either in #LinphoneCoreListener or #LinphoneChatMessageListener.

## ◆ LinphoneChatMessageStateChangedCb

typedef void(* LinphoneChatMessageStateChangedCb) (LinphoneChatMessage *message, LinphoneChatMessageState state, void *user_data)

Call back used to notify message delivery status.

Parameters

  message | LinphoneChatMessage object
  state | LinphoneChatMessageState
  user_data | application user data

Deprecated
  03/07/2018 Use LinphoneChatMessageCbsMsgStateChangedCb instead.

## ◆ LinphoneChatRoom

typedef struct _LinphoneChatRoom LinphoneChatRoom

A chat room is the place where LinphoneChatMessage are exchanged.

To create (or find) a LinphoneChatRoom, you first need a LinphoneChatRoomParams 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 LinphoneChatRoomBackendFlexisipChat). Then you can call linphone_core_search_chat_room() or linphone_core_create_chat_room_6().

Be careful as a LinphoneChatRoomBackendFlexisipChat backend LinphoneChatRoom will be created asynchronously, so make sure you add a LinphoneChatRoomCbs to the returned object to be notified when it will be in state LinphoneChatRoomStateCreated.

All chat rooms are loaded from database when the LinphoneCore starts, and you can get them using linphone_core_get_chat_rooms(). This method doesn't return empty chat rooms nor ones for which the local address doesn't match an existing LinphoneProxyConfig 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.

## ◆ LinphoneChatRoomCbsChatMessageParticipantImdnStateChangedCb

typedef void(* LinphoneChatRoomCbsChatMessageParticipantImdnStateChangedCb) (LinphoneChatRoom *chat_room, LinphoneChatMessage *message, const LinphoneParticipantImdnState *state)

Callback used to notify a participant state has changed in a message of this chat room.

Parameters

  chat_room | LinphoneChatRoom object
  message | The LinphoneChatMessage for which a participant has it's state changed
  state | The LinphoneParticipantImdnState

## ◆ LinphoneChatRoomCbsChatMessageReceivedCb

typedef void(* LinphoneChatRoomCbsChatMessageReceivedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify a chat room that a chat message has been received.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsChatMessageSendingCb

typedef void(* LinphoneChatRoomCbsChatMessageSendingCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify a chat room that a chat message is being sent.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsChatMessageSentCb

typedef void(* LinphoneChatRoomCbsChatMessageSentCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify a chat room that a chat message has been sent.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsChatMessagesReceivedCb

typedef void(* LinphoneChatRoomCbsChatMessagesReceivedCb) (LinphoneChatRoom *chat_room, const bctbx_list_t *event_logs)

Callback used to notify a chat room that one or many chat messages have been received.

Only called when aggregation is enabled (aka [sip] chat_messages_aggregation == 1 or using linphone_core_set_chat_messages_aggregation_enabled()), it replaces the single chat message received callback.

Parameters

  chat_room | LinphoneChatRoom object
  event_logs | The list of events to be notified

## ◆ LinphoneChatRoomCbsChatRoomReadCb

typedef void(* LinphoneChatRoomCbsChatRoomReadCb) (LinphoneChatRoom *chat_room)

Callback used to notify a chat room was "marked as read".

Parameters

  chat_room | The LinphoneChatRoom object that was marked as read

## ◆ LinphoneChatRoomCbsConferenceAddressGenerationCb

typedef void(* LinphoneChatRoomCbsConferenceAddressGenerationCb) (LinphoneChatRoom *chat_room)

Callback used when a group chat room is created server-side to generate the address of the chat room.

The function linphone_chat_room_set_conference_address() needs to be called by this callback.

Parameters

  chat_room | LinphoneChatRoom object

## ◆ LinphoneChatRoomCbsConferenceJoinedCb

typedef void(* LinphoneChatRoomCbsConferenceJoinedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify a chat room has been joined.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsConferenceLeftCb

typedef void(* LinphoneChatRoomCbsConferenceLeftCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify a chat room has been left.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsEphemeralEventCb

typedef void(* LinphoneChatRoomCbsEphemeralEventCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify a chat room that an ephemeral related event has been generated.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsEphemeralMessageDeletedCb

typedef void(* LinphoneChatRoomCbsEphemeralMessageDeletedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify a chat room that an ephemeral message has been deleted.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsEphemeralMessageTimerStartedCb

typedef void(* LinphoneChatRoomCbsEphemeralMessageTimerStartedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify a chat room that the lifespan of an ephemeral message before disappearing has started to decrease.

This callback is called when the ephemeral message is read by the receiver.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsIsComposingReceivedCb

typedef void(* LinphoneChatRoomCbsIsComposingReceivedCb) (LinphoneChatRoom *chat_room, const LinphoneAddress *remote_address, bool_t is_composing)

Is composing notification callback prototype.

Parameters

  chat_room | LinphoneChatRoom involved in the conversation
  remote_address | The LinphoneAddress that has sent the is-composing notification
  is_composing | A boolean value telling whether the remote is composing or not

## ◆ LinphoneChatRoomCbsMessageReceivedCb

typedef void(* LinphoneChatRoomCbsMessageReceivedCb) (LinphoneChatRoom *chat_room, LinphoneChatMessage *message)

Callback used to notify a chat room that a message has been received.

Parameters

  chat_room | LinphoneChatRoom object
  message | The LinphoneChatMessage that has been received

## ◆ LinphoneChatRoomCbsMessagesReceivedCb

typedef void(* LinphoneChatRoomCbsMessagesReceivedCb) (LinphoneChatRoom *chat_room, const bctbx_list_t *chat_messages)

Callback used to notify a chat room that many chat messages have been received.

Only called when aggregation is enabled (aka [sip] chat_messages_aggregation == 1 or using linphone_core_set_chat_messages_aggregation_enabled()), it replaces the single message received callback.

Parameters

  chat_room | LinphoneChatRoom object
  chat_messages | The list of events to be notified

## ◆ LinphoneChatRoomCbsNewEventCb

typedef void(* LinphoneChatRoomCbsNewEventCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify a chat room that an event log has been created.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsNewEventsCb

typedef void(* LinphoneChatRoomCbsNewEventsCb) (LinphoneChatRoom *chat_room, const bctbx_list_t *event_logs)

Callback used to notify a chat room that many event logs have been created.

Parameters

  chat_room | LinphoneChatRoom object
  event_logs | The list of events to be notified

## ◆ LinphoneChatRoomCbsParticipantAddedCb

typedef void(* LinphoneChatRoomCbsParticipantAddedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify a chat room that a participant has been added.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsParticipantAdminStatusChangedCb

typedef void(* LinphoneChatRoomCbsParticipantAdminStatusChangedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify a chat room that the admin status of a participant has been changed.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsParticipantDeviceAddedCb

typedef void(* LinphoneChatRoomCbsParticipantDeviceAddedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify a chat room that a participant has been added.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsParticipantDeviceMediaAvailabilityChangedCb

typedef void(* LinphoneChatRoomCbsParticipantDeviceMediaAvailabilityChangedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify a conference that the media availability of a participant device has been changed.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsParticipantDeviceRemovedCb

typedef void(* LinphoneChatRoomCbsParticipantDeviceRemovedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify a chat room that a participant has been removed.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsParticipantDeviceStateChangedCb

typedef void(* LinphoneChatRoomCbsParticipantDeviceStateChangedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log, const LinphoneParticipantDeviceState state)

Callback used to notify a conference that a participant device has changed state.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified
  state | new participant device state

## ◆ LinphoneChatRoomCbsParticipantRegistrationSubscriptionRequestedCb

typedef void(* LinphoneChatRoomCbsParticipantRegistrationSubscriptionRequestedCb) (LinphoneChatRoom *chat_room, const LinphoneAddress *participant_address)

Callback used when a group chat room server is subscribing to registration state of a participant.

Parameters

  chat_room | LinphoneChatRoom object
  participant_address | LinphoneAddress object

## ◆ LinphoneChatRoomCbsParticipantRegistrationUnsubscriptionRequestedCb

typedef void(* LinphoneChatRoomCbsParticipantRegistrationUnsubscriptionRequestedCb) (LinphoneChatRoom *chat_room, const LinphoneAddress *participant_address)

Callback used when a group chat room server is unsubscribing to registration state of a participant.

Parameters

  chat_room | LinphoneChatRoom object
  participant_address | LinphoneAddress object

## ◆ LinphoneChatRoomCbsParticipantRemovedCb

typedef void(* LinphoneChatRoomCbsParticipantRemovedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify a chat room that a participant has been removed.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsSecurityEventCb

typedef void(* LinphoneChatRoomCbsSecurityEventCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify a security event in the chat room.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsShouldChatMessageBeStoredCb

typedef void(* LinphoneChatRoomCbsShouldChatMessageBeStoredCb) (LinphoneChatRoom *chat_room, LinphoneChatMessage *message)

Callback used to tell the core whether or not to store the incoming message in db or not using linphone_chat_message_set_to_be_stored().

Parameters

  chat_room | LinphoneChatRoom object
  message | The LinphoneChatMessage that is being received

## ◆ LinphoneChatRoomCbsStateChangedCb

typedef void(* LinphoneChatRoomCbsStateChangedCb) (LinphoneChatRoom *chat_room, LinphoneChatRoomState newState)

Callback used to notify a chat room state has changed.

Parameters

  chat_room | LinphoneChatRoom object
  newState | The new LinphoneChatRoomState of the chat room

## ◆ LinphoneChatRoomCbsSubjectChangedCb

typedef void(* LinphoneChatRoomCbsSubjectChangedCb) (LinphoneChatRoom *chat_room, const LinphoneEventLog *event_log)

Callback used to notify that the subject of a chat room has changed.

Parameters

  chat_room | LinphoneChatRoom object
  event_log | LinphoneEventLog The event to be notified

## ◆ LinphoneChatRoomCbsUndecryptableMessageReceivedCb

typedef void(* LinphoneChatRoomCbsUndecryptableMessageReceivedCb) (LinphoneChatRoom *chat_room, LinphoneChatMessage *message)

Callback used to notify a chat room that a message has been received but we were unable to decrypt it.

Parameters

  chat_room | LinphoneChatRoom involved in this conversation
  message | The LinphoneChatMessage that has been received

## ◆ LinphoneChatRoomParams

typedef struct _LinphoneChatRoomParams LinphoneChatRoomParams

Object defining parameters for a LinphoneChatRoom.

Can be created with linphone_core_create_default_chat_room_params(). You can use linphone_chat_room_params_is_valid() to check if your configuration is valid or not.

If the LinphoneChatRoom backend is LinphoneChatRoomBackendBasic, then no other parameter is required, but LinphoneChatMessage sent and received won't benefit from all features a LinphoneChatRoomBackendFlexisipChat can offer like conversation with multiple participants and a subject, end-to-end encryption, ephemeral messages, etc... but this type is the only one that can interoperate with other SIP clients or with non-flexisip SIP proxies.

## ◆ LinphoneImNotifPolicy

typedef struct _LinphoneImNotifPolicy LinphoneImNotifPolicy

Policy to use to send/receive instant messaging composing/delivery/display notifications.

The sending of this information is done as in the RFCs 3994 (is_composing) and 5438 (imdn delivered/displayed).

## Enumeration Type Documentation

## ◆ _LinphoneChatMessageDirection

enum _LinphoneChatMessageDirection

LinphoneChatMessageDirection is used to indicate if a message is outgoing or incoming.

Enumerator
LinphoneChatMessageDirectionIncoming | Incoming message.
LinphoneChatMessageDirectionOutgoing | Outgoing message.

## ◆ _LinphoneChatMessageState

enum _LinphoneChatMessageState

LinphoneChatMessageState is used to notify if messages have been successfully delivered or not.

Enumerator
LinphoneChatMessageStateIdle | Initial state.
LinphoneChatMessageStateInProgress | Delivery in progress.
LinphoneChatMessageStateDelivered | Message successfully delivered and acknowledged by the server.
LinphoneChatMessageStateNotDelivered | Message was not delivered.
LinphoneChatMessageStateFileTransferError | Message was received and acknowledged but cannot get file from server.
LinphoneChatMessageStateFileTransferDone | File transfer has been completed successfully.
LinphoneChatMessageStateDeliveredToUser | Message successfully delivered an acknowledged by the remote user.
LinphoneChatMessageStateDisplayed | Message successfully displayed to the remote user.
LinphoneChatMessageStateFileTransferInProgress | File transfer is in progress. If message is incoming it's a download, otherwise it's an upload.

## ◆ _LinphoneChatRoomBackend

enum _LinphoneChatRoomBackend

LinphoneChatRoomBackend is used to indicate the backend implementation of a chat room.

Enumerator
LinphoneChatRoomBackendBasic | Basic (client-to-client) chat room.
LinphoneChatRoomBackendFlexisipChat | Server-based chat room.

## ◆ _LinphoneChatRoomCapabilities

enum _LinphoneChatRoomCapabilities

LinphoneChatRoomCapabilities is used to indicate the capabilities of a chat room.

Enumerator
LinphoneChatRoomCapabilitiesNone | No capabilities.
LinphoneChatRoomCapabilitiesBasic | No server. It's a direct communication
LinphoneChatRoomCapabilitiesRealTimeText | Supports RTT.
LinphoneChatRoomCapabilitiesConference | Use server (supports group chat).
LinphoneChatRoomCapabilitiesProxy | Special proxy chat room flag.
LinphoneChatRoomCapabilitiesMigratable | Chat room migratable from Basic to Conference.
LinphoneChatRoomCapabilitiesOneToOne | A communication between two participants (can be Basic or Conference).
LinphoneChatRoomCapabilitiesEncrypted | Chat room is encrypted.
LinphoneChatRoomCapabilitiesEphemeral | Chat room can enable ephemeral messages.

## ◆ _LinphoneChatRoomEncryptionBackend

enum _LinphoneChatRoomEncryptionBackend

LinphoneChatRoomEncryptionBackend is used to indicate the encryption engine used by a chat room.

Enumerator
LinphoneChatRoomEncryptionBackendNone | No encryption.
LinphoneChatRoomEncryptionBackendLime | Lime x3dh encryption.

## ◆ _LinphoneChatRoomEphemeralMode

enum _LinphoneChatRoomEphemeralMode

LinphoneChatRoomEphemeralMode is used to the ephemeral message mode used by a chat room.

Enumerator
LinphoneChatRoomEphemeralModeDeviceManaged | Each device manages its own ephemeral settings.
LinphoneChatRoomEphemeralModeAdminManaged | Ephemeral settings are chatroom wide and only admins can change them.

## ◆ _LinphoneChatRoomSecurityLevel

enum _LinphoneChatRoomSecurityLevel

TODO move to encryption engine object when available LinphoneChatRoomSecurityLevel is used to indicate the encryption security level of a chat room.

Enumerator
LinphoneChatRoomSecurityLevelUnsafe | Security failure.
LinphoneChatRoomSecurityLevelClearText | No encryption.
LinphoneChatRoomSecurityLevelEncrypted | Encrypted.
LinphoneChatRoomSecurityLevelSafe | Encrypted and verified.

## ◆ _LinphoneChatRoomState

enum _LinphoneChatRoomState

LinphoneChatRoomState is used to indicate the current state of a chat room.

Enumerator
LinphoneChatRoomStateNone | Initial state.
LinphoneChatRoomStateInstantiated | Chat room is now instantiated on local.
LinphoneChatRoomStateCreationPending | One creation request was sent to the server.
LinphoneChatRoomStateCreated | Chat room was created on the server.
LinphoneChatRoomStateCreationFailed | Chat room creation failed.
LinphoneChatRoomStateTerminationPending | Wait for chat room termination.
LinphoneChatRoomStateTerminated | Chat room exists on server but not in local.
LinphoneChatRoomStateTerminationFailed | The chat room termination failed.
LinphoneChatRoomStateDeleted | Chat room was deleted on the server.

## Function Documentation

## ◆ linphone_chat_message_cbs_get_ephemeral_message_deleted()

LinphoneChatMessageCbsEphemeralMessageDeletedCb linphone_chat_message_cbs_get_ephemeral_message_deleted | ( | const LinphoneChatMessageCbs * | cbs | ) |

Get the ephemeral message deleted callback.

This callback is used when a message deletion timer runs out (message is deleted).

Parameters

  cbs | LinphoneChatMessageCbs object.

Returns
  The current ephemeral message deleted callback.

## ◆ linphone_chat_message_cbs_get_ephemeral_message_timer_started()

LinphoneChatMessageCbsEphemeralMessageTimerStartedCb linphone_chat_message_cbs_get_ephemeral_message_timer_started | ( | const LinphoneChatMessageCbs * | cbs | ) |

Get the current "ephemeral message timer started" callback.

This callback is called when the message deletion timer starts (the message has been viewed).

Parameters

  cbs | LinphoneChatMessageCbs object.

Returns
  The current ephemeral message timer started callback.

## ◆ linphone_chat_message_cbs_get_file_transfer_progress_indication()

LinphoneChatMessageCbsFileTransferProgressIndicationCb linphone_chat_message_cbs_get_file_transfer_progress_indication | ( | const LinphoneChatMessageCbs * | cbs | ) |

Get the file transfer progress indication callback.

Parameters

  cbs | LinphoneChatMessageCbs object.

Returns
  The current file transfer progress indication callback.

## ◆ linphone_chat_message_cbs_get_file_transfer_recv()

LinphoneChatMessageCbsFileTransferRecvCb linphone_chat_message_cbs_get_file_transfer_recv | ( | const LinphoneChatMessageCbs * | cbs | ) |

Get the file transfer receive callback.

Parameters

  cbs | LinphoneChatMessageCbs object.

Returns
  The current file transfer receive callback.

## ◆ linphone_chat_message_cbs_get_file_transfer_send()

LinphoneChatMessageCbsFileTransferSendCb linphone_chat_message_cbs_get_file_transfer_send | ( | const LinphoneChatMessageCbs * | cbs | ) |

Get the file transfer send callback.

Parameters

  cbs | LinphoneChatMessageCbs object.

Returns
  The current file transfer send callback.

Deprecated
  17/08/2020 Use linphone_chat_message_cbs_get_file_transfer_send_chunk() instead.

## ◆ linphone_chat_message_cbs_get_file_transfer_send_chunk()

LinphoneChatMessageCbsFileTransferSendChunkCb linphone_chat_message_cbs_get_file_transfer_send_chunk | ( | const LinphoneChatMessageCbs * | cbs | ) |

Get the file transfer send callback.

Parameters

  cbs | LinphoneChatMessageCbs object.

Returns
  The current file transfer send callback.

## ◆ linphone_chat_message_cbs_get_msg_state_changed()

LinphoneChatMessageCbsMsgStateChangedCb linphone_chat_message_cbs_get_msg_state_changed | ( | const LinphoneChatMessageCbs * | cbs | ) |

Get the message state changed callback.

Parameters

  cbs | LinphoneChatMessageCbs object.

Returns
  The current message state changed callback.

## ◆ linphone_chat_message_cbs_get_new_message_reaction()

LinphoneChatMessageCbsNewMessageReactionCb linphone_chat_message_cbs_get_new_message_reaction | ( | const LinphoneChatMessageCbs * | cbs | ) |

Get the new reaction callback.

Parameters

  cbs | LinphoneChatMessageCbs object.

Returns
  The current new reaction callback.

## ◆ linphone_chat_message_cbs_get_participant_imdn_state_changed()

LinphoneChatMessageCbsParticipantImdnStateChangedCb linphone_chat_message_cbs_get_participant_imdn_state_changed | ( | const LinphoneChatMessageCbs * | cbs | ) |

Get the participant IMDN state changed callback.

Parameters

  cbs | LinphoneChatMessageCbs object.

Returns
  The current participant IMDN state changed callback.

## ◆ linphone_chat_message_cbs_get_reaction_removed()

LinphoneChatMessageCbsReactionRemovedCb linphone_chat_message_cbs_get_reaction_removed | ( | const LinphoneChatMessageCbs * | cbs | ) |

Get the removed reaction callback.

Parameters

  cbs | LinphoneChatMessageCbs object.

Returns
  The current new reaction callback.

## ◆ linphone_chat_message_cbs_get_user_data()

void * linphone_chat_message_cbs_get_user_data | ( | const LinphoneChatMessageCbs * | cbs | ) |

Retrieve the user pointer associated with the chat message callbacks object.

Parameters

  cbs | The LinphoneChatMessageCbs object

Returns
  The user pointer associated with the chat message callbacks object.

## ◆ linphone_chat_message_cbs_ref()

LinphoneChatMessageCbs * linphone_chat_message_cbs_ref | ( | LinphoneChatMessageCbs * | cbs | ) |

Acquire a reference to the chat message callbacks object.

Parameters

  cbs | The LinphoneChatMessageCbs object

Returns
  The same chat message callbacks object

## ◆ linphone_chat_message_cbs_set_ephemeral_message_deleted()

void linphone_chat_message_cbs_set_ephemeral_message_deleted | ( | LinphoneChatMessageCbs * | cbs,
|  | LinphoneChatMessageCbsEphemeralMessageDeletedCb | cb )

Set the ephemeral message deleted callback.

This callback is used when new message deletion timer runs out (message is deleted).

Parameters

  cbs | LinphoneChatMessageCbs object.
  cb | The ephemeral message deleted callback to be used.

## ◆ linphone_chat_message_cbs_set_ephemeral_message_timer_started()

void linphone_chat_message_cbs_set_ephemeral_message_timer_started | ( | LinphoneChatMessageCbs * | cbs,
|  | LinphoneChatMessageCbsEphemeralMessageTimerStartedCb | cb )

Set the ephemeral message timer started callback.

This callback will be used when new message deletion timer starts (the message has been viewed).

Parameters

  cbs | LinphoneChatMessageCbs object.
  cb | The ephemeral message timer started callback to be used.

## ◆ linphone_chat_message_cbs_set_file_transfer_progress_indication()

void linphone_chat_message_cbs_set_file_transfer_progress_indication | ( | LinphoneChatMessageCbs * | cbs,
|  | LinphoneChatMessageCbsFileTransferProgressIndicationCb | cb )

Set the file transfer progress indication callback.

Parameters

  cbs | LinphoneChatMessageCbs object.
  cb | The file transfer progress indication callback to be used.

## ◆ linphone_chat_message_cbs_set_file_transfer_recv()

void linphone_chat_message_cbs_set_file_transfer_recv | ( | LinphoneChatMessageCbs * | cbs,
|  | LinphoneChatMessageCbsFileTransferRecvCb | cb )

Set the file transfer receive callback.

Parameters

  cbs | LinphoneChatMessageCbs object.
  cb | The file transfer receive callback to be used.

## ◆ linphone_chat_message_cbs_set_file_transfer_send()

void linphone_chat_message_cbs_set_file_transfer_send | ( | LinphoneChatMessageCbs * | cbs,
|  | LinphoneChatMessageCbsFileTransferSendCb | cb )

Set the file transfer send callback.

Parameters

  cbs | LinphoneChatMessageCbs object.
  cb | The file transfer send callback to be used.

Deprecated
  17/08/2020 Use linphone_chat_message_cbs_set_file_transfer_send_chunk() instead.

## ◆ linphone_chat_message_cbs_set_file_transfer_send_chunk()

void linphone_chat_message_cbs_set_file_transfer_send_chunk | ( | LinphoneChatMessageCbs * | cbs,
|  | LinphoneChatMessageCbsFileTransferSendChunkCb | cb )

Set the file transfer send callback.

Parameters

  cbs | LinphoneChatMessageCbs object.
  cb | The file transfer send callback to be used.

## ◆ linphone_chat_message_cbs_set_msg_state_changed()

void linphone_chat_message_cbs_set_msg_state_changed | ( | LinphoneChatMessageCbs * | cbs,
|  | LinphoneChatMessageCbsMsgStateChangedCb | cb )

Set the message state changed callback.

Parameters

  cbs | LinphoneChatMessageCbs object.
  cb | The message state changed callback to be used.

## ◆ linphone_chat_message_cbs_set_new_message_reaction()

void linphone_chat_message_cbs_set_new_message_reaction | ( | LinphoneChatMessageCbs * | cbs,
|  | LinphoneChatMessageCbsNewMessageReactionCb | cb )

Set the new reaction callback.

Parameters

  cbs | LinphoneChatMessageCbs object.
  cb | The new reaction callback to be used.

## ◆ linphone_chat_message_cbs_set_participant_imdn_state_changed()

void linphone_chat_message_cbs_set_participant_imdn_state_changed | ( | LinphoneChatMessageCbs * | cbs,
|  | LinphoneChatMessageCbsParticipantImdnStateChangedCb | cb )

Set the participant IMDN state changed callback.

Parameters

  cbs | LinphoneChatMessageCbs object.
  cb | The participant IMDN state changed callback to be used.

## ◆ linphone_chat_message_cbs_set_reaction_removed()

void linphone_chat_message_cbs_set_reaction_removed | ( | LinphoneChatMessageCbs * | cbs,
|  | LinphoneChatMessageCbsReactionRemovedCb | cb )

Set the removed reaction callback.

Parameters

  cbs | LinphoneChatMessageCbs object.
  cb | The new reaction callback to be used.

## ◆ linphone_chat_message_cbs_set_user_data()

void linphone_chat_message_cbs_set_user_data | ( | LinphoneChatMessageCbs * | cbs,
|  | void * | user_data )

Assign a user pointer to the chat message callbacks object.

Parameters

  cbs | The LinphoneChatMessageCbs object
  user_data | The user pointer to associate with the chat message callbacks object.

## ◆ linphone_chat_message_cbs_unref()

void linphone_chat_message_cbs_unref | ( | LinphoneChatMessageCbs * | cbs | ) |

Release reference to the chat message callbacks object.

Parameters

  cbs | The LinphoneChatMessageCbs object

## ◆ linphone_chat_message_reaction_get_body()

const char * linphone_chat_message_reaction_get_body | ( | const LinphoneChatMessageReaction * | reaction | ) |

Returns the emoji(s) used for the reaction.

Parameters

  reaction | the LinphoneChatMessageReaction.

Returns
  the emoji(s) used as UTF-8 characters.

## ◆ linphone_chat_message_reaction_get_call_id()

const char * linphone_chat_message_reaction_get_call_id | ( | const LinphoneChatMessageReaction * | reaction | ) |

Allows to get the Call ID associated with a LinphoneChatMessageReaction.

Parameters

  reaction | the LinphoneChatMessageReaction.

Returns
  the Call ID associated with this reaction.

## ◆ linphone_chat_message_reaction_get_from_address()

const LinphoneAddress * linphone_chat_message_reaction_get_from_address | ( | const LinphoneChatMessageReaction * | reaction | ) |

Returns the LinphoneAddress of the participant that sent this reaction.

Parameters

  reaction | the LinphoneChatMessageReaction.

Returns
  the LinphoneAddress that sent this reaction.

## ◆ linphone_chat_message_reaction_ref()

LinphoneChatMessageReaction * linphone_chat_message_reaction_ref | ( | LinphoneChatMessageReaction * | reaction | ) |

Takes a reference on a LinphoneChatMessageReaction.

Parameters

  reaction | the LinphoneChatMessageReaction.

Returns
  the same LinphoneChatMessageReaction object

## ◆ linphone_chat_message_reaction_send()

void linphone_chat_message_reaction_send | ( | LinphoneChatMessageReaction * | reaction | ) |

Sends a LinphoneChatMessageReaction.

Parameters

  reaction | the LinphoneChatMessageReaction to send.

## ◆ linphone_chat_message_reaction_unref()

void linphone_chat_message_reaction_unref | ( | LinphoneChatMessageReaction * | reaction | ) |

Releases a LinphoneChatMessageReaction reference.

Parameters

  reaction | the LinphoneChatMessageReaction

## ◆ linphone_chat_room_add_callbacks()

void linphone_chat_room_add_callbacks | ( | LinphoneChatRoom * | chat_room,
|  | LinphoneChatRoomCbs * | cbs )

Add a listener in order to be notified of LinphoneChatRoom events.

Once an event is received, registred LinphoneChatRoomCbs are invoked sequencially.

Parameters

  chat_room | LinphoneChatRoom object to monitor.
  cbs | A LinphoneChatRoomCbs object holding the callbacks you need. A reference is taken by the LinphoneChatRoom until you invoke linphone_call_remove_callbacks().

## ◆ linphone_chat_room_add_participant()

void linphone_chat_room_add_participant | ( | LinphoneChatRoom * | chat_room,
|  | LinphoneAddress * | addr )

Add a participant to a chat room.

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

Parameters

  chat_room | A LinphoneChatRoom object
  addr | The address of the participant to add to the chat room

## ◆ linphone_chat_room_add_participants()

bool_t linphone_chat_room_add_participants | ( | LinphoneChatRoom * | chat_room,
|  | const bctbx_list_t * | addresses )

Add several participants to a chat room at once.

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

Parameters

  chat_room | A LinphoneChatRoom object
  addresses | The participants to add.

Returns
  TRUE if everything is OK, FALSE otherwise

## ◆ linphone_chat_room_can_handle_participants()

bool_t linphone_chat_room_can_handle_participants | ( | const LinphoneChatRoom * | chat_room | ) |

Tells whether a chat room is able to handle participants.

Parameters

  chat_room | A LinphoneChatRoom object

Returns
  TRUE if the chat room can handle participants, FALSE otherwise

## ◆ linphone_chat_room_cbs_get_chat_message_participant_imdn_state_changed()

LinphoneChatRoomCbsChatMessageParticipantImdnStateChangedCb linphone_chat_room_cbs_get_chat_message_participant_imdn_state_changed | ( | LinphoneChatRoomCbs * | cbs | ) |

Get the message's participant state changed callback.

Parameters

  cbs | LinphoneChatRoomCbs object

Returns
  The message's participant state changed callback callback

## ◆ linphone_chat_room_cbs_get_chat_message_received()

LinphoneChatRoomCbsChatMessageReceivedCb linphone_chat_room_cbs_get_chat_message_received | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the chat message received callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current chat message received callback.

## ◆ linphone_chat_room_cbs_get_chat_message_sending()

LinphoneChatRoomCbsChatMessageSendingCb linphone_chat_room_cbs_get_chat_message_sending | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the chat message sending callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current chat message being sent callback.

## ◆ linphone_chat_room_cbs_get_chat_message_sent()

LinphoneChatRoomCbsChatMessageSentCb linphone_chat_room_cbs_get_chat_message_sent | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the chat message sent callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current chat message sent callback.

## ◆ linphone_chat_room_cbs_get_chat_message_should_be_stored()

LinphoneChatRoomCbsShouldChatMessageBeStoredCb linphone_chat_room_cbs_get_chat_message_should_be_stored | ( | LinphoneChatRoomCbs * | cbs | ) |

Get the message should be stored callback.

Parameters

  cbs | LinphoneChatRoomCbs object

Returns
  The message should be stored callback

## ◆ linphone_chat_room_cbs_get_chat_messages_received()

LinphoneChatRoomCbsChatMessagesReceivedCb linphone_chat_room_cbs_get_chat_messages_received | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the chat messages received callback.

Only called when aggregation is enabled (aka [sip] chat_messages_aggregation == 1 or using linphone_core_set_chat_messages_aggregation_enabled()), it replaces the single chat message received callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current chat message received callback.

## ◆ linphone_chat_room_cbs_get_chat_room_read()

LinphoneChatRoomCbsChatRoomReadCb linphone_chat_room_cbs_get_chat_room_read | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the "marked as read" callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The marked as read callback.

## ◆ linphone_chat_room_cbs_get_conference_address_generation()

LinphoneChatRoomCbsConferenceAddressGenerationCb linphone_chat_room_cbs_get_conference_address_generation | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the conference address generation callback.

Parameters

  cbs | LinphoneChatRoomCbs object

Returns
  The current conference address generation callback

## ◆ linphone_chat_room_cbs_get_conference_joined()

LinphoneChatRoomCbsConferenceJoinedCb linphone_chat_room_cbs_get_conference_joined | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the conference joined callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current conference joined callback.

## ◆ linphone_chat_room_cbs_get_conference_left()

LinphoneChatRoomCbsConferenceLeftCb linphone_chat_room_cbs_get_conference_left | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the conference left callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current conference left callback.

## ◆ linphone_chat_room_cbs_get_ephemeral_event()

LinphoneChatRoomCbsEphemeralEventCb linphone_chat_room_cbs_get_ephemeral_event | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the ephemeral event callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The ephemeral event callback to be used.

## ◆ linphone_chat_room_cbs_get_ephemeral_message_deleted()

LinphoneChatRoomCbsEphemeralMessageDeletedCb linphone_chat_room_cbs_get_ephemeral_message_deleted | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the ephemeral message deleted callback.

This callback is used when a message deletion timer runs out (message is deleted).

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current ephemeral message deleted callback.

## ◆ linphone_chat_room_cbs_get_ephemeral_message_timer_started()

LinphoneChatRoomCbsEphemeralMessageTimerStartedCb linphone_chat_room_cbs_get_ephemeral_message_timer_started | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the current "ephemeral message timer started" callback.

This callback is called when a message deletion timer starts (the message has been viewed).

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current ephemeral message "timer started" callback.

## ◆ linphone_chat_room_cbs_get_is_composing_received()

LinphoneChatRoomCbsIsComposingReceivedCb linphone_chat_room_cbs_get_is_composing_received | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the is-composing received callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current is-composing received callback.

## ◆ linphone_chat_room_cbs_get_message_received()

LinphoneChatRoomCbsMessageReceivedCb linphone_chat_room_cbs_get_message_received | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the message received callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current message received callback.

## ◆ linphone_chat_room_cbs_get_messages_received()

LinphoneChatRoomCbsMessagesReceivedCb linphone_chat_room_cbs_get_messages_received | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the chat messages received callback.

Only called when aggregation is enabled (aka [sip] chat_messages_aggregation == 1 or using linphone_core_set_chat_messages_aggregation_enabled()), it replaces the single message received callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current chat messages received callback.

## ◆ linphone_chat_room_cbs_get_new_event()

LinphoneChatRoomCbsNewEventCb linphone_chat_room_cbs_get_new_event | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the new event log callback.

This callback will be called before every other LinphoneEventLog related callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current event log created callback.

## ◆ linphone_chat_room_cbs_get_new_events()

LinphoneChatRoomCbsNewEventsCb linphone_chat_room_cbs_get_new_events | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the new event logs callback.

This callback will be called before every other LinphoneEventLog related callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current event logs created callback.

## ◆ linphone_chat_room_cbs_get_participant_added()

LinphoneChatRoomCbsParticipantAddedCb linphone_chat_room_cbs_get_participant_added | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the participant added callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current participant added callback.

## ◆ linphone_chat_room_cbs_get_participant_admin_status_changed()

LinphoneChatRoomCbsParticipantAdminStatusChangedCb linphone_chat_room_cbs_get_participant_admin_status_changed | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the participant admin status changed callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current participant admin status changed callback.

## ◆ linphone_chat_room_cbs_get_participant_device_added()

LinphoneChatRoomCbsParticipantDeviceAddedCb linphone_chat_room_cbs_get_participant_device_added | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the participant device added callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current participant device added callback.

## ◆ linphone_chat_room_cbs_get_participant_device_media_availability_changed()

LinphoneChatRoomCbsParticipantDeviceMediaAvailabilityChangedCb linphone_chat_room_cbs_get_participant_device_media_availability_changed | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the participant device media availability changed callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current participant device media availability changed callback.

## ◆ linphone_chat_room_cbs_get_participant_device_removed()

LinphoneChatRoomCbsParticipantDeviceRemovedCb linphone_chat_room_cbs_get_participant_device_removed | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the participant device removed callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current participant device removed callback.

## ◆ linphone_chat_room_cbs_get_participant_device_state_changed()

LinphoneChatRoomCbsParticipantDeviceStateChangedCb linphone_chat_room_cbs_get_participant_device_state_changed | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the participant device state callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current participant device state callback.

## ◆ linphone_chat_room_cbs_get_participant_registration_subscription_requested()

LinphoneChatRoomCbsParticipantRegistrationSubscriptionRequestedCb linphone_chat_room_cbs_get_participant_registration_subscription_requested | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the participant registration subscription callback.

Parameters

  cbs | LinphoneChatRoomCbs object

Returns
  The participant registration subscription callback

## ◆ linphone_chat_room_cbs_get_participant_registration_unsubscription_requested()

LinphoneChatRoomCbsParticipantRegistrationUnsubscriptionRequestedCb linphone_chat_room_cbs_get_participant_registration_unsubscription_requested | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the participant registration unsubscription callback.

Parameters

  cbs | LinphoneChatRoomCbs object

Returns
  The participant registration unsubscription callback

## ◆ linphone_chat_room_cbs_get_participant_removed()

LinphoneChatRoomCbsParticipantRemovedCb linphone_chat_room_cbs_get_participant_removed | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the participant removed callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current participant removed callback.

## ◆ linphone_chat_room_cbs_get_security_event()

LinphoneChatRoomCbsSecurityEventCb linphone_chat_room_cbs_get_security_event | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the security event callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The security event callback to be used.

## ◆ linphone_chat_room_cbs_get_state_changed()

LinphoneChatRoomCbsStateChangedCb linphone_chat_room_cbs_get_state_changed | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the state changed callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current state changed callback.

## ◆ linphone_chat_room_cbs_get_subject_changed()

LinphoneChatRoomCbsSubjectChangedCb linphone_chat_room_cbs_get_subject_changed | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the subject changed callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current subject changed callback.

## ◆ linphone_chat_room_cbs_get_undecryptable_message_received()

LinphoneChatRoomCbsUndecryptableMessageReceivedCb linphone_chat_room_cbs_get_undecryptable_message_received | ( | const LinphoneChatRoomCbs * | cbs | ) |

Get the undecryptable message received callback.

Parameters

  cbs | LinphoneChatRoomCbs object.

Returns
  The current undecryptable message received callback.

## ◆ linphone_chat_room_cbs_get_user_data()

void * linphone_chat_room_cbs_get_user_data | ( | const LinphoneChatRoomCbs * | cbs | ) |

Retrieve the user pointer associated with the chat room callbacks object.

Parameters

  cbs | The chat room callbacks object

Returns
  The user pointer associated with the chat room callbacks object.

## ◆ linphone_chat_room_cbs_ref()

LinphoneChatRoomCbs * linphone_chat_room_cbs_ref | ( | LinphoneChatRoomCbs * | cbs | ) |

Acquire a reference to the chat room callbacks object.

Parameters

  cbs | The LinphoneChatRoomCbs object

Returns
  The same LinphoneChatRoomCbs object

## ◆ linphone_chat_room_cbs_set_chat_message_participant_imdn_state_changed()

void linphone_chat_room_cbs_set_chat_message_participant_imdn_state_changed | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsChatMessageParticipantImdnStateChangedCb | cb )

Set the message's participant state changed callback callback.

Parameters

  cbs | LinphoneChatRoomCbs object
  cb | The message's participant state changed callback to be used

## ◆ linphone_chat_room_cbs_set_chat_message_received()

void linphone_chat_room_cbs_set_chat_message_received | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsChatMessageReceivedCb | cb )

Set the chat message received callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The chat message received callback to be used.

## ◆ linphone_chat_room_cbs_set_chat_message_sending()

void linphone_chat_room_cbs_set_chat_message_sending | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsChatMessageSendingCb | cb )

Set the chat message sending callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The chat message being sent callback to be used.

## ◆ linphone_chat_room_cbs_set_chat_message_sent()

void linphone_chat_room_cbs_set_chat_message_sent | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsChatMessageSentCb | cb )

Set the chat message sent callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The chat message sent callback to be used.

## ◆ linphone_chat_room_cbs_set_chat_message_should_be_stored()

void linphone_chat_room_cbs_set_chat_message_should_be_stored | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsShouldChatMessageBeStoredCb | cb )

Set the message should be stored callback.

Parameters

  cbs | LinphoneChatRoomCbs object
  cb | The message should be stored callback to be used

## ◆ linphone_chat_room_cbs_set_chat_messages_received()

void linphone_chat_room_cbs_set_chat_messages_received | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsChatMessagesReceivedCb | cb )

Set the chat messages received callback.

Only called when aggregation is enabled (aka [sip] chat_messages_aggregation == 1 or using linphone_core_set_chat_messages_aggregation_enabled()), it replaces the single chat message received callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The chat message received callback to be used.

## ◆ linphone_chat_room_cbs_set_chat_room_read()

void linphone_chat_room_cbs_set_chat_room_read | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsChatRoomReadCb | cb )

Set the "marked as read" callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The marked as read callback to be used.

## ◆ linphone_chat_room_cbs_set_conference_address_generation()

void linphone_chat_room_cbs_set_conference_address_generation | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsConferenceAddressGenerationCb | cb )

Set the conference address generation callback.

Parameters

  cbs | LinphoneChatRoomCbs object
  cb | The conference address generation callback to be used

## ◆ linphone_chat_room_cbs_set_conference_joined()

void linphone_chat_room_cbs_set_conference_joined | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsConferenceJoinedCb | cb )

Set the conference joined callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The conference joined callback to be used.

## ◆ linphone_chat_room_cbs_set_conference_left()

void linphone_chat_room_cbs_set_conference_left | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsConferenceLeftCb | cb )

Set the conference left callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The conference left callback to be used.

## ◆ linphone_chat_room_cbs_set_ephemeral_event()

void linphone_chat_room_cbs_set_ephemeral_event | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsEphemeralEventCb | cb )

Set the ephemeral event callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The ephemeral event callback to be used.

## ◆ linphone_chat_room_cbs_set_ephemeral_message_deleted()

void linphone_chat_room_cbs_set_ephemeral_message_deleted | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsEphemeralMessageDeletedCb | cb )

Set the ephemeral message deleted callback.

This callback is used when new message deletion timer runs out (message is deleted).

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The ephemeral message deleted callback to be used.

## ◆ linphone_chat_room_cbs_set_ephemeral_message_timer_started()

void linphone_chat_room_cbs_set_ephemeral_message_timer_started | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsEphemeralMessageTimerStartedCb | cb )

Set the ephemeral message timer started callback.

This callback will be used when new message deletion timer starts (the message has been viewed).

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The ephemeral message timer started callback to be used.

## ◆ linphone_chat_room_cbs_set_is_composing_received()

void linphone_chat_room_cbs_set_is_composing_received | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsIsComposingReceivedCb | cb )

Set the is-composing received callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The is-composing received callback to be used.

## ◆ linphone_chat_room_cbs_set_message_received()

void linphone_chat_room_cbs_set_message_received | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsMessageReceivedCb | cb )

Set the message received callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The message received callback to be used.

## ◆ linphone_chat_room_cbs_set_messages_received()

void linphone_chat_room_cbs_set_messages_received | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsMessagesReceivedCb | cb )

Set the chat message received callback.

Only called when aggregation is enabled (aka [sip] chat_messages_aggregation == 1 or using linphone_core_set_chat_messages_aggregation_enabled()), it replaces the single message received callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The chat messages received callback to be used.

## ◆ linphone_chat_room_cbs_set_new_event()

void linphone_chat_room_cbs_set_new_event | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsNewEventCb | cb )

Set the new event log callback.

This callback will be called before every other LinphoneEventLog related callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The event log created callback to be used.

## ◆ linphone_chat_room_cbs_set_new_events()

void linphone_chat_room_cbs_set_new_events | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsNewEventsCb | cb )

Set the new event logs callback.

This callback will be called before every other LinphoneEventLog related callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The event logs created callback to be used.

## ◆ linphone_chat_room_cbs_set_participant_added()

void linphone_chat_room_cbs_set_participant_added | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsParticipantAddedCb | cb )

Set the participant added callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The participant added callback to be used.

## ◆ linphone_chat_room_cbs_set_participant_admin_status_changed()

void linphone_chat_room_cbs_set_participant_admin_status_changed | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsParticipantAdminStatusChangedCb | cb )

Set the participant admin status changed callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The participant admin status changed callback to be used.

## ◆ linphone_chat_room_cbs_set_participant_device_added()

void linphone_chat_room_cbs_set_participant_device_added | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsParticipantDeviceAddedCb | cb )

Set the participant device added callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The participant device added callback to be used.

## ◆ linphone_chat_room_cbs_set_participant_device_media_availability_changed()

void linphone_chat_room_cbs_set_participant_device_media_availability_changed | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsParticipantDeviceMediaAvailabilityChangedCb | cb )

Set the participant device media availability changed callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The participant device media availability changed callback to be used.

## ◆ linphone_chat_room_cbs_set_participant_device_removed()

void linphone_chat_room_cbs_set_participant_device_removed | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsParticipantDeviceRemovedCb | cb )

Set the participant device removed callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The participant device removed callback to be used.

## ◆ linphone_chat_room_cbs_set_participant_device_state_changed()

void linphone_chat_room_cbs_set_participant_device_state_changed | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsParticipantDeviceStateChangedCb | cb )

Set the participant device state callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The participant device state callback to be used.

## ◆ linphone_chat_room_cbs_set_participant_registration_subscription_requested()

void linphone_chat_room_cbs_set_participant_registration_subscription_requested | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsParticipantRegistrationSubscriptionRequestedCb | cb )

Set the participant registration subscription callback.

Parameters

  cbs | LinphoneChatRoomCbs object
  cb | The participant registration subscription callback to be used

## ◆ linphone_chat_room_cbs_set_participant_registration_unsubscription_requested()

void linphone_chat_room_cbs_set_participant_registration_unsubscription_requested | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsParticipantRegistrationUnsubscriptionRequestedCb | cb )

Set the participant registration unsubscription callback.

Parameters

  cbs | LinphoneChatRoomCbs object
  cb | The participant registration unsubscription callback to be used

## ◆ linphone_chat_room_cbs_set_participant_removed()

void linphone_chat_room_cbs_set_participant_removed | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsParticipantRemovedCb | cb )

Set the participant removed callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The participant removed callback to be used.

## ◆ linphone_chat_room_cbs_set_security_event()

void linphone_chat_room_cbs_set_security_event | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsSecurityEventCb | cb )

Set the security event callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The security event callback to be used.

## ◆ linphone_chat_room_cbs_set_state_changed()

void linphone_chat_room_cbs_set_state_changed | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsStateChangedCb | cb )

Set the state changed callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The state changed callback to be used.

## ◆ linphone_chat_room_cbs_set_subject_changed()

void linphone_chat_room_cbs_set_subject_changed | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsSubjectChangedCb | cb )

Set the subject changed callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The subject changed callback to be used.

## ◆ linphone_chat_room_cbs_set_undecryptable_message_received()

void linphone_chat_room_cbs_set_undecryptable_message_received | ( | LinphoneChatRoomCbs * | cbs,
|  | LinphoneChatRoomCbsUndecryptableMessageReceivedCb | cb )

Set the undecryptable message received callback.

Parameters

  cbs | LinphoneChatRoomCbs object.
  cb | The undecryptable message received callback to be used.

## ◆ linphone_chat_room_cbs_set_user_data()

void linphone_chat_room_cbs_set_user_data | ( | LinphoneChatRoomCbs * | cbs,
|  | void * | user_data )

Assign a user pointer to the chat room callbacks object.

Parameters

  cbs | The chat room callbacks object
  user_data | The user pointer to associate with the chat room callbacks object.

## ◆ linphone_chat_room_cbs_unref()

void linphone_chat_room_cbs_unref | ( | LinphoneChatRoomCbs * | cbs | ) |

Release reference to the chat room callbacks object.

Parameters

  cbs | The chat room callbacks object

## ◆ linphone_chat_room_compose()

void linphone_chat_room_compose | ( | LinphoneChatRoom * | chat_room | ) |

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

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation for which a new message is being typed.

## ◆ linphone_chat_room_create_empty_message()

LinphoneChatMessage * linphone_chat_room_create_empty_message | ( | LinphoneChatRoom * | chat_room | ) |

Creates an empty message attached to the given chat room.

Parameters

  chat_room | the LinphoneChatRoom object.

Returns
  a new LinphoneChatMessage

## ◆ linphone_chat_room_create_file_transfer_message()

LinphoneChatMessage * linphone_chat_room_create_file_transfer_message | ( | LinphoneChatRoom * | chat_room,
|  | LinphoneContent * | initial_content )

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

Use linphone_chat_message_send() to initiate the transfer

Parameters

  chat_room | the LinphoneChatRoom object.
  initial_content | LinphoneContent initial content.

Returns
  a new LinphoneChatMessage

## ◆ linphone_chat_room_create_forward_message()

LinphoneChatMessage * linphone_chat_room_create_forward_message | ( | LinphoneChatRoom * | chat_room,
|  | LinphoneChatMessage * | message )

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

Parameters

  chat_room | the LinphoneChatRoom object.
  message | LinphoneChatMessage message to be forwarded.

Returns
  a new LinphoneChatMessage

## ◆ linphone_chat_room_create_message()

MS2_DEPRECATED LinphoneChatMessage * linphone_chat_room_create_message | ( | LinphoneChatRoom * | chat_room,
|  | const char * | message )

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

Parameters

  chat_room | the LinphoneChatRoom object.
  message | text message, NULL if absent.

Returns
  a new LinphoneChatMessage

Deprecated
  01/07/2020. Use linphone_chat_room_create_message_from_utf8() instead.

## ◆ linphone_chat_room_create_message_2()

MS2_DEPRECATED LinphoneChatMessage * linphone_chat_room_create_message_2 | ( | LinphoneChatRoom * | chat_room,
|  | const char * | message,
|  | const char * | external_body_url,
|  | LinphoneChatMessageState | state,
|  | time_t | time,
|  | bool_t | is_read,
|  | bool_t | is_incoming )

Creates a message attached to the given chat room.

Parameters

  chat_room | the LinphoneChatRoom object.
  message | text message, NULL if absent.
  external_body_url | the URL given in external body or NULL.
  state | the LinphoneChatMessage. State of the message.
  time | the time_t at which the message has been received/sent.
  is_read | TRUE if the message should be flagged as read, FALSE otherwise.
  is_incoming | TRUE if the message has been received, FALSE otherwise.

Returns
  a new LinphoneChatMessage

Deprecated
  14/11/2017 Use linphone_chat_room_create_message_from_utf8() instead.

## ◆ linphone_chat_room_create_message_from_utf8()

LinphoneChatMessage * linphone_chat_room_create_message_from_utf8 | ( | LinphoneChatRoom * | chat_room,
|  | const char * | message )

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

Introduced in 01/07/2020

Parameters

  chat_room | the LinphoneChatRoom object.
  message | text message in UTF8, NULL if absent.

Returns
  a new LinphoneChatMessage

## ◆ linphone_chat_room_create_reply_message()

LinphoneChatMessage * linphone_chat_room_create_reply_message | ( | LinphoneChatRoom * | chat_room,
|  | LinphoneChatMessage * | message )

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

Parameters

  chat_room | the LinphoneChatRoom object.
  message | LinphoneChatMessage message to reply to.

Returns
  a new LinphoneChatMessage

## ◆ linphone_chat_room_create_voice_recording_message()

LinphoneChatMessage * linphone_chat_room_create_voice_recording_message | ( | LinphoneChatRoom * | chat_room,
|  | LinphoneRecorder * | recorder )

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!

Parameters

  chat_room | the LinphoneChatRoom object.
  recorder | the LinphoneRecorder object used to record the voice message.

Returns
  a new LinphoneChatMessage

## ◆ linphone_chat_room_delete_history()

void linphone_chat_room_delete_history | ( | LinphoneChatRoom * | chat_room | ) |

Delete all messages from the history.

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation.

## ◆ linphone_chat_room_delete_message()

void linphone_chat_room_delete_message | ( | LinphoneChatRoom * | chat_room,
|  | LinphoneChatMessage * | message )

Delete a message from the chat room history.

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation.
  message | The LinphoneChatMessage object to remove.

## ◆ linphone_chat_room_enable_ephemeral()

void linphone_chat_room_enable_ephemeral | ( | LinphoneChatRoom * | chat_room,
|  | bool_t | enable )

Enable or disable the ephemeral message feature in the chat room.

Works only for flexisip-based chat room. An ephemeral message will automatically disappear from the sender and recipient's chatrooms after a specified timeout configurable with linphone_chat_room_set_ephemeral_lifetime(). The timer starts when the message has been displayed at the recipent, which means:

- at recipient side when linphone_chat_room_mark_as_read() is called.
- at sender side, when the message enters the state LinphoneChatMessageStateDisplayed (when receiving the displayed IMDN).

Parameters

  chat_room | LinphoneChatRoom object
  enable | TRUE if the ephemeral message feature is enabled, FALSE otherwise.

## ◆ linphone_chat_room_ephemeral_enabled()

bool_t linphone_chat_room_ephemeral_enabled | ( | const LinphoneChatRoom * | chat_room | ) |

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

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation

Returns
  TRUE if ephemeral is enabled, FALSE otherwise.

## ◆ linphone_chat_room_ephemeral_supported_by_all_participants()

bool_t linphone_chat_room_ephemeral_supported_by_all_participants | ( | const LinphoneChatRoom * | chat_room | ) |

Uses linphone spec to 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.

See also
  linphone_chat_room_ephemeral_enabled()

Parameters

  chat_room | LinphoneChatRoom object

Returns
  TRUE if all participants in the chat room support ephemeral messages, FALSE otherwise

## ◆ linphone_chat_room_find_message()

LinphoneChatMessage * linphone_chat_room_find_message | ( | LinphoneChatRoom * | chat_room,
|  | const char * | message_id )

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

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation for which the message should be retrieved
  message_id | The id of the message to find

Returns
  the LinphoneChatMessage if found or NULL.

## ◆ linphone_chat_room_find_participant()

LinphoneParticipant * linphone_chat_room_find_participant | ( | const LinphoneChatRoom * | chat_room,
|  | LinphoneAddress * | address )

Find a participant of a chat room from its address.

Parameters

  chat_room | A LinphoneChatRoom object
  address | The LinphoneAddress to search in the list of participants of the chat room

Returns
  The participant if found, NULL otherwise.

## ◆ linphone_chat_room_get_call()

LinphoneCall * linphone_chat_room_get_call | ( | const LinphoneChatRoom * | chat_room | ) |

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

Parameters

  chat_room | the LinphoneChatRoom object

Returns
  LinphoneCall or NULL.

## ◆ linphone_chat_room_get_capabilities()

LinphoneChatRoomCapabilitiesMask linphone_chat_room_get_capabilities | ( | const LinphoneChatRoom * | chat_room | ) |

Get the capabilities of a chat room.

Parameters

  chat_room | A LinphoneChatRoom object

Returns
  The capabilities of the chat room (as a LinphoneChatRoomCapabilitiesMask)

## ◆ linphone_chat_room_get_char()

uint32_t linphone_chat_room_get_char | ( | LinphoneChatRoom * | chat_room | ) |

When realtime text is enabled linphone_call_params_realtime_text_enabled(), LinphoneCoreIsComposingReceivedCb is call everytime a char is received from peer.

At the end of remote typing a regular LinphoneChatMessage is received with committed data from LinphoneCoreCbsMessageReceivedCb.

Parameters

  chat_room | LinphoneChatRoom object

Returns
  RFC 4103/T.140 char

## ◆ linphone_chat_room_get_composing_addresses()

const bctbx_list_t * linphone_chat_room_get_composing_addresses | ( | LinphoneChatRoom * | chat_room | ) |

Gets the list of participants that are currently composing.

Parameters

  chat_room | A LinphoneChatRoom object

Returns
  List of addresses that are in the is_composing state.

## ◆ linphone_chat_room_get_conference_address()

const LinphoneAddress * linphone_chat_room_get_conference_address | ( | const LinphoneChatRoom * | chat_room | ) |

Get the conference address of the chat room.

Parameters

  chat_room | A LinphoneChatRoom object

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

## ◆ linphone_chat_room_get_core()

LinphoneCore * linphone_chat_room_get_core | ( | const LinphoneChatRoom * | chat_room | ) |

Returns back pointer to LinphoneCore object.

Parameters

  chat_room | the LinphoneChatRoom object.

Returns
  the LinphoneCore object this chat room is attached to.

## ◆ linphone_chat_room_get_creation_time()

time_t linphone_chat_room_get_creation_time | ( | const LinphoneChatRoom * | chat_room | ) |

Return the creation time for the chat room.

Parameters

  chat_room | LinphoneChatRoom object

Returns
  the time at which the chat room was created

## ◆ linphone_chat_room_get_current_callbacks()

LinphoneChatRoomCbs * linphone_chat_room_get_current_callbacks | ( | const LinphoneChatRoom * | chat_room | ) |

Gets the current LinphoneChatRoomCbs.

This is meant only to be called from a callback to be able to get the user_data associated with the LinphoneChatRoomCbs that is calling the callback.

Parameters

  chat_room | LinphoneChatRoom object

Returns
  The LinphoneChatRoomCbs that has called the last callback

## ◆ linphone_chat_room_get_current_params()

const LinphoneChatRoomParams * linphone_chat_room_get_current_params | ( | const LinphoneChatRoom * | chat_room | ) |

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 LinphoneChatRoomParams was explicitely passed during chat room chat_roomeation.

Parameters

  chat_room | the LinphoneChatRoom object

Returns
  the current LinphoneChatRoomParams parameters.

## ◆ linphone_chat_room_get_ephemeral_lifetime()

long linphone_chat_room_get_ephemeral_lifetime | ( | const LinphoneChatRoom * | chat_room | ) |

Get 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 also
  linphone_chat_room_ephemeral_enabled()

Parameters

  chat_room | LinphoneChatRoom object

Returns
  the ephemeral lifetime (in secoonds)

## ◆ linphone_chat_room_get_ephemeral_mode()

LinphoneChatRoomEphemeralMode linphone_chat_room_get_ephemeral_mode | ( | const LinphoneChatRoom * | chat_room | ) |

Get the ephemeral mode of the chat room.

See also
  linphone_chat_room_ephemeral_enabled()

Parameters

  chat_room | LinphoneChatRoom object

Returns
  the ephemeral mode LinphoneChatRoomEphemeralMode

## ◆ linphone_chat_room_get_history()

bctbx_list_t * linphone_chat_room_get_history | ( | LinphoneChatRoom * | chat_room,
|  | int | nb_message )

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

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation for which messages should be retrieved
  nb_message | Number of message to retrieve. 0 means everything.

Returns
  A list of chat messages.

## ◆ linphone_chat_room_get_history_events()

bctbx_list_t * linphone_chat_room_get_history_events | ( | LinphoneChatRoom * | chat_room,
|  | int | nb_events )

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

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation for which events should be retrieved
  nb_events | Number of events to retrieve. 0 means everything.

Returns
  The list of the most recent events.

## ◆ linphone_chat_room_get_history_events_size()

int linphone_chat_room_get_history_events_size | ( | LinphoneChatRoom * | chat_room | ) |

Gets the number of events in a chat room.

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation for which size has to be computed

Returns
  the number of events.

## ◆ linphone_chat_room_get_history_message_events()

bctbx_list_t * linphone_chat_room_get_history_message_events | ( | LinphoneChatRoom * | chat_room,
|  | int | nb_events )

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

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation for which events should be retrieved
  nb_events | Number of events to retrieve. 0 means everything.

Returns
  A list

## ◆ linphone_chat_room_get_history_range()

bctbx_list_t * linphone_chat_room_get_history_range | ( | LinphoneChatRoom * | chat_room,
|  | int | begin,
|  | int | end )

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

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation for which messages should be retrieved
  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 - 1 (use linphone_chat_room_get_history_size() to retrieve history size)

Returns
  A list of chat messages.

## ◆ linphone_chat_room_get_history_range_events()

bctbx_list_t * linphone_chat_room_get_history_range_events | ( | LinphoneChatRoom * | chat_room,
|  | int | begin,
|  | int | end )

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

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation for which events should be retrieved
  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 - 1

Returns
  The list of the found events.

## ◆ linphone_chat_room_get_history_range_message_events()

bctbx_list_t * linphone_chat_room_get_history_range_message_events | ( | LinphoneChatRoom * | chat_room,
|  | int | begin,
|  | int | end )

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

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation for which events should be retrieved
  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 - 1

Returns
  The list of chat message events.

## ◆ linphone_chat_room_get_history_size()

int linphone_chat_room_get_history_size | ( | LinphoneChatRoom * | chat_room | ) |

Gets the number of messages in a chat room.

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation for which size has to be computed

Returns
  the number of messages.

## ◆ linphone_chat_room_get_last_message_in_history()

LinphoneChatMessage * linphone_chat_room_get_last_message_in_history | ( | LinphoneChatRoom * | chat_room | ) |

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

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation for which last message should be retrieved

Returns
  the latest LinphoneChatMessage or NULL if no message.

## ◆ linphone_chat_room_get_last_update_time()

time_t linphone_chat_room_get_last_update_time | ( | const LinphoneChatRoom * | chat_room | ) |

Return the last updated time for the chat room.

Parameters

  chat_room | LinphoneChatRoom object

Returns
  the last updated time

## ◆ linphone_chat_room_get_lc()

MS2_DEPRECATED LinphoneCore * linphone_chat_room_get_lc | ( | const LinphoneChatRoom * | chat_room | ) |

Returns back pointer to LinphoneCore object.

Deprecated
  15/09/2017 use linphone_chat_room_get_core()

## ◆ linphone_chat_room_get_local_address()

const LinphoneAddress * linphone_chat_room_get_local_address | ( | LinphoneChatRoom * | chat_room | ) |

Get the local address associated to this chat room.

Parameters

  chat_room | LinphoneChatRoom object.

Returns
  The local address.

## ◆ linphone_chat_room_get_me()

LinphoneParticipant * linphone_chat_room_get_me | ( | const LinphoneChatRoom * | chat_room | ) |

Get the participant representing myself in the chat room.

Parameters

  chat_room | A LinphoneChatRoom object

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

## ◆ linphone_chat_room_get_muted()

bool_t linphone_chat_room_get_muted | ( | const LinphoneChatRoom * | chat_room | ) |

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.

Parameters

  chat_room | the LinphoneChatRoom object

Returns
  TRUE if the chat room is muted, FALSE otherwise.

## ◆ linphone_chat_room_get_nb_participants()

int linphone_chat_room_get_nb_participants | ( | const LinphoneChatRoom * | chat_room | ) |

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

Parameters

  chat_room | A LinphoneChatRoom object

Returns
  The number of participants in the chat room

## ◆ linphone_chat_room_get_participants()

bctbx_list_t * linphone_chat_room_get_participants | ( | const LinphoneChatRoom * | chat_room | ) |

Get the list of participants of a chat room.

Parameters

  chat_room | A LinphoneChatRoom object

Returns
  A of the participants

## ◆ linphone_chat_room_get_peer_address()

const LinphoneAddress * linphone_chat_room_get_peer_address | ( | LinphoneChatRoom * | chat_room | ) |

Get the peer address associated to this chat room.

Parameters

  chat_room | LinphoneChatRoom object.

Returns
  The peer address.

## ◆ linphone_chat_room_get_security_level()

LinphoneChatRoomSecurityLevel linphone_chat_room_get_security_level | ( | LinphoneChatRoom * | chat_room | ) |

Get the security level of a chat room.

Parameters

  chat_room | A LinphoneChatRoom object

Returns
  The current LinphoneChatRoomSecurityLevel of the chat room

## ◆ linphone_chat_room_get_state()

LinphoneChatRoomState linphone_chat_room_get_state | ( | const LinphoneChatRoom * | chat_room | ) |

Get the state of the chat room.

Parameters

  chat_room | LinphoneChatRoom object

Returns
  The current LinphoneChatRoomState of the chat room

## ◆ linphone_chat_room_get_subject()

const char * linphone_chat_room_get_subject | ( | const LinphoneChatRoom * | chat_room | ) |

Get the subject of a chat room.

Parameters

  chat_room | A LinphoneChatRoom object

Returns
  The subject of the chat room.

## ◆ linphone_chat_room_get_unread_history()

bctbx_list_t * linphone_chat_room_get_unread_history | ( | LinphoneChatRoom * | chat_room | ) |

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

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation for which messages should be retrieved

Returns
  A list of unread chat messages.

## ◆ linphone_chat_room_get_unread_messages_count()

int linphone_chat_room_get_unread_messages_count | ( | LinphoneChatRoom * | chat_room | ) |

Gets the number of unread messages in the chatroom.

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation.

Returns
  the number of unread messages.

## ◆ linphone_chat_room_get_user_data()

void * linphone_chat_room_get_user_data | ( | const LinphoneChatRoom * | chat_room | ) |

Retrieve the user pointer associated with the chat room.

Parameters

  chat_room | the LinphoneChatRoom object.

Returns
  The user pointer associated with the chat room.

## ◆ linphone_chat_room_has_been_left()

bool_t linphone_chat_room_has_been_left | ( | const LinphoneChatRoom * | chat_room | ) |

Return whether or not the chat room has been left.

Parameters

  chat_room | LinphoneChatRoom object

Returns
  TRUE if the chat room has been left, FALSE otherwise.

Deprecated
  16/03/2022 use linphone_chat_room_is_read_only() instead.

## ◆ linphone_chat_room_has_capability()

bool_t linphone_chat_room_has_capability | ( | const LinphoneChatRoom * | chat_room,
|  | int | mask )

Check if a chat room has given capabilities.

Parameters

  chat_room | A LinphoneChatRoom object
  mask | a LinphoneChatRoomCapabilitiesMask mask

Returns
  TRUE if the mask matches, FALSE otherwise

## ◆ linphone_chat_room_is_empty()

bool_t linphone_chat_room_is_empty | ( | LinphoneChatRoom * | chat_room | ) |

Returns whether or not a LinphoneChatRoom has at least one LinphoneChatMessage or not.

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation

Returns
  TRUE if there are no LinphoneChatMessage, FALSE otherwise.

## ◆ linphone_chat_room_is_read_only()

bool_t linphone_chat_room_is_read_only | ( | const LinphoneChatRoom * | chat_room | ) |

Return 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.

Parameters

  chat_room | LinphoneChatRoom object

Returns
  TRUE if a chat message can't be sent in it, FALSE otherwise.

## ◆ linphone_chat_room_is_remote_composing()

bool_t linphone_chat_room_is_remote_composing | ( | const LinphoneChatRoom * | chat_room | ) |

Tells whether the remote is currently composing a message.

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation.

Returns
  TRUE if the remote is currently composing a message, FALSE otherwise.

## ◆ linphone_chat_room_leave()

void linphone_chat_room_leave | ( | LinphoneChatRoom * | chat_room | ) |

Leave a chat room.

Parameters

  chat_room | A LinphoneChatRoom object

## ◆ linphone_chat_room_mark_as_read()

void linphone_chat_room_mark_as_read | ( | LinphoneChatRoom * | chat_room | ) |

Mark all messages of the conversation as read.

Parameters

  chat_room | The LinphoneChatRoom object corresponding to the conversation.

## ◆ linphone_chat_room_notify_participant_device_registration()

void linphone_chat_room_notify_participant_device_registration | ( | LinphoneChatRoom * | chat_room,
|  | const LinphoneAddress * | participant_device )

Notify 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.

Parameters

  chat_room | A LinphoneChatRoom object
  participant_device | list of the participant devices to be used by the group chat room

## ◆ linphone_chat_room_params_enable_encryption()

void linphone_chat_room_params_enable_encryption | ( | LinphoneChatRoomParams * | params,
|  | bool_t | encrypted )

Enables or disables encryption for the chat room associated with the given parameters.

Parameters

  params | The LinphoneChatRoomParams object.
  encrypted | TRUE to enable encryption, FALSE to disable.

## ◆ linphone_chat_room_params_enable_group()

void linphone_chat_room_params_enable_group | ( | LinphoneChatRoomParams * | params,
|  | bool_t | group )

Enables or disables group chat for the chat room associated with the given parameters.

Parameters

  params | The LinphoneChatRoomParams object.
  group | TRUE to enable group chat, FALSE to disable (resulting in one-to-one chat room)

## ◆ linphone_chat_room_params_enable_rtt()

void linphone_chat_room_params_enable_rtt | ( | LinphoneChatRoomParams * | params,
|  | bool_t | rtt )

Enables or disables real time text for the chat room associated with the given parameters.

Parameters

  params | The LinphoneChatRoomParams object.
  rtt | TRUE to enable real time text, FALSE to disable.

## ◆ linphone_chat_room_params_encryption_enabled()

bool_t linphone_chat_room_params_encryption_enabled | ( | const LinphoneChatRoomParams * | params | ) |

Get the encryption status of the chat room associated with the given parameters.

Parameters

  params | The LinphoneChatRoomParams object.

Returns
  TRUE if encryption is enabled, FALSE otherwise

## ◆ linphone_chat_room_params_get_backend()

LinphoneChatRoomBackend linphone_chat_room_params_get_backend | ( | const LinphoneChatRoomParams * | params | ) |

Get the backend implementation of the chat room associated with the given parameters.

Parameters

  params | The LinphoneChatRoomParams object.

Returns
  the LinphoneChatRoomBackend

## ◆ linphone_chat_room_params_get_encryption_backend()

LinphoneChatRoomEncryptionBackend linphone_chat_room_params_get_encryption_backend | ( | const LinphoneChatRoomParams * | params | ) |

Get the encryption implementation of the chat room associated with the given parameters.

Parameters

  params | The LinphoneChatRoomParams object.

Returns
  the LinphoneChatRoomEncryptionBackend

## ◆ linphone_chat_room_params_get_ephemeral_lifetime()

long linphone_chat_room_params_get_ephemeral_lifetime | ( | const LinphoneChatRoomParams * | params | ) |

Get 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 also
  linphone_chat_room_params_ephemeral_enabled()

Parameters

  params | The LinphoneChatRoomParams object.

Returns
  the ephemeral lifetime (in seconds)

## ◆ linphone_chat_room_params_get_ephemeral_mode()

LinphoneChatRoomEphemeralMode linphone_chat_room_params_get_ephemeral_mode | ( | const LinphoneChatRoomParams * | params | ) |

Get the ephemeral message mode of the chat room associated with the given parameters.

Parameters

  params | The LinphoneChatRoomParams object.

Returns
  the ephemeral message mode LinphoneChatRoomEphemeralMode

## ◆ linphone_chat_room_params_get_subject()

const char * linphone_chat_room_params_get_subject | ( | const LinphoneChatRoomParams * | params | ) |

Get the subject of the chat room.

Parameters

  params | The LinphoneChatRoomParams object.

Returns
  The subject.

## ◆ linphone_chat_room_params_group_enabled()

bool_t linphone_chat_room_params_group_enabled | ( | const LinphoneChatRoomParams * | params | ) |

Get the group chat status of the chat room associated with the given parameters.

Parameters

  params | The LinphoneChatRoomParams object.

Returns
  TRUE if group chat is enabled, FALSE if one-to-one

## ◆ linphone_chat_room_params_is_valid()

bool_t linphone_chat_room_params_is_valid | ( | const LinphoneChatRoomParams * | params | ) |

Returns whether the given parameters are valid or not.

Parameters

  params | The LinphoneChatRoomParams object.

Returns
  TRUE if the given parameters are valid, FALSE otherwise

## ◆ linphone_chat_room_params_new()

LinphoneChatRoomParams * linphone_chat_room_params_new | ( | void |  | ) |

Returns new chat room parameters.

Returns
  LinphoneChatRoomParams

## ◆ linphone_chat_room_params_ref()

LinphoneChatRoomParams * linphone_chat_room_params_ref | ( | LinphoneChatRoomParams * | params | ) |

Acquire a reference to the chat room parameters.

Parameters

  params | The LinphoneChatRoomParams object.

Returns
  The same LinphoneChatRoomParams object.

## ◆ linphone_chat_room_params_rtt_enabled()

bool_t linphone_chat_room_params_rtt_enabled | ( | const LinphoneChatRoomParams * | params | ) |

Get the real time text status of the chat room associated with the given parameters.

Parameters

  params | The LinphoneChatRoomParams object.

Returns
  TRUE if real time text is enabled, FALSE otherwise

## ◆ linphone_chat_room_params_set_backend()

void linphone_chat_room_params_set_backend | ( | LinphoneChatRoomParams * | params,
|  | LinphoneChatRoomBackend | backend )

Set the backend implementation of these chat room parameters.

Parameters

  params | The LinphoneChatRoomParams object.
  backend | The LinphoneChatRoomBackend enum value

## ◆ linphone_chat_room_params_set_encryption_backend()

void linphone_chat_room_params_set_encryption_backend | ( | LinphoneChatRoomParams * | params,
|  | LinphoneChatRoomEncryptionBackend | backend )

Set the encryption backend implementation of these chat room parameters.

Parameters

  params | The LinphoneChatRoomParams object.
  backend | The LinphoneChatRoomEncryptionBackend enum value

## ◆ linphone_chat_room_params_set_ephemeral_lifetime()

void linphone_chat_room_params_set_ephemeral_lifetime | ( | LinphoneChatRoomParams * | params,
|  | long | time )

Set lifetime (in seconds) for all new ephemral messages in the chat room.

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

See also
  linphone_chat_room_params_ephemeral_enabled()

Parameters

  params | The LinphoneChatRoomParams object.
  time | The ephemeral lifetime, default is disabled (0)

## ◆ linphone_chat_room_params_set_ephemeral_mode()

void linphone_chat_room_params_set_ephemeral_mode | ( | LinphoneChatRoomParams * | params,
|  | LinphoneChatRoomEphemeralMode | mode )

Enables or disables forcing of ephemeral messages for the chat room associated with the given parameters.

Parameters

  params | The LinphoneChatRoomParams object.
  mode | Ephemeral message mode LinphoneChatRoomEphemeralMode.

## ◆ linphone_chat_room_params_set_subject()

void linphone_chat_room_params_set_subject | ( | LinphoneChatRoomParams * | params,
|  | const char * | subject )

Set the subject of the chat room.

Parameters

  params | The LinphoneChatRoomParams object.
  subject | The subject to set.

## ◆ linphone_chat_room_params_unref()

void linphone_chat_room_params_unref | ( | LinphoneChatRoomParams * | params | ) |

Release reference to the chat room params.

Parameters

  params | The LinphoneChatRoomParams object.

## ◆ linphone_chat_room_receive_chat_message()

void linphone_chat_room_receive_chat_message | ( | LinphoneChatRoom * | chat_room,
|  | LinphoneChatMessage * | message )

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

Parameters

  chat_room | LinphoneChatRoom object
  message | LinphoneChatMessage object

## ◆ linphone_chat_room_ref()

LinphoneChatRoom * linphone_chat_room_ref | ( | LinphoneChatRoom * | chat_room | ) |

Acquire a reference to the chat room.

Parameters

  chat_room | The LinphoneChatRoom object.

Returns
  The same LinphoneChatRoom object.

## ◆ linphone_chat_room_remove_callbacks()

void linphone_chat_room_remove_callbacks | ( | LinphoneChatRoom * | chat_room,
|  | LinphoneChatRoomCbs * | cbs )

Remove a listener from a LinphoneChatRoom.

Parameters

  chat_room | LinphoneChatRoom object
  cbs | LinphoneChatRoomCbs object to remove.

## ◆ linphone_chat_room_remove_participant()

void linphone_chat_room_remove_participant | ( | LinphoneChatRoom * | chat_room,
|  | LinphoneParticipant * | participant )

Remove a participant of a chat room.

Parameters

  chat_room | A LinphoneChatRoom object
  participant | The participant to remove from the chat room

## ◆ linphone_chat_room_remove_participants()

void linphone_chat_room_remove_participants | ( | LinphoneChatRoom * | chat_room,
|  | const bctbx_list_t * | participants )

Remove several participants of a chat room at once.

Parameters

  chat_room | A LinphoneChatRoom object
  participants | The participants to remove.

## ◆ linphone_chat_room_send_chat_message()

MS2_DEPRECATED void linphone_chat_room_send_chat_message | ( | LinphoneChatRoom * | chat_room,
|  | LinphoneChatMessage * | message )

Send a message to peer member of this chat room.

Parameters

  chat_room | LinphoneChatRoom object
  message | LinphoneChatMessage object The state of the message sending will be notified via the callbacks defined in the LinphoneChatMessageCbs object that can be obtained by calling linphone_chat_message_get_callbacks(). The LinphoneChatMessage reference is transfered to the function and thus doesn't need to be unref'd by the application.

Deprecated
  13/10/2017 Use linphone_chat_message_send() instead.

## ◆ linphone_chat_room_send_message()

MS2_DEPRECATED void linphone_chat_room_send_message | ( | LinphoneChatRoom * | chat_room,
|  | const char * | message )

Send a message to peer member of this chat room.

Parameters

  chat_room | LinphoneChatRoom object
  message | message to be sent

Deprecated
  13/10/2017 Use linphone_chat_message_send() instead.

## ◆ linphone_chat_room_set_conference_address()

void linphone_chat_room_set_conference_address | ( | LinphoneChatRoom * | chat_room,
|  | LinphoneAddress * | conference_address )

Set the conference address of a group chat room.

This function needs to be called from the LinphoneChatRoomCbsConferenceAddressGenerationCb callback and only there. This function is meaningful only for server implementation of chatroom, and shall not by used by client applications.

Parameters

  chat_room | A LinphoneChatRoom object
  conference_address | The conference LinphoneAddress to be used by the group chat room

## ◆ linphone_chat_room_set_ephemeral_lifetime()

void linphone_chat_room_set_ephemeral_lifetime | ( | LinphoneChatRoom * | chat_room,
|  | long | time )

Set 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 also
  linphone_chat_room_ephemeral_enabled()

Parameters

  chat_room | LinphoneChatRoom object
  time | The ephemeral lifetime, default is 0 (disabled)

Warning
  A value of "time" equal to 0 disables ephemeral messages

## ◆ linphone_chat_room_set_ephemeral_mode()

void linphone_chat_room_set_ephemeral_mode | ( | LinphoneChatRoom * | chat_room,
|  | LinphoneChatRoomEphemeralMode | mode )

Set the ephemeral mode of the chat room.

See also
  linphone_chat_room_ephemeral_enabled()

Parameters

  chat_room | LinphoneChatRoom object
  mode | The ephemeral mode LinphoneChatRoomEphemeralMode

Warning
  This function only changes the mode of ephemeral messages LinphoneChatRoomEphemeralMode. It is required to manually enable ephemeral messages after setting the mode by calling linphone_chat_room_enable_ephemeral()

## ◆ linphone_chat_room_set_muted()

void linphone_chat_room_set_muted | ( | LinphoneChatRoom * | chat_room,
|  | bool_t | muted )

Sets if a chat room should be considered as muted or not.

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

Parameters

  chat_room | the LinphoneChatRoom object
  muted | TRUE to flag it as muted, FALSE to un-mute it.

## ◆ linphone_chat_room_set_participant_admin_status()

void linphone_chat_room_set_participant_admin_status | ( | LinphoneChatRoom * | chat_room,
|  | LinphoneParticipant * | participant,
|  | bool_t | is_admin )

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

Parameters

  chat_room | A LinphoneChatRoom object
  participant | The Participant for which to change the admin status
  is_admin | A boolean value telling whether the participant should now be an admin or not

## ◆ linphone_chat_room_set_participant_devices()

void linphone_chat_room_set_participant_devices | ( | LinphoneChatRoom * | chat_room,
|  | LinphoneAddress * | participant_address,
|  | const bctbx_list_t * | device_identities )

Set 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.

Parameters

  chat_room | A LinphoneChatRoom object
  participant_address | The participant address
  device_identities | List of the participant devices to be used by the group chat room

## ◆ linphone_chat_room_set_subject()

void linphone_chat_room_set_subject | ( | LinphoneChatRoom * | chat_room,
|  | const char * | subject )

Set the subject of a chat room.

Parameters

  chat_room | A LinphoneChatRoom object
  subject | The new subject to set for the chat room

## ◆ linphone_chat_room_set_user_data()

void linphone_chat_room_set_user_data | ( | LinphoneChatRoom * | chat_room,
|  | void * | user_data )

Assign a user pointer to the chat room.

Parameters

  chat_room | the LinphoneChatRoom object.
  user_data | The user pointer to associate with the chat room.

## ◆ linphone_chat_room_state_to_string()

const char * linphone_chat_room_state_to_string | ( | const LinphoneChatRoomState | state | ) |

Converts a LinphoneChatRoomState enum to a string.

Parameters

  state | a LinphoneChatRoomState to convert to string

Returns
  the string representation of the LinphoneChatRoomState

## ◆ linphone_chat_room_unref()

void linphone_chat_room_unref | ( | LinphoneChatRoom * | chat_room | ) |

Release reference to the chat room.

Parameters

  chat_room | The LinphoneChatRoom object.

## ◆ linphone_core_add_content_type_support()

void linphone_core_add_content_type_support | ( | LinphoneCore * | core,
|  | const char * | content_type )

Add support for the specified content type.

It is the application responsibility to handle it correctly afterwards.

Parameters

  core | LinphoneCore object
  content_type | The content type to add support for

## ◆ linphone_core_chat_enabled()

bool_t linphone_core_chat_enabled | ( | const LinphoneCore * | core | ) |

Returns whether chat is enabled.

Parameters

  core | A LinphoneCore object

Returns
  TRUE if chat is enabled, FALSE otherwise

## ◆ linphone_core_chat_room_get_default_ephemeral_mode()

LinphoneChatRoomEphemeralMode linphone_core_chat_room_get_default_ephemeral_mode | ( | const LinphoneCore * | core | ) |

Gets the default ephemeral message mode.

Parameters

  core | the linphone core

Returns
  the default ephemeral message mode LinphoneChatRoomEphemeralMode

## ◆ linphone_core_chat_room_set_default_ephemeral_mode()

void linphone_core_chat_room_set_default_ephemeral_mode | ( | LinphoneCore * | core,
|  | LinphoneChatRoomEphemeralMode | mode )

Sets the default ephemeral message mode.

Parameters

  core | the linphone core
  mode | default ephemeral message mode LinphoneChatRoomEphemeralMode

## ◆ linphone_core_create_chat_room()

MS2_DEPRECATED LinphoneChatRoom * linphone_core_create_chat_room | ( | LinphoneCore * | core,
|  | const LinphoneChatRoomParams * | params,
|  | const LinphoneAddress * | localAddr,
|  | const char * | subject,
|  | const bctbx_list_t * | participants )

Create a chat room.

Parameters

  core | A LinphoneCore object
  params | The chat room creation parameters LinphoneChatRoomParams
  localAddr | LinphoneAddress representing the local proxy configuration to use for the chat room creation
  subject | The subject of the group chat room
  participants | The initial list of participants of the chat room

Returns
  The newly created chat room.

Deprecated
  02/07/2020, use linphone_core_create_chat_room_6() instead

## ◆ linphone_core_create_chat_room_2()

MS2_DEPRECATED LinphoneChatRoom * linphone_core_create_chat_room_2 | ( | LinphoneCore * | core,
|  | const LinphoneChatRoomParams * | params,
|  | const char * | subject,
|  | const bctbx_list_t * | participants )

Create a chat room.

Parameters

  core | A LinphoneCore object
  params | The chat room creation parameters LinphoneChatRoomParams
  subject | The subject of the group chat room
  participants | The initial list of participants of the chat room.

Returns
  The newly created chat room.

Deprecated
  02/07/2020, use linphone_core_create_chat_room_6() instead

## ◆ linphone_core_create_chat_room_3()

MS2_DEPRECATED LinphoneChatRoom * linphone_core_create_chat_room_3 | ( | LinphoneCore * | core,
|  | const char * | subject,
|  | const bctbx_list_t * | participants )

Parameters

  core | A LinphoneCore object
  subject | The subject of the group chat room
  participants | The initial list of participants of the chat room.

Returns
  The newly created chat room.

Deprecated
  02/07/2020, use linphone_core_create_chat_room_6() instead

## ◆ linphone_core_create_chat_room_4()

MS2_DEPRECATED LinphoneChatRoom * linphone_core_create_chat_room_4 | ( | LinphoneCore * | core,
|  | const LinphoneChatRoomParams * | params,
|  | const LinphoneAddress * | localAddr,
|  | const LinphoneAddress * | participant )

Parameters

  core | A LinphoneCore object
  params | The chat room creation parameters LinphoneChatRoomParams
  localAddr | LinphoneAddress representing the local proxy configuration to use for the chat room creation
  participant | LinphoneAddress representing the initial participant to add to the chat room

Returns
  The newly created chat room.

Deprecated
  02/07/2020, use linphone_core_create_chat_room_6() instead

## ◆ linphone_core_create_chat_room_5()

MS2_DEPRECATED LinphoneChatRoom * linphone_core_create_chat_room_5 | ( | LinphoneCore * | core,
|  | const LinphoneAddress * | participant )

Parameters

  core | A LinphoneCore object
  participant | LinphoneAddress representing the initial participant to add to the chat room

Returns
  The newly created chat room.

Deprecated
  02/07/2020, use linphone_core_create_chat_room_6() instead

## ◆ linphone_core_create_chat_room_6()

LinphoneChatRoom * linphone_core_create_chat_room_6 | ( | LinphoneCore * | core,
|  | const LinphoneChatRoomParams * | params,
|  | const LinphoneAddress * | localAddr,
|  | const bctbx_list_t * | participants )

Create a chat room.

Parameters

  core | A LinphoneCore object
  params | The chat room creation parameters LinphoneChatRoomParams
  localAddr | LinphoneAddress representing the local proxy configuration to use for the chat room creation or NULL
  participants | The initial list of participants of the chat room.

Returns
  The newly created chat room (can be an existing one if backend is Basic) or NULL.

## ◆ linphone_core_create_client_group_chat_room()

MS2_DEPRECATED LinphoneChatRoom * linphone_core_create_client_group_chat_room | ( | LinphoneCore * | core,
|  | const char * | subject,
|  | bool_t | fallback )

Create a client-side group chat room.

When calling this function the chat room is only created at the client-side and is empty. You need to call linphone_chat_room_add_participants() to create at the server side and add participants to it. Also, the created chat room will not be a one-to-one chat room even if linphone_chat_room_add_participants() is called with only one participant.

Parameters

  core | A LinphoneCore object
  subject | The subject of the group chat room
  fallback | Boolean value telling whether we should plan on being able to fallback to a basic chat room if the client-side group chat room creation fails

Returns
  The newly created client-side group chat room.

Deprecated
  02/07/2020, use linphone_core_create_chat_room_6() instead

## ◆ linphone_core_create_client_group_chat_room_2()

MS2_DEPRECATED LinphoneChatRoom * linphone_core_create_client_group_chat_room_2 | ( | LinphoneCore * | core,
|  | const char * | subject,
|  | bool_t | fallback,
|  | bool_t | encrypted )

Create a client-side group chat room.

When calling this function the chat room is only created at the client-side and is empty. You need to call linphone_chat_room_add_participants() to create at the server side and add participants to it. Also, the created chat room will not be a one-to-one chat room even if linphone_chat_room_add_participants() is called with only one participant.

Parameters

  core | A LinphoneCore object
  subject | The subject of the group chat room
  fallback | Boolean value telling whether we should plan on being able to fallback to a basic chat room if the client-side group chat room creation fails
  encrypted | Boolean value telling whether we should apply encryption or not on chat messages sent and received on this room.

Returns
  The newly created client-side group chat room.

Deprecated
  02/07/2020, use linphone_core_create_chat_room_6() instead

## ◆ linphone_core_create_default_chat_room_params()

LinphoneChatRoomParams * linphone_core_create_default_chat_room_params | ( | LinphoneCore * | core | ) |

Creates and returns the default chat room parameters.

Parameters

  core | LinphoneCore object

Returns
  A LinphoneChatRoomParams object

## ◆ linphone_core_delete_chat_room()

void linphone_core_delete_chat_room | ( | LinphoneCore * | core,
|  | LinphoneChatRoom * | chat_room )

Removes a chatroom including all message history from the LinphoneCore.

Parameters

  core | A LinphoneCore object
  chat_room | A LinphoneChatRoom object

## ◆ linphone_core_disable_chat()

void linphone_core_disable_chat | ( | LinphoneCore * | core,
|  | LinphoneReason | deny_reason )

Inconditionnaly disable incoming chat messages.

Parameters

  core | A LinphoneCore object
  deny_reason | the deny reason (LinphoneReasonNone has no effect).

## ◆ linphone_core_enable_chat()

void linphone_core_enable_chat | ( | LinphoneCore * | core | ) |

Enable reception of incoming chat messages.

By default it is enabled but it can be disabled with linphone_core_disable_chat().

Parameters

  core | A LinphoneCore object

## ◆ linphone_core_find_chat_room()

MS2_DEPRECATED LinphoneChatRoom * linphone_core_find_chat_room | ( | const LinphoneCore * | core,
|  | const LinphoneAddress * | peer_addr,
|  | const LinphoneAddress * | local_addr )

Find a chat room.

No reference is transfered to the application. The LinphoneCore keeps a reference on the chat room.

Parameters

  core | the linphone core
  peer_addr | a linphone address.
  local_addr | a linphone address.

Returns
  LinphoneChatRoom where messaging can take place.

Deprecated
  02/07/2020, use linphone_core_search_chat_room() instead

## ◆ linphone_core_find_one_to_one_chat_room()

MS2_DEPRECATED LinphoneChatRoom * linphone_core_find_one_to_one_chat_room | ( | const LinphoneCore * | core,
|  | const LinphoneAddress * | local_addr,
|  | const LinphoneAddress * | participant_addr )

Find a one to one chat room.

No reference is transfered to the application. The LinphoneCore keeps a reference on the chat room.

Parameters

  core | the linphone core
  local_addr | a linphone address.
  participant_addr | a linphone address.

Returns
  LinphoneChatRoom where messaging can take place.

Deprecated
  12/12/2018, use linphone_core_find_one_to_one_chat_room_2 instead

## ◆ linphone_core_find_one_to_one_chat_room_2()

MS2_DEPRECATED LinphoneChatRoom * linphone_core_find_one_to_one_chat_room_2 | ( | const LinphoneCore * | core,
|  | const LinphoneAddress * | local_addr,
|  | const LinphoneAddress * | participant_addr,
|  | bool_t | encrypted )

Find a one to one chat room.

No reference is transfered to the application. The LinphoneCore keeps a reference on the chat room.

Parameters

  core | the linphone core
  local_addr | a linphone address.
  participant_addr | a linphone address.
  encrypted | whether to look for an encrypted chat room or not

Returns
  LinphoneChatRoom where messaging can take place.

Deprecated
  02/07/2020, use linphone_core_search_chat_room() instead

## ◆ linphone_core_get_chat_room()

MS2_DEPRECATED LinphoneChatRoom * linphone_core_get_chat_room | ( | LinphoneCore * | core,
|  | const LinphoneAddress * | addr )

Get a chat room whose peer is the supplied address.

If it does not exist yet, it will be created as a basic chat room. No reference is transfered to the application. The LinphoneCore keeps a reference on the chat room.

Warning
  This method is prone to errors, use linphone_core_search_chat_room() instead

Parameters

  core | the linphone core
  addr | a linphone address.

Returns
  LinphoneChatRoom where messaging can take place.

Deprecated
  02/07/2020, use linphone_core_search_chat_room() instead

## ◆ linphone_core_get_chat_room_2()

MS2_DEPRECATED LinphoneChatRoom * linphone_core_get_chat_room_2 | ( | LinphoneCore * | core,
|  | const LinphoneAddress * | peer_addr,
|  | const LinphoneAddress * | local_addr )

Get a chat room.

If it does not exist yet, it will be created as a basic chat room. No reference is transfered to the application. The LinphoneCore keeps a reference on the chat room.

Warning
  This method is prone to errors, use linphone_core_search_chat_room() instead

Parameters

  core | the linphone core
  peer_addr | a linphone address.
  local_addr | a linphone address.

Returns
  LinphoneChatRoom where messaging can take place.

Deprecated
  02/07/2020, use linphone_core_search_chat_room() instead

## ◆ linphone_core_get_chat_room_from_uri()

MS2_DEPRECATED LinphoneChatRoom * linphone_core_get_chat_room_from_uri | ( | LinphoneCore * | core,
|  | const char * | to )

Get a chat room for messaging from a sip uri like sip:joe@s.nosp@m.ip.l.nosp@m.inpho.nosp@m.ne.o.nosp@m.rg.

If it does not exist yet, it will be created as a basic chat room. No reference is transfered to the application. The LinphoneCore keeps a reference on the chat room.

Warning
  This method is prone to errors, use linphone_core_search_chat_room() instead

Parameters

  core | A LinphoneCore object
  to | The destination address for messages.

Returns
  LinphoneChatRoom where messaging can take place.

Deprecated
  02/07/2020, use linphone_core_search_chat_room() instead

## ◆ linphone_core_get_chat_rooms()

const bctbx_list_t * linphone_core_get_chat_rooms | ( | LinphoneCore * | core | ) |

Returns a list of chat rooms.

Parameters

  core | LinphoneCore object

Returns
  List of chat rooms.

## ◆ linphone_core_get_default_ephemeral_lifetime()

long linphone_core_get_default_ephemeral_lifetime | ( | const LinphoneCore * | core | ) |

Gets the default lifetime of ephemeral messages in seconds.

Parameters

  core | the linphone core

Returns
  lifetime of ephemeral messages in seconds

## ◆ linphone_core_get_im_encryption_engine()

LinphoneImEncryptionEngine * linphone_core_get_im_encryption_engine | ( | const LinphoneCore * | core | ) |

Gets the IM Encryption Engine in the core if possible.

Parameters

  core | LinphoneCore object

Returns
  the IM Encryption Engine in the core or NULL

## ◆ linphone_core_get_im_notif_policy()

LinphoneImNotifPolicy * linphone_core_get_im_notif_policy | ( | const LinphoneCore * | core | ) |

Get the LinphoneImNotifPolicy object controlling the instant messaging notifications.

Parameters

  core | LinphoneCore object

Returns
  A LinphoneImNotifPolicy object.

## ◆ linphone_core_is_content_type_supported()

bool_t linphone_core_is_content_type_supported | ( | const LinphoneCore * | core,
|  | const char * | content_type )

Tells whether a content type is supported.

Parameters

  core | LinphoneCore object
  content_type | The content type to check

Returns
  A boolean value telling whether the specified content type is supported or not.

## ◆ linphone_core_remove_content_type_support()

void linphone_core_remove_content_type_support | ( | LinphoneCore * | core,
|  | const char * | content_type )

Remove support for the specified content type.

It is the application responsibility to handle it correctly afterwards.

Parameters

  core | LinphoneCore object
  content_type | The content type to remove support for

## ◆ linphone_core_search_chat_room()

LinphoneChatRoom * linphone_core_search_chat_room | ( | const LinphoneCore * | core,
|  | const LinphoneChatRoomParams * | params,
|  | const LinphoneAddress * | localAddr,
|  | const LinphoneAddress * | remoteAddr,
|  | const bctbx_list_t * | participants )

Find a chat room.

Parameters

  core | A LinphoneCore object
  params | The chat room parameters to match LinphoneChatRoomParams or NULL
  localAddr | LinphoneAddress representing the local proxy configuration or NULL
  remoteAddr | LinphoneAddress to search for or NULL
  participants | The participants that must be present in the chat room to find.

Returns
  A matching chat room or NULL if none matches.

## ◆ linphone_core_set_default_ephemeral_lifetime()

void linphone_core_set_default_ephemeral_lifetime | ( | LinphoneCore * | core,
|  | long | value )

Set the default ephemeral lifetime in seconds.

Parameters

  core | the linphone core
  value | lifetime of ephemeral messages in seconds

## ◆ linphone_core_set_im_encryption_engine()

void linphone_core_set_im_encryption_engine | ( | LinphoneCore * | core,
|  | LinphoneImEncryptionEngine * | imee )

Sets an IM Encryption Engine in the core.

Parameters

  core | LinphoneCore object
  imee | LinphoneImEncryptionEngine object

## ◆ linphone_im_notif_policy_clear()

void linphone_im_notif_policy_clear | ( | LinphoneImNotifPolicy * | policy | ) |

Clear an IM notif policy (deactivate all receiving and sending of notifications).

Note: Error IMDN must be enabled for Lime recovery mechanism

Parameters

  policy | LinphoneImNotifPolicy object.

## ◆ linphone_im_notif_policy_enable_all()

void linphone_im_notif_policy_enable_all | ( | LinphoneImNotifPolicy * | policy | ) |

Enable all receiving and sending of notifications.

Parameters

  policy | LinphoneImNotifPolicy object.

## ◆ linphone_im_notif_policy_get_recv_imdn_delivered()

bool_t linphone_im_notif_policy_get_recv_imdn_delivered | ( | const LinphoneImNotifPolicy * | policy | ) |

Tell whether imdn delivered notifications are being notified when received.

Parameters

  policy | LinphoneImNotifPolicy object

Returns
  Boolean value telling whether imdn delivered notifications are being notified when received.

## ◆ linphone_im_notif_policy_get_recv_imdn_delivery_error()

bool_t linphone_im_notif_policy_get_recv_imdn_delivery_error | ( | const LinphoneImNotifPolicy * | policy | ) |

Tell whether imdn delivery error notifications are being notified when received.

Parameters

  policy | LinphoneImNotifPolicy object

Returns
  Boolean value telling whether imdn delivery error notifications are being notified when received.

## ◆ linphone_im_notif_policy_get_recv_imdn_displayed()

bool_t linphone_im_notif_policy_get_recv_imdn_displayed | ( | const LinphoneImNotifPolicy * | policy | ) |

Tell whether imdn displayed notifications are being notified when received.

Parameters

  policy | LinphoneImNotifPolicy object

Returns
  Boolean value telling whether imdn displayed notifications are being notified when received.

## ◆ linphone_im_notif_policy_get_recv_is_composing()

bool_t linphone_im_notif_policy_get_recv_is_composing | ( | const LinphoneImNotifPolicy * | policy | ) |

Tell whether is_composing notifications are being notified when received.

Parameters

  policy | LinphoneImNotifPolicy object

Returns
  Boolean value telling whether is_composing notifications are being notified when received.

## ◆ linphone_im_notif_policy_get_send_imdn_delivered()

bool_t linphone_im_notif_policy_get_send_imdn_delivered | ( | const LinphoneImNotifPolicy * | policy | ) |

Tell whether imdn delivered notifications are being sent.

Parameters

  policy | LinphoneImNotifPolicy object

Returns
  Boolean value telling whether imdn delivered notifications are being sent.

## ◆ linphone_im_notif_policy_get_send_imdn_delivery_error()

bool_t linphone_im_notif_policy_get_send_imdn_delivery_error | ( | const LinphoneImNotifPolicy * | policy | ) |

Tell whether imdn delivery error notifications are being sent.

Parameters

  policy | LinphoneImNotifPolicy object

Returns
  Boolean value telling whether imdn delivery error notifications are being sent.

## ◆ linphone_im_notif_policy_get_send_imdn_displayed()

bool_t linphone_im_notif_policy_get_send_imdn_displayed | ( | const LinphoneImNotifPolicy * | policy | ) |

Tell whether imdn displayed notifications are being sent.

Parameters

  policy | LinphoneImNotifPolicy object

Returns
  Boolean value telling whether imdn displayed notifications are being sent.

## ◆ linphone_im_notif_policy_get_send_is_composing()

bool_t linphone_im_notif_policy_get_send_is_composing | ( | const LinphoneImNotifPolicy * | policy | ) |

Tell whether is_composing notifications are being sent.

Parameters

  policy | LinphoneImNotifPolicy object

Returns
  Boolean value telling whether is_composing notifications are being sent.

## ◆ linphone_im_notif_policy_get_user_data()

void * linphone_im_notif_policy_get_user_data | ( | const LinphoneImNotifPolicy * | policy | ) |

Retrieve the user pointer associated with the LinphoneImNotifPolicy object.

Parameters

  policy | LinphoneImNotifPolicy object.

Returns
  The user pointer associated with the LinphoneImNotifPolicy object.

## ◆ linphone_im_notif_policy_ref()

LinphoneImNotifPolicy * linphone_im_notif_policy_ref | ( | LinphoneImNotifPolicy * | policy | ) |

Acquire a reference to the LinphoneImNotifPolicy object.

Parameters

  policy | LinphoneImNotifPolicy object.

Returns
  The same LinphoneImNotifPolicy object.

## ◆ linphone_im_notif_policy_set_recv_imdn_delivered()

void linphone_im_notif_policy_set_recv_imdn_delivered | ( | LinphoneImNotifPolicy * | policy,
|  | bool_t | enable )

Enable imdn delivered notifications receiving.

Parameters

  policy | LinphoneImNotifPolicy object
  enable | Boolean value telling whether to notify received imdn delivered notifications.

## ◆ linphone_im_notif_policy_set_recv_imdn_delivery_error()

void linphone_im_notif_policy_set_recv_imdn_delivery_error | ( | LinphoneImNotifPolicy * | policy,
|  | bool_t | enable )

Enable imdn delivery error notifications receiving.

Note: Error IMDN must be enabled for Lime recovery mechanism

Parameters

  policy | LinphoneImNotifPolicy object
  enable | Boolean value telling whether to notify received imdn delivery error notifications.

## ◆ linphone_im_notif_policy_set_recv_imdn_displayed()

void linphone_im_notif_policy_set_recv_imdn_displayed | ( | LinphoneImNotifPolicy * | policy,
|  | bool_t | enable )

Enable imdn displayed notifications receiving.

Parameters

  policy | LinphoneImNotifPolicy object
  enable | Boolean value telling whether to notify received imdn displayed notifications.

## ◆ linphone_im_notif_policy_set_recv_is_composing()

void linphone_im_notif_policy_set_recv_is_composing | ( | LinphoneImNotifPolicy * | policy,
|  | bool_t | enable )

Enable is_composing notifications receiving.

Parameters

  policy | LinphoneImNotifPolicy object
  enable | Boolean value telling whether to notify received is_composing notifications.

## ◆ linphone_im_notif_policy_set_send_imdn_delivered()

void linphone_im_notif_policy_set_send_imdn_delivered | ( | LinphoneImNotifPolicy * | policy,
|  | bool_t | enable )

Enable imdn delivered notifications sending.

Parameters

  policy | LinphoneImNotifPolicy object
  enable | Boolean value telling whether to send imdn delivered notifications.

## ◆ linphone_im_notif_policy_set_send_imdn_delivery_error()

void linphone_im_notif_policy_set_send_imdn_delivery_error | ( | LinphoneImNotifPolicy * | policy,
|  | bool_t | enable )

Enable imdn delivery error notifications sending.

Note: Error IMDN must be enabled for Lime recovery mechanism

Parameters

  policy | LinphoneImNotifPolicy object
  enable | Boolean value telling whether to send imdn delivery error notifications.

## ◆ linphone_im_notif_policy_set_send_imdn_displayed()

void linphone_im_notif_policy_set_send_imdn_displayed | ( | LinphoneImNotifPolicy * | policy,
|  | bool_t | enable )

Enable imdn displayed notifications sending.

Parameters

  policy | LinphoneImNotifPolicy object
  enable | Boolean value telling whether to send imdn displayed notifications.

## ◆ linphone_im_notif_policy_set_send_is_composing()

void linphone_im_notif_policy_set_send_is_composing | ( | LinphoneImNotifPolicy * | policy,
|  | bool_t | enable )

Enable is_composing notifications sending.

Parameters

  policy | LinphoneImNotifPolicy object
  enable | Boolean value telling whether to send is_composing notifications.

## ◆ linphone_im_notif_policy_set_user_data()

void linphone_im_notif_policy_set_user_data | ( | LinphoneImNotifPolicy * | policy,
|  | void * | user_data )

Assign a user pointer to the LinphoneImNotifPolicy object.

Parameters

  policy | LinphoneImNotifPolicy object.
  user_data | The user pointer to associate with the LinphoneImNotifPolicy object.

## ◆ linphone_im_notif_policy_unref()

void linphone_im_notif_policy_unref | ( | LinphoneImNotifPolicy * | policy | ) |

Release reference to the LinphoneImNotifPolicy object.

Parameters

  policy | LinphoneImNotifPolicy object.