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 }
  • State is used to indicate the current state of a conference.

    See more

    Declaration

    Swift

    public enum State : Int
  • Undocumented

    Declaration

    Swift

    public func addDelegate(delegate: ConferenceDelegate)
  • Undocumented

    Declaration

    Swift

    public func removeDelegate(delegate: ConferenceDelegate)
  • Gets the call that is controlling a conference.

    Declaration

    Swift

    public var call: Call? { get }

    Return Value

    the Call controlling the conference or nil if none or local conference

  • 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.

  • Returns core for a Conference.

    Declaration

    Swift

    public var core: Core? { get }

    Return Value

    back pointer to Core object. Returns back pointer to Core object.

  • 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.

  • ID

    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.

  • me

    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.

  • Get the current state of the conference.

    Declaration

    Swift

    public var state: Conference.State { get }

    Return Value

    the State of the conference.

  • 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 any

    Declaration

    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 object

    Return 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 created

    Declaration

    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.