WebRTC

General notes

Note

added in version 2016.04

XiVO comes with a WebRTC lines support, you can use in with XiVO UC Assistant and Desktop Assistant. Before starting, please check the WebRTC Environment.

Current WebRTC implementation requires following configuration steps:

Configuration of XiVO PBX for WebRTC

Warning

Security warning: when enabling WebRTC you need to ensure that you do it securely:

  1. by securing the access to the ARI,
  2. and by securing (e.g. via an external firewall) the access to the asterisk HTTP server (which listens on port 5039).

First, secure ARI connection (this step is very important otherwise your XiVO PBX won’t be secure) :

  • Generate a password (e.g. with pwgen -s 16)

  • Edit file /etc/asterisk/ari.conf

  • replace:

    password = Nasheow8Eag
    

    by:

    password = <YOUR_GENERATED_PASSWORD>
    

Then, open asterisk HTTP server to accept outside websocket connections:

  • Edit file /etc/asterisk/http.conf

  • replace:

    bindaddr=127.0.0.1
    

by:

bindaddr=0.0.0.0

By default, asterisk HTTP server has a limit of 100 websocket connections. You can change this limit in the /etc/asterisk/http.conf file:

sessionlimit=200

Restart XiVO PBX services to apply the new settings:

xivo-service restart

Configuration of user with WebRTC line

  1. Create user
  2. Add line to user without any device
  3. Edit the line created and, in the Advanced tab, add webrtc=yes options:
../../_images/webrtc_line.png

Fallback Configuration

When the user is not connected to its WebRTC line, or disconnect from the assistant, you can route the call to a default number as for example the user mobile number. Update the fail option on the No Answer user tab configuration, and add an extension to the appropriate context.

../../_images/user_fail.png

Experimental video call feature

Note

Since 2018.02 as an experimental feature, susceptible to change or removal at any moment.

Since this feature is experimental, it is disabled by default. Video calls are enabled by setting the environment variable ENABLE_VIDEO to true in the /etc/docker/compose/custom.env file:

...
ENABLE_VIDEO=true

Then you need to recreate the xucmgt container with xivocc-dcomp up -d xucmgt.

WebRTC users are automatically configured with VP8 video codec to allow video calls, you must disable all other video codecs. Please avoid any specific codec configuration for WebRTC peers and be sure to remote all video codecs from the SIP General settings, tab Signalling, section Codecs. Either do not customize codecs, either do not select any video codecs.

Manual configuration of user with WebRTC line

For the records