We've Moved! Please visit our new and improved forum over at our new portal: https://portal.plumvoice.com/hc/en-us/community/topics

Issue not recognizing voice mail or answering machine

Questions and answers about IVR programming for Plum DEV

Moderators: admin, support

Post Reply
dstevenstn
Posts: 12
Joined: Thu Feb 14, 2013 12:06 pm

Issue not recognizing voice mail or answering machine

Post by dstevenstn »

I have seen this once or twice, but others are reporting that we are not getting a response back of voice mail or answering machine, but that the call was completed. The Voice mail will typically say something like "I can't understand you" and repeat the message. It there something we should be doing? I do believe that it is setup to detect given that there is typically the 5 second delay.

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

Re: Issue not recognizing voice mail or answering machine

Post by support »

Hi,

Would it be possible for you provide us with a snippet of your VXML code of how you are trying to implement this? Specifically, we're wondering how you set up your code to leave voicemails.

For reference, here are some previous forum posts that have dealt with voicemails:

http://support.plumvoice.com/viewtopic.php?f=2&t=1600
http://support.plumgroup.com/viewtopic.php?t=1325
http://support.plumvoice.com/viewtopic.php?f=2&t=39782
http://support.plumvoice.com/viewtopic.php?f=2&t=1442

Regards,
Plum Support

dstevenstn
Posts: 12
Joined: Thu Feb 14, 2013 12:06 pm

Re: Issue not recognizing voice mail or answering machine

Post by dstevenstn »

Below is the vXML. It seems like I am almost always getting a completed voice message back, but only occasionally a completed answering machine message.

<?xml version="1.0"?>
<vxml version="2.0">
<form id="mainmenu"> <field name="menuchoice"><grammar type="application/x-jsgf" mode="dtmf">
1</grammar>
<prompt><audio src="http://audio.plumgroup.com/root/69002392/69002392_1.wav"/> </prompt>
<filled>
<if cond="menuchoice=='1'"> <prompt>
<audio src="http://audio.plumgroup.com/root/69002392/69002392_1.wav"/> </prompt> <submit next="http://devtest.transdemoweb.com//ivrres ... 6153710077" namelist="menuchoice" method="post" enctype="application/x-www-form-urlencoded"/>
<goto next="#transferid0"/>
</if></filled> </field>
</form>
<form id ="transferid0"> <transfer dest="6153710077">
</transfer> </form>
</vxml>

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

Re: Issue not recognizing voice mail or answering machine

Post by support »

Hi,

As mentioned in this previous voicemail forum post (http://support.plumvoice.com/viewtopic.php?f=2&t=1442), you will want to add a <record> tag to listen for someone's voicemail message before playing the message that you want to leave for your voicemail. Otherwise, your application will begin playing your prompt without waiting for someone's voicemail message to finish.

From past tests, we had found that setting the attribute, recordsilence, to 2000ms was successful in leaving voicemails on people's voicemails, but you may need to tweak this value.

Please let us know if this is unclear or if you have further questions.

Regards,
Plum Support

dstevenstn
Posts: 12
Joined: Thu Feb 14, 2013 12:06 pm

Re: Issue not recognizing voice mail or answering machine

Post by dstevenstn »

The following XML still did not recogniz that it had gone to voice mail. Can you help?


<?xml version="1.0"?>
-<vxml version="2.0"> <property value="false" name="bargein"/> <var name="whatIsAnswering" expr="'P{callee_type}'"/>-<form id="mainmenu"> <record expr="'{callee_type}'" finalsilence="2000ms" cond="whatisAnswering"/> -<block name="main"> -<if cond="whatIsAnswering == 'answeringmachine'"> <prompt> Answering Machine </prompt> <disconnect/> <else/> <goto next="#thirdform"/></if></block></form>-<form id="thirdform">-<field name="menuchoice"><grammar mode="dtmf" type="application/x-jsgf"> 1|2|3|4</grammar> -<prompt timeout="3s"> <voice name="mike"> WRIGHT'S SPORTING GOOD, you have an appointment with Dr. No. Press 1 to confirm. Press 2 to cancel. Press 3 to reschedule. Press 4 to dismiss. </voice></prompt> -<filled> -<if cond="menuchoice=='1'"> -<prompt timeout="3s"> <voice name="mike"> We look forward to seeing you. </voice></prompt> <submit next="http://devtest.transdemoweb.com//ivrres ... RID=95mc=1" enctype="application/x-www-form-urlencoded" method="post" namelist="menuchoice"/> <elseif cond="menuchoice=='2'"/> -<prompt timeout="3s"> <voice name="mike"> BLUE RIVER FISHING SUPPLY, we are sorry you had to cancel. Please contact Dr. No to reschedule. </voice></prompt> <submit next="http://devtest.transdemoweb.com//ivrres ... RID=95mc=2" enctype="application/x-www-form-urlencoded" method="post" namelist="menuchoice"/> <elseif cond="menuchoice=='3'"/> -<prompt timeout="3s"> <voice name="mike"> BLUE RIVER FISHING SUPPLY, please contact Dr. No to reschedule. </voice></prompt> <submit next="http://devtest.transdemoweb.com//ivrres ... RID=95mc=3" enctype="application/x-www-form-urlencoded" method="post" namelist="menuchoice"/> <elseif cond="menuchoice=='4'"/> -<prompt timeout="3s"> <voice name="mike"> Goodbye. </voice></prompt> <submit next="http://devtest.transdemoweb.com//ivrres ... RID=95mc=4" enctype="application/x-www-form-urlencoded" method="post" namelist="menuchoice"/> <else/> -<prompt timeout="3s"> <voice name="mike"> WRIGHT'S SPORTING GOOD, you have an appointment with Dr. No. Press 1 to confirm. Press 2 to cancel. Press 3 to reschedule. Press 4 to dismiss. </voice></prompt> </if></filled> -<noinput> -<prompt timeout="3s"> <voice name="mike"> WRIGHT'S SPORTING GOOD, you have an appointment with Dr. No. Press 1 to confirm. Press 2 to cancel. Press 3 to reschedule. Press 4 to dismiss. </voice></prompt> </noinput> </field></form> </vxml>

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

Re: Issue not recognizing voice mail or answering machine

Post by support »

Hi,

Please note that outbound callee type detection is not 100% accurate, so there is no guarantee that it will always detect an answering machine.

To ensure that the message you want to play gets played (regardless of if the callee is detected as "voice" or "answeringmachine"), you will want to repeat the message multiple times, as seen in the following example:

leavemessage.php:

Code: Select all

<?php
header("Content-type: text/xml");
echo("<?xml version=\"1.0\"?>\n");
?>
<vxml version="2.0">
<property name="inputmodes" value="dtmf"/>

<form id="message">
<field name="leavemsg">
<grammar type="application/x-jsgf" mode="dtmf">
1
</grammar>

<prompt>
Hi. This is an application from CMS. Please press 1 to continue. Please remember to call the phone number listed in your e-mail to reserve your appointment. Hi. This is an application from CMS. Please press 1 to continue. Please remember to call the phone number listed in your e-mail to reserve your appointment. Hi. This is an application from CMS. Please press 1 to continue. Please remember to call the phone number listed in your e-mail to reserve your appointment. Hi. This is an application from CMS. Please press 1 to continue. Please remember to call the phone number listed in your e-mail to reserve your appointment. Hi. This is an application from CMS. Please press 1 to continue. Please remember to call the phone number listed in your e-mail to reserve your appointment.
</prompt>

<filled>
<prompt>
Here is a different message that should be played to a human.
</prompt>
<goto next="#confirmtransfer"/>
</filled>

</field>
</form>

<form id="confirmtransfer">
<field name="leavemsg">
<grammar type="application/x-jsgf" mode="dtmf">1</grammar>

<prompt>
Would you like to be tranferred? Press 1 for yes.
</prompt>

<filled>
<prompt>
Okay, please hold while we transfer you.
</prompt>
<goto next="#maketransfer"/>
</filled>
</field>
</form>

<form id="maketransfer">
<transfer dest="tel:+1XXXXXXXXXX"/>
</form>

</vxml>
From this IVR example, the outbound IVR call will leave a voicemail that keeps on repeating the prompt, "Hi. This is an application from CMS. Please press 1 to continue. Please remember to call the phone number listed in your e-mail to reserve your appointment." if no one picks up and enters 1 on their phone keypad.

If the IVR outbound call is picked up by a human and the human presses 1 on their phone keypad, then a different message will be played and the human will be prompted to enter 1 on their phone keypad if they want to be transferred.

Regards,
Plum Support

Post Reply