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

Outbound IVR Questions

Questions and answers about IVR programming for Plum DEV

Moderators: admin, support

Post Reply
rad123
Posts: 3
Joined: Tue Aug 07, 2012 3:31 pm

Outbound IVR Questions

Post by rad123 »

Our outbound IVR system is implemented using aspx pages and c#. In our VXML script, we play the recorded messages using the "record" element. "We are required to enable the bargein property to true but allow only the DTMF input to interrupt the message by turning off the voice recognition". The problem we are facing is that, we are not able to turn off the voice recognition. We have the settings <property name = "inputmodes" value = "dtmf"> set in our application root document, in-spite of which the message in the prompt element gets interrupted with the voice input. Please find the VXML script below:

<form id="OutboundIVRMsgEnglishSpanish">
<var name="varBillerName" expr="'%BillerName%'" />
<var name="varCallId" expr="'%CallId%'" />

<var name="varCalleeType" expr="'voice'" />
<var name="varCallCategory" expr="'answered'" />

<property name="bargein" value="true"/>
<property name="inputmodes" value="dtmf"/>
<property name="timeout" value="3s"/>

<record name="answer" modal="false" type="audio/x-wav" finalsilence="3s">
<prompt bargein = "true" timeout="3s">
%OutboundIVRPromptEnglish% %OutboundIVRPromptSpanish%
</prompt>

<filled>
<if cond="answer$.termchar==1 || answer$.termchar==3 || answer$.termchar==4 || answer$.termchar==5 || answer$.termchar==6 || answer$.termchar==7 || answer$.termchar==8 || answer$.termchar==9">
<prompt timeout="3s">
%OutboundIVRMsgEnglish%
</prompt>
<else/>
<if cond="answer$.termchar==2">
<prompt timeout="3s">
%OutboundIVRMsgSpanish%
</prompt>
<else/>
<assign name="varCalleeType" expr="'answeringmachine'"/>
<assign name="varCallCategory" expr="'unanswered'" />
<prompt timeout="3s">
%OutboundIVRMsgEnglish%
%OutboundIVRMsgSpanish%
</prompt>
</if>
</if>
</filled>
<noinput>
Sorry, there is no input.
<prompt timeout="5s">
%OutboundIVRMsgEnglish%
%OutboundIVRMsgSpanish%
</prompt>
</noinput>
</record>

<block>
<submit fetchtimeout="10s" namelist="varBillerName varCallId varCalleeType varCallCategory" next="OutboundIVRCallTypeResults.aspx" />
</block>

</form>

Could you please suggest how we could turn off the voice recognition ? I really appreciate your help!

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

Re: Outbound IVR Questions

Post by support »

Hi,

In this case, you are not able to turn off voice recognition since you are using the <record> tag.

As mentioned in a previous post (http://support.plumvoice.com/viewtopic.php?f=2&t=7198), the <property name="inputmodes" value="dtmf"> line within your code only applies to grammars, where the platform is expecting a specific input from the user. However, since you are using the <record> tag, the platform is expecting to collect a recording from the user.

Regards,
Plum Support

rad123
Posts: 3
Joined: Tue Aug 07, 2012 3:31 pm

Re: Outbound IVR Questions

Post by rad123 »

Thank you so much for the quick response. I got the clarification.

rad123
Posts: 3
Joined: Tue Aug 07, 2012 3:31 pm

Re: Outbound IVR Questions

Post by rad123 »

Hi,

I have one more question with regard to the above context.

I am required to play the audio files to customers for whom the outbound calls get queued and need to play the messages to voicemail for unanswered calls. In our application we have initial prompt message(marked in red- in above VXML script) that asks for user's DTMF input and followed by this we play two messages one in English and other one in Spanish. Also the requirement is to turn off the voice recognition so that the initial prompt message does not get interrupted with the customer's voice input yet enabling the bargein property only for the DTMF input.

I tried to implement this functionality without using the <record> tag and by using only the <field> and <filled> tags to get the user's input. But the behavior was not as desired, because the messages could not be played to all the customers at the same time and the calls got disconnected. Also the messages were not played to voicemails for calls not answered. So, I can think of only the <record> tag to make outbound calls to accomplish the expected behavior. Could you please suggest if there is any other alternative for playing the audio files without the record tag and also be able to send voicemails for unanswered calls ? I appreciate your help.

Thanks,
Radhika

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

Re: Outbound IVR Questions

Post by support »

Hi Radhika,

You're implementing the voicemail code with the <record> tag correctly; however, you cannot have the following behavior together if using the <record> tag:

"Also the requirement is to turn off the voice recognition so that the initial prompt message does not get interrupted with the customer's voice input yet enabling the bargein property only for the DTMF input."

You can either set your initial prompt to "bargein=false" so that the initial prompt does not get interrupted and lose the bargein ability or keep the bargein ability for DTMF input, but keep the possibility of the initial prompt getting interrupted due to the recording being started from voice input.

There's also another voicemail-related post that references how to repeat a message multiple times for voicemail to pick it up: http://support.plumgroup.com/viewtopic.php?t=1325

Regards,
Plum Support

radhika
Posts: 1
Joined: Thu Aug 09, 2012 9:24 pm

Re: Outbound IVR Questions

Post by radhika »

Hi,

Thanks for the suggestion! As we need the bargein ability and also need to deal with the voice recognition, we planned to play the prompts twice(those marked in red in the script below) so that when our customer gives a voice input, the prompt played for the first time would get interrupted, but when the same prompt is played again, the customer would get another chance to give his DTMF input. After giving the key input, corresponding messages are played. So, I made changes to the above VXML script as following:

It works fine when the call is answered. But when the call is not answered, the customer does not get a voicemail.

Could you please suggest why it could be a problem ? or please advice if there is any alternative that I could try to meet the expected behaviour.

Modified VXML script to play the prompt(marked in red) for the second time only if it gets interrupted by voice. I came up with the following logic, as when the prompt is interrupted by voice input, it cannot be handled by "noinput" event:

<var name="gotinput" expr="'no'" />
<form id="OutboundIVRMsgEnglishSpanish">
<var name="varBillerName" expr="'%BillerName%'" />
<var name="varCallId" expr="'%CallId%'" />

<var name="varCalleeType" expr="'voice'" />
<var name="varCallCategory" expr="'answered'" />


<property name="timeout" value="3s"/>
<record name="answer" modal="false" dtmfterm="true" type="audio/x-wav" finalsilence="3s">
<prompt timeout="3s">
%OutboundIVRPromptEnglish% %OutboundIVRPromptSpanish%
</prompt>

<filled>
<if cond="answer$.termchar==1 || answer$.termchar==3 || answer$.termchar==4 || answer$.termchar==5 || answer$.termchar==6 || answer$.termchar==7 || answer$.termchar==8 || answer$.termchar==9">
<prompt timeout="1s">
%OutboundIVRMsgEnglish%
</prompt>
<assign name="gotinput" expr="'yes'"/>
<else/>
<if cond="answer$.termchar==2">
<prompt timeout="1s">
%OutboundIVRMsgSpanish%
</prompt>
<assign name="gotinput" expr="'yes'"/>
<else/>
<if cond="gotinput=='no'">
<assign name="gotinput" expr="'yes'"/>
<goto next ="#OutboundIVRMsgEnglishSpanish" />
<else/>
<assign name="varCalleeType" expr="'answeringmachine'"/>
<assign name="varCallCategory" expr="'unanswered'" />
<prompt timeout="3s">
%OutboundIVRMsgEnglish%
%OutboundIVRMsgSpanish%
</prompt>
</if>
</if>
</if>
</filled>
<noinput>
I'm sorry. I didn't get your input. Please listen to the following English and Spanish messages.
<prompt timeout="3s">
%OutboundIVRMsgEnglish%
%OutboundIVRMsgSpanish%
</prompt>
</noinput>
</record>

<block>
<submit fetchtimeout="10s" namelist="varBillerName varCallId varCalleeType varCallCategory" next="OutboundIVRCallTypeResults.aspx" />
</block>
</form>


Thanks,
Radhika

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

Re: Outbound IVR Questions

Post by support »

Hi Radhika,

As mentioned in previous posts such as this one, http://support.plumvoice.com/viewtopic.php?f=2&t=1442, you may need to tweak the finalsilence value in your <record> tag for the voicemail to pick up the message.

Regards,
Plum Support

Post Reply