room.after
, participant.after
and track.after
. Each occurs in response to a web hook call from the video provider. These events are also recorded in the room's events[]
list.recording.after
and composition.after
will be implemented in future versions.type
{ String } Indexed room event type [room
, participant
, track
]name
{ String } Indexed room event name. created
, ended
, connected
, etc.order
{ Number } Indexed integer representing the order in which the remote event was fired. It's possible thatorder
property may be used to present the remote timeline.roomId
{ ObjectID } Indexed originating local room identifier.room.after :: room.created
- Room is open and available for connection.room.after :: room.ended
- Room is closed, or ended due to a timeout (empty for 5 minutes).duration
{ Number } The number of seconds the room was active.participant.after :: participant.connected
- Participant entered a roomstatus
{ String } The current status of the participant generating this event - either connected
or disconnected
.accountId
{ ObjectID } The id of the account generating the event.participant.after :: participant.disconnected
- Participant left a roomstatus
{ String } The current status of the participant generating this event - either connected
or disconnected
.accountId
{ ObjectID } The id of the account generating the event.duration
{ Number } The number of seconds the participant was connected to the room.track.after :: track.added
- Participant added a trackstatus
{ String } The current status of the participant generating this event - either connected
or disconnected
.accountId
{ ObjectID } The id of the account generating the event.trackKind
{ String } The kind of track - data
, audio
or video
.trackName
{ String } The track name. Currently unused and set to a uuid.track.after :: track.removed
- Participant removed a trackstatus
{ String } The current status of the participant generating this event - either connected
or disconnected
.accountId
{ ObjectID } The id of the account generating the event.trackKind
{ String } The kind of track - data
, audio
or video
.trackName
{ String } The track name. Currently unused and set to a uuid.track.after :: track.enabled
- Participant un-paused a trackstatus
{ String } The current status of the participant generating this event - either connected
or disconnected
.accountId
{ ObjectID } The id of the account generating the event.trackKind
{ String } The kind of track - data
, audio
or video
.trackName
{ String } The track name. Currently unused and set to a uuid.track.after :: track.disabled
- Participant paused a trackstatus
{ String } The current status of the participant generating this event - either connected
or disconnected
.accountId
{ ObjectID } The id of the account generating the event.trackKind
{ String } The kind of track - data
, audio
or video
.trackName
{ String } The track name. Currently unused and set to a uuid.defaultAcl
is owner.delete
and there is no createAcl
defined for Rooms; Rooms must be created in-script using bypassCreateAcl()
.createAcl
, defaultAcl
and - incidentally - custom properties.acl
writing. the shorthand import/export format can be used as well as the standard type
, target
, allow
properties. Anyone with read
access to the room instance is provided a token when reading the token
property. For example:org.configuration.televisit.roomsEnabled
must be true in order to create rooms in an environment.org.configuration.televisit.maxConcurrentRooms
determines how many open rooms are allowed in a given environment.return org.read('configuration.televisit')
)state
is "new"
. The provider room to which clients connect is opened asynchronously. Once this process has completed, the room's state
property will be set to "open"
and fire any room.after
script triggers ({type: 'room', name: 'created', ...}
).status
of the participant is connected
when they are connected to the room.audio
and video
are arrays that contain connected
and/or paused
.connected
will no longer appear in the array, but paused
may linger anddisconnected
:audio
and video
.