Okay, let me start by apologizing if there is another post about this or an otherwise "easy" answer but as I have yet to find it, I am just going to ask.
We want our hold music (whatever it may be) to continue to play while the customer is waiting for an available rep. We don't want to have to have a new piece of music to play after each time the system checks if there is an available operator. Right now we have a set of 4 ten-second files that we loop through after each check (the file plays, we check for an operator; if none, the next one plays for 10 seconds and then we check again). This is kind of annoying to our customers (as we have been told) so we want to see if there is another alternative. Note that this setup was done almost 6 years ago so I am guessing there is something new to do...
So, basically, can we do this:
-- Have a continue feed of a single file or stream that plays for all callers
-- Have this keep playing and check for available operator without restarting the stream or file
-- Have a "please keep waiting" message come in also without restarting the stream or file
Thank you in advance for any assistance you can offer.
Bryan W.
We've Moved! Please visit our new and improved forum over at our new portal: https://portal.plumvoice.com/hc/en-us/community/topics
Continuous Hold Music
Continuous Hold Music
PSN Developer
Payment Service Network
Payment Service Network
Continuous IVR Hold Music
Hi Bryan,
It would be possible to have a single file that is played for all callers as well as checking for an available operator without restarting the file. Unfortunately you would not be able to have a "please keep waiting" message without restarting the file.
You would be able to mimic this ability using <subdialog> and <audio> tags. We use a 30s wav file for the hold music in this IVR example.
This IVR code requires that transfer_ready.php have some business logic behind it dictating whether or not a rep would be available to take an IVR call. This could be done by doing a query against a database looking for an available operator number.
Regards,
Plum Support
It would be possible to have a single file that is played for all callers as well as checking for an available operator without restarting the file. Unfortunately you would not be able to have a "please keep waiting" message without restarting the file.
You would be able to mimic this ability using <subdialog> and <audio> tags. We use a 30s wav file for the hold music in this IVR example.
Code: Select all
<?xml version="1.0"?>
<vxml version="2.0">
<form id="check_for_transfer">
<subdialog name="transferReady" src="transfer_ready.php" fetchaudio="hold_music.wav" fetchtimeout="30s">
<filled>
<if cond="transferReady == 'xfer'">
<goto next="#transfer"/>
<elseif cond="transferReady == 'hold'"/>
<audio src="please_hold.wav"> Please continue to hold. </audio>
<goto next="#check_for_transfer"/>
</if>
</filled>
</subdialog>
</form>
Regards,
Plum Support
Last edited by support on Wed Feb 24, 2010 11:08 am, edited 1 time in total.
Plum Support
http://www.plumvoice.com
http://www.plumvoice.com
Hey thanks. I haven't tried it out yet but it seems pretty straightforward!
One other thing - when the hold music is playing would the "transfer_ready.php" file (or whatever we would call it) interrupt as necessary or would it have to wait until the full 30s has passed? Right now we do have to wait regardless of how soon someone is available!
One other thing - when the hold music is playing would the "transfer_ready.php" file (or whatever we would call it) interrupt as necessary or would it have to wait until the full 30s has passed? Right now we do have to wait regardless of how soon someone is available!
PSN Developer
Payment Service Network
Payment Service Network
Continuous IVR Hold Music
Hi Bryan,
One way you could implement the transfer_ready.php file would be to run a while loop based on time.
transfer_ready.php
This will search for a representative every five seconds. If one is found, it immediately returns that the IVR application should be able to transfer.
Hope this help!
Regards,
Plum Support
One way you could implement the transfer_ready.php file would be to run a while loop based on time.
transfer_ready.php
Code: Select all
<?php
function getRep () {
$time = time();
$end_time = $time + 30;
while ($time < $end_time) {
sleep(5);
//Business logic to determine if rep is available
if (rep_available() == true) {
return "xfer";
}
$time = time();
}
return "hold";
}
$returnValue = getRep();
echo "<?xml version=\"1.0\"?>"
?>
<vxml version="2.0">
<form>
<block>
<return namelist="<?= $returnValue ?>"/>
</block>
</form>
</vxml>
Hope this help!
Regards,
Plum Support
Plum Support
http://www.plumvoice.com
http://www.plumvoice.com