编程语言
首页 > 编程语言> > php-向Twilio hello猴子添加其他数字

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