-
Notifications
You must be signed in to change notification settings - Fork 19
Home
Allocating and configuring resources on Symphony Media Bridge (SMB) is done through a HTTP api on localhost port 8080. The port used is configurable.
The two main resources that can be allocated on SMB are conferences and endpoints. A conference consists of a group of endpoints (clients) that will forward media to the conference and receive media from the conference. Empty conferences will be removed automatically after a certain timeout. Endpoints can be removed explicitly or be deleted after a certain time of inactivity.
SMB is typically used in conjunction with a conference signalling server. The signalling server will be responsible for SMB resource allocation and configuration. Clients only communicate with SMB directly by sending and receiving media. Configuration of SMB should be done by the signalling server only.
When setting up a new conference with the first client, the flow of operations on SMB is typically
-
Allocate a conference.
-
Allocate an endpoint for the client. SMB responds with transport information that can be used to create and SDP offer to the client.
-
Configure the endpoint using information from the clients SDP answer.
The conferencing system (signalling server + SMB) is typically always the one sending the initial SDP offer.
After setup, a client can reconfigure its endpoint (enabling or disabling audio or video).
When media is flowing between a client and an SMB endpoint, the client and SMB can can communicate using data channel messages. Data channel messages are sent in a JSON format. The different types of messages are:
An array of endpoint ids, notifying the client about the endpoint ids of the video streams currently being forwarded.
The endpoint id of the audio stream currently considered as the most dominant speaker.
Used to communicate which video stream endpoint id the client wants to "pin". Pinning means the video stream for that endpoint id will be forwarded as high quality when simulcast is used.
SMB supports incoming Simulcast video streams from clients. The highest available quality layer will be forwarded for the pinned endpoint, and the lowest quality layer will be forwarded for all other endpoints. Currently only Simulcast with locally modified SDP and a SIM SSRC group is supported (SDP munging).
- HTTP API
- Data channel messages
- Usage examples
- Known limitations