Liblinphone: Conferencing

Liblinphone 5.0.0

Typedefs | Enumerations | Functions
Conferencing

Making an audio conference. More...

## Typedefs
typedef void(* | LinphoneConferenceCbsParticipantAddedCb) (LinphoneConference *conference, const LinphoneParticipant *participant)
| Callback used to notify a conference that a participant has been added. More...
typedef void(* | LinphoneConferenceCbsParticipantRemovedCb) (LinphoneConference *conference, const LinphoneParticipant *participant)
| Callback used to notify a conference that a participant has been removed. More...
typedef void(* | LinphoneConferenceCbsParticipantAdminStatusChangedCb) (LinphoneConference *conference, const LinphoneParticipant *participant)
| Callback used to notify a conference that the admin status of a participant has been changed. More...
typedef void(* | LinphoneConferenceCbsStateChangedCb) (LinphoneConference *conference, LinphoneConferenceState newState)
| Callback used to notify a conference state has changed. More...
typedef void(* | LinphoneConferenceCbsSubjectChangedCb) (LinphoneConference *conference, const char *subject)
| Callback used to notify that the subject of a conference has changed. More...
typedef void(* | LinphoneConferenceCbsAudioDeviceChangedCb) (LinphoneConference *conference, const LinphoneAudioDevice *audio_device)
| Callback used to notify that the audio device of a conference has changed. More...
typedef void(* | LinphoneConferenceCbsParticipantDeviceAddedCb) (LinphoneConference *conference, const LinphoneParticipantDevice *participant_device)
| Callback used to notify a conference that a participant has been added. More...
typedef void(* | LinphoneConferenceCbsParticipantDeviceRemovedCb) (LinphoneConference *conference, const LinphoneParticipantDevice *participant_device)
| Callback used to notify a conference that a participant has been removed. More...
typedef struct _LinphoneConference | LinphoneConference
| A conference is the object that allow to make calls when there are 2 or more participants. More...
typedef struct _LinphoneConferenceParams | LinphoneConferenceParams
| Object defining parameters for a LinphoneConference. More...
typedef struct _LinphoneConferenceCbs | LinphoneConferenceCbs
| An object to handle the callbacks for the handling a LinphoneConference objects. More...
typedef struct _LinphoneParticipant | LinphoneParticipant
| Identifies a member of a LinphoneConference or LinphoneChatRoom. More...
typedef struct _LinphoneParticipantDevice | LinphoneParticipantDevice
| This object represents a unique device for a member of a LinphoneConference or LinphoneChatRoom. More...
typedef struct _LinphoneParticipantImdnState | LinphoneParticipantImdnState
| This object represents the delivery/display state of a given chat message for a given participant. More...
typedef struct _LinphoneParticipantDeviceIdentity | LinphoneParticipantDeviceIdentity
| This object is only used on server side for LinphoneChatRoom with LinphoneChatRoomBackendFlexisipChat backend.
typedef enum _LinphoneConferenceState | LinphoneConferenceState
| LinphoneConferenceState is used to indicate the current state of a conference.

## Enumerations
enum | _LinphoneConferenceState { LinphoneConferenceStateNone = 0 , LinphoneConferenceStateInstantiated = 1 , LinphoneConferenceStateCreationPending = 2 , LinphoneConferenceStateCreated = 3 , LinphoneConferenceStateCreationFailed = 4 , LinphoneConferenceStateTerminationPending = 5 , LinphoneConferenceStateTerminated = 6 , LinphoneConferenceStateTerminationFailed = 7 , LinphoneConferenceStateDeleted = 8 }
| LinphoneConferenceState is used to indicate the current state of a conference. More...

## Functions
LinphoneConference * | linphone_core_create_conference_with_params (LinphoneCore *core, const LinphoneConferenceParams *params)
| Create a conference. More...
LinphoneConference * | linphone_core_search_conference (const LinphoneCore *core, const LinphoneConferenceParams *params, const LinphoneAddress *localAddr, const LinphoneAddress *remoteAddr, const bctbx_list_t *participants)
| Find a conference. More...
LinphoneStatus | linphone_core_add_to_conference (LinphoneCore *core, LinphoneCall *call)
| Add a participant to the conference. More...
LinphoneStatus | linphone_core_add_all_to_conference (LinphoneCore *core)
| Add all current calls into the conference. More...
LinphoneStatus | linphone_core_remove_from_conference (LinphoneCore *core, LinphoneCall *call)
| Remove a call from the conference. More...
bool_t | linphone_core_is_in_conference (const LinphoneCore *core)
| Indicates whether the local participant is part of a conference. More...
LinphoneStatus | linphone_core_enter_conference (LinphoneCore *core)
| Join the local participant to the running conference. More...
LinphoneStatus | linphone_core_leave_conference (LinphoneCore *core)
| Make the local participant leave the running conference. More...
float | linphone_core_get_conference_local_input_volume (LinphoneCore *core)
| Get the set input volume of the local participant. More...
LinphoneStatus | linphone_core_terminate_conference (LinphoneCore *core)
| Terminate the running conference. More...
int | linphone_core_get_conference_size (LinphoneCore *core)
| Get the number of participants including me, if it in, in the running conference. More...
LinphoneConferenceParams * | linphone_core_create_conference_params (LinphoneCore *core)
| Create some default conference parameters for instanciating a conference with linphone_core_create_conference_with_params(). More...
LinphoneStatus | linphone_core_start_conference_recording (LinphoneCore *core, const char *path)
| Start recording the running conference. More...
LinphoneStatus | linphone_core_stop_conference_recording (LinphoneCore *core)
| Stop recording the running conference. More...
LinphoneConference * | linphone_core_get_conference (LinphoneCore *core)
| Get a pointer on the internal conference object. More...
void | linphone_core_enable_conference_server (LinphoneCore *core, bool_t enable)
| Enable the conference server feature. More...
bool_t | linphone_core_conference_server_enabled (const LinphoneCore *core)
| Tells whether the conference server feature is enabled. More...
void | linphone_conference_add_callbacks (LinphoneConference *conference, LinphoneConferenceCbs *cbs)
| Add a listener in order to be notified of LinphoneConference events. More...
void | linphone_conference_remove_callbacks (LinphoneConference *conference, LinphoneConferenceCbs *cbs)
| Remove a listener from a LinphoneConference. More...
LinphoneConferenceCbs * | linphone_conference_get_current_callbacks (const LinphoneConference *conference)
| Gets the current LinphoneConferenceCbs. More...
LinphoneCore * | linphone_conference_get_core (const LinphoneConference *conference)
| Returns core for a LinphoneConference. More...
const LinphoneAddress * | linphone_conference_get_conference_address (const LinphoneConference *conference)
| Get the conference address of the conference. More...
void | linphone_conference_set_conference_address (LinphoneConference *conference, LinphoneAddress *address)
| Set the conference address. More...
LinphoneConferenceCbs * | linphone_conference_cbs_ref (LinphoneConferenceCbs *cbs)
| Acquire a reference to the conference callbacks object. More...
void | linphone_conference_cbs_unref (LinphoneConferenceCbs *cbs)
| Release reference to the conference callbacks object. More...
void * | linphone_conference_cbs_get_user_data (const LinphoneConferenceCbs *cbs)
| Retrieve the user pointer associated with the conference callbacks object. More...
void | linphone_conference_cbs_set_user_data (LinphoneConferenceCbs *cbs, void *ud)
| Assign a user pointer to the conference callbacks object. More...
LinphoneConferenceCbsParticipantAddedCb | linphone_conference_cbs_get_participant_added (const LinphoneConferenceCbs *cbs)
| Get the participant added callback. More...
void | linphone_conference_cbs_set_participant_added (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantAddedCb cb)
| Set the participant added callback. More...
LinphoneConferenceCbsParticipantRemovedCb | linphone_conference_cbs_get_participant_removed (const LinphoneConferenceCbs *cbs)
| Get the participant removed callback. More...
void | linphone_conference_cbs_set_participant_removed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantRemovedCb cb)
| Set the participant removed callback. More...
LinphoneConferenceCbsParticipantDeviceAddedCb | linphone_conference_cbs_get_participant_device_added (const LinphoneConferenceCbs *cbs)
| Get the participant device added callback. More...
void | linphone_conference_cbs_set_participant_device_added (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantDeviceAddedCb cb)
| Set the participant device added callback. More...
LinphoneConferenceCbsParticipantDeviceRemovedCb | linphone_conference_cbs_get_participant_device_removed (const LinphoneConferenceCbs *cbs)
| Get the participant device removed callback. More...
void | linphone_conference_cbs_set_participant_device_removed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantDeviceRemovedCb cb)
| Set the participant device removed callback. More...
LinphoneConferenceCbsParticipantAdminStatusChangedCb | linphone_conference_cbs_get_participant_admin_status_changed (const LinphoneConferenceCbs *cbs)
| Get the participant admin status changed callback. More...
void | linphone_conference_cbs_set_participant_admin_status_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantAdminStatusChangedCb cb)
| Set the participant admin status changed callback. More...
LinphoneConferenceCbsStateChangedCb | linphone_conference_cbs_get_state_changed (const LinphoneConferenceCbs *cbs)
| Get the state changed callback. More...
void | linphone_conference_cbs_set_state_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsStateChangedCb cb)
| Set the state changed callback. More...
LinphoneConferenceCbsSubjectChangedCb | linphone_conference_cbs_get_subject_changed (const LinphoneConferenceCbs *cbs)
| Get the subject changed callback. More...
void | linphone_conference_cbs_set_subject_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsSubjectChangedCb cb)
| Set the subject changed callback. More...
LinphoneConferenceCbsAudioDeviceChangedCb | linphone_conference_cbs_get_audio_device_changed (const LinphoneConferenceCbs *cbs)
| Get the audio device changed callback. More...
void | linphone_conference_cbs_set_audio_device_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsAudioDeviceChangedCb cb)
| Set the audio device changed callback. More...

## Detailed Description

Making an audio conference.

This API allows to create a conference entirely managed by the client. No server capabilities are required. The way such conference is created is by doing the following:
The application shall makes "normal" calls to several destinations (using linphone_core_invite() ), one after another. While initiating the second call, the first one is automatically paused. Then, once the second call is established, the application has the possibility to merge the two calls to form a conference where each participant (the local participant, the remote destination of the first call, the remote destination of the second call) can talk together. This must be done by adding the two calls to the conference using linphone_core_add_to_conference()

Once merged into a conference the LinphoneCall objects representing the calls that were established remain unchanged, except that they are tagged as part of the conference (see linphone_call_is_in_conference() ). The calls in a conference are in the LinphoneCallStreamsRunning state.

Only a single conference can be created: the purpose of this feature is to allow the local user to create, take part and manage the conference. This API is not designed to create a conference server application.

Up to 10 calls can be merged into the conference, however depending on the CPU usage required for doing the encoding/decoding of the streams of each participants, the effective limit can be lower.

## Typedef Documentation

## ◆ LinphoneConference

typedef struct _LinphoneConference LinphoneConference

A conference is the object that allow to make calls when there are 2 or more participants.

To create (or find) a LinphoneConference, you first need a LinphoneConferenceParams object. linphone_core_create_conference_with_params() allows you to create a conference. A conference is uniquely identified by a conference address, meaning you can have more than one conference between two accounts. As of now, each LinphoneCore can host only 1 conference but it can be part of many conferences as a remote participant. To find a conference among those a core is part of, you can call linphone_core_search_conference().

## ◆ LinphoneConferenceCbs

typedef struct _LinphoneConferenceCbs LinphoneConferenceCbs

An object to handle the callbacks for the handling a LinphoneConference objects.

Use linphone_factory_create_conference_cbs() to create an instance. Then pass the object to a LinphoneConference instance through linphone_conference_add_callbacks().

## ◆ LinphoneConferenceCbsAudioDeviceChangedCb

typedef void(* LinphoneConferenceCbsAudioDeviceChangedCb) (LinphoneConference *conference, const LinphoneAudioDevice *audio_device)

Callback used to notify that the audio device of a conference has changed.

Parameters

  [in] | conference | LinphoneConference object
  [in] | audio_device | audio device of the conference

## ◆ LinphoneConferenceCbsParticipantAddedCb

typedef void(* LinphoneConferenceCbsParticipantAddedCb) (LinphoneConference *conference, const LinphoneParticipant *participant)

Callback used to notify a conference that a participant has been added.

Parameters

  [in] | conference | LinphoneConference object
  [in] | participant | LinphoneParticipant that has been added to the conference

## ◆ LinphoneConferenceCbsParticipantAdminStatusChangedCb

typedef void(* LinphoneConferenceCbsParticipantAdminStatusChangedCb) (LinphoneConference *conference, const LinphoneParticipant *participant)

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

Parameters

  [in] | conference | LinphoneConference object
  [in] | participant | LinphoneParticipant whose admin status has changed

## ◆ LinphoneConferenceCbsParticipantDeviceAddedCb

typedef void(* LinphoneConferenceCbsParticipantDeviceAddedCb) (LinphoneConference *conference, const LinphoneParticipantDevice *participant_device)

Callback used to notify a conference that a participant has been added.

Parameters

  [in] | conference | LinphoneConference object
  [in] | participant_device | LinphoneParticipantDevice that has been added to the conference

## ◆ LinphoneConferenceCbsParticipantDeviceRemovedCb

typedef void(* LinphoneConferenceCbsParticipantDeviceRemovedCb) (LinphoneConference *conference, const LinphoneParticipantDevice *participant_device)

Callback used to notify a conference that a participant has been removed.

Parameters

  [in] | conference | LinphoneConference object
  [in] | participant_device | LinphoneParticipantDevice that has been removed to the conference

## ◆ LinphoneConferenceCbsParticipantRemovedCb

typedef void(* LinphoneConferenceCbsParticipantRemovedCb) (LinphoneConference *conference, const LinphoneParticipant *participant)

Callback used to notify a conference that a participant has been removed.

Parameters

  [in] | conference | LinphoneConference object
  [in] | participant | LinphoneParticipant that has been removed to the conference

## ◆ LinphoneConferenceCbsStateChangedCb

typedef void(* LinphoneConferenceCbsStateChangedCb) (LinphoneConference *conference, LinphoneConferenceState newState)

Callback used to notify a conference state has changed.

Parameters

  [in] | conference | LinphoneConference object
  [in] | newState | The new state of the conference

## ◆ LinphoneConferenceCbsSubjectChangedCb

typedef void(* LinphoneConferenceCbsSubjectChangedCb) (LinphoneConference *conference, const char *subject)

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

Parameters

  [in] | conference | LinphoneConference object
  [in] | subject | subject of the conference

## ◆ LinphoneConferenceParams

typedef struct _LinphoneConferenceParams LinphoneConferenceParams

Object defining parameters for a LinphoneConference.

Can be created by calling function linphone_core_create_conference_params().

## ◆ LinphoneParticipant

typedef struct _LinphoneParticipant LinphoneParticipant

Identifies a member of a LinphoneConference or LinphoneChatRoom.

A participant is identified by it's SIP address. It can have many LinphoneParticipantDevice.

## ◆ LinphoneParticipantDevice

typedef struct _LinphoneParticipantDevice LinphoneParticipantDevice

This object represents a unique device for a member of a LinphoneConference or LinphoneChatRoom.

Devices are identified by the gruu parameter inside the LinphoneAddress which can be obtained by linphone_participant_device_get_address(). It is specially usefull to know the security level of each device inside an end-to-end encrypted LinphoneChatRoom.

You can get a list of all LinphoneParticipantDevice using linphone_participant_get_devices().

## ◆ LinphoneParticipantImdnState

typedef struct _LinphoneParticipantImdnState LinphoneParticipantImdnState

This object represents the delivery/display state of a given chat message for a given participant.

It also contains a timestamp at which this participant state has changed.

Use linphone_chat_message_get_participants_by_imdn_state() to get all LinphoneParticipantImdnState for a given state. From there use linphone_participant_imdn_state_get_participant() to get the LinphoneParticipant object if you need it.

## Enumeration Type Documentation

## ◆ _LinphoneConferenceState

enum _LinphoneConferenceState

LinphoneConferenceState is used to indicate the current state of a conference.

Enumerator
LinphoneConferenceStateNone | Initial state.
LinphoneConferenceStateInstantiated | Conference is now instantiated on local.
LinphoneConferenceStateCreationPending | One creation request was sent to the server.
LinphoneConferenceStateCreated | Conference was created on the server.
LinphoneConferenceStateCreationFailed | Conference creation failed.
LinphoneConferenceStateTerminationPending | Wait for conference termination.
LinphoneConferenceStateTerminated | Conference exists on server but not in local.
LinphoneConferenceStateTerminationFailed | Conference termination failed.
LinphoneConferenceStateDeleted | Conference was deleted on the server.

## Function Documentation

## ◆ linphone_conference_add_callbacks()

void linphone_conference_add_callbacks | ( | LinphoneConference * | conference,
|  | LinphoneConferenceCbs * | cbs
| ) |  |

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

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

Parameters

  conference | LinphoneConference object.
  cbs | A LinphoneConferenceCbs object holding the callbacks you need. A reference is taken by the LinphoneConference until you invoke linphone_conference_remove_callbacks().

## ◆ linphone_conference_cbs_get_audio_device_changed()

LinphoneConferenceCbsAudioDeviceChangedCb linphone_conference_cbs_get_audio_device_changed | ( | const LinphoneConferenceCbs * | cbs | ) |

Get the audio device changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.

Returns
  The current audio device changed callback.

## ◆ linphone_conference_cbs_get_participant_added()

LinphoneConferenceCbsParticipantAddedCb linphone_conference_cbs_get_participant_added | ( | const LinphoneConferenceCbs * | cbs | ) |

Get the participant added callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.

Returns
  The current participant added callback.

## ◆ linphone_conference_cbs_get_participant_admin_status_changed()

LinphoneConferenceCbsParticipantAdminStatusChangedCb linphone_conference_cbs_get_participant_admin_status_changed | ( | const LinphoneConferenceCbs * | cbs | ) |

Get the participant admin status changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.

Returns
  The current participant admin status changed callback.

## ◆ linphone_conference_cbs_get_participant_device_added()

LinphoneConferenceCbsParticipantDeviceAddedCb linphone_conference_cbs_get_participant_device_added | ( | const LinphoneConferenceCbs * | cbs | ) |

Get the participant device added callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.

Returns
  The current participant device added callback.

## ◆ linphone_conference_cbs_get_participant_device_removed()

LinphoneConferenceCbsParticipantDeviceRemovedCb linphone_conference_cbs_get_participant_device_removed | ( | const LinphoneConferenceCbs * | cbs | ) |

Get the participant device removed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.

Returns
  The current participant device removed callback.

## ◆ linphone_conference_cbs_get_participant_removed()

LinphoneConferenceCbsParticipantRemovedCb linphone_conference_cbs_get_participant_removed | ( | const LinphoneConferenceCbs * | cbs | ) |

Get the participant removed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.

Returns
  The current participant removed callback.

## ◆ linphone_conference_cbs_get_state_changed()

LinphoneConferenceCbsStateChangedCb linphone_conference_cbs_get_state_changed | ( | const LinphoneConferenceCbs * | cbs | ) |

Get the state changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.

Returns
  The current state changed callback.

## ◆ linphone_conference_cbs_get_subject_changed()

LinphoneConferenceCbsSubjectChangedCb linphone_conference_cbs_get_subject_changed | ( | const LinphoneConferenceCbs * | cbs | ) |

Get the subject changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.

Returns
  The current subject changed callback.

## ◆ linphone_conference_cbs_get_user_data()

void* linphone_conference_cbs_get_user_data | ( | const LinphoneConferenceCbs * | cbs | ) |

Retrieve the user pointer associated with the conference callbacks object.

Parameters

  [in] | cr | The conference callbacks object

Returns
  The user pointer associated with the conference callbacks object

## ◆ linphone_conference_cbs_ref()

LinphoneConferenceCbs* linphone_conference_cbs_ref | ( | LinphoneConferenceCbs * | cbs | ) |

Acquire a reference to the conference callbacks object.

Parameters

  [in] | cbs | The conference callbacks object

Returns
  The same conference callbacks object

## ◆ linphone_conference_cbs_set_audio_device_changed()

void linphone_conference_cbs_set_audio_device_changed | ( | LinphoneConferenceCbs * | cbs,
|  | LinphoneConferenceCbsAudioDeviceChangedCb | cb
| ) |  |

Set the audio device changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.
  [in] | cb | The audio device changed callback to be used.

## ◆ linphone_conference_cbs_set_participant_added()

void linphone_conference_cbs_set_participant_added | ( | LinphoneConferenceCbs * | cbs,
|  | LinphoneConferenceCbsParticipantAddedCb | cb
| ) |  |

Set the participant added callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.
  [in] | cb | The participant added callback to be used.

## ◆ linphone_conference_cbs_set_participant_admin_status_changed()

void linphone_conference_cbs_set_participant_admin_status_changed | ( | LinphoneConferenceCbs * | cbs,
|  | LinphoneConferenceCbsParticipantAdminStatusChangedCb | cb
| ) |  |

Set the participant admin status changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.
  [in] | cb | The participant admin status changed callback to be used.

## ◆ linphone_conference_cbs_set_participant_device_added()

void linphone_conference_cbs_set_participant_device_added | ( | LinphoneConferenceCbs * | cbs,
|  | LinphoneConferenceCbsParticipantDeviceAddedCb | cb
| ) |  |

Set the participant device added callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.
  [in] | cb | The participant device added callback to be used.

## ◆ linphone_conference_cbs_set_participant_device_removed()

void linphone_conference_cbs_set_participant_device_removed | ( | LinphoneConferenceCbs * | cbs,
|  | LinphoneConferenceCbsParticipantDeviceRemovedCb | cb
| ) |  |

Set the participant device removed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.
  [in] | cb | The participant device removed callback to be used.

## ◆ linphone_conference_cbs_set_participant_removed()

void linphone_conference_cbs_set_participant_removed | ( | LinphoneConferenceCbs * | cbs,
|  | LinphoneConferenceCbsParticipantRemovedCb | cb
| ) |  |

Set the participant removed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.
  [in] | cb | The participant removed callback to be used.

## ◆ linphone_conference_cbs_set_state_changed()

void linphone_conference_cbs_set_state_changed | ( | LinphoneConferenceCbs * | cbs,
|  | LinphoneConferenceCbsStateChangedCb | cb
| ) |  |

Set the state changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.
  [in] | cb | The state changed callback to be used.

## ◆ linphone_conference_cbs_set_subject_changed()

void linphone_conference_cbs_set_subject_changed | ( | LinphoneConferenceCbs * | cbs,
|  | LinphoneConferenceCbsSubjectChangedCb | cb
| ) |  |

Set the subject changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.
  [in] | cb | The subject changed callback to be used.

## ◆ linphone_conference_cbs_set_user_data()

void linphone_conference_cbs_set_user_data | ( | LinphoneConferenceCbs * | cbs,
|  | void * | ud
| ) |  |

Assign a user pointer to the conference callbacks object.

Parameters

  [in] | cr | The conference callbacks object
  [in] | ud | The user pointer to associate with the conference callbacks object

## ◆ linphone_conference_cbs_unref()

void linphone_conference_cbs_unref | ( | LinphoneConferenceCbs * | cbs | ) |

Release reference to the conference callbacks object.

Parameters

  [in] | cr | The conference callbacks object

## ◆ linphone_conference_get_conference_address()

const LinphoneAddress* linphone_conference_get_conference_address | ( | const LinphoneConference * | conference | ) |

Get the conference address of the conference.

Parameters

  conference | A LinphoneConference object.

Returns
  The conference address of the conference.

## ◆ linphone_conference_get_core()

LinphoneCore* linphone_conference_get_core | ( | const LinphoneConference * | conference | ) |

Returns core for a LinphoneConference.

Parameters

  conference | LinphoneConference object.

Returns
  back pointer to LinphoneCore object. Returns back pointer to LinphoneCore object.

## ◆ linphone_conference_get_current_callbacks()

LinphoneConferenceCbs* linphone_conference_get_current_callbacks | ( | const LinphoneConference * | conference | ) |

Gets the current LinphoneConferenceCbs.

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

Parameters

  conference | LinphoneConference object.

Returns
  The LinphoneConferenceCbs that has called the last callback.

## ◆ linphone_conference_remove_callbacks()

void linphone_conference_remove_callbacks | ( | LinphoneConference * | conference,
|  | LinphoneConferenceCbs * | cbs
| ) |  |

Remove a listener from a LinphoneConference.

Parameters

  conference | LinphoneConference object.
  cbs | LinphoneConferenceCbs object to remove.

## ◆ linphone_conference_set_conference_address()

void linphone_conference_set_conference_address | ( | LinphoneConference * | conference,
|  | LinphoneAddress * | address
| ) |  |

Set the conference address.

Parameters

  conference | The LinphoneConference object.
  address | the conference address to set.

Warning
  This is only allowed for a remote conference if it is in state CreationPending or Instantiated

## ◆ linphone_core_add_all_to_conference()

LinphoneStatus linphone_core_add_all_to_conference | ( | LinphoneCore * | core | ) |

Add all current calls into the conference.

If no conference is running a new internal conference context is created and all current calls are added to it.

Parameters

  core | LinphoneCore

Returns
  0 if succeeded. Negative number if failed

## ◆ linphone_core_add_to_conference()

LinphoneStatus linphone_core_add_to_conference | ( | LinphoneCore * | core,
|  | LinphoneCall * | call
| ) |  |

Add a participant to the conference.

If no conference is going on a new internal conference context is created and the participant is added to it.

Parameters

  core | LinphoneCore
  call | The current call with the participant to add

Returns
  0 if succeeded. Negative number if failed

## ◆ linphone_core_conference_server_enabled()

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

Tells whether the conference server feature is enabled.

Parameters

  core | A LinphoneCore object

Returns
  A boolean value telling whether the conference server feature is enabled or not

## ◆ linphone_core_create_conference_params()

LinphoneConferenceParams* linphone_core_create_conference_params | ( | LinphoneCore * | core | ) |

Create some default conference parameters for instanciating a conference with linphone_core_create_conference_with_params().

Parameters

  core | the LinphoneCore object

Returns
  a LinphoneConferenceParams object.

## ◆ linphone_core_create_conference_with_params()

LinphoneConference* linphone_core_create_conference_with_params | ( | LinphoneCore * | core,
|  | const LinphoneConferenceParams * | params
| ) |  |

Create a conference.

Parameters

  core | The LinphoneCore instance where the conference will be created inside.
  params | Parameters of the conference. See LinphoneConferenceParams.

Returns
  A pointer on the freshly created conference LinphoneConference. That object will be automatically freed by the core after calling linphone_core_terminate_conference().

## ◆ linphone_core_enable_conference_server()

void linphone_core_enable_conference_server | ( | LinphoneCore * | core,
|  | bool_t | enable
| ) |  |

Enable the conference server feature.

This has the effect to listen of the conference factory uri to create new conferences when receiving INVITE messages there.

Parameters

  core | A LinphoneCore object
  enable | A boolean value telling whether to enable or disable the conference server feature

## ◆ linphone_core_enter_conference()

LinphoneStatus linphone_core_enter_conference | ( | LinphoneCore * | core | ) |

Join the local participant to the running conference.

Parameters

  core | LinphoneCore

Returns
  0 if succeeded. Negative number if failed

Deprecated:
  09/03/2021 Use linphone_conference_enter() instead.

## ◆ linphone_core_get_conference()

LinphoneConference* linphone_core_get_conference | ( | LinphoneCore * | core | ) |

Get a pointer on the internal conference object.

Parameters

  core | LinphoneCore

Returns
  A pointer on LinphoneConference or NULL if no conference are going on.

## ◆ linphone_core_get_conference_local_input_volume()

float linphone_core_get_conference_local_input_volume | ( | LinphoneCore * | core | ) |

Get the set input volume of the local participant.

Parameters

  core | LinphoneCore

Returns
  A value inside [0.0 ; 1.0]

## ◆ linphone_core_get_conference_size()

int linphone_core_get_conference_size | ( | LinphoneCore * | core | ) |

Get the number of participants including me, if it in, in the running conference.

The local participant is included in the count only if it is in the conference.

Parameters

  core | LinphoneCore

Returns
  The number of participants including me, if it in.

Deprecated:
  16/04/2021 Use linphone_conference_get_participant_count() instead.

## ◆ linphone_core_is_in_conference()

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

Indicates whether the local participant is part of a conference.

Warning
  That function automatically fails in the case of conferences using a conferencet server (focus). If you use such a conference, you should use linphone_conference_remove_participant() instead.

Parameters

  core | the linphone core

Returns
  TRUE if the local participant is in a conference, FALSE otherwise.

Deprecated:
  09/03/2021 Use linphone_conference_is_in() instead.

## ◆ linphone_core_leave_conference()

LinphoneStatus linphone_core_leave_conference | ( | LinphoneCore * | core | ) |

Make the local participant leave the running conference.

Parameters

  core | LinphoneCore

Returns
  0 if succeeded. Negative number if failed

Deprecated:
  09/03/2021 Use linphone_conference_leave() instead.

## ◆ linphone_core_remove_from_conference()

LinphoneStatus linphone_core_remove_from_conference | ( | LinphoneCore * | core,
|  | LinphoneCall * | call
| ) |  |

Remove a call from the conference.

Parameters

  core | the linphone core
  call | a call that has been previously merged into the conference.

After removing the remote participant belonging to the supplied call, the call becomes a normal call in paused state. If one single remote participant is left alone together with the local user in the conference after the removal, then the conference is automatically transformed into a simple call in StreamsRunning state. The conference's resources are then automatically destroyed.

In other words, unless linphone_core_leave_conference() is explicitly called, the last remote participant of a conference is automatically put in a simple call in running state.

Returns
  0 if successful, -1 otherwise.

## ◆ linphone_core_search_conference()

LinphoneConference* linphone_core_search_conference | ( | const LinphoneCore * | core,
|  | const LinphoneConferenceParams * | params,
|  | const LinphoneAddress * | localAddr,
|  | const LinphoneAddress * | remoteAddr,
|  | const bctbx_list_t * | participants
| ) |  |

Find a conference.

Parameters

  core | A LinphoneCore object
  params | The conference parameters to match LinphoneConferenceParams 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 pointer on LinphoneConference satisfying the non-NULL function arguments or NULL if none matches

## ◆ linphone_core_start_conference_recording()

LinphoneStatus linphone_core_start_conference_recording | ( | LinphoneCore * | core,
|  | const char * | path
| ) |  |

Start recording the running conference.

Parameters

  core | LinphoneCore
  path | Path to the file where the recording will be written

Returns
  0 if succeeded. Negative number if failed

## ◆ linphone_core_stop_conference_recording()

LinphoneStatus linphone_core_stop_conference_recording | ( | LinphoneCore * | core | ) |

Stop recording the running conference.

Parameters

  core | LinphoneCore

Returns
  0 if succeeded. Negative number if failed

## ◆ linphone_core_terminate_conference()

LinphoneStatus linphone_core_terminate_conference | ( | LinphoneCore * | core | ) |

Terminate the running conference.

If it is a local conference, all calls inside it will become back separate calls and will be put in #LinphoneCallPaused state. If it is a conference involving a focus server, all calls inside the conference will be terminated.

Parameters

  core | LinphoneCore

Returns
  0 if succeeded. Negative number if failed