php-向Twilio hello猴子添加其他数字
作者:互联网
我试图向Twilio.com hello猴子脚本添加新的数字.当我按1、2或0时,它将重新启动,它不会导航到语音邮件或直接呼叫.
这是我的代码:
第1步
<?php
// now greet the caller
header("content-type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
?>
<Response>
<Gather numDigits="1" action="handle.php" method="POST">
<Play>http://morxmedia.com/phone/main.mp3</Play>
</Gather>
</Response>
第2步
<?php
// if the caller pressed anything but 1 or 2 send them back
if($_REQUEST['Digits'] != '1' and $_REQUEST['Digits'] != '2' and $_REQUEST['Digits'] != '0') {
header("Location: step1.php");
die;
}
// otherwise, if 1 was pressed we Dial 3105551212. If 2
// we make an audio recording up to 30 seconds long.
header("content-type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
?>
<Response>
<?php if ($_REQUEST['Digits'] == '1') { ?>
<Dial>+13105551212</Dial>
<Say>The call failed or the remote party hung up. Goodbye.</Say>
<?php } elseif ($_REQUEST['Digits'] == '2') { ?>
<Play>http://morxmedia.com/phone/tech-support.mp3</Play>
<Record maxLength="30" action="aftervm.php" />
<?php } elseif ($_REQUEST['Digits'] == '0') { ?>
<Dial>+13105551212</Dial>
<Say>The call failed or the remote party hung up. Goodbye.</Say>
<?php } ?>
</Response>
解决方法:
对操作使用完整的URL:
<Gather numDigits="1" action="handle.php" method="POST">
似乎在play标签中使用完整的URL导致Twilio将handle.php视为http://morxmedia.com/phone/handle.php(目前尚不存在).
当我运行您的示例代码时,出现应用程序错误(因为handle.php不存在).我的猜测是您在主菜单中设置了“后备” URL,这就是造成混乱的原因.
更新:应该注意的是,仅使用http://morxmedia.com/phone/tech-support.mp3会导致相对路径的奇数复位,而使用hello monkey mp3文件则不会.也许某些奇怪的服务器配置使Twilio HTTP客户端感到困惑(导致路径问题以及对step1.php的持续请求).
标签:twilio,xml,php 来源: https://codeday.me/bug/20191202/2086918.html