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:
- configure asterisk to accept websocket connections,
- and create user with one line configured for WebRTC. To have user with both SIP and WebRTC line is not supported.
Configuration of XiVO PBX for WebRTC¶
Warning
Security warning: when enabling WebRTC you need to ensure that you do it securely:
- by securing the access to the ARI,
- 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¶
- Create user
- Add line to user without any device
- Edit the line created and, in the Advanced tab, add webrtc=yes options:
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.
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.