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

application.lastresult$[0].recording

Questions and answers about IVR programming for Plum DEV

Moderators: admin, support

Post Reply
shishu
Posts: 9
Joined: Mon Apr 07, 2008 2:19 pm

application.lastresult$[0].recording

Post by shishu »

Need favor-

Can I get some working example for this variable. This application variable is not working as designed. May be if someone can tell what wrong we are doing here:
http://ivr2.yell411.com:8000/servlets-e ... mvoice.jsp


Did not work as documented - getting below error

received event: nomatch
VXI::assign_element(name="recoword" expr = "application.lastresult$[0].recording"
errmsg TypeError: application.lastresult$[0] has no properties line 1 linetxt tokentxt
bargein set to true
INPUTMODES set to "DTMF VOICE"
Audio segment added to prompt queue from TTS text/plain;charset=wchar_t for:


Shishu

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

IVR link demonstrates application.lastresult$[0]recording

Post by support »

Hi,

Here's a link to IVR documentation that demonstrates how to use application.lastresult$[0].recording:

http://www.plumvoice.com/docs/dev/voice ... .recording

Instead of actually using "application.lastresult$[0]" in your IVR code, you would want to type in the actual name of the variable that is being filled. For IVR example, in your "city" field, you would probably want to change this line:

Code: Select all

<assign name="recoword" expr="application.lastresult$[0]"/>
to this line:

Code: Select all

<assign name="recoword" expr="city"/>
Hope this helps.

Regards,
Plum Support
Last edited by support on Thu Feb 18, 2010 5:10 pm, edited 3 times in total.

shishu
Posts: 9
Joined: Mon Apr 07, 2008 2:19 pm

application.lastresult$[0].recording

Post by shishu »

http://ivr2.yell411.com:8000/servlets-e ... mvoice.jsp

1. seems like its not working inside nomatch clause.
2. Seems like its not recording if its nomatch, that's where we need.
3. If we set the required confidence level is 0, then will it always record it. We want to make sure it records it all the time except no-input.
4. What's the best way to record all the time?



<nomatch>
<assign name="recoword" expr="city$.recording"/>
<assign name="recoword" expr="application.lastresult$[0]"/>

<if cond="firsttimecity == 'true'">
<assign name="firsttimecity" expr="'false'"/>
<assign name="citytrial" expr="citytrial + 1"/>
<goto nextitem="cityasyncrecogfirsttime"/>
<else/>
<!-- firsttimecity == false -->
<assign name="citytrial" expr="citytrial + 1"/>
<assign name="recognized" expr="0"/>
<goto nextitem="recocitycheckcache"/>
</if>
</nomatch>


Error:

Tue 24 Jun 2008 01:38:01 AM EDT:
Saved utterance 0 for DNIS 02071471690 on channel 8
received event: nomatch:
VXI::assign_element(name="recoword" expr = "city$.recording")
TypeError: city$ has no properties line 1
received event: error.semantic.ecmascript:
bargein set to false
INPUTMODES set to "DTMF VOICE"
Audio segment added to prompt queue from TTS application/synthesis+ssml for:
---------
<?xml version='1.0'?><speak><voice gender="female">
A serious error of type </voice></speak>
---------
Newly queued prompts are now being played
bargein set to false
INPUTMODES set to "DTMF VOICE"
Audio segment added to prompt queue from TTS application/synthesis+ssml for:
---------
<?xml version='1.0'?><speak><voice gender="female">error.semantic.ecmascript</voice></speak>
---------

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

IVR code fix for nomatch error

Post by support »

Hi,

To answer questions 1 and 2:

The reason why this line:

Code: Select all

<assign name="recoword" expr="city$.recording"/> 
is not working within your <nomatch> clause is because your field variable, "city", has not been filled with anything yet since there was a nomatch for your IVR grammar.

To capture what is being said for your <nomatch> clauses, the following IVR example might help you:

Code: Select all

<nomatch>
  <var name="the_recording" expr="application.lastresult$.recording"/>
     The recording of the input is <value expr="the_recording"/>.
      <reprompt/>
</nomatch>
About questions 3 and 4:

Could you please clarify further what you mean? Do you mean to say that you always want your IVR grammar to have a match by setting your confidence level to a low value?

To do this, you would add this line to your IVR code:

Code: Select all

<property name="confidencelevel" value="0.3"/>
By lowering your confidence level, your IVR grammar will have more matches with the user's utterance. However, you also raise the chances of false positives (i.e. if a user coughs over the phone, the utterance could possible match the grammar).

Hope this helps.

Regards,
Plum Support

Post Reply