UC Assistant
Note
This section describes the feature of the UC Assistant application. It is available as a web application from your Web Browser. It is also available as a desktop application with these additionnal features:
show OS integrated notifications when receiving call
get keyboard shortcut to answer/hangup and make call using Select2Call feature
open when machine startups
close in tray
To install the desktop application, see the desktop application installation page.
What is the XiVO UC Assistant ?
The XiVO UC Assistant is a Web application that enables a user to:
search contacts and show their presence, phone status
make calls through physical phone or using WebRTC
transfer incoming or outgoing calls
access voicemail
enable call forwarding and Do Not Disturb (aka DND)
show history of calls
chat between XiVO users also using UC assistant
WebRTC
Requirements
You can use WebRTC with XiVO UC or XiVO CC in the following environment:
LAN network (currently no support for WAN environment without using XiVO Edge),
with the:
UC Assistant or CC Agent with Chrome browser version 85 or later
or Desktop Application
PC Configured with a microphone and headphones/speakers.
WebRTC Features
The UC Assistant, CC Agent and Switchboard can be used by users with WebRTC configuration, without physical phone.
For configuration and requirements, see Requirements.
*55 (echo test)
To test your microphone and speaker, you may call the echo test application. After a welcome message, the application will echo everything what you speak.
Dial the *55 number.
You should hear the “Echo” announcement.
- After the announcement, you will hear back everything you say.
If you hear what you are saying it means that your microphone and speakers are working.
Press # or hangup to exit the echo test application.
Headset call control (WebHID)
Important
This feature works only with Poly and Jabra headsets supporting WebHID on the constructor website for now. You can contact the company to talk about additional brands support.
Your headset must be up to date, and the update can be done through their respective brand software.
The Linux support is not guaranteed and is discussed at the end of this section
Warning
Plantronics headset: Plantronics Hub application MUST be uninstalled for this feature to work (it can be replaced by the Poly Lens application).
Jabra headset: in Jabra Direct application, the option
Call control with softphonein Device settings –> Softphone menu MUST be enabled.
To enable it, go in the application menu, then click on the headset call control button. A popup will open so you can pick your headset in the list. Note that only devices from the supported brands will be displayed in the list.
Enabling on UC Assistant |
Enabling on CCAgent & POPC |
|
|
When enabled, the headset call control allows an user to answer and hangup using his headset, either in the web assistant or in the desktop application. You need to have your headset connected using it’s dongle (or through an usb cable). The feature does not work through direct bluetooth.
When the headset is correctly connected to your application, you will have a visual hint displayed at the top of your application (green blinking / headset).
Headset control hint on UC Assistant |
Headset control hint on CC Agent & POPC |
|
|
Depending on the case, pushing the phone action button or the play/pause button of your headset (often placed at the center of an earpiece) should do the followings actions :
if your softphone is ringing, you will answer
if you are in a call or a conference, you will hangup
Note
If the last headset you used is still connected the next time you use your application, then headset call control will be re-enabled automatically.
To try this feature on Linux, you will need to have at least read/write permission over your hidraw driver. Here is a way to do it:
echo 'KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0666"' | sudo tee /etc/udev/rules.d/99-hidraw-readonly.rules
sudo udevadm control --reload-rules
sudo udevadm trigger
Please note that, although there are generic drivers for Plantronics and Jabra devices in the Linux kernel (3.19 for Plantronics and 4.16 for Jabra), these devices appear to function quite differently when used on Linux compared to Windows. Therefore, we cannot guarantee that the headset will behave as expected on Linux. You could try some device-specific drivers if made available by these brands, provided they support call control on Linux.
Input/Output Audio Device
Audio device for input (microphone) or output (speaker) can be chosen within the application configuration:
Secondary Ringing Device
When receiving a call, your computer will play a ringing sound to notify you. By default, this sound is played on the audio device selected in the audio configuration menu. In order to play the ringing sound on another audio device, you can configure it in the Secondary ringing device section.
For example, if your headset is set as the default audio device for calls, you can configure your speakers as the Secondary ringing device to ensure you hear incoming call notifications even when you’re not wearing your headset.
Ensures you never miss an incoming call notification.
Allows flexibility in choosing where the ringing sound is played.
Ideal for setups with multiple audio devices (e.g., headset and computer speakers).
Ringing Sound
You can also choose to change your ringtone sound, both those options are available in the respective menu of the UCAssistant, CCAgent, and Switchboard, on the top right corner.
This feature is only available when using a WebRTC line.
Mute your microphone
Being a webrtc user allows you to mute your microphone while being in a call with somebody. Clicking this button again will unmute the microphone. Clicking directly on the volume meter will have the same effect as clicking on the mute button. The little microphone icon in the volume meter will change according to your mute state.
On UC Assistant :
On CC Agent and Switchboard :
Volume indication
Two progress bars show the volume level of the speaker and the microphone. It certifies that the audio flow has been sent.
Sound detection
During the first five seconds of your call, if the application detect that there is no sound coming from your microphone, a small message will appear.
Call quality detection
If the call quality can be impacted by some network issues or server configuration issues, a small message will appear.
The message will stay up to 10 seconds after the audio quality is back to normal. The advanced statistics in the “show details” section and the play icon colors are updated live.
The current treshold are as following :
- Quality goes to medium when something is higher than :
Jitter: 50 ms
Packet losts: 10%
Round trip time: 150 ms
- Quality goes to bad when something is higher than :
Jitter: 100 ms
Packet losts: 20%
Round trip time: 300 ms
Call quality server-side feedbacks
If the quality of a call goes wrong, a live statistics feedback will be sent to the server. There will also be an automatic feedback at the end of each call, giving informations on the point where the call quality was at it’s worst state. For more informations on those logs - see Audio quality issues.
Live feedbacks
Live audio quality measurement is taken every 2 seconds. If the quality is bad enough compared to the treshold, they are visible on the user interface as a small yellow message, and are also visible in the browser console. The statistics that are calculated using those measurements are done using the segment of time inbetween the last measurement and the new one, so it will be the last 2 seconds of the call for each measurement. The quality feedbacks are sent in xuc server logs only when it deteriorate enough to match the medium or bad quality treshold, and they respect a pause of at least 20 seconds inbetween each one to prevent flooding logs. For more informations on those logs - see Audio quality issues.
End of call report
The quality report at the end of each call is always sent to the xuc server logs even if the call went well. The statistics that are present in this end of call report are equals to the worst numbers found during the call. For example, if at some point the user had a spike of 20% packet loss during a few seconds but the rest of the call went well, the report will state that the packet loss spike was 20%. It is the same with jitter and RTT. It’s not an average, it’s always the highest detected statistic. For more informations on those logs - see Audio quality issues.
Upload and download directions
The upload direction is the direction from the user point of view (local outbound flow) sending data to the server (remote inbound flow). The download direction is the direction from the server point of view (remote outbound flow) sending data to the user (local inbound flow)
Opus Codec
By default WebRTC line uses the Opus codec.
It enhances the audio quality of calls with a lower bitrate (around 20kbps with the current configuration compared to 64kbps for alaw codec).
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
ls /sys/class/netifdown <ifname>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
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
Login
To login, you must have a user configured on the XiVO PBX with:
CTI Login enabled,
Login, password and profile configured
A configured line with a number
Warning
If a user tries to login without a line, an error message is displayed and user is redirected to the login page (this applies also to Desktop Applications )
Note
Automatic login keeps you signed in until you log out.
Search
You can use the search section to lookup for people in the company, results will display all information known for the user.
On the line of the user, you will see the following actions :
start call : will call the default phone number
start chat conversation (if it is a XiVO user)
start video call (if the video calls are available for this user)
send an email (if user has an email)
When clicking on the line, a contact modal opens displaying detailed information about the selected user.
Contact modal
This modal is composed of a Header and three main sections Contacts, General and Location
Their content is filled with what is defined in the selected Display Filter and the selected Directories.
Header
Displays the name and up to two optionnal text fields (user’s role/function…)
Contacts
Contains up to 5 configurable numbers/callables and supports to display only 1 email.
You will be able to:
display all the phone numbers available for this user
start call by clicking on the phone icon
copy the phone number into your clipboard by clicking on the copy icon.
display the user’s email address if he has one.
copy the user email into your clipboard by clicking on the copy icon
start writing an email by clicking on the email (it will open the user’s configured email client)
Note
By default only the email destination is pre-filled but you can also pre-fill the email subject and body via a template - see Email Template
General
Contains up to 5 configurable text fields to display further information
Location
Contains up to 2 configurable text fields to display further information
Note
Note that General and Location sections will be folded if no fields are filled in.
Important
Integration: to enable this feature, you must configure the directories in the XiVO PBX as described in Directories and Personal contacts.
Forwarding Calls and DND
From UC Assistant you can activate Do Not Disturb to block all incoming calls or forward call to any another number just by clicking on action button as seen on following screenshot:
You can then change your settings and enable them.
Action possibles are :
Enable DND
Disable DND
Edit call forwarding (for both unconditional or on missed call only)
You know that all incoming calls will be rejected once you see the following logo in the header bar :
All calls are forwarded once you see this following one :
Finally, calls are forwarded only if you missed it when you see this one :
Note
If calls are redirected, the forward number will be shown under your name.
Besides, there is a precedence, if DND mode is enabled and also call forwarding, calls will be rejected.
Call history
The call history tab lists all the recent calls you were part of. For each call, it displays the status (received, emitted…), the duration, as well as the time when the call happened. You also see the phone status of internal users. You can hover your mouse cursor on a call to add this phone to your contact, or call it. You can also click on it to unfold it and see the call(s) details.
Groups
Clik on the groups button to see the groups you belongs to. Groups must be configured in the XiVO PBX as described in Groups
Note
Users can join or leave a group to start or stop receiving calls. If you want to prevent users from joining or leaving groups, you can disable this functionality. For more information, see Disabling call group disconnection functionality
Favorites
Click on the star to add/remove a search result to your favorites.
Personal contacts
From top-right hamburger menu, it is possible to display additional actions to handle you personal contacts. You will be able to create, delete all, import and export personal contact that you will be either able to search from the toolbar or find them in favorites panel if starred.
Create a personal contact
Just fill wanted fields (such as name and number), click on star if you want this contact to be displayed in favorites panel.
Warning
It is not possible to have twice the same personal contact, at least one field must differ.
Warning
Every contact must have at least a name (either firstname or lastname) and a number (either number, mobile or other number).
It’s also possible to create a personal contact from call history by hovering a call item and so have pre-filled fields.
Edit a personal contact
To edit a personal contact, you should search it first, and a pencil icon will be displayed on the user line as in the following screen:
Once clicked, you are redirected to edition pane where you just fill wanted fields.
Delete a personal contact
To delete a personal contact, you should edit it first, then you just need to click on trashcan icon :
Once clicked, you are invited to confirm or not the deletion of this contact.
Import personal contacts
From menu, you can upload a .csv file that contains all the data of your personal contacts. You can either use a file exported from this same interface or create yours.
Here are the list of available attributes of a personal contact:
companyemailfaxfirstnamelastnamemobilenumber
As an example here a csv file that can be imported
company,email,fax,firstname,lastname,mobile,number
corp,jdoe@company.corp,3333,John,Doe,2222,1111
Reverse lookup
By default, reverse lookup is enabled for personal contact display on incoming calls. Configuration is set to display firstname and lastname if number or mobile matches an existing personal contact.
Phone integration
The UC Assistant can integrate with the phone to :
Call / Hangup
Put on hold
Do direct or attended transfers - check Known limitations
Initiate 3-party conference - check Known limitations
As these features are closely linked to the phone to work, you must check supported phones for UC Assistant and follow the Required configuration page.
Once, you’re phone is properly configured and you are connected as a user, you know that your using SIP phone once you see the following logo in the header bar :
On hold notifications
You can be notified if you forget a call in hold for a long time, see configuration section.
Conferences
When joining a conference, either as an attendee or an organizer, the UC Assistant will display specific informations about the conference you are joining.
Note
On WebRTC and Snom phones you can also do a device hosted three-party conference, in this section we describe features of the XiVO hosted conferences.
Conference information:
The timer next to the conference name displays how long the conference has been running.
The first line displays the number of attendee.
Conference actions:
As an attendee, you can only:
Exit a conference room by clicking the hangup button
Put the conference on hold. Other attendees will not hear any hold music (if you’re on the same XiVO) but will not be able to hear you neither you will be able to hear the conference room.
As an organizer, you will also be able to:
Mute/Unmute all other attendee in the conference room
Attendees information:
Attendees name, number and timer are displayed below the conference name
Attendees are ordered by name with the exception of the first one which always reflect the current user
Conference organizer are displayed in green
When an attendee is muted, a slashed microphone icon will be displayed next to its name
When an attendee is talking, a green speaker will be displayed next to its name
Attendee action:
Participant can :
Mute/Unmute itself. If the participant is muted and starts speaking, the microphone icon in the volume meter will blink in red as a reminder. This red warning only happens in audio conferences, not in normal phone calls.
Include an ongoing secondary call to a conference via the include button.
Organizer can also:
Mute/Unmute any attendee
Kick out an attendee. A message will be played to the kicked out attendee before leaving the conference.
Invite a user to the conference.
This can be done by clicking the invite to conference button in the user dropdown menu :
from the favorites tab,
or from the search results, by searching for a username.
The organizer can also invite a phone number to a conference via the additional call options. This option will be displayed after the organizer starts typing a phone number in the search bar.
Instant Messaging
It is possible from the assistant to send chat messages and have private text conversation. It is possible to deactivate it if this feature is not suitable for your needs or if you have already an external chat application, see Disabling chat in UC Assistant and Switchboard.
There are two possible behaviors for handling messages:
No persistance (default) : Each message is an instant message that can be sent to another user logged in. messages are not stored anywhere and will be discarded once you refresh the page or log out.
With persistence : Can be enabled with Chat Backend. This allows then
To send messages to offline users
To retrieve you conversation history with other parties
To receive notifications when you logs in if you have unread messages that has been received while you were disconnected.
When you send a message, you are notified if the message was sent successfully or if the message was not received because the recipient is not logged in.
When you receive a message, you are notified with a orange badge on the message tabs. If you are using the desktop application, the electron tray icon also shows an orange badge. You will also have a notification from your web browser or a system notification if you are using the desktop application.
You can send links in message, they will be clickable. You can also write emojis from your keyboard (e.g., :smile:). You can find here some emojis exemple.
The conversation window also allows you to call a user on their internal phone number directly from the chat. To do so, you can click on the phone icon next to the name of the user you’re chatting with. If the video calls are available on your XiVO, you can launch one by clicking on the camera.
You can send a message from different places in the application :
From the contact line :
From an ongoing call :
from a conference call :
You are also able to list, at any time, all your ongoing conversation from the message tab :
External directory
This feature will add an additional book icon on the left side of the search bar. When clicking on this book icon, it will open (or close) the defined external directory (the external directory being a directory accessible via an URL).
To enable it, see configuration section.
Note
The search in the search bar will not search in this directory. But a search could be implemented in this external directory.
The screenshot below shows an example: when clicking on the book icon the external directory is shown. Here this external directory was developped to list users per site.
Logout
The logout button can be found after going in the top-right hamburger menu, which looks like the screenshot below :
You will then be brought back to the login page.
Meeting room
You can join an audio-video conference, called meeting room, which will open on the side of your application. See Meeting Rooms for more information.
Using web and mobile applications together
Note
This section concerns only WebRTC users, not Unique Account or SIP phone users.
After a user connects to the mobile application for the first time, a pop up notification will be sent on their UCAssistant. This is to inform the user that they will now receive calls on both mobile and web application. The user will be able to change this by clicking on the call management section :
They can then choose if they want to receive calls on the mobile application, web application, or on both.
After a user uninstalled the mobile application, they can unpair the mobile app from the assistant by clicking on the chain icon next to the mobile option.

