voicexml перерывы после пяти попыток - PullRequest
0 голосов
/ 23 ноября 2010

У меня следующий код, после пяти попыток (неправильные слова, такие как "dfasfasfb") приложение останавливается.

После того, как я говорю неправильное слово, оно говорит: "Извините, я не получил его"(на моем языке).Но тогда есть перерыв по умолчанию или что-то в этом роде - как я могу установить по умолчанию неограниченное или 20?

спасибо

<?xml version="1.0" encoding="UTF-8"?> 
<vxml xmlns="http://www.w3.org/2001/vxml" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://www.w3.org/2001/vxml 
   http://www.w3.org/TR/voicexml20/vxml.xsd"
   version="2.0">

<menu dtmf="true">
        <prompt> Wilkommen. Waehlen Sie apple, short oder house </prompt>
        <choice next="#apple"> apple</choice>
        <choice next="#short"> short </choice>
        <choice next="#house"> house </choice>
    </menu>

    <form id="apple">
        <block>
            You chose apple
            <exit/>
        </block>
    </form>

    <form id="short">
        <block>
            You chose short
            <exit/>
        </block>
    </form>

    <form id="house">
        <block>
            You chose house
            <exit/>
        </block>
    </form>

</vxml>

Редактировать:

Теперь я используюnomatch:

<menu id="nachauswahl" dtmf="true">
    <prompt>
        Sagen Sie "wiederholen" oder "neue Anfrage" oder "andere Variante"  
    </prompt>

    <choice next="#wiederholen"> wiederholen </choice>
    <choice next="#neue_Anfrage"> neue Anfrage </choice>
    <choice next="#andere_Variante"> andere Variante </choice>
    <choice next="#Abbrechen"> Abbrechen </choice>
    <choice next="#Hilfe2"> Hilfe </choice>

    <nomatch>
        <goto next="#nomatch_nachauswahl"/>
    </nomatch>
 </menu>

...

<form id="nomatch_nachauswahl">
    <block>
        Ich habe Sie leider nicht verstanden.
        <goto next="#nachauswahl"/>
    </block>
</form>

, но после пяти попыток программа просто выбирает вариант. Я пять раз сказал неправильное слово, а после пятого разавыбрал последний вариант.

1 Ответ

1 голос
/ 23 ноября 2010

Вы не указали обработчик захвата nomatch, поэтому вы, вероятно, попали во встроенный обработчик вашей платформы. Если вы хотите бесконечные повторы, добавление пустого блока nomatch внутри меню должно работать. Вы также можете использовать нотацию, чтобы указать, на каком счетчике вы хотите прервать (используйте goto в блоке catch для нового местоположения).

Посмотрите документацию по обработчику уловов и нотацию nomatch .

...