Liblinphone
5.3.0
|
A conference is the object that allow to make calls when there are 2 or more participants. More...
#include <conference.hh>
Public Types | |
enum | SecurityLevel { SecurityLevel::None = 0, SecurityLevel::PointToPoint = 1, SecurityLevel::EndToEnd = 2 } |
Conference minimum security level. More... | |
enum | ParticipantListType { ParticipantListType::Closed = 0, ParticipantListType::Open = 1 } |
Type of conference participant list. More... | |
enum | JoiningMode { JoiningMode::DialIn = 0, JoiningMode::DialOut = 1 } |
Mode of joining conference. More... | |
enum | Layout { Layout::Grid = 0, Layout::ActiveSpeaker = 1 } |
Layout is used to indicate the layout used by the conference. More... | |
enum | State { State::None = 0, State::Instantiated = 1, State::CreationPending = 2, State::Created = 3, State::CreationFailed = 4, State::TerminationPending = 5, State::Terminated = 6, State::TerminationFailed = 7, State::Deleted = 8 } |
State is used to indicate the current state of a conference. More... | |
Public Member Functions | |
LINPHONECXX_PUBLIC | Conference (void *ptr, bool takeRef=true) |
LINPHONECXX_PUBLIC _LinphoneConference * | cPtr () |
LINPHONECXX_PUBLIC void | addListener (const std::shared_ptr< ConferenceListener > &listener) |
Add an application listener to the Conference instance. More... | |
LINPHONECXX_PUBLIC void | removeListener (const std::shared_ptr< ConferenceListener > &listener) |
Remove a previously added listener from the Conference instance. More... | |
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ParticipantDevice > | getActiveSpeakerParticipantDevice () const |
Get the currently active speaker participant device. More... | |
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Call > | getCall () const |
Gets the call that is controlling a conference. More... | |
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::Address > | getConferenceAddress () const |
Get the conference address of the conference. More... | |
LINPHONECXX_PUBLIC void | setConferenceAddress (const std::shared_ptr< linphone::Address > &address) |
Set the conference address. More... | |
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Core > | getCore () const |
Returns core for a Conference. More... | |
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::ConferenceParams > | getCurrentParams () const |
Get current parameters of the conference. More... | |
LINPHONECXX_PUBLIC int | getDuration () const |
Get the conference duration. More... | |
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::string | getId () const |
Get the conference id as string. More... | |
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED void | setId (const std::string &conferenceId) |
Set the conference id as string. More... | |
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AudioDevice > | getInputAudioDevice () const |
Gets the current input device for this conference. More... | |
LINPHONECXX_PUBLIC void | setInputAudioDevice (const std::shared_ptr< linphone::AudioDevice > &audioDevice) |
Sets the given AudioDevice as input for this conference only. More... | |
LINPHONECXX_PUBLIC float | getInputVolume () const |
Retrieves the volume of a specific participant. More... | |
LINPHONECXX_PUBLIC bool | isIn () const |
For a local conference, it returns whether the local participant is enabled For a remote conference, it return whether the remote participant has left the conference without bein removed from it. More... | |
LINPHONECXX_PUBLIC bool | isRecording () const |
Gets whether the conference is currently being recorded. More... | |
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Participant > | getMe () const |
For a local audio video conference, this function returns the participant hosting the conference For a remote audio video conference, this function returns the local participant of the conference. More... | |
LINPHONECXX_PUBLIC bool | getMicrophoneMuted () const |
Retrieves the volume of a specific participant. More... | |
LINPHONECXX_PUBLIC void | setMicrophoneMuted (bool muted) |
Get microphone muted state. More... | |
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AudioDevice > | getOutputAudioDevice () const |
Gets the current output device for this conference. More... | |
LINPHONECXX_PUBLIC void | setOutputAudioDevice (const std::shared_ptr< linphone::AudioDevice > &audioDevice) |
Sets the given AudioDevice as output for this conference only. More... | |
LINPHONECXX_PUBLIC int | getParticipantCount () const |
Get number of participants without me. More... | |
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::ParticipantDevice > > | getParticipantDeviceList () const |
Get list of all participant devices of a conference including me if it is in. More... | |
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::Participant > > | getParticipantList () const |
Get list of all participants of a conference. More... | |
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::list< std::shared_ptr< linphone::Address > > | getParticipants () const |
Get URIs of all participants of one conference The returned bctbx_list_t contains URIs of all participants. More... | |
LINPHONECXX_PUBLIC time_t | getStartTime () const |
Get the conference start time. More... | |
LINPHONECXX_PUBLIC State | getState () const |
Get the current state of the conference. More... | |
LINPHONECXX_PUBLIC std::string | getSubject () const |
Get the conference subject. More... | |
LINPHONECXX_PUBLIC void | setSubject (const std::string &subject) |
Set the conference subject. More... | |
LINPHONECXX_PUBLIC std::string | getUsername () const |
Get the conference username. More... | |
LINPHONECXX_PUBLIC void | setUsername (const std::string &username) |
Set the conference username. More... | |
LINPHONECXX_PUBLIC linphone::Status | addParticipant (const std::shared_ptr< linphone::Call > &call) |
Join an existing call to the conference. More... | |
LINPHONECXX_PUBLIC linphone::Status | addParticipant (const std::shared_ptr< const linphone::Address > &uri) |
Join a participant to the conference. More... | |
LINPHONECXX_PUBLIC linphone::Status | addParticipants (const std::list< std::shared_ptr< linphone::Call >> &calls) |
Add participants to the conference, by supplying a list of Call. More... | |
LINPHONECXX_PUBLIC linphone::Status | addParticipants (const std::list< std::shared_ptr< linphone::Address >> &addresses) |
Add participants to the conference, by supplying a list of Address. More... | |
LINPHONECXX_PUBLIC int | enter () |
For a local conference, the local participant joins the conference For a remote conference, the participant rejoins the conference after leaving it earlier on. More... | |
LINPHONECXX_PUBLIC std::shared_ptr< linphone::Participant > | findParticipant (const std::shared_ptr< const linphone::Address > &uri) |
Find a participant from a conference. More... | |
LINPHONECXX_PUBLIC int | getParticipantDeviceVolume (const std::shared_ptr< linphone::ParticipantDevice > &device) |
Retrieves the volume of a specific participant. More... | |
LINPHONECXX_PUBLIC linphone::Status | inviteParticipants (const std::list< std::shared_ptr< linphone::Address >> &addresses, const std::shared_ptr< const linphone::CallParams > ¶ms) |
Invite participants to the conference, by supplying a list of Address If the conference is in the state LinphoneConferenceStateCreationPending, then the conference will start on the input and output audio devices used for the currently active call, if any. More... | |
LINPHONECXX_PUBLIC bool | isMe (const std::shared_ptr< const linphone::Address > &uri) const |
For a local audio video conference, this function compares the address provided as argument with that of participant hosting the conference For a remote audio video conference, this function compares the address provided as argument with that of the local participant of the conference. More... | |
LINPHONECXX_PUBLIC int | leave () |
For a local conference, the local participant leaves the conference For a remote conference, the participant leaves the conference after joining it earlier on. More... | |
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED linphone::Status | removeParticipant (const std::shared_ptr< const linphone::Address > &uri) |
LINPHONECXX_PUBLIC linphone::Status | removeParticipant (const std::shared_ptr< linphone::Participant > &participant) |
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED linphone::Status | removeParticipant (const std::shared_ptr< linphone::Call > &call) |
LINPHONECXX_PUBLIC void | setLocalParticipantStreamCapability (linphone::MediaDirection direction, linphone::StreamType type) |
Set stream capability on me device of a local conference. More... | |
LINPHONECXX_PUBLIC void | setParticipantAdminStatus (const std::shared_ptr< linphone::Participant > &participant, bool isAdmin) |
Change the admin status of a participant of a conference (you need to be an admin yourself to do this). More... | |
LINPHONECXX_PUBLIC int | startRecording (const std::string &path) |
Starts recording the conference. More... | |
LINPHONECXX_PUBLIC int | stopRecording () |
Stops the conference recording. More... | |
LINPHONECXX_PUBLIC int | terminate () |
Terminates conference. More... | |
LINPHONECXX_PUBLIC int | updateParams (const std::shared_ptr< const linphone::ConferenceParams > ¶ms) |
Update parameters of the conference. More... | |
A conference is the object that allow to make calls when there are 2 or more participants.
To create (or find) a Conference, you first need a ConferenceParams object. Core::createConferenceWithParams() 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 Core 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 Core::searchConference().
|
strong |
Mode of joining conference.
Enumerator | |
---|---|
DialIn | Participants must dial the conference server. |
DialOut | Conference server dials participants. |
|
strong |
Layout is used to indicate the layout used by the conference.
|
strong |
|
strong |
Conference minimum security level.
Enumerator | |
---|---|
None | No security. |
PointToPoint | Point-to-point encryption. |
EndToEnd | End-to-end encryption. |
|
strong |
State is used to indicate the current state of a conference.
Enumerator | |
---|---|
None | Initial state. |
Instantiated | Conference is now instantiated locally. |
CreationPending | One creation request was sent to the service. |
Created | Conference was created on the service. |
CreationFailed | Conference creation on service failed. |
TerminationPending | Wait for conference termination. |
Terminated | The conference is terminated locally, though it may still exist on the service for other participants. |
TerminationFailed | Conference termination failed. |
Deleted | Conference was deleted locally and on the service. |
LINPHONECXX_PUBLIC void linphone::Conference::addListener | ( | const std::shared_ptr< ConferenceListener > & | listener | ) |
Add an application listener to the Conference instance.
listener | the application listener |
LINPHONECXX_PUBLIC linphone::Status linphone::Conference::addParticipant | ( | const std::shared_ptr< linphone::Call > & | call | ) |
Join an existing call to the conference.
If the conference is in the state LinphoneConferenceStateCreationPending, then the conference will start on the input and output audio devices used for the currently active call, if any
call | a Call that has to be added to the conference. |
LINPHONECXX_PUBLIC linphone::Status linphone::Conference::addParticipant | ( | const std::shared_ptr< const linphone::Address > & | uri | ) |
Join a participant to the conference.
uri | a Address that has to be added to the conference. |
LINPHONECXX_PUBLIC linphone::Status linphone::Conference::addParticipants | ( | const std::list< std::shared_ptr< linphone::Call >> & | calls | ) |
Add participants to the conference, by supplying a list of Call.
If the conference is in the state LinphoneConferenceStateCreationPending, then the conference will start on the input and output audio devices used for the currently active call, if any
calls | A list of calls to add to the conference. |
LINPHONECXX_PUBLIC linphone::Status linphone::Conference::addParticipants | ( | const std::list< std::shared_ptr< linphone::Address >> & | addresses | ) |
Add participants to the conference, by supplying a list of Address.
addresses | A list of calls to add to the conference. |
LINPHONECXX_PUBLIC int linphone::Conference::enter | ( | ) |
For a local conference, the local participant joins the conference For a remote conference, the participant rejoins the conference after leaving it earlier on.
LINPHONECXX_PUBLIC std::shared_ptr<linphone::Participant> linphone::Conference::findParticipant | ( | const std::shared_ptr< const linphone::Address > & | uri | ) |
Find a participant from a conference.
uri | SIP URI of the participant to search. |
LINPHONECXX_PUBLIC std::shared_ptr<linphone::ParticipantDevice> linphone::Conference::getActiveSpeakerParticipantDevice | ( | ) | const |
Get the currently active speaker participant device.
LINPHONECXX_PUBLIC std::shared_ptr<linphone::Call> linphone::Conference::getCall | ( | ) | const |
Gets the call that is controlling a conference.
LINPHONECXX_PUBLIC std::shared_ptr<const linphone::Address> linphone::Conference::getConferenceAddress | ( | ) | const |
Get the conference address of the conference.
LINPHONECXX_PUBLIC std::shared_ptr<linphone::Core> linphone::Conference::getCore | ( | ) | const |
Returns core for a Conference.
LINPHONECXX_PUBLIC std::shared_ptr<const linphone::ConferenceParams> linphone::Conference::getCurrentParams | ( | ) | const |
Get current parameters of the conference.
LINPHONECXX_PUBLIC int linphone::Conference::getDuration | ( | ) | const |
Get the conference duration.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::string linphone::Conference::getId | ( | ) | const |
Get the conference id as string.
LINPHONECXX_PUBLIC std::shared_ptr<const linphone::AudioDevice> linphone::Conference::getInputAudioDevice | ( | ) | const |
Gets the current input device for this conference.
LINPHONECXX_PUBLIC float linphone::Conference::getInputVolume | ( | ) | const |
Retrieves the volume of a specific participant.
LINPHONECXX_PUBLIC std::shared_ptr<linphone::Participant> linphone::Conference::getMe | ( | ) | const |
For a local audio video conference, this function returns the participant hosting the conference For a remote audio video conference, this function returns the local participant of the conference.
LINPHONECXX_PUBLIC bool linphone::Conference::getMicrophoneMuted | ( | ) | const |
Retrieves the volume of a specific participant.
LINPHONECXX_PUBLIC std::shared_ptr<const linphone::AudioDevice> linphone::Conference::getOutputAudioDevice | ( | ) | const |
Gets the current output device for this conference.
LINPHONECXX_PUBLIC int linphone::Conference::getParticipantCount | ( | ) | const |
Get number of participants without me.
LINPHONECXX_PUBLIC std::list<std::shared_ptr<linphone::ParticipantDevice> > linphone::Conference::getParticipantDeviceList | ( | ) | const |
Get list of all participant devices of a conference including me if it is in.
LINPHONECXX_PUBLIC int linphone::Conference::getParticipantDeviceVolume | ( | const std::shared_ptr< linphone::ParticipantDevice > & | device | ) |
Retrieves the volume of a specific participant.
device | The Participant |
LINPHONECXX_PUBLIC std::list<std::shared_ptr<linphone::Participant> > linphone::Conference::getParticipantList | ( | ) | const |
Get list of all participants of a conference.
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::list<std::shared_ptr<linphone::Address> > linphone::Conference::getParticipants | ( | ) | const |
Get URIs of all participants of one conference The returned bctbx_list_t contains URIs of all participants.
That list must be freed after use and each URI must be unref with linphone_address_unref
LINPHONECXX_PUBLIC time_t linphone::Conference::getStartTime | ( | ) | const |
Get the conference start time.
LINPHONECXX_PUBLIC State linphone::Conference::getState | ( | ) | const |
Get the current state of the conference.
LINPHONECXX_PUBLIC std::string linphone::Conference::getSubject | ( | ) | const |
Get the conference subject.
LINPHONECXX_PUBLIC std::string linphone::Conference::getUsername | ( | ) | const |
Get the conference username.
LINPHONECXX_PUBLIC linphone::Status linphone::Conference::inviteParticipants | ( | const std::list< std::shared_ptr< linphone::Address >> & | addresses, |
const std::shared_ptr< const linphone::CallParams > & | params | ||
) |
Invite participants to the conference, by supplying a list of Address If the conference is in the state LinphoneConferenceStateCreationPending, then the conference will start on the input and output audio devices used for the currently active call, if any.
addresses | A list of SIP addresses to invite. |
params | CallParams to use for inviting the participants. |
LINPHONECXX_PUBLIC bool linphone::Conference::isIn | ( | ) | const |
For a local conference, it returns whether the local participant is enabled For a remote conference, it return whether the remote participant has left the conference without bein removed from it.
LINPHONECXX_PUBLIC bool linphone::Conference::isMe | ( | const std::shared_ptr< const linphone::Address > & | uri | ) | const |
For a local audio video conference, this function compares the address provided as argument with that of participant hosting the conference For a remote audio video conference, this function compares the address provided as argument with that of the local participant of the conference.
uri | A Address object |
LINPHONECXX_PUBLIC bool linphone::Conference::isRecording | ( | ) | const |
Gets whether the conference is currently being recorded.
LINPHONECXX_PUBLIC int linphone::Conference::leave | ( | ) |
For a local conference, the local participant leaves the conference For a remote conference, the participant leaves the conference after joining it earlier on.
LINPHONECXX_PUBLIC void linphone::Conference::removeListener | ( | const std::shared_ptr< ConferenceListener > & | listener | ) |
Remove a previously added listener from the Conference instance.
listener | the application listener |
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED linphone::Status linphone::Conference::removeParticipant | ( | const std::shared_ptr< const linphone::Address > & | uri | ) |
uri | URI of the participant to remove |
LINPHONECXX_PUBLIC linphone::Status linphone::Conference::removeParticipant | ( | const std::shared_ptr< linphone::Participant > & | participant | ) |
participant | participant to remove |
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED linphone::Status linphone::Conference::removeParticipant | ( | const std::shared_ptr< linphone::Call > & | call | ) |
call | call to remove |
LINPHONECXX_PUBLIC void linphone::Conference::setConferenceAddress | ( | const std::shared_ptr< linphone::Address > & | address | ) |
Set the conference address.
address | the conference address to set. |
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED void linphone::Conference::setId | ( | const std::string & | conferenceId | ) |
Set the conference id as string.
conferenceId | the conference id to set. |
LINPHONECXX_PUBLIC void linphone::Conference::setInputAudioDevice | ( | const std::shared_ptr< linphone::AudioDevice > & | audioDevice | ) |
Sets the given AudioDevice as input for this conference only.
audioDevice | The AudioDevice. nullptr does nothing. |
LINPHONECXX_PUBLIC void linphone::Conference::setLocalParticipantStreamCapability | ( | linphone::MediaDirection | direction, |
linphone::StreamType | type | ||
) |
Set stream capability on me device of a local conference.
direction | the direction of stream of type stream_type |
LINPHONECXX_PUBLIC void linphone::Conference::setMicrophoneMuted | ( | bool | muted | ) |
Get microphone muted state.
Note that the microphone may be disabled globally if false was given to Core::enableMic().
LINPHONECXX_PUBLIC void linphone::Conference::setOutputAudioDevice | ( | const std::shared_ptr< linphone::AudioDevice > & | audioDevice | ) |
Sets the given AudioDevice as output for this conference only.
audioDevice | The AudioDevice. nullptr does nothing. |
LINPHONECXX_PUBLIC void linphone::Conference::setParticipantAdminStatus | ( | const std::shared_ptr< linphone::Participant > & | participant, |
bool | isAdmin | ||
) |
Change the admin status of a participant of a conference (you need to be an admin yourself to do this).
participant | The Participant for which to change the admin status |
isAdmin | A boolean value telling whether the participant should now be an admin or not |
LINPHONECXX_PUBLIC void linphone::Conference::setSubject | ( | const std::string & | subject | ) |
Set the conference subject.
subject | conference subject |
LINPHONECXX_PUBLIC void linphone::Conference::setUsername | ( | const std::string & | username | ) |
Set the conference username.
username | conference subject |
LINPHONECXX_PUBLIC int linphone::Conference::startRecording | ( | const std::string & | path | ) |
Starts recording the conference.
path | Where to record the conference |
LINPHONECXX_PUBLIC int linphone::Conference::stopRecording | ( | ) |
Stops the conference recording.
LINPHONECXX_PUBLIC int linphone::Conference::terminate | ( | ) |
Terminates conference.
LINPHONECXX_PUBLIC int linphone::Conference::updateParams | ( | const std::shared_ptr< const linphone::ConferenceParams > & | params | ) |
Update parameters of the conference.
This is typically used enable or disable the video stream in the conference.
params | the new parameters to apply. |