Conference
public class Conference : LinphoneObject
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().
-
Undocumented
Declaration
Swift
public static func getSwiftObject(cObject: OpaquePointer) -> Conference
-
Undocumented
Declaration
Swift
public var getCobject: OpaquePointer? { get }
-
See moreState
is used to indicate the current state of a conference.Declaration
Swift
public enum State : Int
-
Undocumented
Declaration
Swift
public func addDelegate(delegate: ConferenceDelegate)
-
Undocumented
Declaration
Swift
public func removeDelegate(delegate: ConferenceDelegate)
-
Set the conference address.
Warning
This is only allowed for a remote conference if it is in state CreationPending or Instantiated Get the conference address of the conference.Declaration
Swift
public var conferenceAddress: Address? { get set }
Parameters
address
the conference address to set.
Return Value
The conference address of the 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.
Declaration
Swift
public var currentDelegate: ConferenceDelegate? { get }
Return Value
The LinphoneConferenceCbs that has called the last callback.
-
Get current parameters of the conference.
Declaration
Swift
public var currentParams: ConferenceParams? { get }
Return Value
a
ConferenceParams
. -
Get the conference duration.
Declaration
Swift
public var duration: Int { get }
Return Value
conference duration.
-
Set the conference id as string.
- deprecated: 10/07/2020 Use setConferenceAddress() instead. Get the conference id as string.
- deprecated: 10/07/2020 Use getConferenceAddress() instead.
Declaration
Swift
public var ID: String { get set }
Parameters
conferenceId
the conference id to set.
Return Value
the conference id
-
Sets the given
AudioDevice
as input for this conference only.Declaration
Swift
public var inputAudioDevice: AudioDevice? { get set }
Parameters
audioDevice
The
AudioDevice
. nil does nothing.
Gets the current input device for this conference.Return Value
the
AudioDevice
used by this conference as input or nil if there is currently no soundcard configured (depending on the state of the conference) -
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.
Declaration
Swift
public var isIn: Bool { get }
Return Value
true if the local participant is in a conference, false otherwise.
-
Gets whether the conference is currently being recorded.
Declaration
Swift
public var isRecording: Bool { get }
Return Value
true if conference is being recorded, false otherwise.
-
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.
Declaration
Swift
public var me: Participant? { get }
Return Value
a
Participant
. -
Sets the given
AudioDevice
as output for this conference only.Declaration
Swift
public var outputAudioDevice: AudioDevice? { get set }
Parameters
audioDevice
The
AudioDevice
. nil does nothing.
Gets the current output device for this conference.Return Value
the
AudioDevice
used by this conference as output or nil if there is currently no soundcard configured (depending on the state of the conference) -
Get number of participants without me.
Declaration
Swift
public var participantCount: Int { get }
Return Value
the number of participants excluding me in a
Conference
-
Get list of all participant devices of a conference including me if it is in.
Declaration
Swift
public var participantDeviceList: [ParticipantDevice] { get }
Return Value
The list of participant devices of the conference.
-
Get list of all participants of a conference.
Warning
The returned list does not include me.Declaration
Swift
public var participantList: [Participant] { get }
Return Value
The list of participants of the conference.
-
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 - Warning: The returned list does not include me.
- deprecated: 10/07/2020 Use getParticipantList() instead.
Declaration
Swift
@available(*, deprecated) public var participants: [Address] { get }
Return Value
The list of the participants’ address active in the conference.
-
Get the conference start time.
Declaration
Swift
public var startTime: time_t { get }
Return Value
conference start time.
-
Set the conference subject.
Declaration
Swift
public var subject: String { get set }
Parameters
subject
conference subject
Get the conference subject.Return Value
conference subject.
-
Associate a user pointer to the linphone conference.
Retrieves the user pointer that was given to linphone_conference_new()
Declaration
Swift
public var userData: UnsafeMutableRawPointer? { get set }
Parameters
userData
The user data to associate with the
Conference
object.Return Value
The user data associated with the
Conference
object. -
Set the conference username.
Declaration
Swift
public var username: String { get set }
Parameters
username
conference subject
Get the conference username.Return Value
conference subject.
-
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
Warning
This function guarantees that the local endpoint is added to the conference only if one of calls added is in state StreamsRunning. It is highly recommended to call linphone_confererence_enter() to guarantee that the local endpoint is added to the conference.Declaration
Swift
public func addParticipant(call: Call) throws
Parameters
call
a
Call
that has to be added to the conference. -
Join a participant to the conference.
Warning
This function guarantees that the local endpoint is added to the conference only if there is a call state StreamsRunning towards one of the addresses. It is highly recommended to call linphone_confererence_enter() to guarantee that the local endpoint is added to the conference.Declaration
Swift
public func addParticipant(uri: Address) throws
Parameters
uri
a
Address
that has to be added to the conference. -
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 anyDeclaration
Swift
public func addParticipants(calls: [Call]) throws
Parameters
calls
A list of calls to add to the conference.
-
For a local conference, the local participant joins the conference For a remote conference, the participant rejoins the conference after leaving it earlier on.
Declaration
Swift
public func enter() -> Int
Return Value
0 if succeeded. Negative number if failed
-
Find a participant from a conference.
Declaration
Swift
public func findParticipant(uri: Address) -> Participant?
Parameters
uri
SIP URI of the participant to search.
Return Value
a pointer to the participant found or nullptr.
-
Retrieves the volume of a specific participant.
Declaration
Swift
public func getParticipantDeviceVolume(device: ParticipantDevice) -> Int
Parameters
device
The Participant
Return Value
The volume of the participant expressed in dbm0.
-
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.Declaration
Swift
public func inviteParticipants(addresses: [Address], params: CallParams?) throws
Parameters
addresses
A list of SIP addresses to invite.
params
CallParams
to use for inviting the participants. -
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.
Declaration
Swift
public func isMe(uri: Address) -> Bool
Parameters
uri
A
Address
objectReturn Value
true if the participant is me, false otherwise.
-
For a local conference, the local participant leaves the conference For a remote conference, the participant leaves the conference after joining it earlier on.
Declaration
Swift
public func leave() -> Int
Return Value
0 if succeeded. Negative number if failed
-
Warning
The passed participant uri must be one of those returned by getParticipants()- deprecated: 10/07/2020 Use removeParticipant() instead.
Declaration
Swift
@available(*, deprecated) public func removeParticipant(uri: Address) throws
Parameters
uri
URI of the participant to remove
Return Value
0 if succeeded, -1 if failed
-
Warning
The passed participant must be one of those returned by getParticipantList()Warning
This method may destroy the conference if the only remaining participant had an existing call to the local participant before the conference was createdDeclaration
Swift
public func removeParticipant(participant: Participant) throws
Parameters
participant
participant to remove
Return Value
0 if succeeded, -1 if failed
-
- deprecated: 10/07/2020 Use removeParticipant() instead.
Declaration
Swift
@available(*, deprecated) public func removeParticipant(call: Call) throws
Parameters
call
call to remove
Return Value
0 if succeeded, -1 if failed
-
Set stream capability on me device of a local conference.
Declaration
Swift
public func setLocalParticipantStreamCapability(direction: MediaDirection, type: StreamType)
Parameters
direction
the direction of stream of type stream_type
-
Change the admin status of a participant of a conference (you need to be an admin yourself to do this).
Declaration
Swift
public func setParticipantAdminStatus(participant: Participant, isAdmin: Bool)
Parameters
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
-
Starts recording the conference.
Declaration
Swift
public func startRecording(path: String) -> Int
Parameters
path
Where to record the conference
Return Value
0 if succeeded. Negative number in case of failure.
-
Stops the conference recording.
Declaration
Swift
public func stopRecording() -> Int
Return Value
0 if succeeded. Negative number in case of failure.
-
Terminates conference.
Declaration
Swift
public func terminate() -> Int
Return Value
0 if the termination is successful, -1 otherwise.
-
Update parameters of the conference. This is typically used enable or disable the video stream in the conference.
Declaration
Swift
public func updateParams(params: ConferenceParams) -> Int
Parameters
params
the new parameters to apply.