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:

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.

  1. Dial the *55 number.

  2. You should hear the “Echo” announcement.

  3. 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.

  4. 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 softphone in 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

../../_images/menu_ucassistant.gif
../../_images/menu_ccagent.gif

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

../../_images/blinking_ucassistant.png
../../_images/blinking_ccagent.gif

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:

../../_images/webrtc_input_output_audio_device_selection.png

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.

../../_images/webrtc_secondary_ringing_device_selection.png

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.

../../_images/webrtc_ringtone_selection.png

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 :

../../_images/ucassistant-call-mute.png

On CC Agent and Switchboard :

../../_images/ccagent-call-mute.png

Volume indication

../../_images/volume_meter.png

Two progress bars show the volume level of the speaker and the microphone. It certifies that the audio flow has been sent.

Sound detection

../../_images/microphone_not_working.png

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

../../_images/webrtc_audio_quality_issue_msg.png

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.

../../_images/webrtc_audio_quality_issue_msg_details.png

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

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).

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 )

../../_images/errornoline.png

Note

Automatic login keeps you signed in until you log out.

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:

../../_images/action.png

You can then change your settings and enable them.

../../_images/forward_dnd.png

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 :

../../_images/forward_dnd_logo.png

All calls are forwarded once you see this following one :

../../_images/forward_logo.png

Finally, calls are forwarded only if you missed it when you see this one :

../../_images/forward_na_logo.png

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.

../../_images/call_history.png

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

../../_images/groups.png

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.

../../_images/hamburger_menu.png

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).

../../_images/add_pc.png

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:

../../_images/edit_pc.png

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 :

../../_images/delete_pc.png

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:

  • company

  • email

  • fax

  • firstname

  • lastname

  • mobile

  • number

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 :

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 :

../../_images/fixed_logo.png

On hold notifications

You can be notified if you forget a call in hold for a long time, see configuration section.

../../_images/user-hold-notification.png

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.

../../_images/conference_overview.png

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:

../../_images/conference_attendees_muted.png
  • 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:

../../_images/conference_attendee_mute_itself.png

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.

../../_images/blinking-mic.png
  • Include an ongoing secondary call to a conference via the include button.

../../_images/include_to_conf.png

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.

../../_images/invite_to_conf_from_search_results.png
  • 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.

../../_images/invite_to_conf_dropdown.png

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:

  1. 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.

  2. 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.

../../_images/chat.png

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.

../../_images/call-in-chat-uc.png

You can send a message from different places in the application :

  • From the contact line :

../../_images/chat_from_contact_line.png
  • From an ongoing call :

../../_images/chat_from_ongoing_call.png
  • from a conference call :

../../_images/chat_in_conferences.png

You are also able to list, at any time, all your ongoing conversation from the message tab :

../../_images/chat_list.png

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.

../../_images/external_directory.png

Logout

The logout button can be found after going in the top-right hamburger menu, which looks like the screenshot below :

../../_images/logout_button_configuration_menu.png

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 :

../../_images/call_management_arrow.png

They can then choose if they want to receive calls on the mobile application, web application, or on both.

../../_images/mobile_or_web_app.png
../../_images/mobile_app_calls.png

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.

../../_images/unpair_mobile_app.png