Conferencing

Making a audio/video conferences. More...

## Typedefs

typedef void(* | LinphoneConferenceCbsParticipantAddedCb) (LinphoneConference *conference, const LinphoneParticipant *participant)
| Callback used to notify a conference that a participant has been added.
typedef void(* | LinphoneConferenceCbsParticipantRemovedCb) (LinphoneConference *conference, const LinphoneParticipant *participant)
| Callback used to notify a conference that a participant has been removed.
typedef void(* | LinphoneConferenceCbsParticipantDeviceStateChangedCb) (LinphoneConference *conference, const LinphoneParticipantDevice *device, const LinphoneParticipantDeviceState state)
| Callback used to notify a conference that a participant device has changed state.
typedef void(* | LinphoneConferenceCbsParticipantDeviceMediaAvailabilityChangedCb) (LinphoneConference *conference, const LinphoneParticipantDevice *device)
| Callback used to notify a conference that the media availability of a participant device has been changed.
typedef void(* | LinphoneConferenceCbsParticipantDeviceMediaCapabilityChangedCb) (LinphoneConference *conference, const LinphoneParticipantDevice *device)
| Callback used to notify a conference that the media capability of a participant device has been changed.
typedef void(* | LinphoneConferenceCbsParticipantRoleChangedCb) (LinphoneConference *conference, const LinphoneParticipant *participant)
| Callback used to notify a conference that the role of a participant has been changed.
typedef void(* | LinphoneConferenceCbsParticipantAdminStatusChangedCb) (LinphoneConference *conference, const LinphoneParticipant *participant)
| Callback used to notify a conference that the admin status of a participant has been changed.
typedef void(* | LinphoneConferenceCbsStateChangedCb) (LinphoneConference *conference, LinphoneConferenceState newState)
| Callback used to notify a conference state has changed.
typedef void(* | LinphoneConferenceCbsAvailableMediaChangedCb) (LinphoneConference *conference)
| Callback used to notify that the available media of a conference has changed.
typedef void(* | LinphoneConferenceCbsSubjectChangedCb) (LinphoneConference *conference, const char *subject)
| Callback used to notify that the subject of a conference has changed.
typedef void(* | LinphoneConferenceCbsParticipantDeviceIsSpeakingChangedCb) (LinphoneConference *conference, const LinphoneParticipantDevice *participant_device, bool_t is_speaking)
| Callback used to notify that a participant device is speaking or isn't speaking anymore.
typedef void(* | LinphoneConferenceCbsParticipantDeviceIsMutedCb) (LinphoneConference *conference, const LinphoneParticipantDevice *participant_device, bool_t is_muted)
| Callback used to notify that a participant device is muted or is no longer muted.
typedef void(* | LinphoneConferenceCbsAudioDeviceChangedCb) (LinphoneConference *conference, const LinphoneAudioDevice *audio_device)
| Callback used to notify that the audio device of a conference has changed.
typedef void(* | LinphoneConferenceCbsParticipantDeviceAddedCb) (LinphoneConference *conference, const LinphoneParticipantDevice *participant_device)
| Callback used to notify a conference that a participant has been added.
typedef void(* | LinphoneConferenceCbsParticipantDeviceRemovedCb) (LinphoneConference *conference, const LinphoneParticipantDevice *participant_device)
| Callback used to notify a conference that a participant has been removed.
typedef void(* | LinphoneConferenceCbsActiveSpeakerParticipantDeviceCb) (LinphoneConference *conference, const LinphoneParticipantDevice *participant_device)
| Callback used to notify which participant device video is being displayed as "actively speaking".
typedef void(* | LinphoneParticipantDeviceCbsIsSpeakingChangedCb) (LinphoneParticipantDevice *participant_device, bool_t is_speaking)
| Callback used to notify that is this participant device speaking has changed.
typedef void(* | LinphoneParticipantDeviceCbsIsMutedCb) (LinphoneParticipantDevice *participant_device, bool_t is_muted)
| Callback used to notify that this participant device is muted or is no longer muted.
typedef void(* | LinphoneParticipantDeviceCbsStateChangedCb) (LinphoneParticipantDevice *participant_device, const LinphoneParticipantDeviceState state)
| Callback used to notify that participant device changed state.
typedef void(* | LinphoneParticipantDeviceCbsStreamCapabilityChangedCb) (LinphoneParticipantDevice *participant_device, LinphoneMediaDirection direction, const LinphoneStreamType stream_type)
| Callback used to notify that participant device stream capability has changed.
typedef void(* | LinphoneParticipantDeviceCbsStreamAvailabilityChangedCb) (LinphoneParticipantDevice *participant_device, bool_t available, const LinphoneStreamType stream_type)
| Callback used to notify that participant device stream availability has changed.
typedef void(* | LinphoneParticipantDeviceCbsVideoDisplayErrorOccurredCb) (LinphoneParticipantDevice *participant_device, int error_code)
| Callback to notify that there are errors from the video rendering of the participant device.
typedef void(* | LinphoneConferenceSchedulerCbsStateChangedCb) (LinphoneConferenceScheduler *conference_scheduler, LinphoneConferenceSchedulerState state)
| Callback for notifying when a registration state has changed for the conference scheduler.
typedef void(* | LinphoneConferenceSchedulerCbsInvitationsSentCb) (LinphoneConferenceScheduler *conference_scheduler, const bctbx_list_t *failed_invitations)
| Callback for notifying when conference invitations have been sent.
typedef struct _LinphoneConference | LinphoneConference
| A conference is the object that allow to make calls when there are 2 or more participants.
typedef struct _LinphoneConferenceParams | LinphoneConferenceParams
| Object defining parameters for a LinphoneConference.
typedef struct _LinphoneConferenceCbs | LinphoneConferenceCbs
| An object to handle the callbacks for the handling a LinphoneConference objects.
typedef struct _LinphoneConferenceInfo | LinphoneConferenceInfo
| Object defining all information related to a conference.
typedef struct _LinphoneConferenceScheduler | LinphoneConferenceScheduler
| Object used to create remote conferences and send ICS to notify participants.
typedef struct _LinphoneParticipant | LinphoneParticipant
| Identifies a member of a LinphoneConference or LinphoneChatRoom.
typedef struct _LinphoneParticipantInfo | LinphoneParticipantInfo
| Object defining all information related to a participant.
typedef struct _LinphoneParticipantDevice | LinphoneParticipantDevice
| This object represents a unique device for a member of a LinphoneConference or LinphoneChatRoom.
typedef struct _LinphoneParticipantDeviceCbs | LinphoneParticipantDeviceCbs
| An object to handle the callbacks for the handling a LinphoneParticipantDevice objects.
typedef struct _LinphoneParticipantImdnState | LinphoneParticipantImdnState
| This object represents the delivery/display state of a given chat message for a given participant.
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.
typedef enum _LinphoneConferenceLayout | LinphoneConferenceLayout
| LinphoneConferenceLayout is used to indicate the layout used by the conference.
typedef enum _LinphoneConferenceJoiningMode | LinphoneConferenceJoiningMode
| Mode of joining conference.
typedef enum _LinphoneConferenceParticipantListType | LinphoneConferenceParticipantListType
| Type of conference participant list.
typedef enum _LinphoneConferenceSecurityLevel | LinphoneConferenceSecurityLevel
| Conference minimum security level.
typedef enum _LinphoneConferenceSchedulerState | LinphoneConferenceSchedulerState
| Describes conference scheduler possible states.
typedef enum _LinphoneConferenceInfoState | LinphoneConferenceInfoState
| LinphoneConferenceInfoState is used to list all states of a conference info object
typedef enum _LinphoneParticipantRole | LinphoneParticipantRole
| LinphoneParticipantRole is used to define a role of a participant within a conference
typedef enum _LinphoneParticipantDeviceState | LinphoneParticipantDeviceState
| LinphoneParticipantDeviceState is used to list all states a participant device can be in
typedef enum _LinphoneParticipantDeviceJoiningMethod | LinphoneParticipantDeviceJoiningMethod
| LinphoneParticipantDeviceJoiningMethod is used to indicate how a participant joined a conference or if it is the focus.
typedef enum _LinphoneParticipantDeviceDisconnectionMethod | LinphoneParticipantDeviceDisconnectionMethod
| LinphoneParticipantDeviceDisconnectionMethod is used to indicate how a participant left 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...
enum | _LinphoneConferenceLayout { LinphoneConferenceLayoutGrid = 0 , LinphoneConferenceLayoutActiveSpeaker = 1 }
| LinphoneConferenceLayout is used to indicate the layout used by the conference. More...
enum | _LinphoneConferenceJoiningMode { LinphoneConferenceJoiningModeDialIn = 0 , LinphoneConferenceJoiningModeDialOut = 1 }
| Mode of joining conference. More...
enum | _LinphoneConferenceParticipantListType { LinphoneConferenceParticipantListTypeClosed , LinphoneConferenceParticipantListTypeOpen }
| Type of conference participant list. More...
enum | _LinphoneConferenceSecurityLevel { LinphoneConferenceSecurityLevelNone = 0 , LinphoneConferenceSecurityLevelPointToPoint = 1 , LinphoneConferenceSecurityLevelEndToEnd = 2 }
| Conference minimum security level. More...
enum | _LinphoneConferenceSchedulerState { LinphoneConferenceSchedulerStateIdle = 0 , LinphoneConferenceSchedulerStateError = 1 , LinphoneConferenceSchedulerStateAllocationPending = 2 , LinphoneConferenceSchedulerStateReady = 3 , LinphoneConferenceSchedulerStateUpdating = 4 }
| Describes conference scheduler possible states. More...
enum | _LinphoneConferenceInfoState { LinphoneConferenceInfoStateNew = 0 , LinphoneConferenceInfoStateUpdated = 1 , LinphoneConferenceInfoStateCancelled = 2 }
| LinphoneConferenceInfoState is used to list all states of a conference info object More...
enum | _LinphoneParticipantRole { LinphoneParticipantRoleSpeaker = 0 , LinphoneParticipantRoleListener = 1 , LinphoneParticipantRoleUnknown = 2 }
| LinphoneParticipantRole is used to define a role of a participant within a conference More...

enum

_LinphoneParticipantDeviceState {
LinphoneParticipantDeviceStateJoining = 0 ,
LinphoneParticipantDeviceStatePresent ,
LinphoneParticipantDeviceStateLeaving = 2 ,
LinphoneParticipantDeviceStateLeft = 3 ,
LinphoneParticipantDeviceStateScheduledForJoining ,
LinphoneParticipantDeviceStateScheduledForLeaving ,
LinphoneParticipantDeviceStateOnHold = 6 ,
LinphoneParticipantDeviceStateAlerting = 7 ,
LinphoneParticipantDeviceStateMutedByFocus = 8
}

| LinphoneParticipantDeviceState is used to list all states a participant device can be in More...
enum | _LinphoneParticipantDeviceJoiningMethod { LinphoneParticipantDeviceJoiningMethodDialedIn = 0 , LinphoneParticipantDeviceJoiningMethodDialedOut = 1 , LinphoneParticipantDeviceJoiningMethodFocusOwner = 2 }
| LinphoneParticipantDeviceJoiningMethod is used to indicate how a participant joined a conference or if it is the focus. More...
enum | _LinphoneParticipantDeviceDisconnectionMethod { LinphoneParticipantDeviceDisconnectionMethodBooted = 0 , LinphoneParticipantDeviceDisconnectionMethodDeparted = 1 , LinphoneParticipantDeviceDisconnectionMethodBusy = 2 , LinphoneParticipantDeviceDisconnectionMethodFailed }
| LinphoneParticipantDeviceDisconnectionMethod is used to indicate how a participant left a conference. More...

## Functions

LinphoneConference * | linphone_core_create_conference_with_params (LinphoneCore *core, const LinphoneConferenceParams *params)
| Create a conference.
LinphoneConferenceScheduler * | linphone_core_create_conference_scheduler (LinphoneCore *core)
| Create a conference scheduler that can be used to create remote conferences for now or later and then send conference info as an ICS through chat.
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.
LinphoneConference * | linphone_core_search_conference_2 (const LinphoneCore *core, const LinphoneAddress *conferenceAddr)
| Find a conference.
LinphoneStatus | linphone_core_add_to_conference (LinphoneCore *core, LinphoneCall *call)
| Add a participant to the conference.
LinphoneStatus | linphone_core_add_all_to_conference (LinphoneCore *core)
| Add all current calls into the conference.
LinphoneStatus | linphone_core_remove_from_conference (LinphoneCore *core, LinphoneCall *call)
| Remove a call from the conference.
bool_t | linphone_core_is_in_conference (const LinphoneCore *core)
| Indicates whether the local participant is part of a conference.
LinphoneStatus | linphone_core_enter_conference (LinphoneCore *core)
| Join the local participant to the running conference.
LinphoneStatus | linphone_core_leave_conference (LinphoneCore *core)
| Make the local participant leave the running conference.
float | linphone_core_get_conference_local_input_volume (LinphoneCore *core)
| Get the set input volume of the local participant.
LinphoneStatus | linphone_core_terminate_conference (LinphoneCore *core)
| Terminate the running conference.
LinphoneConferenceParams * | linphone_core_create_conference_params_2 (LinphoneCore *core, LinphoneConference *conference)
| Create some default conference parameters for instanciating a conference with linphone_core_create_conference_with_params().
LinphoneStatus | linphone_core_start_conference_recording (LinphoneCore *core, const char *path)
| Start recording the running conference.
LinphoneStatus | linphone_core_stop_conference_recording (LinphoneCore *core)
| Stop recording the running conference.
void | linphone_core_enable_conference_server (LinphoneCore *core, bool_t enable)
| Enable the conference server feature.
bool_t | linphone_core_conference_server_enabled (const LinphoneCore *core)
| Tells whether the conference server feature is enabled.
void | linphone_core_enable_fec (LinphoneCore *core, bool_t enable)
bool_t | linphone_core_fec_enabled (const LinphoneCore *core)
void | linphone_core_set_conference_participant_list_type (LinphoneCore *core, LinphoneConferenceParticipantListType type)
| Select whether the default conference participant list is open or closed.
LinphoneConferenceParticipantListType | linphone_core_get_conference_participant_list_type (const LinphoneCore *core)
| Tells whether the default conference participant list is open or closed.
void | linphone_core_set_default_conference_layout (LinphoneCore *core, LinphoneConferenceLayout value)
| Set the default conference layout.
LinphoneConferenceLayout | linphone_core_get_default_conference_layout (const LinphoneCore *core)
| Gets the default conference layout.
LinphoneConferenceInfo * | linphone_core_find_conference_information_from_uri (LinphoneCore *core, LinphoneAddress *uri)
| Retrieve the conference information linked to the provided URI if any.
bctbx_list_t * | linphone_core_get_conference_information_list (LinphoneCore *core)
| Retrieve the list of conference information on DB.
bctbx_list_t * | linphone_core_get_future_conference_information_list (LinphoneCore *core)
| Retrieve the list of future conference information on DB.
bctbx_list_t * | linphone_core_get_conference_information_list_after_time (LinphoneCore *core, time_t time)
| Retrieve the list of conference information on DB after a certain time.
void | linphone_core_delete_conference_information (LinphoneCore *core, LinphoneConferenceInfo *conference_info)
| Deletes a conference information from DB.
void | linphone_conference_add_callbacks (LinphoneConference *conference, LinphoneConferenceCbs *cbs)
| Add a listener in order to be notified of LinphoneConference events.
void | linphone_conference_remove_callbacks (LinphoneConference *conference, LinphoneConferenceCbs *cbs)
| Remove a listener from a LinphoneConference.
void | linphone_conference_set_current_callbacks (LinphoneConference *conference, LinphoneConferenceCbs *cbs)
| Gets the current LinphoneConferenceCbs.
LinphoneConferenceCbs * | linphone_conference_get_current_callbacks (const LinphoneConference *conference)
| Sets the current LinphoneConferenceCbs.
LinphoneCore * | linphone_conference_get_core (const LinphoneConference *conference)
| Returns core for a LinphoneConference.
const LinphoneAddress * | linphone_conference_get_conference_address (const LinphoneConference *conference)
| Get the conference address of the conference.
void | linphone_conference_set_conference_address (LinphoneConference *conference, LinphoneAddress *address)
| Set the conference address.
void | linphone_conference_params_set_conference_factory_address (LinphoneConferenceParams *params, const LinphoneAddress *address)
| Set the conference factory address of the conference.
const LinphoneAddress * | linphone_conference_params_get_conference_factory_address (const LinphoneConferenceParams *params)
| Get the conference factory address of the conference that has been set.
void | linphone_conference_params_set_description (LinphoneConferenceParams *params, const char *description)
| Set the description of the conference.
const char * | linphone_conference_params_get_description (const LinphoneConferenceParams *params)
| Get conference description.
void | linphone_conference_params_set_subject (LinphoneConferenceParams *params, const char *subject)
| Set the subject of the conference.
const char * | linphone_conference_params_get_subject (const LinphoneConferenceParams *params)
| Get conference subject.
void | linphone_conference_params_set_start_time (LinphoneConferenceParams *params, time_t start)
| Set the conference start time.
time_t | linphone_conference_params_get_start_time (const LinphoneConferenceParams *params)
| Get the start time of the conference.
void | linphone_conference_params_set_end_time (LinphoneConferenceParams *params, time_t end)
| Set the conference end time.
time_t | linphone_conference_params_get_end_time (const LinphoneConferenceParams *params)
| Get the end time of the conference.
void | linphone_conference_params_set_participant_list_type (LinphoneConferenceParams *params, LinphoneConferenceParticipantListType type)
| Set the participant list type.
void | linphone_conference_params_set_hidden (LinphoneConferenceParams *params, bool_t hidden)
| Set the conference as hidden.
bool_t | linphone_conference_params_is_hidden (const LinphoneConferenceParams *params)
| Get the value of the hidden flag.
LinphoneConferenceParticipantListType | linphone_conference_params_get_participant_list_type (const LinphoneConferenceParams *params)
| Get the participant list type.
LinphoneConferenceState | linphone_conference_get_state (const LinphoneConference *conference)
| Get the current state of the conference.
LinphoneParticipantDevice * | linphone_conference_get_active_speaker_participant_device (const LinphoneConference *conference)
| Get the currently active speaker participant device.
LinphoneConferenceCbs * | linphone_conference_cbs_ref (LinphoneConferenceCbs *cbs)
| Acquire a reference to the conference callbacks object.
void | linphone_conference_cbs_unref (LinphoneConferenceCbs *cbs)
| Release reference to the conference callbacks object.
void * | linphone_conference_cbs_get_user_data (const LinphoneConferenceCbs *cbs)
| Retrieve the user pointer associated with the conference callbacks object.
void | linphone_conference_cbs_set_user_data (LinphoneConferenceCbs *cbs, void *ud)
| Assign a user pointer to the conference callbacks object.
LinphoneConferenceCbsParticipantAddedCb | linphone_conference_cbs_get_participant_added (const LinphoneConferenceCbs *cbs)
| Get the participant added callback.
void | linphone_conference_cbs_set_participant_added (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantAddedCb cb)
| Set the participant added callback.
LinphoneConferenceCbsParticipantRemovedCb | linphone_conference_cbs_get_participant_removed (const LinphoneConferenceCbs *cbs)
| Get the participant removed callback.
void | linphone_conference_cbs_set_participant_removed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantRemovedCb cb)
| Set the participant removed callback.
LinphoneConferenceCbsParticipantDeviceAddedCb | linphone_conference_cbs_get_participant_device_added (const LinphoneConferenceCbs *cbs)
| Get the participant device added callback.
void | linphone_conference_cbs_set_participant_device_added (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantDeviceAddedCb cb)
| Set the participant device added callback.
LinphoneConferenceCbsParticipantDeviceRemovedCb | linphone_conference_cbs_get_participant_device_removed (const LinphoneConferenceCbs *cbs)
| Get the participant device removed callback.
void | linphone_conference_cbs_set_participant_device_removed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantDeviceRemovedCb cb)
| Set the participant device removed callback.
LinphoneConferenceCbsParticipantRoleChangedCb | linphone_conference_cbs_get_participant_role_changed (const LinphoneConferenceCbs *cbs)
| Get the participant role changed callback.
void | linphone_conference_cbs_set_participant_role_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantRoleChangedCb cb)
| Set the participant role changed callback.
LinphoneConferenceCbsParticipantAdminStatusChangedCb | linphone_conference_cbs_get_participant_admin_status_changed (const LinphoneConferenceCbs *cbs)
| Get the participant admin status changed callback.
void | linphone_conference_cbs_set_participant_admin_status_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantAdminStatusChangedCb cb)
| Set the participant admin status changed callback.
LinphoneConferenceCbsParticipantDeviceStateChangedCb | linphone_conference_cbs_get_participant_device_state_changed (const LinphoneConferenceCbs *cbs)
| Get the participant device state changed callback.
void | linphone_conference_cbs_set_participant_device_state_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantDeviceStateChangedCb cb)
| Set the participant device state changed callback.
LinphoneConferenceCbsParticipantDeviceMediaAvailabilityChangedCb | linphone_conference_cbs_get_participant_device_media_availability_changed (const LinphoneConferenceCbs *cbs)
| Get the participant device media availability changed callback.
void | linphone_conference_cbs_set_participant_device_media_availability_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantDeviceMediaAvailabilityChangedCb cb)
| Set the participant device media availability changed callback.
LinphoneConferenceCbsParticipantDeviceMediaCapabilityChangedCb | linphone_conference_cbs_get_participant_device_media_capability_changed (const LinphoneConferenceCbs *cbs)
| Get the participant device media capabilities changed callback.
void | linphone_conference_cbs_set_participant_device_media_capability_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantDeviceMediaCapabilityChangedCb cb)
| Set the participant device media capabilities changed callback.
LinphoneConferenceCbsStateChangedCb | linphone_conference_cbs_get_state_changed (const LinphoneConferenceCbs *cbs)
| Get the state changed callback.
void | linphone_conference_cbs_set_state_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsStateChangedCb cb)
| Set the state changed callback.
LinphoneConferenceCbsAvailableMediaChangedCb | linphone_conference_cbs_get_available_media_changed (const LinphoneConferenceCbs *cbs)
| Get the available media changed callback.
void | linphone_conference_cbs_set_available_media_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsAvailableMediaChangedCb cb)
| Set the available media changed callback.
LinphoneConferenceCbsSubjectChangedCb | linphone_conference_cbs_get_subject_changed (const LinphoneConferenceCbs *cbs)
| Get the subject changed callback.
void | linphone_conference_cbs_set_subject_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsSubjectChangedCb cb)
| Set the subject changed callback.
LinphoneConferenceCbsParticipantDeviceIsSpeakingChangedCb | linphone_conference_cbs_get_participant_device_is_speaking_changed (const LinphoneConferenceCbs *cbs)
| Get the participant device is speaking changed callback.
void | linphone_conference_cbs_set_participant_device_is_speaking_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantDeviceIsSpeakingChangedCb cb)
| Set the participant device is speaking changed callback.
LinphoneConferenceCbsParticipantDeviceIsMutedCb | linphone_conference_cbs_get_participant_device_is_muted (const LinphoneConferenceCbs *cbs)
| Get the participant device is muted callback.
void | linphone_conference_cbs_set_participant_device_is_muted (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantDeviceIsMutedCb cb)
| Set the participant device is muted callback.
LinphoneConferenceCbsAudioDeviceChangedCb | linphone_conference_cbs_get_audio_device_changed (const LinphoneConferenceCbs *cbs)
| Get the audio device changed callback.
void | linphone_conference_cbs_set_audio_device_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsAudioDeviceChangedCb cb)
| Set the audio device changed callback.
LinphoneConferenceCbsActiveSpeakerParticipantDeviceCb | linphone_conference_cbs_get_active_speaker_participant_device (const LinphoneConferenceCbs *cbs)
| Get the actively speaking participant device callback.
void | linphone_conference_cbs_set_active_speaker_participant_device (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsActiveSpeakerParticipantDeviceCb cb)
| Set the actively speaking participant device callback.
LinphoneConferenceInfo * | linphone_conference_info_new (void)
| Create a new LinphoneConferenceInfo object.
LinphoneConferenceInfo * | linphone_conference_info_ref (LinphoneConferenceInfo *conference_info)
| Take a reference on a LinphoneConferenceInfo.
LinphoneConferenceInfo * | linphone_conference_info_clone (const LinphoneConferenceInfo *conference_info)
| Clone an object LinphoneConferenceInfo.
void | linphone_conference_info_unref (LinphoneConferenceInfo *conference_info)
| Release a LinphoneConferenceInfo.
const LinphoneAddress * | linphone_conference_info_get_organizer (const LinphoneConferenceInfo *conference_info)
| Retrieve the organizer of the conference.
void | linphone_conference_info_set_organizer (LinphoneConferenceInfo *conference_info, const LinphoneAddress *organizer)
| Set the organizer of the conference.
MS2_DEPRECATED const bctbx_list_t * | linphone_conference_info_get_participants (const LinphoneConferenceInfo *conference_info)
| Retrieve the list of participants as list of addresses.
const bctbx_list_t * | linphone_conference_info_get_participant_infos (const LinphoneConferenceInfo *conference_info)
| Retrieve the list of participants as list of participant infos.
MS2_DEPRECATED void | linphone_conference_info_set_participants (LinphoneConferenceInfo *conference_info, const bctbx_list_t *participants)
| Set the list of participants.
void | linphone_conference_info_set_participant_infos (LinphoneConferenceInfo *conference_info, const bctbx_list_t *participant_infos)
| Set the list of participants.
void | linphone_conference_info_add_participant_infos (LinphoneConferenceInfo *conference_info, const bctbx_list_t *participant_infos)
| Add a list of participants.
void | linphone_conference_info_add_participant (LinphoneConferenceInfo *conference_info, const LinphoneAddress *participant)
| Add a participant to the conference.
void | linphone_conference_info_add_participant_2 (LinphoneConferenceInfo *conference_info, const LinphoneParticipantInfo *participant_info)
| Add a participant to the conference.
void | linphone_conference_info_update_participant (LinphoneConferenceInfo *conference_info, const LinphoneParticipantInfo *participant_info)
| Update the participant information in the conference informations.
void | linphone_conference_info_remove_participant (LinphoneConferenceInfo *conference_info, const LinphoneAddress *participant)
| Remove a participant from the conference.
const LinphoneParticipantInfo * | linphone_conference_info_find_participant (LinphoneConferenceInfo *conference_info, const LinphoneAddress *participant)
| Find a participant information in the conference information.
const LinphoneAddress * | linphone_conference_info_get_uri (const LinphoneConferenceInfo *conference_info)
| Retrieve the URI of the conference.
time_t | linphone_conference_info_get_date_time (const LinphoneConferenceInfo *conference_info)
| Retrieve the date and time of the conference.
void | linphone_conference_info_set_date_time (LinphoneConferenceInfo *conference_info, time_t datetime)
| Set the date and time of the conference.
unsigned int | linphone_conference_info_get_duration (const LinphoneConferenceInfo *conference_info)
| Retrieve the duration (in minutes) of the conference.
void | linphone_conference_info_set_duration (LinphoneConferenceInfo *conference_info, unsigned int duration)
| Set the duration (in minutes) of the conference.
const char * | linphone_conference_info_get_subject (const LinphoneConferenceInfo *conference_info)
| Retrieve the subject of the conference.
void | linphone_conference_info_set_subject (LinphoneConferenceInfo *conference_info, const char *subject)
| Set the subject of the conference.
const char * | linphone_conference_info_get_description (const LinphoneConferenceInfo *conference_info)
| Retrieve the description of the conference.
void | linphone_conference_info_set_description (LinphoneConferenceInfo *conference_info, const char *description)
| Set the description of the conference.
LinphoneConferenceSecurityLevel | linphone_conference_info_get_security_level (const LinphoneConferenceInfo *conference_info)
| Retrieve the desired security level of the conference.
void | linphone_conference_info_set_security_level (LinphoneConferenceInfo *conference_info, LinphoneConferenceSecurityLevel security_level)
| Set the desired security level of the conference.
char * | linphone_conference_info_get_icalendar_string (const LinphoneConferenceInfo *conference_info)
| Retrieve the conference as an Icalendar string.
LinphoneConferenceInfoState | linphone_conference_info_get_state (const LinphoneConferenceInfo *conference_info)
| Retrieve the state of the conference info.
LinphoneConferenceScheduler * | linphone_conference_scheduler_ref (LinphoneConferenceScheduler *conference_scheduler)
| Takes a reference on a LinphoneConferenceScheduler.
void | linphone_conference_scheduler_unref (LinphoneConferenceScheduler *conference_scheduler)
| Releases a LinphoneConferenceScheduler.
LinphoneCore * | linphone_conference_scheduler_get_core (const LinphoneConferenceScheduler *conference_scheduler)
| Gets the LinphoneCore from a LinphoneConferenceScheduler object.
void | linphone_conference_scheduler_set_account (LinphoneConferenceScheduler *conference_scheduler, LinphoneAccount *account)
| Set the LinphoneAccount to use for the conference scheduler.
LinphoneAccount * | linphone_conference_scheduler_get_account (const LinphoneConferenceScheduler *conference_scheduler)
| Get the LinphoneAccount that is used for the conference scheduler.
const LinphoneConferenceInfo * | linphone_conference_scheduler_get_info (const LinphoneConferenceScheduler *conference_scheduler)
| Returns the LinphoneConferenceInfo currently set in this scheduler.
void | linphone_conference_scheduler_cancel_conference (LinphoneConferenceScheduler *conference_scheduler, LinphoneConferenceInfo *conference_info)
| Cancel the conference linked to the LinphoneConferenceInfo provided as argument.
void | linphone_conference_scheduler_set_info (LinphoneConferenceScheduler *conference_scheduler, LinphoneConferenceInfo *conference_info)
| Sets the LinphoneConferenceInfo to use to create/update the conference, which will be done right away.
void | linphone_conference_scheduler_send_invitations (LinphoneConferenceScheduler *conference_scheduler, LinphoneChatRoomParams *chat_room_params)
| Sends an invitation to the scheduled conference to each participant by chat, using given chat rooms params to use/create the chat room in which to send it.
void | linphone_conference_scheduler_add_callbacks (LinphoneConferenceScheduler *conference_scheduler, LinphoneConferenceSchedulerCbs *cbs)
| Add a listener in order to be notified of LinphoneConferenceScheduler events.
void | linphone_conference_scheduler_remove_callbacks (LinphoneConferenceScheduler *conference_scheduler, LinphoneConferenceSchedulerCbs *cbs)
| Remove a listener from a LinphoneConferenceScheduler.
LinphoneConferenceSchedulerCbs * | linphone_conference_scheduler_get_current_callbacks (const LinphoneConferenceScheduler *conference_scheduler)
| Gets the current LinphoneConferenceSchedulerCbs.
LinphoneConferenceSchedulerCbs * | linphone_conference_scheduler_cbs_new (void)
| Create a new conference scheduler callbacks object.
LinphoneConferenceSchedulerCbs * | linphone_conference_scheduler_cbs_ref (LinphoneConferenceSchedulerCbs *cbs)
| Acquire a reference to the conference scheduler callbacks object.
void | linphone_conference_scheduler_cbs_unref (LinphoneConferenceSchedulerCbs *cbs)
| Release reference to the conference scheduler callbacks object.
void * | linphone_conference_scheduler_cbs_get_user_data (const LinphoneConferenceSchedulerCbs *cbs)
| Retrieve the user pointer associated with the conference scheduler callbacks object.
void | linphone_conference_scheduler_cbs_set_user_data (LinphoneConferenceSchedulerCbs *cbs, void *user_data)
| Assign a user pointer to the conference scheduler callbacks object.
LinphoneConferenceSchedulerCbsStateChangedCb | linphone_conference_scheduler_cbs_get_state_changed (const LinphoneConferenceSchedulerCbs *cbs)
| Get the state changed callback.
void | linphone_conference_scheduler_cbs_set_state_changed (LinphoneConferenceSchedulerCbs *cbs, LinphoneConferenceSchedulerCbsStateChangedCb cb)
| Set the state changed callback.
LinphoneConferenceSchedulerCbsInvitationsSentCb | linphone_conference_scheduler_cbs_get_invitations_sent (const LinphoneConferenceSchedulerCbs *cbs)
| Get the invitations sent callback.
void | linphone_conference_scheduler_cbs_set_invitations_sent (LinphoneConferenceSchedulerCbs *cbs, LinphoneConferenceSchedulerCbsInvitationsSentCb cb)
| Set the invitations sent callback.
LinphoneParticipantInfo * | linphone_participant_info_new (const LinphoneAddress *address)
| Create a new LinphoneParticipantInfo object.
LinphoneParticipantInfo * | linphone_participant_info_ref (LinphoneParticipantInfo *participant_info)
| Take a reference on a LinphoneParticipantInfo.
LinphoneParticipantInfo * | linphone_participant_info_clone (const LinphoneParticipantInfo *participant_info)
| Clone an object LinphoneParticipantInfo.
void | linphone_participant_info_unref (LinphoneParticipantInfo *participant_info)
| Release a LinphoneParticipantInfo.
const LinphoneAddress * | linphone_participant_info_get_address (const LinphoneParticipantInfo *participant_info)
| Get the address of the object LinphoneParticipantInfo.
void | linphone_participant_info_set_role (LinphoneParticipantInfo *participant_info, LinphoneParticipantRole role)
| Set the role of the object LinphoneParticipantInfo.
LinphoneParticipantRole | linphone_participant_info_get_role (const LinphoneParticipantInfo *participant_info)
| Get the role of the object LinphoneParticipantInfo.
void | linphone_participant_info_add_parameter (LinphoneParticipantInfo *participant_info, const char *name, const char *value)
| Set the a custom parameter to object LinphoneParticipantInfo.
const char * | linphone_participant_info_get_parameter_value (const LinphoneParticipantInfo *participant_info, const char *name)
| Get the value of a custom parameter of the object LinphoneParticipantInfo.
bool_t | linphone_participant_info_has_parameter (const LinphoneParticipantInfo *participant_info, const char *name)
| Find whether a LinphoneParticipantInfo has a parameter.
void | linphone_participant_info_remove_parameter (LinphoneParticipantInfo *participant_info, const char *name)
| Find the value of a custom parameter of the object LinphoneParticipantInfo.
LinphoneParticipantDeviceCbs * | linphone_participant_device_cbs_new (void)
| Create a new participant device callbacks object.
LinphoneParticipantDeviceCbs * | linphone_participant_device_cbs_ref (LinphoneParticipantDeviceCbs *cbs)
| Acquire a reference to the participant device callbacks object.
void | linphone_participant_device_cbs_unref (LinphoneParticipantDeviceCbs *cbs)
| Release reference to the participant device callbacks object.
void * | linphone_participant_device_cbs_get_user_data (const LinphoneParticipantDeviceCbs *cbs)
| Retrieve the user pointer associated with the participant device callbacks object.
void | linphone_participant_device_cbs_set_user_data (LinphoneParticipantDeviceCbs *cbs, void *ud)
| Assign a user pointer to the participant device callbacks object.
LinphoneParticipantDeviceCbsIsSpeakingChangedCb | linphone_participant_device_cbs_get_is_speaking_changed (const LinphoneParticipantDeviceCbs *cbs)
| Get the is this participant device speaking changed callback.
void | linphone_participant_device_cbs_set_is_speaking_changed (LinphoneParticipantDeviceCbs *cbs, LinphoneParticipantDeviceCbsIsSpeakingChangedCb cb)
| Set the is this participant device speaking changed callback.
LinphoneParticipantDeviceCbsIsMutedCb | linphone_participant_device_cbs_get_is_muted (const LinphoneParticipantDeviceCbs *cbs)
| Get the is this participant device muted callback.
void | linphone_participant_device_cbs_set_is_muted (LinphoneParticipantDeviceCbs *cbs, LinphoneParticipantDeviceCbsIsMutedCb cb)
| Set the is this participant device muted callback.
LinphoneParticipantDeviceCbsStateChangedCb | linphone_participant_device_cbs_get_state_changed (const LinphoneParticipantDeviceCbs *cbs)
| Get the participant device conference state changed callback.
void | linphone_participant_device_cbs_set_state_changed (LinphoneParticipantDeviceCbs *cbs, LinphoneParticipantDeviceCbsStateChangedCb cb)
| Set the participant device conference state changed callback.
LinphoneParticipantDeviceCbsStreamCapabilityChangedCb | linphone_participant_device_cbs_get_stream_capability_changed (const LinphoneParticipantDeviceCbs *cbs)
| Get the participant device stream capability changed callback.
void | linphone_participant_device_cbs_set_stream_capability_changed (LinphoneParticipantDeviceCbs *cbs, LinphoneParticipantDeviceCbsStreamCapabilityChangedCb cb)
| Set the participant device stream capability changed callback.
LinphoneParticipantDeviceCbsStreamAvailabilityChangedCb | linphone_participant_device_cbs_get_stream_availability_changed (const LinphoneParticipantDeviceCbs *cbs)
| Get the participant device stream availability changed callback.
void | linphone_participant_device_cbs_set_stream_availability_changed (LinphoneParticipantDeviceCbs *cbs, LinphoneParticipantDeviceCbsStreamAvailabilityChangedCb cb)
| Set the participant device stream availability changed callback.
LinphoneParticipantDeviceCbsVideoDisplayErrorOccurredCb | linphone_participant_device_cbs_get_video_display_error_occurred (const LinphoneParticipantDeviceCbs *cbs)
| Get the callback that will be used to notify that there are errors from the video rendering of the participant device.
void | linphone_participant_device_cbs_set_video_display_error_occurred (LinphoneParticipantDeviceCbs *cbs, LinphoneParticipantDeviceCbsVideoDisplayErrorOccurredCb cb)
| Set the callback that will be used to notify that there are errors from the video rendering of the participant device.

## Detailed Description

Making a audio/video conferences.

## 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().

## LinphoneConferenceCbsActiveSpeakerParticipantDeviceCb

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

Callback used to notify which participant device video is being displayed as "actively speaking".

Parameters

  [in] | conference | LinphoneConference object
  [in] | participant_device | the participant device currently displayed as active speaker

## 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

## LinphoneConferenceCbsAvailableMediaChangedCb

typedef void(* LinphoneConferenceCbsAvailableMediaChangedCb) (LinphoneConference *conference)

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

Parameters

  [in] | conference | LinphoneConference object

## 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

## LinphoneConferenceCbsParticipantDeviceIsMutedCb

typedef void(* LinphoneConferenceCbsParticipantDeviceIsMutedCb) (LinphoneConference *conference, const LinphoneParticipantDevice *participant_device, bool_t is_muted)

Callback used to notify that a participant device is muted or is no longer muted.

Parameters

  [in] | conference | LinphoneConference object
  [in] | participant_device | the participant device
  [in] | is_muted | TRUE if is muted, FALSE otherwise

## LinphoneConferenceCbsParticipantDeviceIsSpeakingChangedCb

typedef void(* LinphoneConferenceCbsParticipantDeviceIsSpeakingChangedCb) (LinphoneConference *conference, const LinphoneParticipantDevice *participant_device, bool_t is_speaking)

Callback used to notify that a participant device is speaking or isn't speaking anymore.

Parameters

  [in] | conference | LinphoneConference object
  [in] | participant_device | the participant device
  [in] | is_speaking | TRUE if is speaking, FALSE otherwise

## LinphoneConferenceCbsParticipantDeviceMediaAvailabilityChangedCb

typedef void(* LinphoneConferenceCbsParticipantDeviceMediaAvailabilityChangedCb) (LinphoneConference *conference, const LinphoneParticipantDevice *device)

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

Parameters

  [in] | conference | LinphoneConference object
  [in] | device | LinphoneParticipantDevice whose media availability changed has changed

## LinphoneConferenceCbsParticipantDeviceMediaCapabilityChangedCb

typedef void(* LinphoneConferenceCbsParticipantDeviceMediaCapabilityChangedCb) (LinphoneConference *conference, const LinphoneParticipantDevice *device)

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

Parameters

  [in] | conference | LinphoneConference object
  [in] | device | LinphoneParticipantDevice whose media capability changed has changed

## 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

## LinphoneConferenceCbsParticipantDeviceStateChangedCb

typedef void(* LinphoneConferenceCbsParticipantDeviceStateChangedCb) (LinphoneConference *conference, const LinphoneParticipantDevice *device, const LinphoneParticipantDeviceState state)

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

Parameters

  [in] | conference | LinphoneConference object
  [in] | device | LinphoneParticipantDevice who change state
  [in] | state | new participant device state

## 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

## LinphoneConferenceCbsParticipantRoleChangedCb

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

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

Parameters

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

## 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

## LinphoneConferenceJoiningMode

typedef enum _LinphoneConferenceJoiningMode LinphoneConferenceJoiningMode

Mode of joining conference.

Warning
  It is only valid at the creation of the conferece

## LinphoneConferenceParams

typedef struct _LinphoneConferenceParams LinphoneConferenceParams

Object defining parameters for a LinphoneConference.

Can be created by calling function linphone_core_create_conference_params_2().

## LinphoneConferenceParticipantListType

typedef enum _LinphoneConferenceParticipantListType LinphoneConferenceParticipantListType

Type of conference participant list.

When participant list is closed, no more participants can be added other than those declared when creating the conference When participant list is open, other people can join the conference upon invitation of a participant no more participants can be added other than those declared when creating the conference

## LinphoneConferenceSchedulerCbsInvitationsSentCb

typedef void(* LinphoneConferenceSchedulerCbsInvitationsSentCb) (LinphoneConferenceScheduler *conference_scheduler, const bctbx_list_t *failed_invitations)

Callback for notifying when conference invitations have been sent.

In case of error for some participants, their addresses will be given as parameter.

Parameters

  conference_scheduler | LinphoneConferenceScheduler object whose state has changed.
  failed_invitations | a list of addresses for which invitation couldn't be sent.

## LinphoneConferenceSchedulerCbsStateChangedCb

typedef void(* LinphoneConferenceSchedulerCbsStateChangedCb) (LinphoneConferenceScheduler *conference_scheduler, LinphoneConferenceSchedulerState state)

Callback for notifying when a registration state has changed for the conference scheduler.

Parameters

  conference_scheduler | LinphoneConferenceScheduler object whose state has changed.
  state | The current LinphoneConferenceSchedulerState.

## LinphoneConferenceSchedulerState

typedef enum _LinphoneConferenceSchedulerState LinphoneConferenceSchedulerState

Describes conference scheduler possible states.

It is notified via the conference_scheduler_state_changed callback in LinphoneConferenceSchedulerCbs.

## 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().

## LinphoneParticipantDeviceCbsIsMutedCb

typedef void(* LinphoneParticipantDeviceCbsIsMutedCb) (LinphoneParticipantDevice *participant_device, bool_t is_muted)

Callback used to notify that this participant device is muted or is no longer muted.

Parameters

  [in] | participant_device | LinphoneParticipantDevice object
  [in] | is_muted | is this participant device muted

## 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_device | LinphoneParticipantDevice object
  [in] | is_speaking | is this participant device speaking

## LinphoneParticipantDeviceCbsStateChangedCb

typedef void(* LinphoneParticipantDeviceCbsStateChangedCb) (LinphoneParticipantDevice *participant_device, const LinphoneParticipantDeviceState state)

Callback used to notify that participant device changed state.

Parameters

  [in] | participant_device | LinphoneParticipantDevice object
  [in] | state | new participant device state

## LinphoneParticipantDeviceCbsStreamAvailabilityChangedCb

typedef void(* LinphoneParticipantDeviceCbsStreamAvailabilityChangedCb) (LinphoneParticipantDevice *participant_device, bool_t available, const LinphoneStreamType stream_type)

Callback used to notify that participant device stream availability has changed.

Parameters

  [in] | participant_device | LinphoneParticipantDevice object
  [in] | available | TRUE if the stream is available on our side
  [in] | stream_type | type of the stream

## LinphoneParticipantDeviceCbsStreamCapabilityChangedCb

typedef void(* LinphoneParticipantDeviceCbsStreamCapabilityChangedCb) (LinphoneParticipantDevice *participant_device, LinphoneMediaDirection direction, const LinphoneStreamType stream_type)

Callback used to notify that participant device stream capability has changed.

Parameters

  [in] | participant_device | LinphoneParticipantDevice object
  [in] | direction | participant device's audio direction
  [in] | stream_type | type of the stream

## LinphoneParticipantDeviceCbsVideoDisplayErrorOccurredCb

typedef void(* LinphoneParticipantDeviceCbsVideoDisplayErrorOccurredCb) (LinphoneParticipantDevice *participant_device, int error_code)

Callback to notify that there are errors from the video rendering of the participant device.

Check LinphoneCallCbsVideoDisplayErrorOccurredCb for more details.

Parameters

  [in] | participant_device | LinphoneParticipantDevice object
  [in] | error_code | the error code coming from the display render.

## 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

## _LinphoneConferenceInfoState

enum _LinphoneConferenceInfoState

LinphoneConferenceInfoState is used to list all states of a conference info object

Enumerator
LinphoneConferenceInfoStateNew | New conference.
LinphoneConferenceInfoStateUpdated | Conference has been updated.
LinphoneConferenceInfoStateCancelled | Canceling a conference.

## _LinphoneConferenceJoiningMode

enum _LinphoneConferenceJoiningMode

Mode of joining conference.

Warning
  It is only valid at the creation of the conferece

Enumerator
LinphoneConferenceJoiningModeDialIn | Participants must dial the conference server.
LinphoneConferenceJoiningModeDialOut | Conference server dials participants.

## _LinphoneConferenceLayout

enum _LinphoneConferenceLayout

LinphoneConferenceLayout is used to indicate the layout used by the conference.

Enumerator
LinphoneConferenceLayoutGrid | Grid - each participant is given an equal sized image size.
LinphoneConferenceLayoutActiveSpeaker | Active speaker - participant who speaks is prominently displayed in the center of the screen and other participants are minimized.

## _LinphoneConferenceParticipantListType

enum _LinphoneConferenceParticipantListType

Type of conference participant list.

When participant list is closed, no more participants can be added other than those declared when creating the conference When participant list is open, other people can join the conference upon invitation of a participant no more participants can be added other than those declared when creating the conference

Enumerator
LinphoneConferenceParticipantListTypeClosed | Only participants in the initiating INVITE are allowed to join the conference.
LinphoneConferenceParticipantListTypeOpen | All devices calling the conference URI are allowed to join the conference.

## _LinphoneConferenceSchedulerState

enum _LinphoneConferenceSchedulerState

Describes conference scheduler possible states.

It is notified via the conference_scheduler_state_changed callback in LinphoneConferenceSchedulerCbs.

Enumerator
LinphoneConferenceSchedulerStateIdle | Default state of a freshly created LinphoneConferenceScheduler.
LinphoneConferenceSchedulerStateError | An error has happened during conference creation.
LinphoneConferenceSchedulerStateAllocationPending | Conference creation is in progress.
LinphoneConferenceSchedulerStateReady | Confererence has been created.
LinphoneConferenceSchedulerStateUpdating | Conference has been updated.

## _LinphoneConferenceSecurityLevel

enum _LinphoneConferenceSecurityLevel

Conference minimum security level.

Enumerator
LinphoneConferenceSecurityLevelNone | No security.
LinphoneConferenceSecurityLevelPointToPoint | Point-to-point encryption.
LinphoneConferenceSecurityLevelEndToEnd | End-to-end encryption.

## _LinphoneConferenceState

enum _LinphoneConferenceState

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

Enumerator
LinphoneConferenceStateNone | Initial state.
LinphoneConferenceStateInstantiated | Conference is now instantiated locally.
LinphoneConferenceStateCreationPending | One creation request was sent to the service.
LinphoneConferenceStateCreated | Conference was created on the service.
LinphoneConferenceStateCreationFailed | Conference creation on service failed.
LinphoneConferenceStateTerminationPending | Wait for conference termination.
LinphoneConferenceStateTerminated | The conference is terminated locally, though it may still exist on the service for other participants.
LinphoneConferenceStateTerminationFailed | Conference termination failed.
LinphoneConferenceStateDeleted | Conference was deleted locally and on the service.

## _LinphoneParticipantDeviceDisconnectionMethod

enum _LinphoneParticipantDeviceDisconnectionMethod

LinphoneParticipantDeviceDisconnectionMethod is used to indicate how a participant left a conference.

Enumerator
LinphoneParticipantDeviceDisconnectionMethodBooted | an admin removes the device from a conference
LinphoneParticipantDeviceDisconnectionMethodDeparted | the device disconnects from the conference
LinphoneParticipantDeviceDisconnectionMethodBusy | device is busy
LinphoneParticipantDeviceDisconnectionMethodFailed | an error occurred while the device is leaving the conference or he declined a call from the server

## _LinphoneParticipantDeviceJoiningMethod

enum _LinphoneParticipantDeviceJoiningMethod

LinphoneParticipantDeviceJoiningMethod is used to indicate how a participant joined a conference or if it is the focus.

Enumerator
LinphoneParticipantDeviceJoiningMethodDialedIn | device called the conference
LinphoneParticipantDeviceJoiningMethodDialedOut | device is called the conference
LinphoneParticipantDeviceJoiningMethodFocusOwner | device is the focus

## _LinphoneParticipantDeviceState

enum _LinphoneParticipantDeviceState

LinphoneParticipantDeviceState is used to list all states a participant device can be in

Enumerator
LinphoneParticipantDeviceStateJoining | an INVITE has been sent
LinphoneParticipantDeviceStatePresent | the SIP session has been concluded, participant is part of the conference
LinphoneParticipantDeviceStateLeaving | A BYE is pending.
LinphoneParticipantDeviceStateLeft | The Session is terminated.
LinphoneParticipantDeviceStateScheduledForJoining | Initial state for the server group chatroom, when the participant has not yet been INVITEd.
LinphoneParticipantDeviceStateScheduledForLeaving | Transitional state for a participant that will receive a BYE shortly.
LinphoneParticipantDeviceStateOnHold | the SIP session has been concluded, participant is not media mixed
LinphoneParticipantDeviceStateAlerting | 180 Ringing
LinphoneParticipantDeviceStateMutedByFocus | Some medias have been muted by the focus.

## _LinphoneParticipantRole

enum _LinphoneParticipantRole

LinphoneParticipantRole is used to define a role of a participant within a conference

Enumerator
LinphoneParticipantRoleSpeaker | participant is a speaker in the conference
LinphoneParticipantRoleListener | participant is a listener in the conference. He/She cannot speak
LinphoneParticipantRoleUnknown | participant role is unknown

## 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_active_speaker_participant_device()

LinphoneConferenceCbsActiveSpeakerParticipantDeviceCb linphone_conference_cbs_get_active_speaker_participant_device | ( | const LinphoneConferenceCbs * | cbs | ) |

Get the actively speaking participant device callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.

Returns
  The current active speaker participant device callback.

## 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_available_media_changed()

LinphoneConferenceCbsAvailableMediaChangedCb linphone_conference_cbs_get_available_media_changed | ( | const LinphoneConferenceCbs * | cbs | ) |

Get the available media changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.

Returns
  The current available media 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_is_muted()

LinphoneConferenceCbsParticipantDeviceIsMutedCb linphone_conference_cbs_get_participant_device_is_muted | ( | const LinphoneConferenceCbs * | cbs | ) |

Get the participant device is muted callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.

Returns
  The current participant device is muted callback.

## linphone_conference_cbs_get_participant_device_is_speaking_changed()

LinphoneConferenceCbsParticipantDeviceIsSpeakingChangedCb linphone_conference_cbs_get_participant_device_is_speaking_changed | ( | const LinphoneConferenceCbs * | cbs | ) |

Get the participant device is speaking changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.

Returns
  The current participant device is speaking changed callback.

## linphone_conference_cbs_get_participant_device_media_availability_changed()

LinphoneConferenceCbsParticipantDeviceMediaAvailabilityChangedCb linphone_conference_cbs_get_participant_device_media_availability_changed | ( | const LinphoneConferenceCbs * | cbs | ) |

Get the participant device media availability changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.

Returns
  The current participant device media availability changed callback.

## linphone_conference_cbs_get_participant_device_media_capability_changed()

LinphoneConferenceCbsParticipantDeviceMediaCapabilityChangedCb linphone_conference_cbs_get_participant_device_media_capability_changed | ( | const LinphoneConferenceCbs * | cbs | ) |

Get the participant device media capabilities changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.

Returns
  The current participant device media capabilities changed 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_device_state_changed()

LinphoneConferenceCbsParticipantDeviceStateChangedCb linphone_conference_cbs_get_participant_device_state_changed | ( | const LinphoneConferenceCbs * | cbs | ) |

Get the participant device state changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.

Returns
  The current participant device state changed 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_participant_role_changed()

LinphoneConferenceCbsParticipantRoleChangedCb linphone_conference_cbs_get_participant_role_changed | ( | const LinphoneConferenceCbs * | cbs | ) |

Get the participant role changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.

Returns
  The current participant role changed 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] | cbs | 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_active_speaker_participant_device()

void linphone_conference_cbs_set_active_speaker_participant_device | ( | LinphoneConferenceCbs * | cbs,
|  | LinphoneConferenceCbsActiveSpeakerParticipantDeviceCb | cb )

Set the actively speaking participant device callback.

Parameters

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

## 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_available_media_changed()

void linphone_conference_cbs_set_available_media_changed | ( | LinphoneConferenceCbs * | cbs,
|  | LinphoneConferenceCbsAvailableMediaChangedCb | cb )

Set the available media changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.
  [in] | cb | The available media 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_is_muted()

void linphone_conference_cbs_set_participant_device_is_muted | ( | LinphoneConferenceCbs * | cbs,
|  | LinphoneConferenceCbsParticipantDeviceIsMutedCb | cb )

Set the participant device is muted callback.

Parameters

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

## linphone_conference_cbs_set_participant_device_is_speaking_changed()

void linphone_conference_cbs_set_participant_device_is_speaking_changed | ( | LinphoneConferenceCbs * | cbs,
|  | LinphoneConferenceCbsParticipantDeviceIsSpeakingChangedCb | cb )

Set the participant device is speaking changed callback.

Parameters

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

## linphone_conference_cbs_set_participant_device_media_availability_changed()

void linphone_conference_cbs_set_participant_device_media_availability_changed | ( | LinphoneConferenceCbs * | cbs,
|  | LinphoneConferenceCbsParticipantDeviceMediaAvailabilityChangedCb | cb )

Set the participant device media availability changed callback.

Parameters

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

## linphone_conference_cbs_set_participant_device_media_capability_changed()

void linphone_conference_cbs_set_participant_device_media_capability_changed | ( | LinphoneConferenceCbs * | cbs,
|  | LinphoneConferenceCbsParticipantDeviceMediaCapabilityChangedCb | cb )

Set the participant device media capabilities changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.
  [in] | cb | The participant device media capabilities changed 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_device_state_changed()

void linphone_conference_cbs_set_participant_device_state_changed | ( | LinphoneConferenceCbs * | cbs,
|  | LinphoneConferenceCbsParticipantDeviceStateChangedCb | cb )

Set the participant device state changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.
  [in] | cb | The participant device state changed 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_participant_role_changed()

void linphone_conference_cbs_set_participant_role_changed | ( | LinphoneConferenceCbs * | cbs,
|  | LinphoneConferenceCbsParticipantRoleChangedCb | cb )

Set the participant role changed callback.

Parameters

  [in] | cbs | LinphoneConferenceCbs object.
  [in] | cb | The participant role changed 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] | cbs | 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] | cbs | The conference callbacks object

## linphone_conference_get_active_speaker_participant_device()

LinphoneParticipantDevice * linphone_conference_get_active_speaker_participant_device | ( | const LinphoneConference * | conference | ) |

Get the currently active speaker participant device.

Parameters

  conference | the LinphoneConference object.

Returns
  the LinphoneParticipantDevice currently displayed as active speaker.

## 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 | ) |

Sets 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_get_state()

LinphoneConferenceState linphone_conference_get_state | ( | const LinphoneConference * | conference | ) |

Get the current state of the conference.

Parameters

  conference | The LinphoneConference object.

Returns
  the LinphoneConferenceState of the conference.

## linphone_conference_info_add_participant()

void linphone_conference_info_add_participant | ( | LinphoneConferenceInfo * | conference_info,
|  | const LinphoneAddress * | participant )

Add a participant to the conference.

Parameters

  conference_info | The LinphoneConferenceInfo object.
  participant | The participant (LinphoneAddress) to add.

## linphone_conference_info_add_participant_2()

void linphone_conference_info_add_participant_2 | ( | LinphoneConferenceInfo * | conference_info,
|  | const LinphoneParticipantInfo * | participant_info )

Add a participant to the conference.

Parameters

  conference_info | The LinphoneConferenceInfo object.
  participant_info | The participant information (LinphoneParticipantInfo) to add. This method can be called to set attributes such as the role to the organizer of the conference

## linphone_conference_info_add_participant_infos()

void linphone_conference_info_add_participant_infos | ( | LinphoneConferenceInfo * | conference_info,
|  | const bctbx_list_t * | participant_infos )

Add a list of participants.

Parameters

  conference_info | The LinphoneConferenceInfo object.
  participant_infos | The list of participant informations to add.

## linphone_conference_info_clone()

LinphoneConferenceInfo * linphone_conference_info_clone | ( | const LinphoneConferenceInfo * | conference_info | ) |

Clone an object LinphoneConferenceInfo.

Parameters

  conference_info | The LinphoneConferenceInfo object.

Returns
  the cloned LinphoneConferenceInfo object.

## linphone_conference_info_find_participant()

const LinphoneParticipantInfo * linphone_conference_info_find_participant | ( | LinphoneConferenceInfo * | conference_info,
|  | const LinphoneAddress * | participant )

Find a participant information in the conference information.

Parameters

  conference_info | The LinphoneConferenceInfo object.
  participant | The participant (LinphoneAddress) to search.

Returns
  The participant information (LinphoneParticipantInfo).

## 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_info | The 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_info | The LinphoneConferenceInfo object.

Returns
  The description of the conference.

## linphone_conference_info_get_duration()

unsigned int linphone_conference_info_get_duration | ( | const LinphoneConferenceInfo * | conference_info | ) |

Retrieve the duration (in minutes) of the conference.

Parameters

  conference_info | The 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_info | The 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_info | The LinphoneConferenceInfo object.

Returns
  The LinphoneAddress of the conference's organizer.

## linphone_conference_info_get_participant_infos()

const bctbx_list_t * linphone_conference_info_get_participant_infos | ( | const LinphoneConferenceInfo * | conference_info | ) |

Retrieve the list of participants as list of participant infos.

Parameters

  conference_info | The LinphoneConferenceInfo object.

Returns
  The list of participant informations.

## linphone_conference_info_get_participants()

MS2_DEPRECATED const bctbx_list_t * linphone_conference_info_get_participants | ( | const LinphoneConferenceInfo * | conference_info | ) |

Retrieve the list of participants as list of addresses.

Parameters

  conference_info | The LinphoneConferenceInfo object.

Returns
  The list of participants.

Deprecated
  24/08/2023 use linphone_conference_info_get_participant_infos instead

## linphone_conference_info_get_security_level()

LinphoneConferenceSecurityLevel linphone_conference_info_get_security_level | ( | const LinphoneConferenceInfo * | conference_info | ) |

Retrieve the desired security level of the conference.

Parameters

  conference_info | The LinphoneConferenceInfo object.

Returns
  The desired security level of the conference.

## linphone_conference_info_get_state()

LinphoneConferenceInfoState linphone_conference_info_get_state | ( | const LinphoneConferenceInfo * | conference_info | ) |

Retrieve the state of the conference info.

Parameters

  conference_info | The LinphoneConferenceInfo object.

Returns
  LinphoneConferenceInfoState object.

## linphone_conference_info_get_subject()

const char * linphone_conference_info_get_subject | ( | const LinphoneConferenceInfo * | conference_info | ) |

Retrieve the subject of the conference.

Parameters

  conference_info | The 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_info | The 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_info | The LinphoneConferenceInfo object.

Returns
  the same LinphoneConferenceInfo object.

## linphone_conference_info_remove_participant()

void linphone_conference_info_remove_participant | ( | LinphoneConferenceInfo * | conference_info,
|  | const LinphoneAddress * | participant )

Remove a participant from the conference.

Parameters

  conference_info | The LinphoneConferenceInfo object.
  participant | The participant (LinphoneAddress) to remove.

## 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_info | The LinphoneConferenceInfo object.
  datetime | The 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_info | The LinphoneConferenceInfo object.
  description | The description of the conference.

## linphone_conference_info_set_duration()

void linphone_conference_info_set_duration | ( | LinphoneConferenceInfo * | conference_info,
|  | unsigned int | duration )

Set the duration (in minutes) of the conference.

Parameters

  conference_info | The LinphoneConferenceInfo object.
  duration | The duration of the conference.

## linphone_conference_info_set_organizer()

void linphone_conference_info_set_organizer | ( | LinphoneConferenceInfo * | conference_info,
|  | const LinphoneAddress * | organizer )

Set the organizer of the conference.

Parameters

  conference_info | The LinphoneConferenceInfo object.
  organizer | The LinphoneAddress of the conference's organizer.

## linphone_conference_info_set_participant_infos()

void linphone_conference_info_set_participant_infos | ( | LinphoneConferenceInfo * | conference_info,
|  | const bctbx_list_t * | participant_infos )

Set the list of participants.

Parameters

  conference_info | The LinphoneConferenceInfo object.
  participant_infos | The list of participant informations to set.

## linphone_conference_info_set_participants()

MS2_DEPRECATED void linphone_conference_info_set_participants | ( | LinphoneConferenceInfo * | conference_info,
|  | const bctbx_list_t * | participants )

Set the list of participants.

Parameters

  conference_info | The LinphoneConferenceInfo object.
  participants | The list of participants to set.

Deprecated
  24/08/2023 use linphone_conference_info_set_participant_infos instead

## linphone_conference_info_set_security_level()

void linphone_conference_info_set_security_level | ( | LinphoneConferenceInfo * | conference_info,
|  | LinphoneConferenceSecurityLevel | security_level )

Set the desired security level of the conference.

Parameters

  conference_info | The LinphoneConferenceInfo object.
  security_level | The desired security level of the conference.

## 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_info | The LinphoneConferenceInfo object.
  subject | The subject of the conference.

## linphone_conference_info_unref()

void linphone_conference_info_unref | ( | LinphoneConferenceInfo * | conference_info | ) |

Release a LinphoneConferenceInfo.

Parameters

  conference_info | The LinphoneConferenceInfo object.

## linphone_conference_info_update_participant()

void linphone_conference_info_update_participant | ( | LinphoneConferenceInfo * | conference_info,
|  | const LinphoneParticipantInfo * | participant_info )

Update the participant information in the conference informations.

Parameters

  conference_info | The LinphoneConferenceInfo object.
  participant_info | The participant information (LinphoneParticipantInfo) to update. This method can be called to change attributes such as the role to the organizer of the conference

## linphone_conference_params_get_conference_factory_address()

const LinphoneAddress * linphone_conference_params_get_conference_factory_address | ( | const LinphoneConferenceParams * | params | ) |

Get the conference factory address of the conference that has been set.

Parameters

  params | The LinphoneConferenceParams object.

Returns
  the factory address conference description.

## linphone_conference_params_get_description()

const char * linphone_conference_params_get_description | ( | const LinphoneConferenceParams * | params | ) |

Get conference description.

Parameters

  params | The LinphoneConferenceParams object.

Returns
  the conference description.

## linphone_conference_params_get_end_time()

time_t linphone_conference_params_get_end_time | ( | const LinphoneConferenceParams * | params | ) |

Get the end time of the conference.

Parameters

  params | The LinphoneConferenceParams object.

Returns
  end time of a conference as time_t type or 0 for open end of a conference. For UNIX based systems it is the number of seconds since 00:00hours of the 1st of January 1970

## linphone_conference_params_get_participant_list_type()

LinphoneConferenceParticipantListType linphone_conference_params_get_participant_list_type | ( | const LinphoneConferenceParams * | params | ) |

Get the participant list type.

Parameters

  params | The LinphoneConferenceParams object.

Returns
  participant list type LinphoneConferenceParticipantListType.

## linphone_conference_params_get_start_time()

time_t linphone_conference_params_get_start_time | ( | const LinphoneConferenceParams * | params | ) |

Get the start time of the conference.

Parameters

  params | The LinphoneConferenceParams object.

Returns
  start time of a conference as time_t type or 0 for immediate start of a conference. For UNIX based systems it is the number of seconds since 00:00hours of the 1st of January 1970

## linphone_conference_params_get_subject()

const char * linphone_conference_params_get_subject | ( | const LinphoneConferenceParams * | params | ) |

Get conference subject.

Parameters

  params | The LinphoneConferenceParams object.

Returns
  the conference subject.

## linphone_conference_params_is_hidden()

bool_t linphone_conference_params_is_hidden | ( | const LinphoneConferenceParams * | params | ) |

Get the value of the hidden flag.

Parameters

  params | The LinphoneConferenceParams object.

Returns
  whether the conference is hidden or not

## linphone_conference_params_set_conference_factory_address()

void linphone_conference_params_set_conference_factory_address | ( | LinphoneConferenceParams * | params,
|  | const LinphoneAddress * | address )

Set the conference factory address of the conference.

By default when creating a new conference, the factory address will come from the current proxy configuration. If NULL then the conference will be local else it will be a remote conference.

Parameters

  params | The LinphoneConferenceParams object.
  address | the conference factory address.

## linphone_conference_params_set_description()

void linphone_conference_params_set_description | ( | LinphoneConferenceParams * | params,
|  | const char * | description )

Set the description of the conference.

Parameters

  params | The LinphoneConferenceParams object.
  description | the conference description.

## linphone_conference_params_set_end_time()

void linphone_conference_params_set_end_time | ( | LinphoneConferenceParams * | params,
|  | time_t | end )

Set the conference end time.

Parameters

  params | The LinphoneConferenceParams object.
  end | the conference end time as the number of seconds between the desired end time and the 1st of January 1970. In order to program an undefined end of a conference, then program the end time to 0

## linphone_conference_params_set_hidden()

void linphone_conference_params_set_hidden | ( | LinphoneConferenceParams * | params,
|  | bool_t | hidden )

Set the conference as hidden.

This means that the contact address will not have any conference releated attribute such as isfocus, the conference ID and the admin status.

Parameters

  params | The LinphoneConferenceParams object.
  hidden | Boolean that states whether the conference is hidden or not

## linphone_conference_params_set_participant_list_type()

void linphone_conference_params_set_participant_list_type | ( | LinphoneConferenceParams * | params,
|  | LinphoneConferenceParticipantListType | type )

Set the participant list type.

Parameters

  params | The LinphoneConferenceParams object.
  type | Participant list type LinphoneConferenceParticipantListType. This allows to restrict the access to the conference to a selected set of participants

## linphone_conference_params_set_start_time()

void linphone_conference_params_set_start_time | ( | LinphoneConferenceParams * | params,
|  | time_t | start )

Set the conference start time.

Parameters

  params | The LinphoneConferenceParams object.

  start

  the conference start time as the number of seconds between the desired start time and the 1st of January
  1. In order to program an immediate start of a conference, then program the start time to 0

## linphone_conference_params_set_subject()

void linphone_conference_params_set_subject | ( | LinphoneConferenceParams * | params,
|  | const char * | subject )

Set the subject of the conference.

Parameters

  params | The LinphoneConferenceParams object.
  subject | the conference subject.

## 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_scheduler_add_callbacks()

void linphone_conference_scheduler_add_callbacks | ( | LinphoneConferenceScheduler * | conference_scheduler,
|  | LinphoneConferenceSchedulerCbs * | cbs )

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

Parameters

  conference_scheduler | The LinphoneAccount object to monitor.
  cbs | A LinphoneConferenceSchedulerCbs object holding the callbacks you need.

## linphone_conference_scheduler_cancel_conference()

void linphone_conference_scheduler_cancel_conference | ( | LinphoneConferenceScheduler * | conference_scheduler,
|  | LinphoneConferenceInfo * | conference_info )

Cancel the conference linked to the LinphoneConferenceInfo provided as argument.

Parameters

  conference_scheduler | the LinphoneConferenceScheduler object.
  conference_info | the LinphoneConferenceInfo object to linked to the conference to cancel.

## linphone_conference_scheduler_cbs_get_invitations_sent()

LinphoneConferenceSchedulerCbsInvitationsSentCb linphone_conference_scheduler_cbs_get_invitations_sent | ( | const LinphoneConferenceSchedulerCbs * | cbs | ) |

Get the invitations sent callback.

Parameters

  cbs | LinphoneConferenceSchedulerCbs object.

Returns
  The current invitations sent callback.

## linphone_conference_scheduler_cbs_get_state_changed()

LinphoneConferenceSchedulerCbsStateChangedCb linphone_conference_scheduler_cbs_get_state_changed | ( | const LinphoneConferenceSchedulerCbs * | cbs | ) |

Get the state changed callback.

Parameters

  cbs | LinphoneConferenceSchedulerCbs object.

Returns
  The current state changed callback.

## linphone_conference_scheduler_cbs_get_user_data()

void * linphone_conference_scheduler_cbs_get_user_data | ( | const LinphoneConferenceSchedulerCbs * | cbs | ) |

Retrieve the user pointer associated with the conference scheduler callbacks object.

Parameters

  cbs | The LinphoneConferenceSchedulerCbs object.

Returns
  The user pointer associated with the conference scheduler callbacks object.

## linphone_conference_scheduler_cbs_new()

LinphoneConferenceSchedulerCbs * linphone_conference_scheduler_cbs_new | ( | void |  | ) |

Create a new conference scheduler callbacks object.

Returns
  The LinphoneConferenceSchedulerCbs object.

## linphone_conference_scheduler_cbs_ref()

LinphoneConferenceSchedulerCbs * linphone_conference_scheduler_cbs_ref | ( | LinphoneConferenceSchedulerCbs * | cbs | ) |

Acquire a reference to the conference scheduler callbacks object.

Parameters

  cbs | The LinphoneConferenceSchedulerCbs object.

Returns
  The same conference scheduler callbacks object.

## linphone_conference_scheduler_cbs_set_invitations_sent()

void linphone_conference_scheduler_cbs_set_invitations_sent | ( | LinphoneConferenceSchedulerCbs * | cbs,
|  | LinphoneConferenceSchedulerCbsInvitationsSentCb | cb )

Set the invitations sent callback.

Parameters

  cbs | LinphoneConferenceSchedulerCbs object.
  cb | The invitations sent callback to be used.

## linphone_conference_scheduler_cbs_set_state_changed()

void linphone_conference_scheduler_cbs_set_state_changed | ( | LinphoneConferenceSchedulerCbs * | cbs,
|  | LinphoneConferenceSchedulerCbsStateChangedCb | cb )

Set the state changed callback.

Parameters

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

## linphone_conference_scheduler_cbs_set_user_data()

void linphone_conference_scheduler_cbs_set_user_data | ( | LinphoneConferenceSchedulerCbs * | cbs,
|  | void * | user_data )

Assign a user pointer to the conference scheduler callbacks object.

Parameters

  cbs | The LinphoneConferenceSchedulerCbs object.
  user_data | The user pointer to associate with the conference scheduler callbacks object.

## linphone_conference_scheduler_cbs_unref()

void linphone_conference_scheduler_cbs_unref | ( | LinphoneConferenceSchedulerCbs * | cbs | ) |

Release reference to the conference scheduler callbacks object.

Parameters

  cbs | The LinphoneConferenceSchedulerCbs object.

## linphone_conference_scheduler_get_account()

LinphoneAccount * linphone_conference_scheduler_get_account | ( | const LinphoneConferenceScheduler * | conference_scheduler | ) |

Get the LinphoneAccount that is used for the conference scheduler.

Parameters

  conference_scheduler | The LinphoneConferenceScheduler object.

Returns
  The selected LinphoneAccount for the call, or NULL if none has been selected.

## linphone_conference_scheduler_get_core()

LinphoneCore * linphone_conference_scheduler_get_core | ( | const LinphoneConferenceScheduler * | conference_scheduler | ) |

Gets the LinphoneCore from a LinphoneConferenceScheduler object.

Parameters

  conference_scheduler | The LinphoneConferenceScheduler object.

Returns
  the LinphoneCore object.

## linphone_conference_scheduler_get_current_callbacks()

LinphoneConferenceSchedulerCbs * linphone_conference_scheduler_get_current_callbacks | ( | const LinphoneConferenceScheduler * | conference_scheduler | ) |

Gets the current LinphoneConferenceSchedulerCbs.

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

Parameters

  conference_scheduler | The LinphoneConferenceScheduler object.

Returns
  The LinphoneConferenceSchedulerCbs that has called the last callback.

## linphone_conference_scheduler_get_info()

const LinphoneConferenceInfo * linphone_conference_scheduler_get_info | ( | const LinphoneConferenceScheduler * | conference_scheduler | ) |

Returns the LinphoneConferenceInfo currently set in this scheduler.

Parameters

  conference_scheduler | the LinphoneConferenceScheduler object.

Returns
  the currently configured LinphoneConferenceInfo or NULL if none is set.

## linphone_conference_scheduler_ref()

LinphoneConferenceScheduler * linphone_conference_scheduler_ref | ( | LinphoneConferenceScheduler * | conference_scheduler | ) |

Takes a reference on a LinphoneConferenceScheduler.

Parameters

  conference_scheduler | The LinphoneConferenceScheduler object.

Returns
  the same LinphoneConferenceScheduler object.

## linphone_conference_scheduler_remove_callbacks()

void linphone_conference_scheduler_remove_callbacks | ( | LinphoneConferenceScheduler * | conference_scheduler,
|  | LinphoneConferenceSchedulerCbs * | cbs )

Remove a listener from a LinphoneConferenceScheduler.

Parameters

  conference_scheduler | The LinphoneConferenceScheduler object.
  cbs | LinphoneConferenceSchedulerCbs object to remove.

## linphone_conference_scheduler_send_invitations()

void linphone_conference_scheduler_send_invitations | ( | LinphoneConferenceScheduler * | conference_scheduler,
|  | LinphoneChatRoomParams * | chat_room_params )

Sends an invitation to the scheduled conference to each participant by chat, using given chat rooms params to use/create the chat room in which to send it.

Parameters

  conference_scheduler | the LinphoneConferenceScheduler object.
  chat_room_params | the LinphoneChatRoomParams object to use to use/create the LinphoneChatRoom that will be used to send the invite.

## linphone_conference_scheduler_set_account()

void linphone_conference_scheduler_set_account | ( | LinphoneConferenceScheduler * | conference_scheduler,
|  | LinphoneAccount * | account )

Set the LinphoneAccount to use for the conference scheduler.

Parameters

  conference_scheduler | The LinphoneConferenceScheduler object.
  account | The LinphoneAccount to use, or NULL if none has been selected. The LinphoneCallParams keeps a reference to it and removes the previous one, if any.

## linphone_conference_scheduler_set_info()

void linphone_conference_scheduler_set_info | ( | LinphoneConferenceScheduler * | conference_scheduler,
|  | LinphoneConferenceInfo * | conference_info )

Sets the LinphoneConferenceInfo to use to create/update the conference, which will be done right away.

Parameters

  conference_scheduler | the LinphoneConferenceScheduler object.
  conference_info | the LinphoneConferenceInfo object to use to start creating/updating the remote conference.

## linphone_conference_scheduler_unref()

void linphone_conference_scheduler_unref | ( | LinphoneConferenceScheduler * | conference_scheduler | ) |

Releases a LinphoneConferenceScheduler.

Parameters

  conference_scheduler | The LinphoneConferenceScheduler object.

## 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_conference_set_current_callbacks()

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

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.
  cbs | The LinphoneConferenceCbs object.

## 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

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

  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_2()

LinphoneConferenceParams * linphone_core_create_conference_params_2 | ( | LinphoneCore * | core,
|  | LinphoneConference * | conference )

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

Parameters

  core | the LinphoneCore object
  conference | LinphoneConference for which the parameters are to be build, or NULL in the case where the parameters are to be used for a new conference.

Returns
  a LinphoneConferenceParams object.

## linphone_core_create_conference_scheduler()

LinphoneConferenceScheduler * linphone_core_create_conference_scheduler | ( | LinphoneCore * | core | ) |

Create a conference scheduler that can be used to create remote conferences for now or later and then send conference info as an ICS through chat.

Parameters

  core | The LinphoneCore.

Returns
  A pointer on the freshly created LinphoneConferenceScheduler.

## linphone_core_create_conference_with_params()

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

Create a conference.

Local or remote conference is determinated from the 'conference_type' variable in the 'misc' section of the configuration, or by the factory address parameter. See linphone_conference_params_set_conference_factory_address() for more details.

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_delete_conference_information()

void linphone_core_delete_conference_information | ( | LinphoneCore * | core,
|  | LinphoneConferenceInfo * | conference_info )

Deletes a conference information from DB.

Parameters

  core | LinphoneCore object.
  conference_info | the LinphoneConferenceInfo to delete.

## 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_find_conference_information_from_uri()

LinphoneConferenceInfo * linphone_core_find_conference_information_from_uri | ( | LinphoneCore * | core,
|  | LinphoneAddress * | uri )

Retrieve the conference information linked to the provided URI if any.

Parameters

  core | LinphoneCore object.
  uri | LinphoneAddress of the uri.

Returns
  The LinphoneConferenceInfo found if any, NULL otherwise.

## linphone_core_get_conference_information_list()

bctbx_list_t * linphone_core_get_conference_information_list | ( | LinphoneCore * | core | ) |

Retrieve the list of conference information on DB.

Parameters

  core | LinphoneCore object.

Returns
  The list of conference infos .

## linphone_core_get_conference_information_list_after_time()

bctbx_list_t * linphone_core_get_conference_information_list_after_time | ( | LinphoneCore * | core,
|  | time_t | time )

Retrieve the list of conference information on DB after a certain time.

Parameters

  core | LinphoneCore object.
  time | Time to retrieve conference info.

Returns
  The list of conference infos .

## 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_participant_list_type()

LinphoneConferenceParticipantListType linphone_core_get_conference_participant_list_type | ( | const LinphoneCore * | core | ) |

Tells whether the default conference participant list is open or closed.

Parameters

  core | A LinphoneCore object

Returns
  A LinphoneConferenceParticipantListType participant list type

## linphone_core_get_default_conference_layout()

LinphoneConferenceLayout linphone_core_get_default_conference_layout | ( | const LinphoneCore * | core | ) |

Gets the default conference layout.

Parameters

  core | the linphone core

Returns
  conference layout

## linphone_core_get_future_conference_information_list()

bctbx_list_t * linphone_core_get_future_conference_information_list | ( | LinphoneCore * | core | ) |

Retrieve the list of future conference information on DB.

Parameters

  core | LinphoneCore object.

Returns
  The list of future conference infos .

## 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_search_conference_2()

LinphoneConference * linphone_core_search_conference_2 | ( | const LinphoneCore * | core,
|  | const LinphoneAddress * | conferenceAddr )

Find a conference.

Parameters

  core | A LinphoneCore object
  conferenceAddr | LinphoneAddress representing the conference address

Returns
  A pointer on LinphoneConference whose conference address is the one provided as argument or NULL if none matches

## linphone_core_set_conference_participant_list_type()

void linphone_core_set_conference_participant_list_type | ( | LinphoneCore * | core,
|  | LinphoneConferenceParticipantListType | type )

Select whether the default conference participant list is open or closed.

Parameters

  core | A LinphoneCore object
  type | A LinphoneConferenceParticipantListType participant list type

## linphone_core_set_default_conference_layout()

void linphone_core_set_default_conference_layout | ( | LinphoneCore * | core,
|  | LinphoneConferenceLayout | value )

Set the default conference layout.

Parameters

  core | the linphone core
  value | layout

## 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

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

  core | LinphoneCore

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

  core | LinphoneCore

Returns
  0 if succeeded. Negative number if failed

## linphone_participant_device_cbs_get_is_muted()

LinphoneParticipantDeviceCbsIsMutedCb linphone_participant_device_cbs_get_is_muted | ( | const LinphoneParticipantDeviceCbs * | cbs | ) |

Get the is this participant device muted callback.

Parameters

  [in] | cbs | The LinphoneParticipantDeviceCbs object

Returns
  The current is this participant device muted callback.

## 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] | cbs | The LinphoneParticipantDeviceCbs object

Returns
  The current is this participant device speaking changed callback.

## linphone_participant_device_cbs_get_state_changed()

LinphoneParticipantDeviceCbsStateChangedCb linphone_participant_device_cbs_get_state_changed | ( | const LinphoneParticipantDeviceCbs * | cbs | ) |

Get the participant device conference state changed callback.

Parameters

  [in] | cbs | The LinphoneParticipantDeviceCbs object

Returns
  The current participant device conference state changed callback.

## linphone_participant_device_cbs_get_stream_availability_changed()

LinphoneParticipantDeviceCbsStreamAvailabilityChangedCb linphone_participant_device_cbs_get_stream_availability_changed | ( | const LinphoneParticipantDeviceCbs * | cbs | ) |

Get the participant device stream availability changed callback.

Parameters

  [in] | cbs | The LinphoneParticipantDeviceCbs object

Returns
  The current participant device stream availability changed callback.

## linphone_participant_device_cbs_get_stream_capability_changed()

LinphoneParticipantDeviceCbsStreamCapabilityChangedCb linphone_participant_device_cbs_get_stream_capability_changed | ( | const LinphoneParticipantDeviceCbs * | cbs | ) |

Get the participant device stream capability changed callback.

Parameters

  [in] | cbs | The LinphoneParticipantDeviceCbs object

Returns
  The current participant device stream capability 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] | cbs | The LinphoneParticipantDeviceCbs object

Returns
  The user pointer associated with the participant device callbacks object

## linphone_participant_device_cbs_get_video_display_error_occurred()

LinphoneParticipantDeviceCbsVideoDisplayErrorOccurredCb linphone_participant_device_cbs_get_video_display_error_occurred | ( | const LinphoneParticipantDeviceCbs * | cbs | ) |

Get the callback that will be used to notify that there are errors from the video rendering of the participant device.

Check LinphoneCallCbsVideoDisplayErrorOccurredCb for more details.

Parameters

  [in] | cbs | The LinphoneParticipantDeviceCbs object.

Returns
  The failing video rendering callback.

## 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] | cbs | The LinphoneParticipantDeviceCbs object

Returns
  The same participant device callbacks object

## linphone_participant_device_cbs_set_is_muted()

void linphone_participant_device_cbs_set_is_muted | ( | LinphoneParticipantDeviceCbs * | cbs,
|  | LinphoneParticipantDeviceCbsIsMutedCb | cb )

Set the is this participant device muted callback.

Parameters

  [in] | cbs | The LinphoneParticipantDeviceCbs object
  [in] | cb | The is this participant device muted callback to be used.

## 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] | cbs | The LinphoneParticipantDeviceCbs object
  [in] | cb | The is this participant device speaking changed callback to be used.

## linphone_participant_device_cbs_set_state_changed()

void linphone_participant_device_cbs_set_state_changed | ( | LinphoneParticipantDeviceCbs * | cbs,
|  | LinphoneParticipantDeviceCbsStateChangedCb | cb )

Set the participant device conference state changed callback.

Parameters

  [in] | cbs | The LinphoneParticipantDeviceCbs object
  [in] | cb | The participant device conference state changed callback to be used.

## linphone_participant_device_cbs_set_stream_availability_changed()

void linphone_participant_device_cbs_set_stream_availability_changed | ( | LinphoneParticipantDeviceCbs * | cbs,
|  | LinphoneParticipantDeviceCbsStreamAvailabilityChangedCb | cb )

Set the participant device stream availability changed callback.

Parameters

  [in] | cbs | The LinphoneParticipantDeviceCbs object
  [in] | cb | The participant device stream availability changed callback to be used.

## linphone_participant_device_cbs_set_stream_capability_changed()

void linphone_participant_device_cbs_set_stream_capability_changed | ( | LinphoneParticipantDeviceCbs * | cbs,
|  | LinphoneParticipantDeviceCbsStreamCapabilityChangedCb | cb )

Set the participant device stream capability changed callback.

Parameters

  [in] | cbs | The LinphoneParticipantDeviceCbs object
  [in] | cb | The participant device stream capability 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] | cbs | The LinphoneParticipantDeviceCbs object
  [in] | ud | The user pointer to associate with the participant device callbacks object

## linphone_participant_device_cbs_set_video_display_error_occurred()

void linphone_participant_device_cbs_set_video_display_error_occurred | ( | LinphoneParticipantDeviceCbs * | cbs,
|  | LinphoneParticipantDeviceCbsVideoDisplayErrorOccurredCb | cb )

Set the callback that will be used to notify that there are errors from the video rendering of the participant device.

Check LinphoneCallCbsVideoDisplayErrorOccurredCb for more details.

Parameters

  [in] | cbs | The LinphoneCallCbs object.
  [in] | cb | The failing video rendering callback to be used.

## linphone_participant_device_cbs_unref()

void linphone_participant_device_cbs_unref | ( | LinphoneParticipantDeviceCbs * | cbs | ) |

Release reference to the participant device callbacks object.

Parameters

  [in] | cbs | The LinphoneParticipantDeviceCbs object

## linphone_participant_info_add_parameter()

void linphone_participant_info_add_parameter | ( | LinphoneParticipantInfo * | participant_info,
|  | const char * | name,
|  | const char * | value )

Set the a custom parameter to object LinphoneParticipantInfo.

Parameters

  participant_info | The LinphoneParticipantInfo object.
  name | the name of the parameter.
  value | the value of the parameter.

## linphone_participant_info_clone()

LinphoneParticipantInfo * linphone_participant_info_clone | ( | const LinphoneParticipantInfo * | participant_info | ) |

Clone an object LinphoneParticipantInfo.

Parameters

  participant_info | The LinphoneParticipantInfo object.

Returns
  the cloned LinphoneParticipantInfo object.

## linphone_participant_info_get_address()

const LinphoneAddress * linphone_participant_info_get_address | ( | const LinphoneParticipantInfo * | participant_info | ) |

Get the address of the object LinphoneParticipantInfo.

Parameters

  participant_info | The LinphoneParticipantInfo object.

Returns
  the LinphoneAddress of the LinphoneParticipantInfo object.

## linphone_participant_info_get_parameter_value()

const char * linphone_participant_info_get_parameter_value | ( | const LinphoneParticipantInfo * | participant_info,
|  | const char * | name )

Get the value of a custom parameter of the object LinphoneParticipantInfo.

Parameters

  participant_info | The LinphoneParticipantInfo object.
  name | the name of the parameter.

Returns
  value the value of the parameter.

## linphone_participant_info_get_role()

LinphoneParticipantRole linphone_participant_info_get_role | ( | const LinphoneParticipantInfo * | participant_info | ) |

Get the role of the object LinphoneParticipantInfo.

Parameters

  participant_info | The LinphoneParticipantInfo object.

Returns
  the LinphoneParticipantRole of the LinphoneParticipantInfo object.

## linphone_participant_info_has_parameter()

bool_t linphone_participant_info_has_parameter | ( | const LinphoneParticipantInfo * | participant_info,
|  | const char * | name )

Find whether a LinphoneParticipantInfo has a parameter.

Parameters

  participant_info | The LinphoneParticipantInfo object.
  name | the name of the parameter.

Returns
  TRUE if the parameter is present, FALSE otherwise

## linphone_participant_info_new()

LinphoneParticipantInfo * linphone_participant_info_new | ( | const LinphoneAddress * | address | ) |

Create a new LinphoneParticipantInfo object.

Returns
  The newly created LinphoneParticipantInfo object.

## linphone_participant_info_ref()

LinphoneParticipantInfo * linphone_participant_info_ref | ( | LinphoneParticipantInfo * | participant_info | ) |

Take a reference on a LinphoneParticipantInfo.

Parameters

  participant_info | The LinphoneParticipantInfo object.

Returns
  the same LinphoneParticipantInfo object.

## linphone_participant_info_remove_parameter()

void linphone_participant_info_remove_parameter | ( | LinphoneParticipantInfo * | participant_info,
|  | const char * | name )

Find the value of a custom parameter of the object LinphoneParticipantInfo.

Parameters

  participant_info | The LinphoneParticipantInfo object.
  name | the name of the parameter.

## linphone_participant_info_set_role()

void linphone_participant_info_set_role | ( | LinphoneParticipantInfo * | participant_info,
|  | LinphoneParticipantRole | role )

Set the role of the object LinphoneParticipantInfo.

Parameters

  participant_info | The LinphoneParticipantInfo object.
  role | the LinphoneParticipantRole of the LinphoneParticipantInfo object.

## linphone_participant_info_unref()

void linphone_participant_info_unref | ( | LinphoneParticipantInfo * | participant_info | ) |

Release a LinphoneParticipantInfo.

Parameters

  participant_info | The LinphoneParticipantInfo object.