I am catching "noinput" when nothing is entered, and put in "nomatch" and "error" but none of these seem to catch the event.
Again, I have inputmodes = dtmf and in a digits field I am simply pressing the # key.
Thanks!
P.S. Is there a list of all system events that could be fired and what conditions cause them to fire?
We've Moved! Please visit our new and improved forum over at our new portal: https://portal.plumvoice.com/hc/en-us/community/topics
what event is fired if only dtmf and press # first?
IVR ex of link declared with grammar that will make vxml int
the function keys ('*', and '#') do not register as digits.
In the plum voice platform, integers are considered to be numeric characters only (0 - 9).
If you want to <catch> '*' or '#' characters, try using a link:
In the preceding IVR example, a <link> is declared with an IVR grammar that will make the vxml interpreter jump to the "caught_star" form when the # key is pressed.
Here is a list of voicexml events that are fired by the plum voice platform:
"connection.disconnect.hangup"
"connection.disconnect.transfer"
"error.badfetch"
"error.badfetch.baduri"
"error.badfetch.baddialog"
"error.badfetch.applicationuri"
"error.semantic"
"error.semantic.ecmascript"
"error.semantic.no_event_in_throw"
"error.unsupported.format"
"error.unsupported.object"
"error.unsupported.language"
"error.unsupported.transfer"
"noinput"
"nomatch"
In the plum voice platform, integers are considered to be numeric characters only (0 - 9).
If you want to <catch> '*' or '#' characters, try using a link:
Code: Select all
<?xml version="1.0"?>
<vxml version="2.0">
<property name="input" value="dtmf"/>
<link expr="'#caught_star'">
<grammar type="application/x-jsgf">^"*"$</grammar>
</link>
<form id="test">
<field name="next_char" type="digits">
<prompt timeout="10ms">
this is a test, you can press star at any point in this prompt.
</prompt>
</field>
<block>
</block>
</form>
<form id="caught_star">
<block>
The star key was pressed!
</block>
</form>
</vxml>
Here is a list of voicexml events that are fired by the plum voice platform:
"connection.disconnect.hangup"
"connection.disconnect.transfer"
"error.badfetch"
"error.badfetch.baduri"
"error.badfetch.baddialog"
"error.badfetch.applicationuri"
"error.semantic"
"error.semantic.ecmascript"
"error.semantic.no_event_in_throw"
"error.unsupported.format"
"error.unsupported.object"
"error.unsupported.language"
"error.unsupported.transfer"
"noinput"
"nomatch"
Last edited by support on Thu Feb 25, 2010 5:30 pm, edited 4 times in total.
Re: what event is fired if only dtmf and press # first?
ok, but here is my problem,
for some reason the default system prompts for noinput sequence:
"Sorry I didn't understand you"
"I still don't understand"
"Please say it one last time"
"I'm sorry I just can't understand your response" <hangup>
is responding when I press #, but not my noinput
event hander is ignored. However when I simply wait and don't
press anything, then my noinput event handler is used and
my message(s) are played instead.
I'm trying to make the two the same (using my messages).
I don't want to go to this message every time the user presses
the #, since it is often valid to terminate input with the #,
but when the user does so and there is no other input, I'd like
to treat it as a "noinput".
I'm not sure how to do that using the <link> and obviously the
system is catching it correctly somehow.
for some reason the default system prompts for noinput sequence:
"Sorry I didn't understand you"
"I still don't understand"
"Please say it one last time"
"I'm sorry I just can't understand your response" <hangup>
is responding when I press #, but not my noinput
event hander is ignored. However when I simply wait and don't
press anything, then my noinput event handler is used and
my message(s) are played instead.
I'm trying to make the two the same (using my messages).
I don't want to go to this message every time the user presses
the #, since it is often valid to terminate input with the #,
but when the user does so and there is no other input, I'd like
to treat it as a "noinput".
I'm not sure how to do that using the <link> and obviously the
system is catching it correctly somehow.
Re: what event is fired if only dtmf and press # first?
Just to clarify from the previous post, I'm not really trying to catch the # input. I'm simply trying to make my application only play back my recorded messages. Currently all is fine, except when a user presses a # before any other input. The problem is that the system message plays instead of mine. It is the right idea of the message that I want played, it is just TTS and not quite what I want to say, especially before hangup.
Hopefully that was understandable
Thanks!
Hopefully that was understandable
Thanks!
catch nomatch events in IVR application
Try catching <nomatch> events. When you are pressing the # key, it is not matching any defined IVR grammars. <noinput> events are only thrown when there is no speech and no dtmf input.
Try replacing your <catch> block with this:
Is this what you were trying to do with your IVR application? keep posting here and we'll figure this out.
Try replacing your <catch> block with this:
Code: Select all
<catch event="noinput">
<!-- put vxml you wish to execute here for noinput events -->
</catch>
<catch event="nomatch">
<!-- put vxml you wish to execute here for nomatch events -->
</catch>
Last edited by support on Thu Feb 25, 2010 5:32 pm, edited 4 times in total.