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

Reprpmpt tag Disconnects when a goto tag was executed before

Questions and answers about IVR programming for Plum DEV

Moderators: admin, support

Post Reply
oscarsc
Posts: 1
Joined: Tue Apr 09, 2019 11:06 am

Reprpmpt tag Disconnects when a goto tag was executed before

Post by oscarsc »

I am having an issue with the <reprompt/> tag not properly finding the previous played prompt when the execution went through a <goto > tag.

Here is an example of what my VXML looks like

Code: Select all

      
<?xml version="1.0"?>
      <vxml version="2.1">

      <catch event="connection.disconnect.hangup error.disconnect.hangup">
        <exit/>
      </catch>

      <catch event="nomatch" count="1">
        <prompt> this is the first nomatch error </prompt>
        <reprompt/>
      </catch>
      <catch event="nomatch" count="2">
        <prompt> this is the second nomatch error </prompt>
        <reprompt/>
      </catch>
      <catch event="nomatch" count="3">
        <prompt> this is the last nomatch error </prompt>
      </catch>
      <catch event="noinput" count="1">
        <prompt> this is the first noinput error </prompt>
        <reprompt/>
      </catch>
      <catch event="noinput" count="2">
        <prompt> this is the second noinput error </prompt>
        <reprompt/>
      </catch>
      <catch event="noinput" count="3">
        <prompt> this is the last noinput error </prompt>
      </catch>

      <form id="app_builder_main_form_id">
        <field type="digits?length=3" name="beddbecadee">
          <grammar type="application/srgs+xml" root="ROOT" mode="dtmf">
            <rule id="ROOT" scope="public">
              <one-of>
                <item>
                  "9"
                  <tag> tagged = "repeat_prompt_key"; </tag>
                </item>
              </one-of>
            </rule>
          </grammar>

          <prompt> Enter any 3 digits or 9 to repeat </prompt>

          <filled>
            <if cond="beddbecadee.tagged || beddbecadee == 9">
              <goto nextitem="beddbecadee" />
            <else />
              <prompt>Great you entered <value expr="beddbecadee.tagged || beddbecadee" /></prompt>
            </if>
          </filled>
        </field>
      </form>
      </vxml>
Expected:

Voice: Enter any 3 digits or 9 to repeat
Human: Press 9
Voice: Enter any 3 digits or 9 to repeat
Human: Press 3 (Throws no match)
Voice: This is the first no match error
Voice: Enter any 3 digits or 9 to repeat
...

Current Result:

Voice: Enter any 3 digits or 9 to repeat
Human: Enters 9
Voice: Enter any 3 digits or 9 to repeat
Human: Enters 3 (Throws no match)
Voice: This is the first no match error
Disconnects

Notice how the execution does not properly reprompts after the catch not match error. I can confirm the reprompt works ok if you do not pass through the <goto> item before for instance:

This works Ok:
Voice: Enter any 3 digits or 9 to repeat
Human: Press 5 (Throws no match)
Voice: This is the first no match error
Voice: Enter any 3 digits or 9 to repeat (reprompted)
Human: Press 546
Voice:Great you entered 546

What can I be doing wrong? is there a way to let the FIA understand the prompt that was previously played after a goto tag?

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

Re: Reprpmpt tag Disconnects when a goto tag was executed be

Post by support »

Hi,

Thank you for reaching out.
Our engineers are currently looking into this.
We will keep you updated on this issue.

Regards,
Plum Support

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

Re: Reprpmpt tag Disconnects when a goto tag was executed be

Post by support »

Hi,

Our team has looked further into this and were able to reproduce the issue you are having. We recommend adding a "clear" tag after the "if" condition found in the "filled" tag. In other words, when the user enters "9", having "<clear namelist="beddbecadee"/>" before "<goto nextitem="beddbecadee" />" will reset the form item variable, and proceed to replay the prompt. We have tested your code with this addition, and the test cases you provided are working correctly. Please let us know if you have any further questions.


Regards,
Plum Support

Post Reply