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

    Declaration

    Swift

    public func addDelegate(delegate: ConferenceDelegate)
  • 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().

    Declaration

    Swift

    public func removeDelegate(delegate: ConferenceDelegate)
  • Get the conference address of the conference.

    Declaration

    Swift

    public var conferenceAddress: Address? { get 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.

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

    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 .

  • ID

    Get the conference id as string.

    • deprecated: 10/07/2020 Use getConferenceAddress() instead.

    Declaration

    Swift

    @available(*, deprecated)
    public var ID: String { get set }

    Return Value

    the conference id

  • Gets the current input device for this conference.

    Declaration

    Swift

    public var inputAudioDevice: AudioDevice? { get set }

    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 focus of the conference.

    Declaration

    Swift

    public var me: Participant? { get }

    Return Value

    a Participant .

  • Gets the current output device for this conference.

    Declaration

    Swift

    public var outputAudioDevice: AudioDevice? { get set }

    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 participants of one conference.

    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 participant. That list must be freed after use and each URI must be unref with linphone_address_unref

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

    Declaration

    Swift

    public var subject: String { get set }

    Return Value

    conference subject.

  • Retrieves the user pointer that was given to linphone_conference_new()

    Declaration

    Swift

    public var userData: UnsafeMutableRawPointer? { get set }

    Return Value

    The user data associated with the Conference object.

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

  • Call generic OpenGL render for a given conference.

    Declaration

    Swift

    public func oglRender()
  • Call generic OpenGL render preview for a given conference.

    Declaration

    Swift

    public func previewOglRender()
  • 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

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