Page 1 of 1

Not able to test the VXML on the PLUM server

Posted: Wed Nov 29, 2006 11:59 am
by awaneeshp
Hello,

It has been really a very tiring experience working on Plum IVR environment becuase sometime a VXML runs fine & then sometimes it doesn't work.

I m really confused with this behaviour. So please tell me whats wrong with this VXML so that we can get it working on the PLUM environment.

Please help as it has really become frustrating becuase the VXML should either work or it shouldn't work.

Please find below the VXML:

<?xml version="1.0"?><vxml version="2.1"><catch event="noinput"><prompt><voice name="crystal"><break size="medium" />I am sorry I didn't hear you</voice></prompt><reprompt /></catch><catch event="noinput" count="3"><prompt><voice name="crystal"><break size="medium" />Unable to Verify your Identity. Goodbye</voice></prompt><disconnect /></catch><catch event="nomatch"><prompt><voice name="crystal"><break size="medium" />I did not understand your entry</voice></prompt><reprompt /></catch><catch event="nomatch" count="3"><prompt><voice name="crystal"><break size="medium" />I did not understand your entry. Goodbye</voice></prompt><disconnect /></catch><catch event="connection.disconnect.hangup"><submit namelist="session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" /></catch><catch event="error.semantic"><prompt><voice name="crystal"><break size="medium" />We cannot complete your request. Please contact your bonding company directly or try again later.</voice></prompt><exit /></catch><catch event="error.badfetch"><submit namelist="session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" /></catch><form id="welcomeform"><block><prompt><voice name="crystal"><break size="medium" />Welcome to the Inquestar Development Account</voice></prompt><goto next="#prompt_ssn_number" /></block></form><var name="ssn_number" /><var name="dobset" /><var name="submitcount" expr="1" /><var name="namelistdob" /><form id="prompt_ssn_number"><field name="MyField" type="digits?length=9"><prompt><voice name="crystal"><break size="medium" />Please key in your social security number now</voice></prompt><filled><assign name="document.ssn_number" expr="MyField" /><goto next="#confirm_ssn_number" /></filled></field></form><form id="confirm_ssn_number"><block><prompt><voice name="crystal"><break size="medium" />The Number you entered is<break size="medium" /><say-as type="acronym"><value expr="ssn_number" /></say-as></voice></prompt></block><field name="ssn" type="digits?length=1"><prompt><voice name="crystal"><break size="medium" />Press or Say 1 if this is correct?<break size="medium" />Press or Say 2 to Re enter</voice></prompt></field><filled><if cond="ssn=='1'"><goto next="#prompt_dob" /><elseif cond="ssn=='2'" /><goto next="#prompt_ssn_number" /></if></filled></form><form id="prompt_dob"><field name="dob" type="date"><prompt><voice name="crystal"><break size="medium" />Please Enter your four digit year of birth followed by your two digit month of birth followed by your two digit day of birth</voice></prompt><filled><assign name="document.dobset" expr="dob.substr(4,2) + '/' + dob.substr(6,2) + '/' + dob.substr(0,4)" /><assign name="namelistdob" expr="dob" /><goto next="#confirm_dob" /></filled></field></form><form id="confirm_dob"><block><prompt><voice name="crystal"><break size="medium" />The Date of Birth you entered is <break size="medium" /><say-as type="date"><value expr="dobset" /></say-as></voice></prompt></block><field name="dobcheck" type="digits?length=1"><prompt><voice name="crystal"><break size="medium" />Press or Say 1 if this is Correct?<break size="medium" />Press or Say 2 to Re Enter</voice></prompt><filled><if cond="dobcheck=='1'"><submit namelist="ssn_number namelistdob submitcount session.id" next="http://66.109.47.37/Captira.ADI.UI/Auth ... nPage.aspx" method="post" /><elseif cond="dobcheck=='2'" /><goto next="#prompt_dob" /></if></filled></field></form></vxml>


Thanks,
Awaneesh

format IVR code properly and place in a [code][/code] block

Posted: Wed Nov 29, 2006 3:04 pm
by support
Hello,

Please provide a better description of what is not working? Saying that it works sometimes and other times it doesn't is not helpful. Also please format your IVR code properly and place it inside a [code][/code] block so it is readable.

Regards,
Plum Support

Posted: Wed Nov 29, 2006 10:21 pm
by awaneeshp
[code] <?xml version="1.0" ?>
- <vxml version="2.1">
- <catch event="noinput">
- <prompt>
- <voice name="crystal">
<break size="medium" />
I am sorry I didn't hear you
</voice>
</prompt>
<reprompt />
</catch>
- <catch event="noinput" count="3">
- <prompt>
- <voice name="crystal">
<break size="medium" />
Unable to Verify your Identity. Goodbye
</voice>
</prompt>
<disconnect />
</catch>
- <catch event="nomatch">
- <prompt>
- <voice name="crystal">
<break size="medium" />
I did not understand your entry
</voice>
</prompt>
<reprompt />
</catch>
- <catch event="nomatch" count="3">
- <prompt>
- <voice name="crystal">
<break size="medium" />
I did not understand your entry. Goodbye
</voice>
</prompt>
<disconnect />
</catch>
- <catch event="connection.disconnect.hangup">
<submit namelist="session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
</catch>
- <catch event="error.semantic">
- <prompt>
- <voice name="crystal">
<break size="medium" />
We cannot complete your request. Please contact your bonding company directly or try again later.
</voice>
</prompt>
<exit />
</catch>
- <catch event="error.badfetch">
<submit namelist="session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
</catch>
- <form id="welcomeform">
- <block>
- <prompt>
- <voice name="crystal">
<break size="medium" />
Welcome to the Inquestar Development Account
</voice>
</prompt>
<goto next="#prompt_ssn_number" />
</block>
</form>
<var name="ssn_number" />
<var name="dobset" />
<var name="submitcount" expr="1" />
<var name="namelistdob" />
- <form id="prompt_ssn_number">
- <field name="MyField" type="digits?length=9">
- <prompt>
- <voice name="crystal">
<break size="medium" />
Please key in your social security number now
</voice>
</prompt>
- <filled>
<assign name="document.ssn_number" expr="MyField" />
<goto next="#confirm_ssn_number" />
</filled>
</field>
</form>
- <form id="confirm_ssn_number">
- <block>
- <prompt>
- <voice name="crystal">
<break size="medium" />
The Number you entered is
<break size="medium" />
- <say-as type="acronym">
<value expr="ssn_number" />
</say-as>
</voice>
</prompt>
</block>
- <field name="ssn" type="digits?length=1">
- <prompt>
- <voice name="crystal">
<break size="medium" />
Press or Say 1 if this is correct?
<break size="medium" />
Press or Say 2 to Re enter
</voice>
</prompt>
</field>
- <filled>
- <if cond="ssn=='1'">
<goto next="#prompt_dob" />
<elseif cond="ssn=='2'" />
<goto next="#prompt_ssn_number" />
</if>
</filled>
</form>
- <form id="prompt_dob">
- <field name="dob" type="date">
- <prompt>
- <voice name="crystal">
<break size="medium" />
Please Enter your four digit year of birth followed by your two digit month of birth followed by your two digit day of birth
</voice>
</prompt>
- <filled>
<assign name="document.dobset" expr="dob.substr(4,2) + '/' + dob.substr(6,2) + '/' + dob.substr(0,4)" />
<assign name="namelistdob" expr="dob" />
<goto next="#confirm_dob" />
</filled>
</field>
</form>
- <form id="confirm_dob">
- <block>
- <prompt>
- <voice name="crystal">
<break size="medium" />
The Date of Birth you entered is
<break size="medium" />
- <say-as type="date">
<value expr="dobset" />
</say-as>
</voice>
</prompt>
</block>
- <field name="dobcheck" type="digits?length=1">
- <prompt>
- <voice name="crystal">
<break size="medium" />
Press or Say 1 if this is Correct?
<break size="medium" />
Press or Say 2 to Re Enter
</voice>
</prompt>
- <filled>
- <if cond="dobcheck=='1'">
<submit namelist="ssn_number namelistdob submitcount session.id" next="http://66.109.47.37/Captira.ADI.UI/Auth ... nPage.aspx" method="post" />
<elseif cond="dobcheck=='2'" />
<goto next="#prompt_dob" />
</if>
</filled>
</field>
</form>
</vxml>
[/code]

I m testing this VXML & it is behaving very random becuase i tested first time this worked. But again when i retested the same VXML was not working & it happened many times.
Please suggest & check it there is any problem with the VXML.

"Disable BBCode in this post" box so IVR code bloc

Posted: Wed Nov 29, 2006 11:43 pm
by support
Hello,

You simply are not providing enough information for us to properly diagnose the IVR issue. Please explain what exactly is going wrong, at what point in the IVR call are things breaking and how are they breaking.

You should be breaking the IVR code out and attempt to debug this in smaller code segments. Please do not just paste all of your IVR code into the page without an explanation of what you are trying to accomplish and what each code segment is designed to do.

Also, you need to uncheck the "Disable BBCode in this post" box when you post so the IVR code blocks are properly formatted.

Regards,
Plum Support

Posted: Thu Nov 30, 2006 2:06 am
by awaneeshp
If i say it is not working means it simply doesn't respond anything when i run the below mentioned VXML.

Below are few behaviors which we found:

1. Sometimes the IVR simply doesn't speak anything for the first time when we dial & then call gets disconnected. But it works when we retry for 2-3 times. This has happend many times.

2. Sometimes the same VXML works fine after it asks for the SSN & DOB authentication as mentioned in the VXML below.

3. When we entered an SSN no - 289388772 then it doesn't pick up saying that it doesn't understand the entry for the first time & gets disconnected after three attempts. But when we enter SSN as 678547878 then it accepts at first attepmt itself. We also observed that if enter slowly then it picks & if enter the numbers very fast then it fails.
The VXML we are using for SSN is as follows:

Code: Select all

<form id="prompt_ssn_number"> 
<field name="MyField" type="digits?length=9"> 
 <prompt> 
 <voice name="crystal"> 
<break size="medium" /> 
Please key in your social security number now 
</voice> 
</prompt> 
 <filled> 
<assign name="document.ssn_number" expr="MyField" /> 
<goto next="#confirm_ssn_number" /> 
</filled> 
</field> 
</form> 
 <form id="confirm_ssn_number"> 
 <block> 
 <prompt> 
 <voice name="crystal"> 
<break size="medium" /> 
The Number you entered is 
<break size="medium" /> 
 <say-as type="acronym"> 
<value expr="ssn_number" /> 
</say-as> 
</voice> 
</prompt> 
</block> 
 <field name="ssn" type="digits?length=1"> 
 <prompt> 
 <voice name="crystal"> 
<break size="medium" /> 
Press or Say 1 if this is correct? 
<break size="medium" /> 
Press or Say 2 to Re enter 
</voice> 
</prompt> 
</field> 
 <filled> 
 <if cond="ssn=='1'"> 
<goto next="#prompt_dob" /> 
<elseif cond="ssn=='2'" /> 
<goto next="#prompt_ssn_number" /> 
</if> 
</filled> 
</form> 

4. Sometimes the DOB is spelled properly like November 11 1980 when we enter the date in the format YYYYMMDD after formating the data mentioned as below & other time it spells for e.g. November 11 slash 1980:

Code: Select all

 <form id="prompt_dob"> 
<field name="dob" type="date"> 
<prompt> 
<voice name="crystal"> 
<break size="medium" /> 
Please Enter your four digit year of birth followed by your two digit month of birth followed by your two digit day of birth 
</voice> 
</prompt> 
<filled> 
<assign name="document.dobset" expr="dob.substr(4,2) + '/' + dob.substr(6,2) + '/' + dob.substr(0,4)" /> 
<assign name="namelistdob" expr="dob" /> 
<goto next="#confirm_dob" /> 
</filled> 
</field> 
</form> 

For Speaking the entered DOB we are using following code:

Code: Select all

<block> 
- <prompt> 
- <voice name="crystal"> 
<break size="medium" /> 
The Date of Birth you entered is 
<break size="medium" /> 
- <say-as type="date"> 
<value expr="dobset" /> 
</say-as> 
</voice> 
</prompt> 
</block> 

5. Is there anything we need to do with the speed we enter the data becuase when we enter the date 19800101 then first time it speaks "January 1 slash 1980" but when we deny confirming the date & reenter the same date then speaks "January 1 1980"?
I m not able to understand this nature of the IVR becuase of the varied bahavior subsequently.


Please suggest what we should do to get it working & let me know if we need to move to production for better output becuase it has been really frustrating to work because of the varied nature of the IVR.

Thanks,
-Awaneesh

IVR issue not experienced by other users

Posted: Thu Nov 30, 2006 9:12 am
by support
Hello,

1. Are you calling from a SIP/VOIP phone by any chance? The behavior you are describing is not something we have heard from any of our customers who do massive amounts of call volume on our IVR system. It is more likely that there is an issue with your lines. Also all the inconsistencies with input you are describing below are common with VOIP phones which often drop DTMF tones and have poor voice quality.

2. See # 1.

3. For all of the input you are describing are you keying in your response or speaking it? In the DTMF case speed of entry should not have any impact on reliability (except with VOIP phones). In the speech recognition case we are limited by the technology. Speaking clearly and consistently will always improve recognition reliability.

4. Again there is some confusion as to how you are providing input into the IVR system. You prompt seems to indicate that you want them to use DTMF, however you have not set the inputmodes global property. If you are using DTMF input then there is no reason that the IVR system should be doing what your are describing (except with VOIP phones). For speech recognition your prompt is not describing the expected means of speaking a birthday. For the date type you should speak your birthday as follows:

"january first nineteen sixty nine" => 19690101
"march sixteenth nineteen seventy nine" => 19790316

If some of that data was not clear the speech engine will sometimes fill the date with question marks over the part that was missed:

"january ..... nineteen sixty nine" => 196901??
"..... sixteenth nineteen seventy nine => 1979??16

5. The speed with which you enter speech data will improve recognition reliability to a point, as will speaking clearly and being in a more quiet environment. Moving to an DTMF only implementation will dramatically improve reliability since it is not susceptible to speed, variation in background noise or the callers ability to speak clearly. Also, have you tried looking at your last IVR call log to see what the IVR system collected for input and what is being requested as TTS?

Finally, you can talk to you sales representative about getting on the production systems, however you should know that there is not a major difference between the systems you are on and the production systems. The biggest difference is more redundancy. Also, the production systems are currently running an updated platform release, this difference will be rectified in the coming weeks.

Regards,
Plum Support

Posted: Thu Nov 30, 2006 10:21 am
by awaneeshp
We are testing through SKYPE. So considering the case that there is a problem with calling through SKYPE, we tested calling from a speaker phone. But that doesn't work again. Then we called from a normal without any speaker that also didn't work for the first time but worked for the second time.

(we also want application to be voice enabled apart from DTMF but due to the inconsistent behavior of IVR, we have only switched on the DTMF input at the moment)

Before we go ahead i want to get the VXML document validated which gets genarated from application server. Please look at it & let us know in case you find any problem with the VXML so that we can correct & go ahead for production testing.

This is the authentication VXML:

Code: Select all

<?xml version="1.0"?>
<vxml version="2.1">
  <property name="inputmodes" value="dtmf" />
  <catch event="noinput">
    <prompt>
      <voice name="crystal">
        <break size="medium" />I am sorry I didn't hear you
      </voice>
    </prompt>
    <reprompt />
  </catch>
  <catch event="noinput" count="3">
    <prompt>
      <voice name="crystal">
        <break size="medium" />Unable to Verify your Identity. Goodbye
      </voice>
    </prompt>
    <disconnect />
  </catch>
  <catch event="nomatch">
    <prompt>
      <voice name="crystal">
        <break size="medium" />I did not understand your entry
      </voice>
    </prompt>
    <reprompt />
  </catch>
  <catch event="nomatch" count="3">
    <prompt>
      <voice name="crystal">
        <break size="medium" />I did not understand your entry. Goodbye
      </voice>
    </prompt>
    <disconnect />
  </catch>
  <catch event="connection.disconnect.hangup">
    <submit namelist="session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
  </catch>
  <catch event="error.semantic">
    <prompt>
      <voice name="crystal">
        <break size="medium" />We cannot complete your request. Please contact your bonding company directly or try again later.
      </voice>
    </prompt>
    <exit />
  </catch>
  <catch event="error.badfetch">
    <submit namelist="session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
  </catch>
  <form id="welcomeform">
    <block>
      <prompt>
        <voice name="crystal">
          <break size="medium" />Welcome to the Inquestar Development Account
        </voice>
      </prompt>
      <goto next="#prompt_ssn_number" />
    </block>
  </form>
  <var name="ssn_number" />
  <var name="dobset" />
  <var name="submitcount" expr="1" />
  <var name="namelistdob" />
  <form id="prompt_ssn_number">
    <field name="MyField" type="digits?length=9">
      <prompt>
        <voice name="crystal">
          <break size="medium" />Please key in your social security number now
        </voice>
      </prompt>
      <filled>
        <assign name="document.ssn_number" expr="MyField" />
        <goto next="#confirm_ssn_number" />
      </filled>
    </field>
  </form>
  <form id="confirm_ssn_number">
    <block>
      <prompt>
        <voice name="crystal">
          <break size="medium" />The Number you entered is<break size="medium" /><say-as type="acronym">
            <value expr="ssn_number" />
          </say-as>
        </voice>
      </prompt>
    </block>
    <field name="ssn" type="digits?length=1">
      <prompt>
        <voice name="crystal">
          <break size="medium" />Press or Say 1 if this is correct?<break size="medium" />Press or Say 2  to Re enter
        </voice>
      </prompt>
    </field>
    <filled>
      <if cond="ssn=='1'">
        <goto next="#prompt_dob" />
        <elseif cond="ssn=='2'" />
        <goto next="#prompt_ssn_number" />
      </if>
    </filled>
  </form>
  <form id="prompt_dob">
    <field name="dob" type="date">
      <prompt>
        <voice name="crystal">
          <break size="medium" />Please Enter your four digit year of birth followed by your two digit month of birth followed by your two digit day of birth
        </voice>
      </prompt>
      <filled>
        <assign name="document.dobset" expr="dob.substr(4,2) + '/' + dob.substr(6,2) + '/' + dob.substr(0,4)" />
        <assign name="namelistdob" expr="dob" />
        <goto next="#confirm_dob" />
      </filled>
    </field>
  </form>
  <form id="confirm_dob">
    <block>
      <prompt>
        <voice name="crystal">
          <break size="medium" />The Date of Birth you entered is <break size="medium" /><say-as type="date">
            <value expr="dobset" />
          </say-as>
        </voice>
      </prompt>
    </block>
    <field name="dobcheck" type="digits?length=1">
      <prompt>
        <voice name="crystal">
          <break size="medium" />Press or Say 1 if this is Correct?<break size="medium" />Press or Say 2  to Re Enter
        </voice>
      </prompt>
      <filled>
        <if cond="dobcheck=='1'">
          <submit namelist="ssn_number  namelistdob submitcount  session.id" next="http://66.109.47.37/Captira.ADI.UI/AuthenticationPage.aspx" method="post" />
          <elseif cond="dobcheck=='2'" />
          <goto next="#prompt_dob" />
        </if>
      </filled>
    </field>
  </form>
</vxml>
This is the menu VXML:

Code: Select all

<?xml version="1.0"?>
<vxml version="2.1">
  <property name="inputmodes" value="dtmf" />
  <catch event="noinput">
    <prompt>
      <voice name="crystal">
        <break size="medium" />I am sorry I didn't hear you
      </voice>
    </prompt>
    <reprompt />
  </catch>
  <catch event="noinput" count="3">
    <prompt>
      <voice name="crystal">
        <break size="medium" />Unable to Verify your Identity. Goodbye
      </voice>
    </prompt>
    <disconnect />
  </catch>
  <catch event="nomatch">
    <prompt>
      <voice name="crystal">
        <break size="medium" />I did not understand your entry
      </voice>
    </prompt>
    <reprompt />
  </catch>
  <catch event="nomatch" count="3">
    <prompt>
      <voice name="crystal">
        <break size="medium" />I did not understand your entry. Goodbye
      </voice>
    </prompt>
    <disconnect />
  </catch>
  <catch event="connection.disconnect.hangup">
    <submit namelist="session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
  </catch>
  <catch event="error.semantic">
    <prompt>
      <voice name="crystal">
        <break size="medium" />We cannot complete your request. Please contact your bonding company directly or try again later.
      </voice>
    </prompt>
    <exit />
  </catch>
  <form id="welcomemainmenu">
    <block>
      <goto next="#mainmenu" />
    </block>
  </form>
  <catch event="error.badfetch">
    <submit namelist="session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
  </catch>
  <menu id="mainmenu" scope="dialog" dtmf="true">
    <prompt>
      <voice name="crystal">
        <break size="medium" />Please select or say one of the following at any time<break size="medium" />Press or Say 1 to Check in<break size="medium" />Press or Say 2 to check your Court Dates<break size="medium" />Press or Say 3 to check your account information<break size="medium" />Press or Say Zero to be transferred to a Representative
      </voice>
    </prompt>
    <choice next="#mainmenucheckin">one</choice>
    <choice next="#mainmenucheckdates">two</choice>
    <choice next="#welcomesubmenu">three</choice>
    <choice event="zero_event1" dtmf="0">zero</choice>
  </menu>
  <form id="mainmenucheckin">
    <var name="checkinsubmit" expr="'checkin'" />
    <field name="myfield" type="digits?length=1">
      <prompt>
        <voice name="crystal">
          <break size="medium" />Press or Say one if you have a future court date<break size="medium" />Press or Say 2 if you have no future court date.<break size="medium" />Press or Say Star to go to the Main Menu
        </voice>
      </prompt>
      <grammar>1|2|"*"|"star"</grammar>
      <filled>
        <if cond="myfield=='1'">
          <goto next="#prompt_checkincourtdate" />
          <elseif cond="myfield=='2'" />
          <submit namelist="checkinsubmit  session.id" next="http://66.109.47.37/Captira.ADI.UI/menupage.aspx" method="post" />
          <elseif cond="myfield=='star'" />
          <goto next="#mainmenu" />
          <elseif cond="myfield=='*'" />
          <goto next="#mainmenu" />
        </if>
      </filled>
    </field>
  </form>
  <form id="prompt_checkincourtdate">
    <field name="courtdate" type="date">
      <property name="inputmodes" value="dtmf" />
      <prompt>
        <voice name="crystal">
          <break size="medium" />Please Enter the four digit year, two digit month and two digit day of your next court appearance
        </voice>
      </prompt>
      <filled>
        <assign name="courtdateset" expr="courtdate.substr(4,2) + '/' + courtdate.substr(6,2) + '/' + courtdate.substr(0,4)" />
        <goto next="#confirm_checkincourtdate" />
      </filled>
    </field>
  </form>
  <form id="confirm_checkincourtdate">
    <var name="checkinsubmit" expr="'checkin'" />
    <block>
      <prompt>
        <voice name="crystal">
          <break size="medium" />The Court  Date you entered is <break size="medium" /><say-as type="date">
            <value expr="courtdateset" />
          </say-as>
        </voice>
      </prompt>
    </block>
    <field name="CourtDateField" type="digits?length=1">
      <prompt>
        <voice name="crystal">
          <break size="medium" />Press or Say 1 if this is Correct?<break size="medium" />Press or Say 2  to Re Enter
        </voice>
      </prompt>
      <filled>
        <if cond="CourtDateField=='1'">
          <submit namelist="courtdate  checkinsubmit  session.id" next="http://66.109.47.37/Captira.ADI.UI/menupage.aspx" method="post" />
          <elseif cond="CourtDateField=='2'" />
          <goto next="#prompt_checkincourtdate" />
        </if>
      </filled>
    </field>
  </form>
  <form id="mainmenucheckdates">
    <block>
      <var name="checkdatessubmit" expr="'checkdates'" />
      <submit namelist="checkdatessubmit  session.id" next="http://66.109.47.37/Captira.ADI.UI/menupage.aspx" method="post" />
    </block>
  </form>
  <form id="welcomesubmenu">
    <block>
      <goto next="#submenu" />
    </block>
  </form>
  <menu id="submenu" scope="dialog" dtmf="true">
    <prompt>
      <voice name="crystal">
        <break size="medium" />Please select or say one of the following at any time<break size="medium" />Press or say one to hear your current balance<break size="medium" />Press or say two to hear your last payment information<break size="medium" />Press or Say three to hear your next payment information<break size="medium" />Press or Say Zero to be transferred to a representative<break size="medium" />Press or Say star  to go back to main menu
      </voice>
    </prompt>
    <choice next="#submenucurrentbalance">one</choice>
    <choice next="#submenulastpayment">two</choice>
    <choice next="#submenunextpayment">three</choice>
    <choice event="zero_event1" dtmf="0">zero</choice>
    <choice event="star_event" dtmf="*">star</choice>
  </menu>
  <catch event="star_event">
    <goto next="#mainmenu" />
  </catch>
  <catch event="zero_event1">
    <goto next="#calltransfer" />
  </catch>
  <form id="calltransfer">
    <block>transferring your call...Please Wait</block>
    <var name="errorvar" />
    <transfer name="T_1" bridge="true" dest="+2342142">
      <filled>
        <if cond="T_1=='1'">
          <assign name="errorvar" expr="1" />
          <prompt>
            <voice name="crystal">
              <break size="medium" />Sorry Our Lines are busy. Please try again later.
            </voice>
          </prompt>
          <submit namelist="errorvar   session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
          <elseif cond="T_1=='2'" />
          <assign name="errorvar" expr="2" />
          <prompt>
            <voice name="crystal">
              <break size="medium" />Sorry Nobody is Answering the Phone.
            </voice>
          </prompt>
          <submit namelist="errorvar   session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
          <elseif cond="T_1=='3'" />
          <assign name="errorvar" expr="farenddisconnect" />
          <prompt>
            <voice name="crystal">
              <break size="medium" />The Call has been Disconnected.
            </voice>
          </prompt>
          <submit namelist="errorvar   session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
          <elseif cond="T_1=='4'" />
          <assign name="errorvar" expr="nearenddisconnect" />
          <prompt>
            <voice name="crystal">
              <break size="medium" />The Caller Disconnected the Phone.
            </voice>
          </prompt>
          <submit namelist="errorvar   session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
        </if>
      </filled>
    </transfer>
  </form>
  <form id="submenucurrentbalance">
    <block>
      <var name="currentbalancesubmit" expr="'currentbalance'" />
      <submit namelist="currentbalancesubmit  session.id" next="http://66.109.47.37/Captira.ADI.UI/menupage.aspx" method="post" />
    </block>
  </form>
  <form id="submenulastpayment">
    <block>
      <var name="lastpaymentsubmit" expr="'lastpayment'" />
      <submit namelist="lastpaymentsubmit  session.id" next="http://66.109.47.37/Captira.ADI.UI/menupage.aspx" method="post" />
    </block>
  </form>
  <form id="submenunextpayment">
    <block>
      <var name="nextpaymentsubmit" expr="'nextpayment'" />
      <submit namelist="nextpaymentsubmit  session.id" next="http://66.109.47.37/Captira.ADI.UI/menupage.aspx" method="post" />
    </block>
  </form>
</vxml>
I want to understand why there is an inconsistency speaking out the VXML.

Please suggest & help.

Thanks,
-Awaneesh

Posted: Thu Nov 30, 2006 10:22 am
by awaneeshp
We are testing through SKYPE. So considering the case that there is a problem with calling through SKYPE, we tested calling from a speaker phone. But that doesn't work again. Then we called from a normal without any speaker that also didn't work for the first time but worked for the second time.

(we also want application to be voice enabled apart from DTMF but due to the inconsistent behavior of IVR, we have only switched on the DTMF input at the moment)

Before we go ahead i want to get the VXML document validated which gets genarated from application server. Please look at it & let us know in case you find any problem with the VXML so that we can correct & go ahead for production testing.

This is the authentication VXML:

Code: Select all

<?xml version="1.0"?>
<vxml version="2.1">
  <property name="inputmodes" value="dtmf" />
  <catch event="noinput">
    <prompt>
      <voice name="crystal">
        <break size="medium" />I am sorry I didn't hear you
      </voice>
    </prompt>
    <reprompt />
  </catch>
  <catch event="noinput" count="3">
    <prompt>
      <voice name="crystal">
        <break size="medium" />Unable to Verify your Identity. Goodbye
      </voice>
    </prompt>
    <disconnect />
  </catch>
  <catch event="nomatch">
    <prompt>
      <voice name="crystal">
        <break size="medium" />I did not understand your entry
      </voice>
    </prompt>
    <reprompt />
  </catch>
  <catch event="nomatch" count="3">
    <prompt>
      <voice name="crystal">
        <break size="medium" />I did not understand your entry. Goodbye
      </voice>
    </prompt>
    <disconnect />
  </catch>
  <catch event="connection.disconnect.hangup">
    <submit namelist="session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
  </catch>
  <catch event="error.semantic">
    <prompt>
      <voice name="crystal">
        <break size="medium" />We cannot complete your request. Please contact your bonding company directly or try again later.
      </voice>
    </prompt>
    <exit />
  </catch>
  <catch event="error.badfetch">
    <submit namelist="session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
  </catch>
  <form id="welcomeform">
    <block>
      <prompt>
        <voice name="crystal">
          <break size="medium" />Welcome to the Inquestar Development Account
        </voice>
      </prompt>
      <goto next="#prompt_ssn_number" />
    </block>
  </form>
  <var name="ssn_number" />
  <var name="dobset" />
  <var name="submitcount" expr="1" />
  <var name="namelistdob" />
  <form id="prompt_ssn_number">
    <field name="MyField" type="digits?length=9">
      <prompt>
        <voice name="crystal">
          <break size="medium" />Please key in your social security number now
        </voice>
      </prompt>
      <filled>
        <assign name="document.ssn_number" expr="MyField" />
        <goto next="#confirm_ssn_number" />
      </filled>
    </field>
  </form>
  <form id="confirm_ssn_number">
    <block>
      <prompt>
        <voice name="crystal">
          <break size="medium" />The Number you entered is<break size="medium" /><say-as type="acronym">
            <value expr="ssn_number" />
          </say-as>
        </voice>
      </prompt>
    </block>
    <field name="ssn" type="digits?length=1">
      <prompt>
        <voice name="crystal">
          <break size="medium" />Press or Say 1 if this is correct?<break size="medium" />Press or Say 2  to Re enter
        </voice>
      </prompt>
    </field>
    <filled>
      <if cond="ssn=='1'">
        <goto next="#prompt_dob" />
        <elseif cond="ssn=='2'" />
        <goto next="#prompt_ssn_number" />
      </if>
    </filled>
  </form>
  <form id="prompt_dob">
    <field name="dob" type="date">
      <prompt>
        <voice name="crystal">
          <break size="medium" />Please Enter your four digit year of birth followed by your two digit month of birth followed by your two digit day of birth
        </voice>
      </prompt>
      <filled>
        <assign name="document.dobset" expr="dob.substr(4,2) + '/' + dob.substr(6,2) + '/' + dob.substr(0,4)" />
        <assign name="namelistdob" expr="dob" />
        <goto next="#confirm_dob" />
      </filled>
    </field>
  </form>
  <form id="confirm_dob">
    <block>
      <prompt>
        <voice name="crystal">
          <break size="medium" />The Date of Birth you entered is <break size="medium" /><say-as type="date">
            <value expr="dobset" />
          </say-as>
        </voice>
      </prompt>
    </block>
    <field name="dobcheck" type="digits?length=1">
      <prompt>
        <voice name="crystal">
          <break size="medium" />Press or Say 1 if this is Correct?<break size="medium" />Press or Say 2  to Re Enter
        </voice>
      </prompt>
      <filled>
        <if cond="dobcheck=='1'">
          <submit namelist="ssn_number  namelistdob submitcount  session.id" next="http://66.109.47.37/Captira.ADI.UI/AuthenticationPage.aspx" method="post" />
          <elseif cond="dobcheck=='2'" />
          <goto next="#prompt_dob" />
        </if>
      </filled>
    </field>
  </form>
</vxml>
This is the menu VXML:

Code: Select all

<?xml version="1.0"?>
<vxml version="2.1">
  <property name="inputmodes" value="dtmf" />
  <catch event="noinput">
    <prompt>
      <voice name="crystal">
        <break size="medium" />I am sorry I didn't hear you
      </voice>
    </prompt>
    <reprompt />
  </catch>
  <catch event="noinput" count="3">
    <prompt>
      <voice name="crystal">
        <break size="medium" />Unable to Verify your Identity. Goodbye
      </voice>
    </prompt>
    <disconnect />
  </catch>
  <catch event="nomatch">
    <prompt>
      <voice name="crystal">
        <break size="medium" />I did not understand your entry
      </voice>
    </prompt>
    <reprompt />
  </catch>
  <catch event="nomatch" count="3">
    <prompt>
      <voice name="crystal">
        <break size="medium" />I did not understand your entry. Goodbye
      </voice>
    </prompt>
    <disconnect />
  </catch>
  <catch event="connection.disconnect.hangup">
    <submit namelist="session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
  </catch>
  <catch event="error.semantic">
    <prompt>
      <voice name="crystal">
        <break size="medium" />We cannot complete your request. Please contact your bonding company directly or try again later.
      </voice>
    </prompt>
    <exit />
  </catch>
  <form id="welcomemainmenu">
    <block>
      <goto next="#mainmenu" />
    </block>
  </form>
  <catch event="error.badfetch">
    <submit namelist="session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
  </catch>
  <menu id="mainmenu" scope="dialog" dtmf="true">
    <prompt>
      <voice name="crystal">
        <break size="medium" />Please select or say one of the following at any time<break size="medium" />Press or Say 1 to Check in<break size="medium" />Press or Say 2 to check your Court Dates<break size="medium" />Press or Say 3 to check your account information<break size="medium" />Press or Say Zero to be transferred to a Representative
      </voice>
    </prompt>
    <choice next="#mainmenucheckin">one</choice>
    <choice next="#mainmenucheckdates">two</choice>
    <choice next="#welcomesubmenu">three</choice>
    <choice event="zero_event1" dtmf="0">zero</choice>
  </menu>
  <form id="mainmenucheckin">
    <var name="checkinsubmit" expr="'checkin'" />
    <field name="myfield" type="digits?length=1">
      <prompt>
        <voice name="crystal">
          <break size="medium" />Press or Say one if you have a future court date<break size="medium" />Press or Say 2 if you have no future court date.<break size="medium" />Press or Say Star to go to the Main Menu
        </voice>
      </prompt>
      <grammar>1|2|"*"|"star"</grammar>
      <filled>
        <if cond="myfield=='1'">
          <goto next="#prompt_checkincourtdate" />
          <elseif cond="myfield=='2'" />
          <submit namelist="checkinsubmit  session.id" next="http://66.109.47.37/Captira.ADI.UI/menupage.aspx" method="post" />
          <elseif cond="myfield=='star'" />
          <goto next="#mainmenu" />
          <elseif cond="myfield=='*'" />
          <goto next="#mainmenu" />
        </if>
      </filled>
    </field>
  </form>
  <form id="prompt_checkincourtdate">
    <field name="courtdate" type="date">
      <property name="inputmodes" value="dtmf" />
      <prompt>
        <voice name="crystal">
          <break size="medium" />Please Enter the four digit year, two digit month and two digit day of your next court appearance
        </voice>
      </prompt>
      <filled>
        <assign name="courtdateset" expr="courtdate.substr(4,2) + '/' + courtdate.substr(6,2) + '/' + courtdate.substr(0,4)" />
        <goto next="#confirm_checkincourtdate" />
      </filled>
    </field>
  </form>
  <form id="confirm_checkincourtdate">
    <var name="checkinsubmit" expr="'checkin'" />
    <block>
      <prompt>
        <voice name="crystal">
          <break size="medium" />The Court  Date you entered is <break size="medium" /><say-as type="date">
            <value expr="courtdateset" />
          </say-as>
        </voice>
      </prompt>
    </block>
    <field name="CourtDateField" type="digits?length=1">
      <prompt>
        <voice name="crystal">
          <break size="medium" />Press or Say 1 if this is Correct?<break size="medium" />Press or Say 2  to Re Enter
        </voice>
      </prompt>
      <filled>
        <if cond="CourtDateField=='1'">
          <submit namelist="courtdate  checkinsubmit  session.id" next="http://66.109.47.37/Captira.ADI.UI/menupage.aspx" method="post" />
          <elseif cond="CourtDateField=='2'" />
          <goto next="#prompt_checkincourtdate" />
        </if>
      </filled>
    </field>
  </form>
  <form id="mainmenucheckdates">
    <block>
      <var name="checkdatessubmit" expr="'checkdates'" />
      <submit namelist="checkdatessubmit  session.id" next="http://66.109.47.37/Captira.ADI.UI/menupage.aspx" method="post" />
    </block>
  </form>
  <form id="welcomesubmenu">
    <block>
      <goto next="#submenu" />
    </block>
  </form>
  <menu id="submenu" scope="dialog" dtmf="true">
    <prompt>
      <voice name="crystal">
        <break size="medium" />Please select or say one of the following at any time<break size="medium" />Press or say one to hear your current balance<break size="medium" />Press or say two to hear your last payment information<break size="medium" />Press or Say three to hear your next payment information<break size="medium" />Press or Say Zero to be transferred to a representative<break size="medium" />Press or Say star  to go back to main menu
      </voice>
    </prompt>
    <choice next="#submenucurrentbalance">one</choice>
    <choice next="#submenulastpayment">two</choice>
    <choice next="#submenunextpayment">three</choice>
    <choice event="zero_event1" dtmf="0">zero</choice>
    <choice event="star_event" dtmf="*">star</choice>
  </menu>
  <catch event="star_event">
    <goto next="#mainmenu" />
  </catch>
  <catch event="zero_event1">
    <goto next="#calltransfer" />
  </catch>
  <form id="calltransfer">
    <block>transferring your call...Please Wait</block>
    <var name="errorvar" />
    <transfer name="T_1" bridge="true" dest="+2342142">
      <filled>
        <if cond="T_1=='1'">
          <assign name="errorvar" expr="1" />
          <prompt>
            <voice name="crystal">
              <break size="medium" />Sorry Our Lines are busy. Please try again later.
            </voice>
          </prompt>
          <submit namelist="errorvar   session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
          <elseif cond="T_1=='2'" />
          <assign name="errorvar" expr="2" />
          <prompt>
            <voice name="crystal">
              <break size="medium" />Sorry Nobody is Answering the Phone.
            </voice>
          </prompt>
          <submit namelist="errorvar   session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
          <elseif cond="T_1=='3'" />
          <assign name="errorvar" expr="farenddisconnect" />
          <prompt>
            <voice name="crystal">
              <break size="medium" />The Call has been Disconnected.
            </voice>
          </prompt>
          <submit namelist="errorvar   session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
          <elseif cond="T_1=='4'" />
          <assign name="errorvar" expr="nearenddisconnect" />
          <prompt>
            <voice name="crystal">
              <break size="medium" />The Caller Disconnected the Phone.
            </voice>
          </prompt>
          <submit namelist="errorvar   session.id" next="http://66.109.47.37/Captira.ADI.UI/errorpage.aspx" method="post" />
        </if>
      </filled>
    </transfer>
  </form>
  <form id="submenucurrentbalance">
    <block>
      <var name="currentbalancesubmit" expr="'currentbalance'" />
      <submit namelist="currentbalancesubmit  session.id" next="http://66.109.47.37/Captira.ADI.UI/menupage.aspx" method="post" />
    </block>
  </form>
  <form id="submenulastpayment">
    <block>
      <var name="lastpaymentsubmit" expr="'lastpayment'" />
      <submit namelist="lastpaymentsubmit  session.id" next="http://66.109.47.37/Captira.ADI.UI/menupage.aspx" method="post" />
    </block>
  </form>
  <form id="submenunextpayment">
    <block>
      <var name="nextpaymentsubmit" expr="'nextpayment'" />
      <submit namelist="nextpaymentsubmit  session.id" next="http://66.109.47.37/Captira.ADI.UI/menupage.aspx" method="post" />
    </block>
  </form>
</vxml>
I want to understand why there is an inconsistency speaking out the VXML.

Please suggest & help.


Thanks,
-Awaneesh

to perform full IVR code review, talk to sales rep

Posted: Thu Nov 30, 2006 11:03 am
by support
Hello,

Understand that when you dial internationally (even if over a landline) you are likely hitting a VOIP switch before you get to the US. This is going to be a problem for you as you continue to test our IVR platform.

Regarding your IVR code review request. This is not something that we do for free on this forum. This forum is intended to help you debug IVR issues you run into or learn new methods of development. If you would like us to perform a full IVR code review you should talk to your sales representative about our developer consulting packages.

Regards,
Plum Support