Liblinphone  5.1.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 void(* LinphoneParticipantDeviceCbsIsSpeakingChangedCb) (LinphoneParticipantDevice *participant_device, bool_t is_speaking)
 Callback used to notify that is this participant device speaking has changed. 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 _LinphoneConferenceInfo LinphoneConferenceInfo
 Object defining all informations of a conference.
 
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 _LinphoneParticipantDeviceCbs LinphoneParticipantDeviceCbs
 An object to handle the callbacks for the handling a LinphoneParticipantDevice objects. 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

LinphoneConferencelinphone_core_create_conference_with_params (LinphoneCore *core, const LinphoneConferenceParams *params)
 Create a conference. More...
 
LinphoneConferencelinphone_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...
 
LinphoneConferenceParamslinphone_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...
 
LinphoneConferencelinphone_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_core_send_conference_information (LinphoneCore *core, const LinphoneConferenceInfo *conference_information, const char *text)
 Send the conference invitations to all participants as an ICS file. 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...
 
LinphoneConferenceCbslinphone_conference_get_current_callbacks (const LinphoneConference *conference)
 Gets the current LinphoneConferenceCbs. More...
 
LinphoneCorelinphone_conference_get_core (const LinphoneConference *conference)
 Returns core for a LinphoneConference. More...
 
const LinphoneAddresslinphone_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...
 
LinphoneConferenceCbslinphone_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...
 
LinphoneConferenceInfolinphone_conference_info_new (void)
 Create a new LinphoneConferenceInfo object. More...
 
LinphoneConferenceInfolinphone_conference_info_ref (LinphoneConferenceInfo *conference_info)
 Take a reference on a LinphoneConferenceInfo. More...
 
void linphone_conference_info_unref (LinphoneConferenceInfo *conference_info)
 Release a LinphoneConferenceInfo. More...
 
const LinphoneAddresslinphone_conference_info_get_organizer (const LinphoneConferenceInfo *conference_info)
 Retrieve the organizer of the conference. More...
 
void linphone_conference_info_set_organizer (LinphoneConferenceInfo *conference_info, LinphoneAddress *organizer)
 Set the organizer of the conference. More...
 
const bctbx_list_t * linphone_conference_info_get_participants (const LinphoneConferenceInfo *conference_info)
 Retrieve the list of participants. More...
 
void linphone_conference_info_set_participants (LinphoneConferenceInfo *conference_info, bctbx_list_t *participants)
 Set the list of participants. More...
 
void linphone_conference_info_add_participant (LinphoneConferenceInfo *conference_info, LinphoneAddress *participant)
 Add a participant to the conference. More...
 
const LinphoneAddresslinphone_conference_info_get_uri (const LinphoneConferenceInfo *conference_info)
 Retrieve the URI of the conference. More...
 
void linphone_conference_info_set_uri (LinphoneConferenceInfo *conference_info, LinphoneAddress *uri)
 Set the URI of the conference. More...
 
time_t linphone_conference_info_get_date_time (const LinphoneConferenceInfo *conference_info)
 Retrieve the date and time of the conference. More...
 
void linphone_conference_info_set_date_time (LinphoneConferenceInfo *conference_info, time_t datetime)
 Set the date and time of the conference. More...
 
int linphone_conference_info_get_duration (const LinphoneConferenceInfo *conference_info)
 Retrieve the duration (in minutes) of the conference. More...
 
void linphone_conference_info_set_duration (LinphoneConferenceInfo *conference_info, int duration)
 Set the duration (in minutes) of the conference. More...
 
const char * linphone_conference_info_get_subject (const LinphoneConferenceInfo *conference_info)
 Retrieve the subject of the conference. More...
 
void linphone_conference_info_set_subject (LinphoneConferenceInfo *conference_info, const char *subject)
 Set the subject of the conference. More...
 
const char * linphone_conference_info_get_description (const LinphoneConferenceInfo *conference_info)
 Retrieve the description of the conference. More...
 
void linphone_conference_info_set_description (LinphoneConferenceInfo *conference_info, const char *description)
 Set the description of the conference. More...
 
char * linphone_conference_info_get_icalendar_string (const LinphoneConferenceInfo *conference_info)
 Retrieve the conference as an Icalendar string. More...
 
LinphoneParticipantDeviceCbslinphone_participant_device_cbs_new (void)
 Create a new participant device callbacks object. More...
 
LinphoneParticipantDeviceCbslinphone_participant_device_cbs_ref (LinphoneParticipantDeviceCbs *cbs)
 Acquire a reference to the participant device callbacks object. More...
 
void linphone_participant_device_cbs_unref (LinphoneParticipantDeviceCbs *cbs)
 Release reference to the participant device callbacks object. More...
 
void * linphone_participant_device_cbs_get_user_data (const LinphoneParticipantDeviceCbs *cbs)
 Retrieve the user pointer associated with the participant device callbacks object. More...
 
void linphone_participant_device_cbs_set_user_data (LinphoneParticipantDeviceCbs *cbs, void *ud)
 Assign a user pointer to the participant device callbacks object. More...
 
LinphoneParticipantDeviceCbsIsSpeakingChangedCb linphone_participant_device_cbs_get_is_speaking_changed (const LinphoneParticipantDeviceCbs *cbs)
 Get the is this participant device speaking changed callback. More...
 
void linphone_participant_device_cbs_set_is_speaking_changed (LinphoneParticipantDeviceCbs *cbs, LinphoneParticipantDeviceCbsIsSpeakingChangedCb cb)
 Set the is this participant device speaking 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]conferenceLinphoneConference object
[in]audio_deviceaudio 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]conferenceLinphoneConference object
[in]participantLinphoneParticipant 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]conferenceLinphoneConference object
[in]participantLinphoneParticipant 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]conferenceLinphoneConference object
[in]participant_deviceLinphoneParticipantDevice 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]conferenceLinphoneConference object
[in]participant_deviceLinphoneParticipantDevice 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]conferenceLinphoneConference object
[in]participantLinphoneParticipant 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]conferenceLinphoneConference object
[in]newStateThe 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]conferenceLinphoneConference object
[in]subjectsubject 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().

◆ LinphoneParticipantDeviceCbs

typedef struct _LinphoneParticipantDeviceCbs LinphoneParticipantDeviceCbs

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

Use linphone_factory_create_participant_device_cbs() to create an instance. Then pass the object to a LinphoneParticipantDevice instance through linphone_participant_device_add_callbacks().

◆ LinphoneParticipantDeviceCbsIsSpeakingChangedCb

typedef void(* LinphoneParticipantDeviceCbsIsSpeakingChangedCb) (LinphoneParticipantDevice *participant_device, bool_t is_speaking)

Callback used to notify that is this participant device speaking has changed.

Parameters
[in]participant_deviceLinphoneParticipantDevice object
[in]is_speakingis this participant device speaking

◆ 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

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
conferenceLinphoneConference object.
cbsA 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]cbsLinphoneConferenceCbs 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]cbsLinphoneConferenceCbs 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]cbsLinphoneConferenceCbs 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]cbsLinphoneConferenceCbs 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]cbsLinphoneConferenceCbs 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]cbsLinphoneConferenceCbs 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]cbsLinphoneConferenceCbs 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]cbsLinphoneConferenceCbs 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]crThe 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]cbsThe 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]cbsLinphoneConferenceCbs object.
[in]cbThe 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]cbsLinphoneConferenceCbs object.
[in]cbThe 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]cbsLinphoneConferenceCbs object.
[in]cbThe 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]cbsLinphoneConferenceCbs object.
[in]cbThe 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]cbsLinphoneConferenceCbs object.
[in]cbThe 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]cbsLinphoneConferenceCbs object.
[in]cbThe 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]cbsLinphoneConferenceCbs object.
[in]cbThe 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]cbsLinphoneConferenceCbs object.
[in]cbThe 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]crThe conference callbacks object
[in]udThe 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]crThe 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
conferenceA 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
conferenceLinphoneConference 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
conferenceLinphoneConference object.
Returns
The LinphoneConferenceCbs that has called the last callback.

◆ linphone_conference_info_add_participant()

void linphone_conference_info_add_participant ( LinphoneConferenceInfo conference_info,
LinphoneAddress participant 
)

Add a participant to the conference.

Parameters
conference_infoThe LinphoneConferenceInfo object.
participantThe participant (LinphoneAddress) to add.

◆ linphone_conference_info_get_date_time()

time_t linphone_conference_info_get_date_time ( const LinphoneConferenceInfo conference_info)

Retrieve the date and time of the conference.

Parameters
conference_infoThe LinphoneConferenceInfo object.
Returns
The date and time of the conference.

◆ linphone_conference_info_get_description()

const char* linphone_conference_info_get_description ( const LinphoneConferenceInfo conference_info)

Retrieve the description of the conference.

Parameters
conference_infoThe LinphoneConferenceInfo object.
Returns
The description of the conference.

◆ linphone_conference_info_get_duration()

int linphone_conference_info_get_duration ( const LinphoneConferenceInfo conference_info)

Retrieve the duration (in minutes) of the conference.

Parameters
conference_infoThe LinphoneConferenceInfo object.
Returns
The duration of the conference.

◆ linphone_conference_info_get_icalendar_string()

char* linphone_conference_info_get_icalendar_string ( const LinphoneConferenceInfo conference_info)

Retrieve the conference as an Icalendar string.

Parameters
conference_infoThe LinphoneConferenceInfo object.
Returns
The conference as an Icalendar string. The returned char* must be freed by the caller.

◆ linphone_conference_info_get_organizer()

const LinphoneAddress* linphone_conference_info_get_organizer ( const LinphoneConferenceInfo conference_info)

Retrieve the organizer of the conference.

Parameters
conference_infoThe LinphoneConferenceInfo object.
Returns
The LinphoneAddress of the conference's organizer.

◆ linphone_conference_info_get_participants()

const bctbx_list_t* linphone_conference_info_get_participants ( const LinphoneConferenceInfo conference_info)

Retrieve the list of participants.

Parameters
conference_infoThe LinphoneConferenceInfo object.
Returns
The list of participants.

◆ linphone_conference_info_get_subject()

const char* linphone_conference_info_get_subject ( const LinphoneConferenceInfo conference_info)

Retrieve the subject of the conference.

Parameters
conference_infoThe LinphoneConferenceInfo object.
Returns
The subject of the conference.

◆ linphone_conference_info_get_uri()

const LinphoneAddress* linphone_conference_info_get_uri ( const LinphoneConferenceInfo conference_info)

Retrieve the URI of the conference.

Parameters
conference_infoThe LinphoneConferenceInfo object.
Returns
The URI of the conference (LinphoneAddress).

◆ linphone_conference_info_new()

LinphoneConferenceInfo* linphone_conference_info_new ( void  )

Create a new LinphoneConferenceInfo object.

Returns
The newly created LinphoneConferenceInfo object.

◆ linphone_conference_info_ref()

LinphoneConferenceInfo* linphone_conference_info_ref ( LinphoneConferenceInfo conference_info)

Take a reference on a LinphoneConferenceInfo.

Parameters
conference_infoThe LinphoneConferenceInfo object.
Returns
the same LinphoneConferenceInfo object.

◆ linphone_conference_info_set_date_time()

void linphone_conference_info_set_date_time ( LinphoneConferenceInfo conference_info,
time_t  datetime 
)

Set the date and time of the conference.

Parameters
conference_infoThe LinphoneConferenceInfo object.
datetimeThe date and time of the conference.

◆ linphone_conference_info_set_description()

void linphone_conference_info_set_description ( LinphoneConferenceInfo conference_info,
const char *  description 
)

Set the description of the conference.

Parameters
conference_infoThe LinphoneConferenceInfo object.
descriptionThe description of the conference.

◆ linphone_conference_info_set_duration()

void linphone_conference_info_set_duration ( LinphoneConferenceInfo conference_info,
int  duration 
)

Set the duration (in minutes) of the conference.

Parameters
conference_infoThe LinphoneConferenceInfo object.
durationThe duration of the conference.

◆ linphone_conference_info_set_organizer()

void linphone_conference_info_set_organizer ( LinphoneConferenceInfo conference_info,
LinphoneAddress organizer 
)

Set the organizer of the conference.

Parameters
conference_infoThe LinphoneConferenceInfo object.
organizerThe LinphoneAddress of the conference's organizer.

◆ linphone_conference_info_set_participants()

void linphone_conference_info_set_participants ( LinphoneConferenceInfo conference_info,
bctbx_list_t *  participants 
)

Set the list of participants.

Parameters
conference_infoThe LinphoneConferenceInfo object.
participantsThe list of participants to set.

◆ linphone_conference_info_set_subject()

void linphone_conference_info_set_subject ( LinphoneConferenceInfo conference_info,
const char *  subject 
)

Set the subject of the conference.

Parameters
conference_infoThe LinphoneConferenceInfo object.
subjectThe subject of the conference.

◆ linphone_conference_info_set_uri()

void linphone_conference_info_set_uri ( LinphoneConferenceInfo conference_info,
LinphoneAddress uri 
)

Set the URI of the conference.

Parameters
conference_infoThe LinphoneConferenceInfo object.
uriThe URI of the conference (LinphoneAddress).

◆ linphone_conference_info_unref()

void linphone_conference_info_unref ( LinphoneConferenceInfo conference_info)

Release a LinphoneConferenceInfo.

Parameters
conference_infoThe LinphoneConferenceInfo object.

◆ linphone_conference_remove_callbacks()

void linphone_conference_remove_callbacks ( LinphoneConference conference,
LinphoneConferenceCbs cbs 
)

Remove a listener from a LinphoneConference.

Parameters
conferenceLinphoneConference object.
cbsLinphoneConferenceCbs object to remove.

◆ linphone_conference_set_conference_address()

void linphone_conference_set_conference_address ( LinphoneConference conference,
LinphoneAddress address 
)

Set the conference address.

Parameters
conferenceThe LinphoneConference object.
addressthe 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
coreLinphoneCore
Returns
0 if succeeded. Negative number if failed
Warning
This function guarantees that the local endpoint is added to the conference.

◆ 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
coreLinphoneCore
callThe 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
coreA 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
corethe 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
coreThe LinphoneCore instance where the conference will be created inside.
paramsParameters 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
coreA LinphoneCore object
enableA 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
coreLinphoneCore
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
coreLinphoneCore
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
coreLinphoneCore
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
coreLinphoneCore
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
corethe 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
coreLinphoneCore
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
corethe linphone core
calla 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
coreA LinphoneCore object
paramsThe conference parameters to match LinphoneConferenceParams or NULL
localAddrLinphoneAddress representing the local proxy configuration or NULL
remoteAddrLinphoneAddress to search for or NULL
participantsThe 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_send_conference_information()

void linphone_core_send_conference_information ( LinphoneCore core,
const LinphoneConferenceInfo conference_information,
const char *  text 
)

Send the conference invitations to all participants as an ICS file.

Parameters
coreThe LinphoneCore
conference_informationThe LinphoneConferenceInfo
textAn optional text to be added to the sent chat message

◆ linphone_core_start_conference_recording()

LinphoneStatus linphone_core_start_conference_recording ( LinphoneCore core,
const char *  path 
)

Start recording the running conference.

Parameters
coreLinphoneCore
pathPath to the file where the recording will be written
Returns
0 if succeeded. Negative number if failed
Deprecated:
14/09/2021 Use linphone_conference_start_recording() instead.

◆ linphone_core_stop_conference_recording()

LinphoneStatus linphone_core_stop_conference_recording ( LinphoneCore core)

Stop recording the running conference.

Parameters
coreLinphoneCore
Returns
0 if succeeded. Negative number if failed
Deprecated:
14/09/2021 Use linphone_conference_stop_recording() instead.

◆ 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
coreLinphoneCore
Returns
0 if succeeded. Negative number if failed

◆ linphone_participant_device_cbs_get_is_speaking_changed()

LinphoneParticipantDeviceCbsIsSpeakingChangedCb linphone_participant_device_cbs_get_is_speaking_changed ( const LinphoneParticipantDeviceCbs cbs)

Get the is this participant device speaking changed callback.

Parameters
[in]cbsThe LinphoneParticipantDeviceCbs object
Returns
The current is this particiapnt device speaking changed callback.

◆ linphone_participant_device_cbs_get_user_data()

void* linphone_participant_device_cbs_get_user_data ( const LinphoneParticipantDeviceCbs cbs)

Retrieve the user pointer associated with the participant device callbacks object.

Parameters
[in]cbsThe LinphoneParticipantDeviceCbs object
Returns
The user pointer associated with the participant device callbacks object

◆ linphone_participant_device_cbs_new()

LinphoneParticipantDeviceCbs* linphone_participant_device_cbs_new ( void  )

Create a new participant device callbacks object.

Returns
The LinphoneParticipantDeviceCbs object.

◆ linphone_participant_device_cbs_ref()

LinphoneParticipantDeviceCbs* linphone_participant_device_cbs_ref ( LinphoneParticipantDeviceCbs cbs)

Acquire a reference to the participant device callbacks object.

Parameters
[in]cbsThe LinphoneParticipantDeviceCbs object
Returns
The same participant device callbacks object

◆ linphone_participant_device_cbs_set_is_speaking_changed()

void linphone_participant_device_cbs_set_is_speaking_changed ( LinphoneParticipantDeviceCbs cbs,
LinphoneParticipantDeviceCbsIsSpeakingChangedCb  cb 
)

Set the is this participant device speaking changed callback.

Parameters
[in]cbsThe LinphoneParticipantDeviceCbs object
[in]cbThe is this participant device speaking changed callback to be used.

◆ linphone_participant_device_cbs_set_user_data()

void linphone_participant_device_cbs_set_user_data ( LinphoneParticipantDeviceCbs cbs,
void *  ud 
)

Assign a user pointer to the participant device callbacks object.

Parameters
[in]cbsThe LinphoneParticipantDeviceCbs object
[in]udThe user pointer to associate with the participant device callbacks object

◆ linphone_participant_device_cbs_unref()

void linphone_participant_device_cbs_unref ( LinphoneParticipantDeviceCbs cbs)

Release reference to the participant device callbacks object.

Parameters
[in]cbsThe LinphoneParticipantDeviceCbs object