RTC Installation Questions

Some common RTC installation questions and the steps to resolve them or identify the root cause of the issue can be found below:

1. What is the minimum network/bandwidth requirements to allow for good quality real time communication (RTC) calls?

For video calls, ideally a stable 2+Mbit (uplink and downlink) is required. For audio calls, ideally a stable 100+kbit (for larger conferences preferably 500+kbit) is required.

Note: A stable network connection is likely to provide a better RTC experience rather than just meeting the bandwidth requirements detailed above

2. How do I perform a health check on a Media Bridge?

You can perform a health check on a Media Bridge in several different ways.

On an individual Media Bridge directly:

From a different machine that has access to the Media Bridge, e.g. one of the HA proxies in the same region/deployment:

$> curl --header “Host:<xmpp-domain>” -skv https://<mbr-ip-or-hostname>:<xmpp-port>/http-bind

From the Media Bridge itself:

$> curl --header “Host:<xmpp-domain>” -skv https://localhost:<xmpp-port>/http-bind

Any Media Bridge behind an individual HA proxy:

From any machine within your network (e.g. not outside firewall boundaries):

$> curl -skv https://<hap-ip-or-hostname>:<hap-port>/http-bind

From the HA proxy itself:

$> curl -skv https://localhost:<hap-port>/http-bind

Any Media Bridge worldwide via the global load balanced endpoint:

From any machine within your network (e.g. not outside firewall boundaries):

$> curl -skv https://<xmpp-domain>:<load-balancer-port>/http-bind

All the curl commands should be expected to return status code 200 and the following message: ‘Success! Your Symphony MediaBridge is reachable.’

Note: The message may be different for pre R52 Media Bridge installations, but the status code is the key information to record (the incorrect message is expected on Redhat 7 or Centos 7 based Media Bridges)

If the above health checks fail at some level, it could potentially mean several things:

  • If you receive a timeout, a firewall rule is most likely blocking the traffic or using the wrong port
  • If you receive a ‘Connection refused’ message, the Media Bridge or the HA proxy process you are trying to access isn’t running, is unhealthy or the wrong port is being accessed
  • If you receive a ‘503’ status code from the HA proxy, it means it has no healthy Media Bridges behind it

If an unhealthy HA proxy is detected, you can:

  • Log in to the affected machine
  • Check that the process is running with:

$> haproxy-service status

If an unhealthy Media Bridge is detected, you can:

  • Log in to the Media Bridge
  • Check that the processes are running with:

$> mediabridge-service status

If processes are running, but the HA proxy still considers it unhealthy, interrogate the individual health checks:

Prosody: $> curl -skv --header “Host:<xmpp-domain>” https://localhost:<xmpp-port>/http-bind

Jicofo: $> curl -v http://localhost:8888/about/health

Video Bridge: $> curl -v http://localhost:8080/about/health

If any of the above component checks returns a ‘non-200 response’, it means they are unhealthy and the log files should be taken for further investigation.

3. How to find an individual unhealthy Media Bridge

Assuming there is at least one healthy Media Bridge in a region/deployment, the top level health check should pass. If it doesn’t, either there are no single healthy Media Bridges, HA proxies are unhealthy, or the load balancer is configured incorrectly.

The HA proxy has an optional statistics page which can be accessed here:

http://<hap-ip-or-hostname>:<stats-port>/stats

This will show which Media Bridges in the same region/deployment that are healthy in green or unhealthy in red.

Note: Media Bridges in other regions show up in grey as they are only health checked by their local HA proxies

If you don’t have access to the statistics page, you can use the ‘client_dgram.py’ tool which is provided with HA proxy installations from R51 and later:

$> python client_dgram.py

If the client_dgram tool is not available, you can check the health of the Media Bridge behind the HA proxy using socat:

$> echo 'show stat' | socat unix:run/haproxy.sock - | grep UP

Note: The output from this command can be difficult to interpret. However, the grep command should highlight healthy Media Bridges, leaving any unhealthy ones marked as 'DOWN'

4. How do I know if the Pod is RTC ready?

On Prem: If the customer has been configured with an On Prem Media Bridge which requires a public certificate for https traffic, a Web RTC On Prem token has been added to Pod (requiring a Pod restart), plus the customer has provided an RTC URL for On Prem components, the Pod is ready to use.

Cloud: All customer Pods are RTC ready to use on creation - activation is performed via an ESS ticket.