Configuring On-Premise Conferencing and Group Calls
mesibo live is the conferencing and group calls server included with mesibo On-Premise. It runs as a separate instance from the main mesibo On-Premise server and can be scaled horizontally by running multiple instances.
You can run multiple instances of the mesibo live server depending on the load. The mesibo live automatically handles load balancing across instances and scales up or down as you add or remove more instances.
Note: mesibo On-Premise must be running before you start mesibo live.
Server Requirements
Conferencing and group calls are CPU and bandwidth-intensive. Hence, each mesibo live instance must run on a dedicated server with robust CPU and ample networking bandwidth.
Dedicated bare-metal servers are preferred over cloud instances. If you use cloud instances, select configurations with high-performance networking. Cloud providers offer specialized instance types for this — for example, AWS Enhanced Networkingopen_in_new. Ensure all UDP ports are open on every mesibo live server — this is required for media traffic.
Do not co-deploy mesibo live on the same machine as your main mesibo On-Premise server, as this will degrade performance for all users. Hence, such a configuration is strongly discouraged.
Running mesibo live
There are two steps to launch a mesibo live instance:
- Create a user access token for each mesibo live instance. You MUST NOT use the app token with mesibo live
- Use that token to start the mesibo live instance
Step 1 - Create a Token for mesibo live
mesibo live connects to the main mesibo On-Premise server as a special user. You create this user via the backend API with the live flag set. Each mesibo live instance needs its own unique user address and token — if running multiple instances, repeat this step with a different address for each.
The following example creates a user with the address mesibo-live-1:
{
"op": "useradd",
"token": "<APP_TOKEN>",
"user": {
"address": "mesibo-live-1",
"token": {
"expiry": 525600,
"live": true
}
}
}Note: appid is not required when creating a mesibo live token.
If successful, the response will contain the generated token:
{
"user": {
"uid": 123,
"address": "mesibo-live-1",
"token": "MII_79a818d76fe45fb5a3ac395a0a98251c3db"
},
"op": "useradd",
"result": true
}Copy the token — you will need it in the next step.
Step 2 - Start mesibo live
Run mesibo live using the token generated above:
$ sudo docker run --entrypoint /mesibo/bin/live -v /etc/mesibo:/etc/mesibo \
--net=host --name mesibo-live --rm -d mesibo/mesibo <LIVE_TOKEN>
To see logs directly (useful when starting for the first time or debugging), replace -d with -it:
$ sudo docker run --entrypoint /mesibo/bin/live -v /etc/mesibo:/etc/mesibo \
--net=host --name mesibo-live --rm -it mesibo/mesibo <LIVE_TOKEN>
You should see status messages on both the mesibo live server and the main mesibo On-Premise server confirming the connection.
Troubleshooting
mesibo live Not Connecting
Check that mesibo live is running and has reached active status. The logs should show:
E0703-222433-730 (8850): starting mesibo live
E0703-222433-730 (8866): connecting...
E0703-222434-710 (8866): mesibo live is active
If it does not reach active status, verify that the token was generated correctly with the live flag as described in Step 1.
Public IP Not Detected Correctly
On startup, mesibo live automatically detects and logs the public IP of the server:
E1303-084749-716 (1): starting mesibo live
E1303-084749-716 (22): connecting...
E1303-084750-029 (22): mesibo live is active
E1303-084750-029 (22): Setting public IP: 1.2.3.4
Some cloud providers assign public IPs that are not directly visible to the instance (the instance sees only its private IP). In this case, or if you need to specify a particular IP for a private deployment, pass the IP address as an additional argument:
$ sudo docker run --entrypoint /mesibo/bin/live -v /etc/mesibo:/etc/mesibo --net=host \
--name mesibo-live --rm -it mesibo/mesibo <LIVE_TOKEN> 1.2.3.4
UDP Ports Not Open
mesibo live requires all UDP ports to be open for media traffic. When clients start sending media, you should see log entries like:
E0703-222440-845 (8856): started audio frames 19
E0703-222442-069 (8856): started video frames 19
If you see missing frames instead of started, or no media log entries at all, UDP ports are likely blocked:
E0703-222513-380 (8856): missing audio frames 19
E0703-222514-381 (8856): missing video frames 19
To verify that UDP traffic is reaching your server, run a UDP listener on the server:
$ nc -ul -p 30000
Then from a separate machine, send UDP traffic to that port:
$ nc -u <your server IP> 30000
Type any text and press Enter. If the text appears on the server side, UDP traffic is flowing correctly. If nothing appears, UDP ports are blocked and you need to open them in your firewall or cloud security group before mesibo live will function.
For cloud deployments, ensure UDP ports are opened in your provider's security group or firewall panel in addition to the host-level firewall.