Xuc & Xucmgt (CC & UC embedded)
XUC overview page
XUC overview page available at @XUC_IP:PORT, usually @SERVER_IP:8090. You have to check if the “Internal configuration cache database” contains agents, queues etc.
XUC sample page
XUC sample page available at @XUC_IP:PORT/sample, usually @SERVER_IP:8090/sample. You can use this page to check user login and other API functions. CCManager, agent and assistant web use functions available on the sample page.
XUC Internal Metrics
Internal metrics are also available - see XUC Internal Metrics page.
Agent states after XUC restart
Please see the note in restarting XUC server with active calls.
Queue created
New queue will not appear immediately in CCAgent and CCManager until the agent or the manager is not relogged to these applications accordingly. The Xuc server restart is not required.
Queue deleted
Deleted queue will still appear in CCAgent and CCManager until the Xuc server is restarted.
Audio quality issues
If something goes wrong with the quality of an ongoing call, it will be reflected in live, every 20 seconds, inside the xuc server logs, with the following format:
WARN s.ClientLogger- [userw] 1590da900aba2a761573c0493c04a0a1@192.168.56.2:5060 Audio quality issues -> RTT 186ms - Jitter upstream 1ms / downstream 0ms - Packet loss upstream 21% / downstream 6%
At the end of each call, a call quality report will also be sent in the xuc server logs, with the following format:
INFO s.ClientLogger- [userw] 1590da900aba2a761573c0493c04a0a1@192.168.56.2:5060 Call quality report -> Highest RTT 186ms - Highest Jitter upstream 3ms / downstream 3ms - Highest Packet loss upstream 21% / downstream 12%
Both those format include the user as well as the sip call id, so it can be grepped. It can also be grepped by the type of message, “Audio quality issues” and “Call quality report”.
Audio quality visualisation
When needed, a dedicated module can be setup to allow graphical representation of those data. See the following section for more details.
Activation
On XiVO PBX:
In
/var/lib/postgresql/17/data/pg_hba.confadd rights for following users on specific tables (replace the <XUC_IP> with the IP of VM where xuc is running):host call_quality_stats rografana <XUC_IP>/32 md5 host call_quality_stats rwfluent <XUC_IP>/32 md5Add the service in file
/etc/docker/xivo/docker-xivo.grafana.ymlto/etc/docker/xivo/docker-xivo.override.yml.And finally run:
xivo-dcomp reload db xivo-dcomp up -d
On XiVO CC / UC :
Add the service in file
/etc/docker/compose/docker-xivocc.fluentd.ymlto/etc/docker/xivo/docker-xivocc.override.yml.And then run:
xivocc-dcomp up -d
Usage
When audio quality visualisation activation step is done.
You can access grafana web page via:
https://<XIVO_IP>:3000/
Replace the <XIVO_IP> with the IP of your Xivo PBX.
Dashboard view :
On grafana dashboard you can:
Select user that you want to display thank to the
users_listparameterZoom out by pressing CRTL+Z or by clicking on the magnifier
Warning
All the added dashboards will not be saved in case of update.
Xuc CLI
The xuc CLI is a small terminal tool that lets you inspect the state of xuc’s internal call-tracking mechanics. You can compare them with your Asterisk state and clean them up if needed, which can troubleshoot some issues in production without restarting xuc.
The CLI is invoked through:
xivocc-dcomp exec xuc bin/xuc-cli <command>
Run xuc-cli on its own to list the available commands. Run a command with no action (for example xuc-cli siptracker)
to list the actions that command accepts.
Prefix every command below with xivocc-dcomp exec xuc bin/xuc-cli.
Note
The CLI auto-detects the running xucserver process. If several are running (or detection fails), pass the
process id explicitly with --pid <PID> (-p for short), placed right after bin/xuc-cli.
General information
info— print the xuc start time, version, and the number of users and agents available in the xuc internal repository
MDS
mds list— list every known mds with its state and AMI connectivity (hostname, port)mds <MDS>— print AMI info and connectivity of<MDS>(the technical name of your mds)
SIP tracker
The siptracker command inspects and operates on xuc’s per-line call trackers.
A tracker is selected either by its SIP peer name (as known by Asterisk) or by extension using --exten <number>
(-e for short). All actions accept --driver <driver> (-d), which defaults to PJSIP.
Note
<SIP_PEER> is the bare peer id without the driver prefix. Pass 1p7b9k7f, not PJSIP/1p7b9k7f
(even though siptracker list prints the interface with the prefix in its INTERFACE column).
siptracker list— list every currently tracked SIP peer (interface, extension, number of calls) for the selected driver (--driver,PJSIPby default)siptracker <SIP_PEER> info— print the tracker details for that peer (extension, interface, calls, current calls and more)siptracker <SIP_PEER> clearcalls— clear the calls tracked internally for that peer. Useful to fix ghost calls and stuck transferssiptracker <SIP_PEER> hangup <CHANNEL>— hang up a specific call channel and remove it from the trackersiptracker <SIP_PEER> stop— stop the tracker for that peer. It is recreated cleanly when the user reconnects (the user must refresh their assistant)
Selecting by extension instead of peer name works the same way, for example:
siptracker --exten 1001 info
siptracker -e 1001 clearcalls
For example, siptracker --driver PJSIP 1p7b9k7f info prints:
[xuc.services.calltracking:type=SipDeviceTracker,name=PJSIP_1p7b9k7f-]
- Extension: 1600
- Interface: PJSIP/1p7b9k7f
- Calls: 0
- CurrentCalls:
- ChannelEvent: 0
- PartyInformations: 0
- PathsFromChannel: 0
And siptracker -e 1600 hangup PJSIP/1p7b9k7f-00000015 prints:
OK: Command Successful