Send audio alert to agent when there is a caller waiting

dspaan

New member
I would like to know if the following is possible already:

An agent is talking to a client.
Another caller gets in the queue of a specific ingroup.
The agent gets an audio or visual alert about the waiting call in the other ingroup while talking to the client on the active call.

We need this for agents who work at night and have to answer emergency calls right away and end the possible current conversation they are having.
 

mflorell

Member
If the bold, red "CALLS IN QUEUE" message at the top of the agent screen, or the color-coded "CALLS IN QUEUE" list at the bottom of the screen aren't enough, we recently added the Waiting Call URL On/Off features to have a flashing light go off in the call center to wake agents up
:)


Waiting Call URL On/Off:
This feature allows you to trigger a URL when there are calls waiting in this In-Group. The -On- URL will be sent the first time a call is waiting, and no more will be sent as long as there are still calls from this In-Group waiting in the queue. The -Off- URL will be sent as soon as there are no calls waiting for this In-Group anymore. This feature was created to allow for a remote power switch to be triggered to light up a flashing light to notify agents in a call center room that there were calls waiting for them. For this feature to work, both the -On- and -Off- URLs must be filled in. Default is -empty- for disabled.
 

dspaan

New member
That feature is nice but won't work in this case because it's a single employee working the night shift from home so there is no callcenter. I guess it would have to be a feature request to play an audio message to the agent when this happens? The calls in queue on top and bottom won't work if the agent is working in another browser tab.
 

dspaan

New member
Thanks Blackbird but if the caller also hears this i don't think management will be happy
:-)
Why will this work for only one agent?
 

blackbird2306

New member
Waiting Call URL On will be triggered before connecting to an agent. Thus there is no agent variable, which is necessary for agent api playback. But you can define one static agent in this url. On ther other side I have a better solution for you. Just a simple one liner:
1. You need to add only the one green line in vicidial.php (about line 16328 in newest svn rev. 3053 2018-11-07):

document.getElementById('callsinqueuelist').innerHTML = xmlhttp.responseText + "\n";
if (xmlhttp.responseText.indexOf("Inbound2") !== -1) document.getElementById("EmailAudioAlertFile").play();
}

2. Change the "Inbound2" part with your Inbound Group ID, which should trigger the notification

3. The agent has to open "Show Calls In Queue" (link bottom) to make it work. There is also an Auto View Calls in Queue Launch campaign setting. Hiding the Calls in Queue box means deactivating the notification!
 

ghernandez

New member
If the bold, red "CALLS IN QUEUE" message at the top of the agent screen, or the color-coded "CALLS IN QUEUE" list at the bottom of the screen aren't enough, we recently added the Waiting Call URL On/Off features to have a flashing light go off in the call center to wake agents up
:)


Waiting Call URL On/Off:
This feature allows you to trigger a URL when there are calls waiting in this In-Group. The -On- URL will be sent the first time a call is waiting, and no more will be sent as long as there are still calls from this In-Group waiting in the queue. The -Off- URL will be sent as soon as there are no calls waiting for this In-Group anymore. This feature was created to allow for a remote power switch to be triggered to light up a flashing light to notify agents in a call center room that there were calls waiting for them. For this feature to work, both the -On- and -Off- URLs must be filled in. Default is -empty- for disabled.


Good afternoon Mr. mflorell,

I added both URL to the ON & OFF switch but is not working for the inbound queue. Now what I did was created a web page with a "Call Waiting" sign. Is this correct?
 

williamconley

New member
I added both URL to the ON & OFF switch but is not working for the inbound queue. Now what I did was created a web page with a "Call Waiting" sign. Is this correct?

but is not working is a bit vague. How about this:

Are you saying vicidial did not request the URL when there was a call waiting in queue in the campaign? If so, provide all changes you made to the campaign for this feature ... and consider this:

The method to use this is two-fold: First you create a web page that will (outside of Vicidial) accomplish the task at hand (designed to blink a light, but if you want it to activate a shock-chair for the manager, that works just as well ... whatever you want it to do). Test it by surfing to that web page yourself, it should "do ... whatever" when you request the page. THEN you put the URL from that page into the "Waiting Call URL On" and Vicidial will request that page when there is a queue if you've set it up according to the instructions.

If that does not happen, you need to be sure Vicidial is allowed to request that page (eg: is a firewall blocking Vicidial's access? Is it on a network Vicidial can't access?) You can also test this from the Linux CLI using wget or curl. Additionally, I suspect the response from this will be in the URL log table.
 

ghernandez

New member
I added both URL to the ON & OFF switch but is not working for the inbound queue. Now what I did was created a web page with a "Call Waiting" sign. Is this correct?

but is not working is a bit vague. How about this:

Are you saying vicidial did not request the URL when there was a call waiting in queue in the campaign? If so, provide all changes you made to the campaign for this feature ... and consider this:

The method to use this is two-fold: First you create a web page that will (outside of Vicidial) accomplish the task at hand (designed to blink a light, but if you want it to activate a shock-chair for the manager, that works just as well ... whatever you want it to do). Test it by surfing to that web page yourself, it should "do ... whatever" when you request the page. THEN you put the URL from that page into the "Waiting Call URL On" and Vicidial will request that page when there is a queue if you've set it up according to the instructions.

If that does not happen, you need to be sure Vicidial is allowed to request that page (eg: is a firewall blocking Vicidial's access? Is it on a network Vicidial can't access?) You can also test this from the Linux CLI using wget or curl. Additionally, I suspect the response from this will be in the URL log table.


williamconley - you are right the Firewall was blocking the URL. I will go a bit further now and set up a raspberry with a speaker to alert of the sound of an incoming call.
Thanks for pointing me in the right direction.
 

williamconley

New member
You have agents with computers. Any one of which has plenty of CPU available for a quick noisemaker function with an external speaker ... Yet you feel the need to set up a funky little computer to make a noise.

Lemme guess: your agents are still all on windows and you don't want to figure out how to program a noisemaker in a windows worstation, so you're gonna just work it out on a little linux pi server?
8-)
 

ghernandez

New member
You have agents with computers. Any one of which has plenty of CPU available for a quick noisemaker function with an external speaker ... Yet you feel the need to set up a funky little computer to make a noise.

Lemme guess: your agents are still all on windows and you don't want to figure out how to program a noisemaker in a windows worstation, so you're gonna just work it out on a little linux pi server?
8-)


That's correct. now if you have a better way please share it. I would appreciate the help.
 

williamconley

New member
Use linux for the agent workstations. Then every machine can run linux software (there's no real difference between a workstation and a server). And whatever you were planning to do in the pi you can do on any workstation instead.

You could also write an app that would allow you to notify the agents directly that a call is waiting, and run apache on each agent's computer to accept that signal. There are much smaller servers available for web server, but apache is the most well-known and supported.

You could also just modify the agent screen to make noise when the image changes, which is merely a change to the javascript code.

You could generate a ring on any (all?) agent phones with a CallerID Name of "Call Is Waiting!" and then hang up.

You could even just install a VOIP Telephone with a speaker and have Vicidial call that speaker phone and broadcast a "TONE" that would tell the agents that there is a call waiting. This requires a soft or physical phone with auto-answer on speaker capability.

A lot of ways to skin that cat.
 

ghernandez

New member
Use linux for the agent workstations. Then every machine can run linux software (there's no real difference between a workstation and a server). And whatever you were planning to do in the pi you can do on any workstation instead.

You could also write an app that would allow you to notify the agents directly that a call is waiting, and run apache on each agent's computer to accept that signal. There are much smaller servers available for web server, but apache is the most well-known and supported.

You could also just modify the agent screen to make noise when the image changes, which is merely a change to the javascript code.

You could generate a ring on any (all?) agent phones with a CallerID Name of "Call Is Waiting!" and then hang up.

You could even just install a VOIP Telephone with a speaker and have Vicidial call that speaker phone and broadcast a "TONE" that would tell the agents that there is a call waiting. This requires a soft or physical phone with auto-answer on speaker capability.

A lot of ways to skin that cat.


Vicibox v8.1.2 from .iso | Vicidial 2.1-714a Build 190628-1511 | Asterisk 13.21.1-Vici | 6 Cluster Servers | No Digium/Sangoma Hardware | No Extra Software After Installation | 2x E5-2660 0 @ 2.20GHz |





Morning Guys!!

I have everything set up and I can do wget xx.xx.xx.xx/start-alarm and it goes through in my CLI and it's working on the Raspberry pi, but when you send the command from the vicidial call waiting on or off is not working.
does anyone have any idea why?

i'm getting a response of 200 OK

CLI kernel:

dialer:~ # wget xx.xx.xxx.xx/start-alarm
--2019-08-23 08:32:55-- http://xx.xx.xxx.xx/alarm-alarm
Connecting to xx.xx.xxx.xx:80...Connected.
HTTP request sent, awaiting response... 200 OK
Lenght: 8 [text/html]
Saving to: start-alarm.2

100%[==========================================>] 8 .-K/s in 0s




This is what I'm getting from my URL log report.

--- URL LOG RECORDS FOR 2019-08-23, 00:00:00 TO 23:59:59 , RECORDS #1-2 [DOWNLOAD]

+----------------------+---------------------+--------------+----------+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+
| UNIQUE ID | URL DATE | URL TYPE | RESP SEC | URL | URL RESPONSE |
+----------------------+---------------------+--------------+----------+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+
| 0 | 2019-08-23 08:08:46 | wcu_on | 0 | http://xx.xxx.xx.xxx/start-alarm | |
| 0 | 2019-08-23 08:10:23 | wcu_off | 0 | http://xx.xxx.xx.xxx/stop-alarm | |
+----------------------+---------------------+--------------+----------+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+



Actually 40 minutes later I got an error. looks like it keeps trying until it gives up.

--- URL LOG RECORDS FOR 2019-08-23, 00:00:00 TO 23:59:59 , RECORDS #1-8 [DOWNLOAD]

+----------------------+---------------------+--------------+----------+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+
| UNIQUE ID | URL DATE | URL TYPE | RESP SEC | URL | URL RESPONSE |
+----------------------+---------------------+--------------+----------+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+
| 0 | 2019-08-23 08:08:46 | wcu_on | 2690 | http://xx.xxx.xx.xxx/start-alarm | <RESPONSE EMPTY>|--2019-08-23 08:08:46--http://xx.xxx.xx.xxx/start-alarm!Connect |
| | | | | | ing to xx.xxx.xx.xxx:80... failed: Connection timed out.!Retrying.!!--2019-08-23 |
| | | | | | 08:10:55--(try: 2)http://xx.xxx.xx.xxx/start-alarm!Connecting to xx.xxx.xx.xxx: |
| | | | |
| | | | | | failed: Connection timed out.!Giving up.!! |
ghernandez

Posts: 18
Joined: Thu Jul 04, 2019 7:01 am
 

ghernandez

New member
Use linux for the agent workstations. Then every machine can run linux software (there's no real difference between a workstation and a server). And whatever you were planning to do in the pi you can do on any workstation instead.

You could also write an app that would allow you to notify the agents directly that a call is waiting, and run apache on each agent's computer to accept that signal. There are much smaller servers available for web server, but apache is the most well-known and supported.

You could also just modify the agent screen to make noise when the image changes, which is merely a change to the javascript code.

You could generate a ring on any (all?) agent phones with a CallerID Name of "Call Is Waiting!" and then hang up.

You could even just install a VOIP Telephone with a speaker and have Vicidial call that speaker phone and broadcast a "TONE" that would tell the agents that there is a call waiting. This requires a soft or physical phone with auto-answer on speaker capability.

A lot of ways to skin that cat.


Vicibox v8.1.2 from .iso | Vicidial 2.1-714a Build 190628-1511 | Asterisk 13.21.1-Vici | 6 Cluster Servers | No Digium/Sangoma Hardware | No Extra Software After Installation | 2x E5-2660 0 @ 2.20GHz |





Morning Guys!!

I have everything set up and I can do wget xx.xx.xx.xx/start-alarm and it goes through in my CLI and it's working on the Raspberry pi, but when you send the command from the vicidial call waiting on or off is not working.
does anyone have any idea why?

i'm getting a response of 200 OK

CLI kernel:

dialer:~ # wget xx.xx.xxx.xx/start-alarm
--2019-08-23 08:32:55-- http://xx.xx.xxx.xx/alarm-alarm
Connecting to xx.xx.xxx.xx:80...Connected.
HTTP request sent, awaiting response... 200 OK
Lenght: 8 [text/html]
Saving to: start-alarm.2

100%[==========================================>] 8 .-K/s in 0s




This is what I'm getting from my URL log report.

--- URL LOG RECORDS FOR 2019-08-23, 00:00:00 TO 23:59:59 , RECORDS #1-2 [DOWNLOAD]

+----------------------+---------------------+--------------+----------+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+
| UNIQUE ID | URL DATE | URL TYPE | RESP SEC | URL | URL RESPONSE |
+----------------------+---------------------+--------------+----------+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+
| 0 | 2019-08-23 08:08:46 | wcu_on | 0 | http://xx.xxx.xx.xxx/start-alarm | |
| 0 | 2019-08-23 08:10:23 | wcu_off | 0 | http://xx.xxx.xx.xxx/stop-alarm | |
+----------------------+---------------------+--------------+----------+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+



Actually 40 minutes later I got an error. looks like it keeps trying until it gives up.

--- URL LOG RECORDS FOR 2019-08-23, 00:00:00 TO 23:59:59 , RECORDS #1-8 [DOWNLOAD]

+----------------------+---------------------+--------------+----------+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+
| UNIQUE ID | URL DATE | URL TYPE | RESP SEC | URL | URL RESPONSE |
+----------------------+---------------------+--------------+----------+----------------------------------------------------------------------------------+----------------------------------------------------------------------------------+
| 0 | 2019-08-23 08:08:46 | wcu_on | 2690 | http://xx.xxx.xx.xxx/start-alarm | <RESPONSE EMPTY>|--2019-08-23 08:08:46--http://xx.xxx.xx.xxx/start-alarm!Connect |
| | | | | | ing to xx.xxx.xx.xxx:80... failed: Connection timed out.!Retrying.!!--2019-08-23 |
| | | | | | 08:10:55--(try: 2)http://xx.xxx.xx.xxx/start-alarm!Connecting to xx.xxx.xx.xxx: |
| | | | |
| | | | | | failed: Connection timed out.!Giving up.!! |
ghernandez

Posts: 18
Joined: Thu Jul 04, 2019 7:01 am


All - I found the issue. since we are running a cluster of 6 servers, we needed to allow the firewall iptables access to the Raspberry pi IP and TCP. On all 6 servers just in case.

# iptables -I INPUT -s XX.XXX.XX.XXX -p tcp -j ACCEPT


Hope this helps anyone in the future. since I see a lot of people looking for help but in the end, they never post the solutions.
:mrgreen:
 
Top