RingerDevice

Ringer Device — WxCC Desktop Second Ringer

A Webex Contact Center (WxCC) Agent Desktop header widget that plays a ringtone on an audio device of the agent’s choosing whenever a contact or consult is offered. Agents who wear a headset can have incoming calls also ring out loud on their laptop or desk speakers, so they don’t miss a call while the headset is off.

What it does

When it rings

The ringtone loops until the offer is answered or goes away:

Desktop event Ringer
Contact offered (eAgentOfferContact) Starts ringing
Consult offered (eAgentOfferConsult) Starts ringing
Contact accepted (eAgentContactAssigned) Stops
Consult accepted (eAgentConsulting) Stops
Contact ended / abandoned (eAgentContactEnded) Stops
Ring-no-answer timeout (eAgentOfferContactRona) Stops

How it works

Requirements

Installation

1. Host the files

Both files are served from this repo by GitHub Pages:

https://krich5.github.io/RingerDevice/index.js
https://krich5.github.io/RingerDevice/ring.mp3

To host your own copy, fork this repo and turn on GitHub Pages, or upload index.js and ring.mp3 into the same folder on any static HTTPS host.

2. Add it to your Desktop Layout

Add ringer-device to the advancedHeader of each persona that should have it: agent, supervisor and/or supervisorAgent.

"advancedHeader": [
  {
    "comp": "ringer-device",
    "script": "https://krich5.github.io/RingerDevice/index.js",
    "attributes": {
      "darkmode": "$STORE.app.darkMode"
    }
  },
  "digital-outbound",
  "outdial-call",
  "notification"
]

A complete sample layout with the widget in all three personas is included in this repo: ringer-device_Layout.json

3. Upload the layout

In Control Hub → Contact Center → Desktop Layouts, upload the layout and assign it to the team(s) that should have it. Agents must sign out and back in to pick up the new layout.

4. Agent setup (one time)

  1. Click the bell in the header.
  2. Turn the switch on.
  3. Pick the speaker to ring on and click Save.
  4. Click Test ring to confirm it’s audible.

Properties

Attribute Store binding Description
darkmode $STORE.app.darkMode Switches the widget between light and dark styling to match the desktop

Customizing

What How
Ringtone Replace ring.mp3 with your own audio file of the same name. It loops, so a short clip works best.
Lit colour Edit --sr-lit, --sr-lit-border and --sr-lit-glow in STYLES. There’s one set for light mode and one under :host([dark])
Colors Edit the --sr-* CSS variables in STYLES. There’s one set for light mode and one under :host([dark])

Known limitations

License

See LICENSE.