添加额外的数字到Twilio你好猴子

时间:2011-10-10 22:05:38

标签: php xml twilio

我试图在Twilio.com hello monkey脚本中添加一个新数字。当我按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>

1 个答案:

答案 0 :(得分:3)

使用操作的完整网址:

<Gather numDigits="1" action="handle.php" method="POST">

似乎在播放代码中使用完整网址会导致Twilio将handle.php视为http://morxmedia.com/phone/handle.php(此时此时不存在)。

当我运行您的示例代码时,我收到了一个应用程序错误(因为handle.php不存在)。我的猜测是你将“后备”网址设置为主菜单,这就是引起混淆的原因。

更新:应该注意的是,仅使用http://morxmedia.com/phone/tech-support.mp3导致相对路径的奇数重置,使用hello monkey mp3文件不会。也许一些奇怪的服务器配置会混淆Twilio HTTP客户端(导致路径问题,并继续请求step1.php)。