The EnxRoom is a Derived Class from EnxRtc. It handles all the room-related functions to communicate with EnableX such as connection of Client endpoints to EnableX Room, publishing and subscription of Streams etc.

References: AttributesMethodsEvents

Attributes

  • roomID – Unique Room Identifier generated for each Room.
  • clientID – Unique Client ID assigned by EnableX 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

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.
  • makeOutboundCall() – To initiate an Outbound Call to PSTN Number or SIP URI inviting the called participant to join the session on accepting the call.
  • 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

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.