VXML DTMF получает информацию от абонента

Платформа: место тестирования песочницы

Я хотел бы добавить еще один набор фрагментов

Приведенный ниже фрагмент получит номер мобильного телефона от вызывающего абонента и разместит введенный номер вызывающего абонента на другой странице. Код работает нормально,

но я хочу проверить этот номер в таблице и вытащить "Введенные данные о номере телефона", который находится в contact_tbl содержит номер телефона, имя, фамилию, адрес, теперь я хочу получить эти данные для данного номера телефона.

<?php
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
?>
<vxml version = "2.1">
  <meta name="maintainer" content="your_email_address@wherever.com"/>

  <property name="inputmodes" value="dtmf" />
  <form id="get_mobile_no">
    <field name="mobileno" type="digits?minlength=10;maxlength=10">
      <prompt>
        <prosody rate="slow"> please enter your 10 digit mobile number !</prosody>
      </prompt>
      <!--INVALID-->
      <nomatch count = "1">
        <prompt>
          <prosody rate="slow"> Is that a number? Please try again. </prosody>
        </prompt>
        <reprompt/>
      </nomatch>
      <!--TIMEOUT-->
      <noinput count = "1">
        <prompt>Again, please enter your 10 digit mobile number !</prompt>
        <reprompt/>
      </noinput>
      <catch event="noinput nomatch" count="3">
      <prompt>Please try again later. Good bye.</prompt>
      <exit/> </catch>
      <filled>
        <prompt>
          <prosody rate="slow"> you said
            <value expr="mobileno"/>
            ! Thanks for calling, you may now hang up.</prosody>
        </prompt>
      </filled>
    </field>
    <block name="sendData">
      <prompt>Entering   entering...</prompt>
      <submit next="get_dtmf_ip.php" namelist="mobileno" method="post" />
    </block>
  </form>
</vxml>

Пример приложения VXML ivr, которое получает ввод от пользователя и вводит номер вызывающего абонента.

код ниже работает нормально, но когда я удаляю грамматический тег, он воспроизводит некоторый код ошибки, я не могу отследить этот код ошибки.

Теперь я хочу внести небольшие изменения, чтобы пользователь мог ввести более одного номера.

Именно звонивший должен ввести свой номер мобильного телефона.

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

<?php
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
?>
<vxml version = "2.1">
      <meta name="maintainer" content="your_email_address@wherever.com"/>
    <form id="guessNumber">
        <field name="guess">
          <grammar type="text/gsl">
            [dtmf-1 dtmf-2 dtmf-3 dtmf-4 dtmf-5 dtmf-6 dtmf-6 dtmf-7 dtmf-8 dtmf-9]
          </grammar>
          <prompt>
            <prosody rate="slow">
Guess what the computer is thinking! Pick a number between 0 and 9.
            </prosody>
          </prompt>
          <nomatch>
            <prompt>
              <prosody rate="slow">
Is that a number? Please try again.
              </prosody>
            </prompt>
            <reprompt/>
          </nomatch>
          <filled>
            <prompt>
              <prosody rate="slow">
you said
                <value expr="guess"/>
                !
              </prosody>
            </prompt>
          </filled>
        </field>
      </form>
      </vxml>

1 ответ

Этот вопрос немного старый, но для будущих читателей...

Трудно сказать, что вы спрашиваете. Чтобы разрешить более одной цифры, измените грамматику на:

<grammar version="1.0" xml:lang="en-US" root="keypress" 
         mode="dtmf" scope="document">
    <rule id="keypress" scope = "public">
      <one-of>
          <item> 1 </item>
          <item> 2 </item>
          <item> 3 </item>
          <item> 4 </item>
          <item> 5 </item>
          <item> 6 </item>
          <item> 7 </item>
          <item> 8 </item>
          <item> 9 </item>
          <item> 0 </item>
      </one-of>
    </rule>
</grammar>

Затем укажите количество цифр, используя:

<field name="guess" type="digits?length=2" >

Однако, если вы спрашиваете, как получить несколько ответов от вызывающего абонента, просто добавьте второй элемент поля в форму, например:

<form id="guessNumber">
    <field name="guess1" type="digits?length=1" >
        <prompt>
            Guess what the computer is thinking! Pick a number between 0 and 9.
        </prompt>
    </field>

    <field name="guess2" type="digits?length=1" >
        <prompt>
            Guess what the computer is thinking now! Pick a number between 0 and 9.
        </prompt>
        <filled>
            You guessed <value expr="guess1"> and <value expr="guess2">.
        </filled>
    </field>
</form>

элементы nomatch и просодии убрали их для наглядности. Они могут быть добавлены обратно.

Другие вопросы по тегам