WebRTC Environment

One can use WebRTC with XiVO PBX and XiVO CC in the following environment:

  • LAN network (currently no support for WAN environment),
  • with the:
    • UC Assistant or CC Agent with Chrome browser version 73.0.3683.121 or later
    • or Desktop Application

Requirements

The requirements are:

  • to have a microphone and headphones for your PC,
  • to configure your XiVO PBX:
  • have a SSL/TLS certificate signed by a certification authority installed on the nginx of XiVO CC (see: Signed SSL/TLS certificate for WebRTC),
  • and use https:
    • UC Assistant: you must connect to the UC Assistant via https protocol,
    • Desktop Application: you must check Protocol -> Secure in the application parameters.

Note

Currently you can not have a user configured for both WebRTC and a phone set at the same time.

Limitations

Known limitation are :

  • Voice may not be able to hear if your computer have more than 4 network interfaces up at the same time (this can happen if you use virtualization)

Note

To check if you have more than 4 network interfaces you can type following command:
ls /sys/class/net
Then just use:
ifdown <ifname>
This will switch off network interface not required to make your call.

Additional chrome WebRTC-specific options

There are various additional settings used in the code. They are used to improve audio quality by enabling or disabling chrome WebRTC-specific flags.

Note

These options are not customisable. They are set in the code.

Chrome currently supports these audio quality options :

  • Automatic gain control : Adjust voice sound level to make it linear, lowering sound level when the user speaks too loudly.
  • Echo cancellation : Detect and delete echo coming from the playback of the user’s own voice.
  • Noise suppression : Cancel background noises coming from the user’s environment.
  • Highpass filter : Filters out low frequencies noises (like microphone background buzzing permanent sound).
  • Audio mirroring : Reflect sound coming from different directions into a focus point (similar to a parabola).
  • Typing noise detection : Detect and delete keypress sounds.

The current production code is set as follows :

  • googAutoGainControl is set to false
  • googAutoGainControl2 is set to false
  • googEchoCancellation is set to true
  • googEchoCancellation2 is set to true
  • googNoiseSuppression is set to false
  • googNoiseSuppression2 is set to false
  • googHighpassFilter is set to false
  • googAudioMirroring is set to false
  • googTypingNoiseDetection is set to true

Note

This flag used to be valid but is now deprecated :
- Ducking : Reduce an audio signal by the presence of another signal (multiple people talking at the same time).