2014-07-12 7 views
1

음성 XML 코드 블록에서 음성 인식을 비활성화하려고합니다. Twilio의 TwiML에서 Nexmo가 요구하는 VoiceXML로 프로젝트를 변환하면서이 구문을 선택하기가 다소 어려웠습니다.음성 XML 음성 입력 사용 안 함

여기 내 코드입니다. <block> 요소를 <field>으로 변경하려고했는데 음성 입력을 사용하지 않는 것 같았지만 내 <goto>이 작동하지 않았습니다. 또한이 특정 문제와 관련이 없으며 프로그래밍 방식으로 발신자와 전화를 끊을 수 있습니까? <disconnect/>가 작동하지 않는 것 같습니다.

<vxml version="2.1"> 
    <form> 
     <block> 
      <property name="inputmodes" value="dtmf"/> 
      <prompt>Station 1</prompt> 
      <audio src="http://foo.io/file.mp3" fetchhint="prefetch" /> 

      <goto next="http://foo.io/next-menu"/> 
     </block> 
    </form> 
</vxml> 
+0

처음에는 VoiceXML의 구문 오류를 제거하십시오. 특성 요소 외부 블록 요소를 이동하십시오. –

+0

속성 태그를 차단 태그 외부로 이동 하시겠습니까? 나는 이미 이것을 시도했다고 믿는다. 구문을 확인하는 방법이 있습니까? 밖에있는 도구가 있습니까? – NightMICU

+0

예. http://www.w3.org/TR/voicexml21/vxml.dtd는 block 요소가 property 요소를 가질 수 없다고 말하고 form 요소는 가능합니다. –

답변

0

여기에 digits을 입력하는 간단한 방법이 있습니다. 그러나 이것은 또한 연설을 허용 할 것입니다 (그러나, 숫자로 인식 할 것입니다). 중 말, 또는 키 누름이 - - next.php가 요청 될 때 myDigits으로 쿼리 문자열에 전송됩니다 자리가 감지 어떤이에서

<vxml version="2.1"> 
<form> 
    <field name="myField" type="digits"> 
    <prompt> 
     Press some digits, okay? 
    </prompt> 
    </field> 
    <block> 
     <submit next="/next.php"/> 
    </block> 
    </form> 
</vxml> 

. submitmethod 특성을 사용하여 POST으로 변경하거나 namelist 특성을 사용하여 전송되는 필드를 정확하게 변경하십시오.

그러나 여기가 <menu> 대신 당신이 <choice>에 대한 DTMF를 설정할 수 있습니다 <form>,의 사용 간단한 버전의 :

<vxml version="2.1"> 
    <menu> 
    <prompt> 
     Press one or two. 
    </prompt> 
    <choice next="/pick1.php" dtmf="1">one</choice> 
    <choice next="/pick2.php" dtmf="2">two</choice> 
    </menu> 
</vxml> 

그것은 TwiML 이상 VXML과 더 많은 전력이 있다고 언급 할 가치가있다. TwiML이 사용하는 단일 응답/XML 문서 패턴을 복제 할 수 있지만 VXML을 사용하면 단일 문서에서 여러 필드를 수집하고, 데이터 유효성 검사를 수행하고, 필요한 경우 외부 데이터를 가져오고, VXML에서 JavaScript를 사용할 수도 있습니다.