This page was last edited on August 12, 2021, at 07:08.
Comments or questions about this documentation? Contact us for support!
The Genesys WebRTC Service has been tested with the coTURN TURN server, which is a free, high-performance open-source TURN and STUN server implementation. Genesys currently recommends v4.5.0.3 of the coTURN TURN server; however, more recent versions may exist.
If a TURN server is already deployed in your network or you are planning to deploy a TURN server other than coTURN, you can skip the following steps.
For example, if you are deploying the TURN server in an AWS instance, then Enhanced Networking is only available on instances launched with HVM AMIs. Preferably, use C3/C4/R3 instances. For details on AWS EC2 instance types, check here.
Download and install the latest version of TURN server from this link.
You must install the TURN server on a separate server. If you want to install the TURN server in the same machine as the WebRTC Gateway, make sure there is no port conflict.
You must have super-user access to install the TURN server.
# chmod +x install.sh
# ./install.sh
# setcap 'cap_net_bind_service=+ep' /usr/bin/turnserver
/etc/turnserver/turnserver.conf
# service turnserver start
# ps -elf | grep turnserver
5 S 498 24882 1 0 80 0 - 138025 ep_pol 23:44 ? 00:00:00 /usr/bin/turnserver -o -c /etc/turnserver/turnserver.conf
To verify whether your TURN server is running properly and is accessible, go to this demo page.
This page tests the trickle ICE functionality in a WebRTC implementation. It creates a PeerConnection with the specified STUN/TURN servers, and then starts candidate gathering for a session with a single audio stream. As candidates are gathered, they are displayed in a text box, along with an indication when candidate gathering is complete.
Select and remove the default STUN server that is populated in this page, and then add your TURN server(s) instead. For example, if you have installed the Genesys TURN server in turn.example.net and set password as genesys for genesys user, add both:
Then press Gather candidates and specifically check for relay candidates in the result (see example below). If no relay candidates are generated, either your TURN server is not running properly or is not accessible from your network.
Also, the type of candidates released to the application can be controlled via the IceTransports constraint.