The EnxRoom is a Derived Class from EnxRtc. It handles all the room-related functions to communicate with the Portal such as connection of Client endpoints to the video Room, publishing and subscription of Streams etc.
References: Attributes – Methods – Events
Attributes
roomID– Unique Room Identifier generated for each Room.clientID– Unique Client ID assigned by the Portal to the Client Endpoint.streams– Dummy Streams available for subscription. Active Talker Notification gives a list of Streams carrying Media.remoteStreams– List of Remote Streams.localStreams– List of Local Streams.status– Room Connection Status: Enum (1=Connecting, 2=Connected, 0=Disconnected).awaitedParticipants– List of users awaiting Moderator’s approval to enter a knock-enabled Room.raisedHands– List of users requesting Floor Access in Lecture Mode.approvedHands– List of users approved for Floor Access in Lecture Mode.
Methods
The category-wise list of methods is as given below:
Connection
connect()– To connect Client Endpoint to the Room.disconnect()– To disconnect Client Endpoint from the Room.whoami()– To know information of the user connected to the Room through the Endpoint.
Streaming
publish()– To publish local stream in the Room.unpublish()– To unpublish a local stream from the Room.subscribe()– To subscribe to a remote stream to start receiving it.startCanvas()– To start Canvas Streaming using a given Canvas DOM ID.stopCanvas()– To stop ongoing Canvas Streaming.stopAllSharing()– To force stop any ongoing Canvas Streaming.startScreenShare()– To start Screen Sharing.stopScreenShare()– To stop Screen Sharing.stopAllSharing()– To force stop any ongoing Screen Share.setReceiveVideoQuality()– To receive a desired video quality at the Client Endpoint.getMaxTalkers()– To get the maximum number of talkers allowed in the Active Talker List.getTalkerCount()– To get the number of talkers set to be received in the Active Talker List.setTalkerCount()– To set the desired number of talkers you want to receive in the Active Talker List.subscribeStreamStatsForClient()– To know local & subscribed remote Stream’s Statistical Information.switchspeaker()– To switch to a different Speaker to play out Audio.
Advance Features
sendMessage()– For advance messaging feature between Session participants.sendFiles()– To initiate a file transfer.recvFiles()– To initiate a file download.cancelUploads()– To cancel uploading process of individual files or cancel all files being uploaded.canceldownloads()– To cancel downloading process of individual files or cancel all files being downloaded.setAudioOnlyMode()– To change to a audio-only call, i.e. you neither want to receive anyone’s video nor want to publish your video.sendUserData()– To send message to all or selected participants in a Room using Custom Signalling Method.muteRoom()– To mute audio/video of Parent Room.unMuteRoom()– To unmute audio/video of Parent Room.disconnect()– To disconnect from Break-Out Room to join back or resume with Parent Room.extendConferenceDuration()– To trigger extension by any user, available only when an Extension Window is open.annotateToolAction()– To configure tools and properties.startAnnotation()– To initiate Annotation.stopAnnotation()– To stop Annotation.subscribeMediaStats()– To get live media statistics of Local Stream, Remote Streams, Canvas Stream and Screen Share being played at any end-point.subscribeForTalkerNotification()– To subscribe to get Talker Notification to know who are the participants talking in this Room.
Break Out Room
createBreakoutRoom()– To create a Break-Out Room.inviteToBreakoutRoom()– To invite one or more users from Parent Room to join the Break-Out Room. The Creator or Owner of a Break-Out Room can send the invite.createAndInviteBreakoutRoom()– To auto-assign users into different Break-Out Room.joinBreakOutRoom()– To join a Break-Out room in case invited. This method may be used from the Parent Room only. A user may only join one Break-Out Room at any given point.rejectBreakOutRoomInvite()– Allows the invited user to reject the invitation to join a Break-Out Room.pause()– Allows the user to pause the Parent Room after joining the Break-Out Room.resume()– To resume the Parent Room if it was paused while joining the Break-Out Room.clearAllBreakOutSession()– Allows the participant to clear all Break-Out Rooms.destroyAllBreakOutSession()– Allows the moderator to destroy all the Breakout Room sessions.
Moderator Controls
disconnectUser()– To force disconnect a participant from the Room.approveAwaitedUser()– To grant permission to a user waiting to join a knock-enabled Room.denyAwaitedUser()– To deny permission to a user waiting to join a knock-enabled Room.hardMute()– To hard-mute a Room where all the participants are on mute.hardUnmute()– To lift the hard-mute restriction from the Room.hardMuteUserAudio()– Allows the Moderator to hard-mute a Participant’s Audio.hardMuteUserVideo()– Allows the Moderator to hard-mute a Participant’s Video.hardUnMuteUserAudio()– Allows the Moderator to unmute the Participant’s Audio.hardUnMuteUserVideo()– Allows the Moderator to unmute the Participant’s Video.startRecord()– To start session recording.stopRecord()– To stop ongoing session recording.startLiveRecording()– Allows the Moderator to start live recording the session.stopLiveRecording()– Allows the Moderator to stop live recording the session.lock()– To lock the Room forbidding any new person from joining the Session.unlock()– To unlock the Room.dropUser()– To disconnect or force-drop a participant from the Session.destroy()– To stop or disconnect an ongoing session.switchRoomMode()– Allows the Moderator to switch the Room’s mode of operation from Group to Lecture or vice versa during a running conference.switchUserRole()– Allows the Moderator to designate a connected Participant to act as a Moderator during the session.pinUsers()– To pin one or more user stream(s).unpinUsers()– To unpin one or more pinned user stream(s).addSpotlightUsers()– To add spotlight on one or more user stream(s).removeSpotlightUsers()– To remove spotlight from one or more user stream(s).
Floor Access Controls
requestFloor()– To request permission from Moderator to access Floor and publish local Stream in lecture mode.cancelFloor()– To cancel request for floor access which is pending at Moderator Side.denyFloor()– To deny a request for floor access to a participant by the Moderator in lecture mode.grantFloor()– To grant Floor Access permission to the participant allowing them to publish their local Stream in lecture mode.finishFloor()– To finish floor access by the Participant.releaseFloor()– To terminate floor access granted to some participant.inviteToFloor()– To provide more options to the Moderator to organize a conference in lecture mode.cancelFloorInvite()– To allow the Moderator to cancel a Floor Invitation sent to a Participant.acceptInviteFloorRequest()– To allow the Participant to accept the invitation to the Floor and talk.
Miscellaneous
addEventListener()– To add listener for Room Bound events for receiving notifications.
Events
A categorized listing of events in as given below:
Connection
room-connected– Acknowledgment to the user when the client endpoint is connected to the room successfully.room-disconnected– Acknowledgment to the user when the client endpoint gets disconnected from the Room.room-failed– Acknowledgment to the user when the client endpoint fails to connect to the Room.room-awaited– Acknowledgment to the user when Client Endpoint connected to the knock-enabled Room successfully and awaiting Moderator’s approval to join the Room.user-connected– Notification to everyone in the Room when a new user enters the Room.user-disconnected– Notification to everyone in the Room when a user is disconnected from the Room.bandwidth-updated– Notification to the user when there is a significant change in the available Bandwidth (Applied on Down Stream).
Streaming
stream-added– Notification to everyone in the Room when a Stream is published in the Room.stream-removed– Notification to everyone in the Room when a Stream is unpublished/removed from the Room.stream-failed– Notification to the Publisher of Stream when they fail to publish the stream.stream-subscribed– Notification to the user when they subscribe to a remote Stream successfully.stream-unsubscribed– Notification to the user when they unsubscribe a remote Stream.user-subscribed– Notification to the Publisher of a Stream when their Stream is subscribed by a user.user-unsubscribed– Notification to the Publisher of a Stream when their Stream is unsubscribed by a user.active-talkers-updated– Notification to everyone in the Room when the list of Active Talkers is updated.active-talker-data-in– When text messages are received.canvas-started– Notification to everyone in the Room when a Canvas Streaming starts.canvas-stopped– Notification to everyone in the Room when Canvas Streaming stops.share-started– Notification to everyone in the Room when Screen Sharing starts.share-stopped– Notification to everyone in the Room when Screen Sharing stops.user-audio-muted– Notification to everyone in the Room when a user’s Audio is muted.user-video-muted– Notification to everyone in the Room when a user’s Video is muted.user-audio-unmuted– Notification to everyone in the Room when a user’s Audio is unmuted.user-video-unmuted– Notification to everyone in the Room when a user’s Video is unmuted.
Moderator Controls
user-awaited– Notification to the Moderator when a user awaits permission to join a knock-enabled Room.room-record-on– Notification to everyone in the Room when the Session gets recorded.room-record-off– Notification to everyone in the Room when the Session recording stops.room-muted– Notification to everyone in the Room when Moderator hard mutes the Room.room-unmuted– Notification to everyone in the Room when Moderator lifts the hard mute state off the Room.hardmute-user-audio– Notification to the Participant when Moderator hard mutes their Audio.hardmute-user-video– Notification to the Participant when Moderator hard mutes their Video.hardunmute-user-audio– Notification to the Participant when Moderator lifts hard mute state off their Audio.hardunmute-user-video– Notification to the Participant when Moderator lifts hard mute state off their Video.
Floor Access Controls
floor-requested– Notification to Moderator when a Participant requests Floor Access.floor-granted– Notification to Participant when Moderator grants Floor Access permission to them.release-floor– Notification to Participant when Moderator revokes their Floor Access rights.floor-released– Notification to the Moderator when a Participant releases Floor Access.floor-denied– Notification to the Participant when Moderator denies Floor Access permission to them.
