It handles all room related functions to communicate with EnableX, e.g. Connection of End-Points to EnableX Room, publishing & subscribing of streams etc.

References: AttributesMethodsDelegates

Properties

  • roomID – Unique Room ID
  • roomMetadata – All Information about the Room
  • clientID – Unique Client ID assigned by EnableX to the End-Point
  • clientName – Name of the connected Client from the End Point
  • userRole – Role of the connected Client from the End Point
  • publishStreamId – Published Local Stream ID
  • publishStream – Published Local Stream Object
  • remoteStreams – List of Remote Streams
  • streamsByStreamId – Dictionary of Stream Objects
  • userList – List o Users connected to the Room
  • isRoomActiveTalker – BOOL. If Active Talker is enabled in the Room
  • publishingStats – Local Stream publishing stats

Methods

Given below a categorized listing of methods:

Connection

  • - connect: – To connect End-Client to the Room
  • - disconnect – To disconnect End-Point from the room
  • - Whoami – To get the connected User Information from the End Point

Streaming

Moderator Controls

Devices

Miscellaneous

  • - postClientLogs – To submit Client End Point logs to EnableX Team to audit
  • - changeToAudioOnly: – To change to Audio Only user connection to Audio Video Connection and vice versa. BOOL true to Audio only.
  • - applicationDidEnterBackground: –  To handle background pause state of activity or fragment
  • - applicationWillEnterForeground – To handle background to foreground state of activity or fragment
  • - sendMessage: – To send public & private message
  • - sendFiles: – To upload file to share with all or selected participants
  • - getAvailableFiles: – To get a list of files available for downloading
  • - downloadFile: – To download file

Delegate Methods

Given below is a list of Delegate Methods categorized by their functions.

Connection

  • - room:didConnect: – When Client End Point is connected to the room successfully
  • - roomDidDisconnected: – Client End Point got disconnected to the room
  • - room:didError: – Client End Point’s attempt to connect to room has failed
  • - room:userDidJoined: – Everyone is notified that a new user is connected to the Room
  • - room:userDidDisconnected: – Everyone is notified that a connected user is disconnected from the Room

Re-connection:

  • - room:didConnectionLost: – When End Point looses network connection
  • - room:didConnectionInterrupted: – When connection is interrupted e.g Switch from WiFi to 4G and vice versa
  • - room:didUserReconnectSuccess:– When End-Point successfully gets reconnected with EnableX
  • - room:didReconnect: – When End-Point trying to reconnect within given time period

Streaming

  • - room:didPublishStream: – Publisher is notified that its Stream has been published into the Room
  • - room:didUnpublishStream: – Publisher is notified that its Stream is unpublished/removed from the Room
  • - room:didAddedStream: – Everyone is notified that a Published Stream is unpublished or removed from the Room
  • - room:didRemovedStream: – Everyone is notified that a Published Stream is unpublished or removed from the Room
  • - room:didSubscribeStream: – Participant is notified that he successfully subscribed to a stream
  • - room:activeTalkerList: – Everyone is notified with a updated list of Active Talkers

Devices

  • - didNotifyDeviceUpdate: – Client End Point is notified that Audio Device is changed

Logging

  • - didLogUpload: – When log is uploaded to the Server successfully

Recording

  • - startRecordingEvent: Moderator is acknowledged when Recording starts
  • - stopRecordingEvent: – Moderator is acknowledged when Recording stops
  • - roomRecordOn: – All participants are notified when Recording starts
  • - roomRecordOff: – All participants are notified when Recording stops

Hard Mute

  • - didMutedAllUser: – Moderator is acknowledged when Room is put on Hard Mute state
  • - didUnMutedAllUser: – Moderator is acknowledged when Room is put off Hard Mute state
  • - didHardMutedAll: – Other participants are notified that Room is put on Hard Mute state
  • - didHardUnMuteAllUser: – Other participants are notified that Room is put off Hard Mute state

Screen Sharing

  • - room:screenSharedStarted: – All participants are notified that Screen Share has started
  • - room:screenSharedStopped: – All participants are notified that Screen Share has stopped

Canvas Streaming

  • - room:canvasStarted: – Everyone is notified that a Canvas Streaming has started
  • - room:canvasStopped: – Everyone is notified that ongoing Canvas Streaming has stopped

Lecture Mode

  • - didFloorRequested: – Participant is acknowledged that Moderator received his request for Floor Access
  • - didFloorRequestReceived: – Moderator is notified about a new request received for Floor Access
  • - didGrantFloorRequested: – Participant is notified that moderator has granted him Floor Access
  • - didDenyFloorRequested: – Participant is notified that moderator has denied Floor Access
  • - didReleaseFloorRequested: – Participant is notified that moderator has revoked Floor Access from him
  • - didProcessFloorRequested: – Moderator is acknowledged on his actions on Floor Requests viz. on grant, deny and release floor access

Active Talker

  • room:didGetMaxTalkers: – End-Point receives maximum number of permissible Active Talkers
  • - room:didGetTalkerCount: – End-Point receives number of Talkers is set to receive in Active Talker List
  • - room:didSetTalkerCount: – End-Point is notified when you update number of Talkers to receive in Active Talker List

Stats

  • - didAcknowledgeStats: – End-Point is notified that it is set to receive Stream Statistics
  • - didReceiveStats: – End-Point is notified with Stream Statistics

File Sharing

  • At Sender End
    • -room:didInitFileUpload: – To notify sender that file upload process is initiated
    • -room:didFileUploaded: – To notify sender that file has been uploaded
    • -room:didFileUploadFailed: – To notify sender that file upload process has failed
  • At Receiver End
    • -room:didFileUploadStarted: – To notify intended receiver that a file is being upload
    • -room:didFileAvailable: – To notify intended received that a file is ready to download
    • -room:didFileDownloaded: – To notify file has been downloaded with either Base64 Raw data to be saved (When auto-saving is false) or saved file path.
    • -room:didFileDownloadFailed: – To notify download failure

Miscellaneous

  • - room:didBandWidthUpdated: – End Point is notified when significant change noticed in downstream bandwidth
  • - room:didEventError: – When Client End Point failed to perform an event
  • - room:didReceiveChatDataAtRoom: – End Point receives text-messages
  • - room:didSwitchUserRole: Moderator is acknowledged that he had requested for switch User Role
  • - room:didUserRoleChanged: The New Moderator is notified that he has been promoted to Moderator Role

Explore iOS SDK