SippoConference

public protocol SippoConference

Represents a conference

  • True if the user was invited to the room

    Declaration

    Swift

    var invited: Bool
  • True if the conference was originated due to a SippoInvitationRequest

    Declaration

    Swift

    var isAnswerToInvitationRequest: Bool
  • Delegate to manage SippoConference changes

    Declaration

    Swift

    var delegate: SippoConferenceDelegate?
  • Allows the user to join the conference.

    Declaration

    Swift

    func join(for constraints: [ConferenceConstraint]?,

    Parameters

    constraints

    List of media that the user wants to share.

    configuration

    Provides info about fps,format,camera position and codes used in conference

    task

    Async result

  • Allow user to preview remote media before accept/decline an invitation This method doesn’t join the user to the conference, only subscribe to remote media

    Declaration

    Swift

    func previewMedia(task: @escaping (SippoTask<Void, SippoConferenceError>) -> ())

    Parameters

    task

    Async result

  • Invite a participant to the conference

    Declaration

    Swift

    func invite(participant: String, for constraints: [ConferenceConstraint], replyOf: String?,

    Parameters

    participant

    Participant to invite

    constraints

    List of media that the caller wants the participant to share. The participant can accept it or provide another one when joining to or updating the conference.

    replyOf

    Provide invitationID if the invite is an InvitationRequest answer

    task

    Async result

  • Cancel an invitation to participant

    Declaration

    Swift

    func cancelInvitation(for participant: String)
  • Expel a participant from a conference

    Declaration

    Swift

    func expel(participant: String, task: @escaping (SippoTask<Void, SippoConferenceError>) -> ())

    Parameters

    participant

    Participant to expel

    task

    Async result

  • Leave a conference

    Declaration

    Swift

    func leave(task: ((SippoTask<Void, SippoConferenceError>) -> ())?)

    Parameters

    task

    Async result

  • Decline an invitation

    Declaration

    Swift

    func declineInvitation()
  • Update a conference with new media, this override current media

    Declaration

    Swift

    func update(constraints: [ConferenceConstraint], task: @escaping (SippoTask<Void, SippoConferenceError>) -> ())

    Parameters

    constraints

    New shared media

  • Start recording conference

    Declaration

    Swift

    func startRecording(task: @escaping (SippoTask<Void, SippoConferenceError>) -> ())

    Parameters

    task

    Async result

  • Stop recording conference

    Declaration

    Swift

    func stopRecording(task: @escaping (SippoTask<Void, SippoConferenceError>) -> ())

    Parameters

    task

    Async result

  • View rendering local video if user is sharing video

    Declaration

    Swift

    func userView(frame rect: CGRect) -> UIView?

    Parameters

    rect

    Rect for UIView

    Return Value

    UIView rendering local video

  • View rendering remote video if participant is sharing video

    Declaration

    Swift

    func viewFor(remoteParticipant: String, frame rect: CGRect, completion: @escaping (UIView?) -> ())

    Parameters

    participant

    Participant

    rect

    Rect for UIView

    completion

    Closure where view is received

  • Remote participants in conference

    Declaration

    Swift

    func remoteParticipants(completion: @escaping ([String]) -> ())

    Parameters

    completion

    Closure to receive usernames

  • Constraints which are sharing each participant

    Declaration

    Swift

    func remoteParticipantConstraints(completion: @escaping ([String: [ConferenceConstraint]]) -> ())

    Parameters

    completion

    Closure to receive usernames with their constraints

  • Enable or disable local video

    Declaration

    Swift

    func enableLocalVideo(_ value: Bool)

    Parameters

    value

    True for enable and false to disable video

  • Enable or disable local audio

    Declaration

    Swift

    func enableLocalAudio(_ value: Bool)

    Parameters

    value

    True for enable and false to disable audio

  • Enable or disable video for participant

    Declaration

    Swift

    func enableRemoteVideo(participant: String, enable: Bool)

    Parameters

    participant

    Participant for disable/enable video

    enable

    true for enable false to disable

  • join(task:) Extension method

    Allows the user to join the conference. If user was invited takes media constraints from invitation, in other case video and audio is set as default.

    • task: Async result

    Declaration

    Swift

    func join(task: @escaping (SippoTask<Void, SippoConferenceError>) -> ())