Skip to main content

CONFERENCE API Reference

Module Information

Service Files:

  • Private: service/conference.js
  • Public: service/conference.js

Available Services: 12 Documented Services: 12


conference.accept

Accept an incoming call from a caller. Notifies the caller and all other connections of the current user (excluding the accepting socket) via RedisStore. Returns the caller object.

PropertyValue
ScopeHub (requires hub context)
PermissionRead (2)

Endpoint:

https://hostname/-/svc/conference.accept

Parameters

ParameterTypeRequiredDefaultDescription
callerobjectYes-Caller descriptor object. Must contain caller_id which is used as the target socket_id for the notification.
socket_idstringYes-Socket ID of the accepting client. Used to exclude the accepting connection from the broadcast and to identify the accepted socket.
servicestringNo-Live notification service name forwarded to the inform call via input.get(Attr.service).

Returns

FieldTypeDescription
callerobjectThe caller descriptor object as received in the request

Possible Errors

Error CodeHTTP StatusDescription
MISSING_PARAM400caller or socket_id is required

conference.attendee

Retrieve attendee information for a conference participant. Calls the conference_attendee stored procedure with the given participant ID.

PropertyValue
ScopeHub (requires hub context)
PermissionAnonymous (0)

Endpoint:

https://hostname/-/svc/conference.attendee

Parameters

ParameterTypeRequiredDefaultDescription
participant_idstringYes-ID of the conference participant to look up

Returns

FieldTypeDescription
dataobjectAttendee record returned by the conference_attendee stored procedure

Possible Errors

Error CodeHTTP StatusDescription
MISSING_PARAM400participant_id is required

conference.broadcast

Broadcast an event payload to all socket connections on the current hub, excluding the sender socket. Uses RedisStore to push the data to all entity sockets retrieved via entity_sockets stored procedure.

PropertyValue
ScopeHub (requires hub context)
PermissionRead (2)

Endpoint:

https://hostname/-/svc/conference.broadcast

Parameters

ParameterTypeRequiredDefaultDescription
socket_idstringYes-Socket ID of the broadcasting client. Excluded from the recipient list.
eventstringYes-Event name to broadcast to all other connected sockets on the hub
payloadobjectYes-Arbitrary event payload object to broadcast to all other sockets
servicestringNo-Service name attached to the RedisStore message envelope via input.get(Attr.service).

Returns

FieldTypeDescription
payloadobjectThe payload object as received in the request, echoed back to the caller

Possible Errors

Error CodeHTTP StatusDescription
MISSING_PARAM400socket_id, event, or payload is required

conference.cancel

Cancel a conference room and notify all participants. Calls conference_cancel to retrieve the current room participants, then broadcasts a cancellation notification to all of them via RedisStore. Pushes the caller online status update after cancellation.

PropertyValue
ScopeHub (requires hub context)
PermissionOwner (7)

Endpoint:

https://hostname/-/svc/conference.cancel

Parameters

ParameterTypeRequiredDefaultDescription
room_idstringYes-ID of the conference room to cancel
socket_idstringYes-Socket ID of the cancelling client
servicestringNo-Live notification service name forwarded to the inform call via input.get(Attr.service).

Returns

FieldTypeDescription
dataobjectEmpty response. Side-effects (cancellation notifications) are the primary outcome.

Possible Errors

Error CodeHTTP StatusDescription
MISSING_PARAM400room_id or socket_id is required

conference.decline

Decline an incoming call. Notifies the caller via RedisStore using the caller_id as the target socket. Pushes the current user online status after declining.

PropertyValue
ScopeHub (requires hub context)
PermissionRead (2)

Endpoint:

https://hostname/-/svc/conference.decline

Parameters

ParameterTypeRequiredDefaultDescription
callerobjectYes-Caller descriptor object. Must contain caller_id which is used as the target socket_id for the decline notification.
servicestringNo-Live notification service name forwarded to the inform call via input.get(Attr.service).

Returns

FieldTypeDescription
callerobjectThe caller descriptor object as received in the request

Possible Errors

Error CodeHTTP StatusDescription
MISSING_PARAM400caller is required

conference.get_caller

Retrieve the active caller information for the current user from a specific guest. Calls the conference_get_caller stored procedure using the current user as the callee and the provided guest_id as the caller. Returns an empty object if no active call is found.

PropertyValue
ScopeHub (requires hub context)
PermissionOwner (7)

Endpoint:

https://hostname/-/svc/conference.get_caller

Parameters

ParameterTypeRequiredDefaultDescription
guest_idstringYes-ID of the guest/caller to look up. Used as the caller_id in the conference_get_caller procedure call.

Returns

FieldTypeDescription
dataobjectCaller record including room_id when an active call is found, or an empty object when no active call exists

Possible Errors

Error CodeHTTP StatusDescription
MISSING_PARAM400guest_id is required

conference.invite

Invite a guest user to join a conference room. Checks for a pending cross-call scenario first, then calls conference_invite to create or retrieve the room. Joins the caller into the room via conference_join and notifies all target sockets via RedisStore. Returns the room_id and nid on success, or an offline indicator if the guest has no active sockets.

PropertyValue
ScopeHub (requires hub context)
PermissionOwner (7)
LoggingEnabled

Endpoint:

https://hostname/-/svc/conference.invite

Parameters

ParameterTypeRequiredDefaultDescription
hub_idstringYes-Hub ID used as the conference context
guest_idstringYes-ID of the user being invited to the conference
room_idstringNo-Existing room ID to invite into. When absent, a new room is created via conference_invite.
socket_idstringYes-Socket ID of the inviting client. Used as the caller_id in notifications.
metadataobjectYes-Conference metadata object. The uid field is overridden with the current user ID before the procedure call.
servicestringNo-Live notification service name forwarded to the inform call via input.get(Attr.service).

Returns

FieldTypeDescription
room_idstringID of the conference room. Returned on successful invite.
nidstringNode ID of the conference room (same as room_id). Returned on successful invite.
offlinenumberSet to 1 when the invited guest has no active socket connections. Mutually exclusive with room_id.

Possible Errors

Error CodeHTTP StatusDescription
WEAK_PRIVILEGE403Conference join failed due to insufficient permissions after invite
MISSING_PARAM400hub_id, guest_id, socket_id, or metadata is required

conference.join

Join a conference room as an attendee or host. Calls conference_join with the provided args and metadata, retrying once for guest users if permission is initially missing. On success, sends room info and attendee list to all existing room participants via RedisStore (conference.start for host, conference.join or conference.accept for attendees). Returns room details, permission, configs, and the full attendee list.

PropertyValue
ScopeHub (requires hub context)
PermissionAnonymous (0)
LoggingEnabled

Endpoint:

https://hostname/-/svc/conference.join

Parameters

ParameterTypeRequiredDefaultDescription
socket_idstringYes-Socket ID of the joining client
metadataobjectYes-Conference metadata object. The uid field is injected automatically. The type field must be present in the object or provided separately via the type param.
hub_idstringYes-Hub ID of the conference room to join
room_idstringNo-ID of the specific room to join. Optional; resolved by the conference_join procedure when absent.
typestringNo-Conference type (e.g. meeting, connect). Required when metadata.type is not already set.
guest_namestringNo-Display name for guest users. Applied to metadata and persisted via cookie_touch when the caller is a guest.

Returns

FieldTypeDescription
permissionstringPermission level granted to the joining user in this room
detailsobjectMFS node attributes for the conference room node, fetched via mfs_node_attr
configsobjectPlatform conference configuration object from myDrumee.conference
attendeesarray<object>List of other participants currently in the room (excluding the joining client)
userobjectThe joining user record as returned by conference_join

Possible Errors

Error CodeHTTP StatusDescription
WEAK_PRIVILEGE403Conference join failed due to insufficient permissions
MISSING_PARAM400socket_id, metadata, or hub_id is required

conference.leave

Leave a conference room. Calls conference_leave to remove the socket from the room, then pushes the updated online status of the current user to all connected peers. Returns the updated peer list.

PropertyValue
ScopeHub (requires hub context)
PermissionAnonymous (0)

Endpoint:

https://hostname/-/svc/conference.leave

Parameters

ParameterTypeRequiredDefaultDescription
room_idstringYes-ID of the conference room to leave
socket_idstringYes-Socket ID of the leaving client

Returns

FieldTypeDescription
peersobjectUpdated peer list returned by pushUserOnlineStatus after the leave operation

Possible Errors

Error CodeHTTP StatusDescription
MISSING_PARAM400room_id or socket_id is required

conference.logCall

Log a completed or terminated call as a chat message in both the caller and callee channel databases. Only logs when the event is cancel, leave, reject, or decline. Writes a call-type channel message to both the author and peer databases with the appropriate role metadata, then pushes the chat.post notification to both parties via RedisStore.

PropertyValue
ScopeHub (requires hub context)
PermissionOwner (7)

Endpoint:

https://hostname/-/svc/conference.logCall

Parameters

ParameterTypeRequiredDefaultDescription
calleeobjectYes-Callee descriptor object. Must contain entity_id and contact_id fields used to identify the peer and log the call message.
eventstring (cancel, leave, reject, decline)Yes-Call termination event. Must be one of: cancel, leave, reject, decline. Other values are silently ignored and no log is written.
durationnumberNo0Call duration in seconds. Stored in the message metadata. Defaults to 0 when not provided.

Returns

FieldTypeDescription
calleeobjectThe callee descriptor object as received in the request

Possible Errors

Error CodeHTTP StatusDescription
MISSING_PARAM400callee or event is required

conference.revoke

Revoke a conference invitation for a specific callee. Calls conference_revoke to remove the callee from the room, then notifies all affected socket connections via RedisStore. Writes a call log entry via writeLog for the callee with a cancel event.

PropertyValue
ScopeHub (requires hub context)
PermissionOwner (7)

Endpoint:

https://hostname/-/svc/conference.revoke

Parameters

ParameterTypeRequiredDefaultDescription
hub_idstringYes-Hub ID of the conference room context
calleeobjectYes-Callee descriptor object. Must contain drumate_id used to identify the participant to revoke, and entity_id and contact_id used for the call log.
socket_idstringYes-Socket ID of the revoking client. Used as the caller_id in the notification payload.
room_idstringNo-ID of the conference room. Optional; resolved from the conference_revoke procedure result when absent.
servicestringNo-Live notification service name forwarded to the inform call via input.get(Attr.service).

Returns

FieldTypeDescription
room_idstringID of the conference room from which the callee was revoked

Possible Errors

Error CodeHTTP StatusDescription
MISSING_PARAM400hub_id, callee, or socket_id is required

conference.update

Update conference room metadata for the current socket and broadcast the updated metadata to all other sockets in the hub. Calls conference_update only when the socket owner matches the current user. Broadcasts the updated metadata with a timestamp to all other hub sockets via RedisStore.

PropertyValue
ScopeHub (requires hub context)
PermissionAnonymous (0)

Endpoint:

https://hostname/-/svc/conference.update

Parameters

ParameterTypeRequiredDefaultDescription
room_idstringYes-ID of the conference room to update
socket_idstringYes-Socket ID of the updating client. Used to verify ownership and to exclude from the broadcast recipient list.
metadataobjectYes-Updated conference metadata object. The uid field is set to the current user ID before persisting.
eventstringNo-Event name attached to the RedisStore broadcast message via input.get(event).
servicestringNo-Service name attached to the RedisStore broadcast message via input.get(Attr.service).

Returns

FieldTypeDescription
dataobjectResult of conference_update when the socket owner matches the current user, otherwise empty response

Possible Errors

Error CodeHTTP StatusDescription
MISSING_PARAM400room_id, socket_id, or metadata is required

  • ACL System - Permission model
  • Service Routing - URL patterns
  • Error Handling - Error codes