Package org.linphone.core

# Interface ChatParams

public interface ChatParams
Object defining settings strictly associated with `ChatRoom` objects such
as ephemeral settings and backends.
It is automatically created when you enable chat capabilities in the `ConferenceParams`
.
If the `ChatRoom` backend is {@link ChatRoom#Backend#Basic}, then no
other parameter is required, but `ChatMessage` sent and received won't
benefit from all features a {@link ChatRoom#Backend#FlexisipChat} 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.

## Method Summary

Modifier and Type
Method
Description
`int`
`activateEphemeral(int lifetime)`
Set lifetime (in seconds) for all new ephemeral messages in the text
capabilities of the chat.
`ChatParams`
`clone()`
Clone a `ChatParams`.
`void`
`deactivateEphemeral()`
Deactivate new ephemeral messages in the text capabilities of the chat.
`ChatRoom.Backend`
`getBackend()`
Get the backend implementation of the text capabilities of the chat associated
with the given parameters.
`ChatRoom.EncryptionBackend`
`getEncryptionBackend()`
Get the encryption implementation of the text capabilities of the chat
associated with the given parameters.
`long`
`getEphemeralLifetime()`
Get lifetime (in seconds) for all new ephemeral messages in the text
capabilities of the chat.
`ChatRoom.EphemeralMode`
`getEphemeralMode()`
Get the ephemeral message mode of the text capabilities of the chat associated
with the given parameters.
`long`
`getNativePointer()`
Gets the native pointer used by this class to make native method calls.
`Object`
`getUserData()`
Gets the object stored in this object user's data
`boolean`
`isEncryptionEnabled()`
Get the encryption status of the text capabilities of the chat associated with
the given parameters.
`boolean`
`isRttEnabled()`
Get the real time text status of the text capabilities of the chat associated
with the given parameters.
`void`
`setBackend(ChatRoom.Backend backend)`
Set the backend implementation of these text capabilities of the chat
parameters.
`void`
`setEncryptionBackend(ChatRoom.EncryptionBackend backend)`
Set the encryption backend implementation of these text capabilities of the
chat parameters.
`void`
`setEphemeralLifetime(long time)`
Deprecated.
20/02/2026 Use `activateEphemeral(int)` or `deactivateEphemeral()`
instead.
`void`
`setEphemeralMode(ChatRoom.EphemeralMode mode)`
Enables or disables forcing of ephemeral messages for the text capabilities of
the chat associated with the given parameters.
`void`
`setRttEnabled(boolean rtt)`
Enables or disables real time text for the text capabilities of the chat
associated with the given parameters.
`void`
`setUserData(Object data)`
Sets the object to store in this object user's data
`String`
`toString()`

## Method Details

### getBackend

ChatRoom.Backend getBackend()
Get the backend implementation of the text capabilities of the chat associated
with the given parameters.

Returns:
  the `ChatRoom#Backend`

### setBackend

void setBackend(ChatRoom.Backend backend)
Set the backend implementation of these text capabilities of the chat
parameters.

Parameters:
  `backend` - The `ChatRoom#Backend` enum value

### getEncryptionBackend

ChatRoom.EncryptionBackend getEncryptionBackend()
Get the encryption implementation of the text capabilities of the chat
associated with the given parameters.

Returns:
  the `ChatRoom#EncryptionBackend`

### setEncryptionBackend

void setEncryptionBackend(ChatRoom.EncryptionBackend backend)
Set the encryption backend implementation of these text capabilities of the
chat parameters.

Parameters:
  `backend` - The `ChatRoom#EncryptionBackend` enum value

### isEncryptionEnabled

boolean isEncryptionEnabled()
Get the encryption status of the text capabilities of the chat associated with
the given parameters.

Returns:
  true if encryption is enabled, false otherwise

### getEphemeralLifetime

long getEphemeralLifetime()
Get lifetime (in seconds) for all new ephemeral messages in the text
capabilities of the chat.
After the message is read, it will be deleted after "time" seconds. see: `ChatRoom.activateEphemeral(int)`

Returns:
  the ephemeral lifetime (in seconds)

### setEphemeralLifetime

@Deprecated void setEphemeralLifetime(long time)
Deprecated.
20/02/2026 Use `activateEphemeral(int)` or `deactivateEphemeral()`
instead.
Set lifetime (in seconds) for all new ephemeral messages in the text
capabilities of the chat.
After the message is read, it will be deleted after "time" seconds. see: `ChatRoom.activateEphemeral(int)`

### getEphemeralMode

ChatRoom.EphemeralMode getEphemeralMode()
Get the ephemeral message mode of the text capabilities of the chat associated
with the given parameters.

Returns:
  the ephemeral message mode `ChatRoom#EphemeralMode`

### setEphemeralMode

void setEphemeralMode(ChatRoom.EphemeralMode mode)
Enables or disables forcing of ephemeral messages for the text capabilities of
the chat associated with the given parameters.

Parameters:
  `mode` - Ephemeral message mode `ChatRoom#EphemeralMode`.

### isRttEnabled

boolean isRttEnabled()
Get the real time text status of the text capabilities of the chat associated
with the given parameters.

Returns:
  true if real time text is enabled, false otherwise

### setRttEnabled

void setRttEnabled(boolean rtt)
Enables or disables real time text for the text capabilities of the chat
associated with the given parameters.

Parameters:
  `rtt` - true to enable real time text, false to disable.

### activateEphemeral

int activateEphemeral(int lifetime)
Set lifetime (in seconds) for all new ephemeral messages in the text
capabilities of the chat.
After the message is read, it will be deleted after "time" seconds. see: `ChatRoom.activateEphemeral(int)`

Parameters:
  `lifetime` - The ephemeral lifetime, strictly positive

### clone

@NonNull ChatParams clone()
Clone a `ChatParams`.

Returns:
  An allocated `ChatParams` with the same parameters than params

### deactivateEphemeral

void deactivateEphemeral()
Deactivate new ephemeral messages in the text capabilities of the chat.
see: `ChatRoom.deactivateEphemeral()`

### setUserData

void setUserData(Object data)
Sets the object to store in this object user's data

Parameters:
  `data` - the object to store

### getUserData

Object getUserData()
Gets the object stored in this object user's data

Returns:
  the object store if any, null otherwise

### getNativePointer

long getNativePointer()
Gets the native pointer used by this class to make native method calls.

Returns:
  the nativer pointer, as long

### toString

String toString()

Overrides:
  `toString` in class `Object`