*** id: 980a28f7-cced-42c7-8b84-b68deedec99d title: RoomSessionFullState keywords: 'SignalWire, Realtime SDK, Node.js, room state, session state' slug: /node/reference/video/room-session-full-state sidebar-title: RoomSessionFullState description: >- RoomSessionFullState object containing the complete state of a video room session including members, recordings, streams, and playback status. max-toc-depth: 3 ---------------- [video-roomsession-1]: /docs/server-sdk/v4/node/reference/video/room-session [video-roomsession]: /docs/server-sdk/v4/node/reference/video/room-session/set-hide-video-muted [video-roomsessionmember]: /docs/server-sdk/v4/node/reference/video/room-session-member Objects of this type contain the full state of a RoomSession at a given point in time. ## **Properties** Unique id for this room session. ID of the room associated to this room session. Name of this room. Display name for this room. Defaults to the value of `name`. Current layout name used in the room. Whether muted videos are shown in the room layout. See [setHideVideoMuted][video-roomsession]. Whether recording is active. List of members that are part of this room session. See [`RoomSessionMember`][video-roomsessionmember]. Metadata associated to this room session. URL to the room preview. List of active recordings in the room. ## **Example** Getting the full state of a room session when it starts: ```js import { SignalWire } from "@signalwire/realtime-api"; const client = await SignalWire({ project: "your-project-id", token: "your-api-token" }); const videoClient = client.video; await videoClient.listen({ onRoomStarted: async (roomSession) => { // roomSession contains the full state console.log("Room ID:", roomSession.roomId); console.log("Room Session ID:", roomSession.id); console.log("Room Name:", roomSession.name); console.log("Display Name:", roomSession.displayName); console.log("Current Layout:", roomSession.layoutName); console.log("Recording Active:", roomSession.recording); console.log("Hide Video Muted:", roomSession.hideVideoMuted); console.log("Metadata:", roomSession.meta); if (roomSession.members) { console.log("Members in room:", roomSession.members.length); roomSession.members.forEach(member => { console.log("- Member:", member.name, "ID:", member.id); }); } if (roomSession.previewUrl) { console.log("Preview URL:", roomSession.previewUrl); } } }); ``` ## **Methods** You get the same methods that are available on a [RoomSession][video-roomsession-1] object.