QNConferenceRepository
public class QNConferenceRepository
extension QNConferenceRepository: ReactiveCompatible
Represents a conference
-
True if the user was invited to the room
Declaration
Swift
public var invited: Bool { get } -
Current user media constraints
Declaration
Swift
public var userConstraints: [(constraint: QNConferenceConstraint, muted: Bool)] { get } -
Current conference state
Declaration
Swift
public var state: QNConferenceState { get } -
Incoming invitation identifier
Declaration
Swift
public var incomingInvitationId: String? { get } -
QSS room identifier
Declaration
Swift
public var roomId: String { get } -
Room participants
Declaration
Swift
public var participants: [String] { get } -
Room identifier when make an attended transfer
Declaration
Swift
public var attendedTransferRoomId: String? { get }
-
Allows the user to join the conference.
Declaration
Swift
public func join(for constraints: [QNConferenceConstraint]?, configuration: QNConferenceConfiguration, result: @escaping (Result<Void, QNSDKError>) -> Void)Parameters
constraintsList of media that the user wants to share.
configurationProvides info about fps,format,camera position and codes used in conference
resultAsync Result, success when join is completed
-
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
public func previewMedia(prepareAudio: Bool, result: @escaping (Result<Void, QNSDKError>) -> Void)Parameters
prepareAudioPublish muted audio to avoid delays when user joins conference
resultAsync Result, success when previewMedia is completed
-
Invite a participant to the conference
Declaration
Swift
public func invite(to participant: String, for constraints: [QNConferenceConstraint], result: @escaping (Result<QNConferenceInvitationResponse, QNSDKError>) -> Void)Parameters
toAn identifier like username@domain or alias
constraintsList of media that the caller wants the participant to share. User who receives can accept it or provide another one when joining to or updating the conference.
resultAsync Result with ConferenceInvitationResponse
-
Invite a contact to the conference
Declaration
Swift
public func invite(contact: QNContact, for constraints: [QNConferenceConstraint], result: @escaping (Result<QNConferenceInvitationResponse, QNSDKError>) -> Void)Parameters
contacta Contact instance
constraintsList of media that the caller wants the user to share. The user can accept it or provide another one when joining to or updating the conference.
resultAsync Result with ConferenceInvitationResponse
-
Cancel an invitation to participant
Declaration
Swift
public func cancelInvitation(to participant: String, result: @escaping (Result<String, QNSDKError>) -> Void)Parameters
toAn identifier like username@domain or alias
resultAsync Result with invitationId
-
Cancel an invitation to contact
Declaration
Swift
public func cancelInvitation(to contact: QNContact, result: @escaping (Result<String, QNSDKError>) -> Void)Parameters
toa Contact instance
resultAsync Result with invitationId
-
Expel a participant from a conference
Declaration
Swift
public func expel(participant: QNConferenceParticipant, result: @escaping (Result<Void, QNSDKError>) -> Void)Parameters
participantParticipant to expel
resultAsync Result, success when expel is completed
-
Decline an invitation
Declaration
Swift
public func declineInvitation() -
Leave a conference
Declaration
Swift
public func leave(result: ((Result<Void, QNSDKError>) -> Void)?)Parameters
resultAsync Result, success when leave is completed
-
Accept an attended transfer
Declaration
Swift
public func acceptAttendedTransfer(result: @escaping (Result<Void, QNSDKError>) -> Void) -
Cancel an attended transfer
Declaration
Swift
public func cancelAttendedTransfer(result: @escaping (Result<Void, QNSDKError>) -> Void) -
Starts a new blind transfer
Declaration
Swift
public func transferUnattendedConference(to: String, constraints: [QNConferenceConstraint], result: @escaping (Result<Void, QNSDKError>) -> Void)Parameters
toAn identifier like username@domain or alias who will be called
constraintsList of media that the caller wants the participant to share.
resultAsync Result, success when transfer is completed
-
Starts a new blind transfer
Declaration
Swift
public func transferUnattendedConference(to: String, result: @escaping (Result<Void, QNSDKError>) -> Void)Parameters
toAn identifier like username@domain or alias who will be called with current user list of media that the caller wants the participant to share.
resultAsync Result, success when transfer is completed
-
Starts a new blind transfer
Declaration
Swift
public func transferUnattendedConference(to contact: QNContact, constraints: [QNConferenceConstraint], result: @escaping (Result<Void, QNSDKError>) -> Void)Parameters
toa Contact instance
constraintsList of media that the caller wants the participant to share.
resultAsync Result, success when transfer is completed
-
Accepts a blind transfer
Declaration
Swift
public func acceptUnattendedTransfer(_ conferenceTransfer: QNConferenceTransfer, result: @escaping (Result<Void, QNSDKError>) -> Void)Parameters
conferenceTransferTransfer to be accepted
resultAsync Result, success when accept is completed
-
Update a conference with new media, this override current media
Declaration
Swift
public func update(constraints: [QNConferenceConstraint], result: @escaping (Result<Void, QNSDKError>) -> Void)Parameters
constraintsNew shared media
resultAsync Result, success when update is completed
-
Pause publish and subscribe media actions to attend other conference
Declaration
Swift
public func hold(completion: @escaping (Result<Void, QNSDKError>) -> Void)Return Value
Complete when hold is finished
-
Restart media which had been published/suscribed before hold
Declaration
Swift
public func unhold(completion: @escaping (Result<Void, QNSDKError>) -> Void)Return Value
Complete when unhold is finished
-
Switch camera to front or back position
Declaration
Swift
public func switchCamera() -
Start recording conference
Declaration
Swift
public func startRecording(result: @escaping (Result<Void, QNSDKError>) -> Void)Parameters
resultAsync Result, success when startRecording is completed
-
Stop recording conference
Declaration
Swift
public func stopRecording(result: @escaping (Result<Void, QNSDKError>) -> Void)Parameters
resultAsync Result, success when stopRecording is completed
-
View rendering local video if user is sharing video
Declaration
Swift
public func userView(frame rect: CGRect) -> UIView?Parameters
rectRect for UIView
metalRenderUse metal library for video view
Return Value
UIView rendering local video
-
View rendering remote video if participant is sharing video
Declaration
Swift
public func viewFor(remoteParticipant: QNConferenceParticipant, frame rect: CGRect) -> UIView?Parameters
participantParticipant
rectRect for UIView
metalRenderUse metal library for video view
Return Value
A UIView rendering remote video if participant is sharing it
-
Remote participants in conference
Declaration
Swift
public func remoteParticipants(completion: @escaping ([(participant: QNConferenceParticipant, activeConstraints: [QNConferenceConstraint], status: QNConferenceParticipant.Status)]) -> Void)Parameters
completionClosure to receive participants with active constraints and status
-
Mute conference audio
Declaration
Swift
public func muteConferenceAudio() -
Unmute conference audio
Declaration
Swift
public func unmuteConferenceAudio() -
Mute local media
Declaration
Swift
public func muteLocal(constraint: QNConferenceConstraint)Parameters
constraintvideo or audio
-
Unmute local media
Declaration
Swift
public func unmuteLocal(constraint: QNConferenceConstraint)Parameters
constraintvideo or audio
-
Mute remote media
Declaration
Swift
public func muteRemoteVideo(participant: QNConferenceParticipant)Parameters
participantParticipant to mute
-
Unmute remote media
Declaration
Swift
public func unmuteRemoteVideo(participant: QNConferenceParticipant)Parameters
participantParticipant to unmute
-
Send dtmf sounds
Declaration
Swift
public func send(dtmf: String, result: @escaping (Result<Void, QNSDKError>) -> Void)Parameters
dtmfdialpad number
QNConferenceRepository Class Reference