This is a quick user guide for running Restcomm on Docker. You will learn how to install and start using Restcomm in a docker container.

Prerequisites

  • Docker: Just in case you don’t have Docker installed already: https://docs.docker.com/engine/installation/

  • Docker-Compose: Make sure you follow the official installation guide for your platform: https://docs.docker.com/compose/install/

  • System requirements: Please ensure you have allowed Docker to run with enough memory. Restcomm requires minimum 3GB to start 2 java processes: Jboss with Restcomm services and standalone mediaserver.

  • Enabling Text-to-Speech: Get a free API KEY VoiceRss account as explained¬† HERE

  • Firewall: RestComm is a system that relies heavily on network. Ensure there is no firewall blocking any ports that RestComm relies on (you can find them in docker-compose.yml). If in doubt, temporarily disable your firewall to ensure that is not the cause of your problems.

  • SELinux: This has been known to cause "permission denied" issues on some Linux system, you might want to disable or set SELinux to permissive mode.* (hint: getenforce, will show the type of permission you currently have )

Run RestComm

RestComm-Connect includes a single docker-compose.yml file, which is meant to document how the RestComm Docker image should be deployed.

It comes with sane defaults for a standalone development environment, so it should pretty much work out of the box.

  1. Make sure you set your the local ethernet/wifi IP address on your laptop as the value for RCBCONF_STATIC_ADDRESS.

  2. Get an API key for Text-to-Speech and set it as the value for RCBCONF_VOICERSS_KEY.

  3. To try it all out, change to the folder where docker-compose.yml is located and run:

$ docker-compose up

Supported Tags

A note on the docker image tags:

  • Tag "latest". Points to the latest binary from the Continuous Delivery server. Uses the master development branch : restcomm/restcomm:latest. *We don’t advice to use "latest" tag for production as it is constantly changing, and as well new features and fixes may not be documented.

  • We provide specific tags for GA releases (e.g. v770ga). Prefer to use release tags over latest, to avoid accidental updates.

Quick test: Verify it works!

  1. Go to https://RCBCONF_STATIC_ADDRESS:8443/olympus

  2. Press "Sign in" (username alice or bob and password 1234)

  3. Your browser will ask for permission to share microphone and camera, press allow

  4. Go to "Contact", click on the "+1234" and press the "Audio Call" button (phone icon)

  5. You should hear the "Welcome to RestComm, a Telestax Sponsored project" announcement

  6. You can also make a call to the "+1235" to test your Text-to-Speech configuration. (Remember to ensure you provided a correct VoiceRSS key!)

Accessing the Admin UI

  1. Go to https://RCBCONF_STATIC_ADDRESS:8443

  2. Username = administrator@company.com

  3. Password = RestComm

  4. Change the default password

Using the flag "INIT_PASSWORD" you can set administrator password when running RestComm for first time. More info RestComm-Docker Documentation

Basic Docker commands

Get a bash console for a running RestComm container:

docker exec -it RESTCOMM_Container_ID bash

Troubleshooting

Ubuntu 17.10 Docker Compose version

Please ensure you follow the official [docker](https://docs.docker.com/engine/installation/) and [docker-compose](https://docs.docker.com/compose/install/) installation guides, to ensure you are on a compatible docker version.

Excessive demand on memory when exposing a big range of ports.

Due to a known issue on Docker, exposing a big range of ports produce a big need in RAM. On RestComm the issue arises when a big range of RTP ports is exposed. For a system with 4Gb of RAM a range of 50 ports is a good approach (e.g -p 65000-65050:65000-65050/udp). We are expecting that this issue will be solved soon from Docker team.

Consider using the Docker Host network as a workaround for this: https://docs.docker.com/engine/reference/run/#network-settings

Important Notice for RestComm networking

When using a SIP client that is not running on the same local machine as the RestComm docker container, call-setup through SIP/SDP/RTP will fail as the docker container runs on a different network segment. You must set the RCBCONF_STATIC_ADDRESS environment variable to address this.

Known Issue on Firefox when running RestComm Olympus

It is possible that you will not be able to log in to olympus the first time that you will try to connect using Firefox. To fix this problem please follow the solution provided by Faisal Mq (stackoverflow).

  • When you would try to open up wss say using wss://RCBCONF_STATIC_ADDRESS:5083, Firefox will keep on giving you error until you open up a separate Firefox tab and do try hitting URL [https]://RCBCONF_STATIC_ADDRESS:5083 and Confirm Security Exception (like you do on Firefox normally for any https based connection). This only happens in Firefox.