Twilio处理电话

Twilio处理电话,twilio,twilio-php,Twilio,Twilio Php,我试图实现的是,每当我收到带有特定关键字的短信时,我都会接到一个电话,说我收到了一条短信,然后按1与发送短信的人交谈 我创建了三个文件,如下所示 Twilio.php 这将通过短信接收post请求并给我打电话 $name = $_POST['name']; $phone = $_POST['phone']; $client = new Services_Twilio($AccountSid, $AuthToken); try { // make call $c

我试图实现的是,每当我收到带有特定关键字的短信时,我都会接到一个电话,说我收到了一条短信,然后按1与发送短信的人交谈

我创建了三个文件,如下所示

Twilio.php

这将通过短信接收post请求并给我打电话

  $name = $_POST['name'];
  $phone = $_POST['phone'];

  $client = new Services_Twilio($AccountSid, $AuthToken);

  try {
    // make call
    $call = $client->account->calls->create(
      $caller,                
      $number,                       
      array("url" => "http://somewebsite.net/twilio/twiml.php?phone=$phone&name=$name")  
    );
  } catch (Exception $e) {
    echo 'Error starting phone call: ' . $e->getMessage();
  }
下一个文件if twiml.php处理该调用,并询问我是否要发言,然后按1发言

twiml.php

   $nm = $_GET['name'];
   $ph = $_GET['phone'];

   $name  = "Deepak";
   header("content-type: text/xml");
   echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
?>
<Response>
    <Say>Hello <?php echo $name ?>.</Say>
    <Gather numDigits="1" action="http://somewebsite.net/twilio/call.php?phone=<?php echo $ph ?>" method="POST">
        <Say>You have a text message, press 1 to speak.</Say>
    </Gather>
</Response>
$nm=$\u GET['name'];
$ph=$_GET['phone'];
$name=“Deepak”;
标题(“内容类型:text/xml”);
回音“\n”;
?>
你好
+1 
我试图实现的是将这三个文件合并成一个文件,这样我就不需要发出Post请求,我可以在一个文件中处理整个调用,或者至少我可以合并twiml.php和call.php


有没有办法将这些结合起来?

这里是Twilio开发者福音传道者

您可以将所有内容放在一个文件中,并使用请求的URI(
$\u SERVER['REQUEST\u URI']
)打开然后运行的代码。或者,尝试一个小型PHP框架将其抽象出来可能更有趣。类似或可能对你有用的东西


我想问一下,当您的功能看起来有效时,为什么您需要从一个文件运行此功能?

我认为您可以在url中传递一个特殊参数,并在该url上检查参数是否已设置,然后执行您的代码,您可以为每个文件执行此操作。谢谢您,此操作有效!!是的,这是有效的。我试图减少要管理的文件数量,这样我就可以在单个文件中进行编辑。有没有办法检查所拨打的电话是由人工还是语音机接听的。我可以在第一次呼叫时启用Ifmachine,但是如果我需要检查calls.php中的呼叫,是否有方法检查它是否发送到语音邮件无法从
TwiML进行应答机检测。您可以先拨另一端,然后在拨打自己的号码之前进行检测。另外,请查看我们的新版本,它将取代
ifMachine
<?php


    if($_REQUEST['Digits'] != '1') {
        header("Location: twiml.php");
        die;
    }

    $ph = $_GET['phone'];

    header("content-type: text/xml");
    echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
?>
<Response>
    <Dial>+1 <?php echo $ph ?></Dial>
</Response>