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

Moderator Controls

Floor Access Controls

  • requestFloor() – To request permission from Moderator to access Floor and publish local Stream in lecture mode.
  • grantFloor() – To grant Floor Access permission to the participant allowing them to publish their local Stream in lecture mode.
  • releaseFloor() – To release Floor Access rights from a participant.
  • denyFloor() – To deny Floor Access permission to a participant in lecture mode.

Miscellaneous

  • postClientLogs() – To submit Client Endpoint logs to EnableX Team for audit.
  • 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.

Explore Web SDK