Conference room services

Service name

  • service name: SippoAS.qss.rooms-basic

  • Service hierarchy: sippoas/qss/lib/services/rooms

Functionality

This service manages the creation/update/deletion of conference rooms in the audio MUC and video SFU via the dispatcher service.

Service Configuration

The configuration of this service is placed in the config.json:

// skipped code
"rooms": {
  "collectionType": "janus",
  "setOwner": true,
  "updateRoomOnwerWhenLeaves": false,
  "janusAddress": "http://dispatcher:8020",
  "removeAfter": 0,
  "participantsLimit": 5,
  "notInACall": true,
  "userIdAsRoomId": true
},
// skipped code

Where the meaning of each field is:

  • janusAddress: URL of the dispatcher service to be contacted for conference room management.

  • removeAfter: wait X milliseconds before removing a peer from the conference room when that peer (a registry object) unregisters or loses connection with qss. Its value as default should be 0 (leave the conference room immediately).

  • participantsLimit: max number of participants which can be inside a conference room. When this value is reached, an error is returned when adding a new user to the conference room.

  • notInACall: When this flag is false, a user can create as many conference rooms as he wants. If this flag is true, a user will be able to create a new room depending on how the conference state service was configured.

  • userIdAsRoomId: When this flag is true, the roomId will be equals to the username of who creates the room.

  • collectionType: indicate if it is used the dispatcher or a mongo collection to save data related with the rooms. In order to “janusAddress” makes sense, this key has to be filled with “janus”.

  • setOwner: If this flag is true, the rooms have an owner and only an owner could perform some actions in the room.

  • updateRoomWhenOwnerLeaves: If this flag is true, when the owner of the room leaves it then a new owner is chosen from the available users in the room.

Log messages

Level

Message

Debug

“create”, peer, record

Debug

“update”, peer, id, acl, record, dryRun

Debug

“close”, peer, id,

Debug

“leave”, peer, id,

Debug

“destroying the room”, roomId

Debug

“try to know if the user can create a room”, peer

Troubleshooting & caveats

If the service is not working as expected, a few steps to follow:

  • Verify that the message broker is up and running.

  • Verify that the service is connected to the message broker.

  • Verify that the URL of the sippo-server services API is correct.