2011-12-06 3 views
5

twilio api에서 새로운입니다. 웹 응용 프로그램에서 일하고, 나는 전화가 완료되었는지 확인하고 twiml에 wav 파일을 보내고있다. 내가 사용자의 신용을 공제 할 필요가 완료되면 ... 난twilio 통화 상태를 알 수있는 방법 (완료되었거나 완료되지 않음)

<?php 
    echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; 
?> 



<?php if($_REQUEST['wav']){ ?> 
<Response> 
    <Say>A customer at the number <?php echo $_REQUEST['number']?> is calling</Say> 
    <Dial><?php echo $_REQUEST['number']?></Dial> 
    <Play><?php echo $_REQUEST['wav'] ;?></Play> 
</Response> 
<?php } ?> 

좀 도와주세요

callMeAction ...

 $AccountSid = "**********************"; 
     $AuthToken = "***************"; 

     /* Your Twilio Number or an Outgoing Caller ID you have previously validated 
      with Twilio */ 
     $from = '**************'; 

     /* Number you wish to call */ 
     $to = $_POST['contactno']; 

     /* Directory location for callback.php file (for use in REST URL) */ 
     $url = 'http://'.$_SERVER['HTTP_HOST'].'/public/'; 

     /* Instantiate a new Twilio Rest Client */ 
     $client = new Services_Twilio($AccountSid, $AuthToken); 



     /* make Twilio REST request to initiate outgoing call */ 
     $call = $client->account->calls->create($from, $to, $url . 'callback.php?number=' . $_POST['contactno'] . '&wav=' . $_POST['wav']); 

     /* redirect back to the main page with CallSid */ 
     $msg = urlencode("Connecting... " . $call->sid); 
     //header("Location: index.php?msg=$msg"); 

     $this->view->msg = $msg; 

     if($call->status == 'COMPLETED'){ 

      /* 
      * Deduct credit if call completed 
      */ 


      $this->view->msg = $msg; 
     } 

callback.php를 다음 코드를 사용하고 있습니다. .. 미리 감사드립니다. :)

답변

4

StatusCallback (docs halfway down this page)에 대한 URL을 설정하고 해당 스크립트에 청구 논리를 입력하십시오.

호출을 만들 때 StatusCallback URL을 전달하면 선택 매개 변수 배열을의 네 번째 인수로 전달할 수 있어야합니다.

들어오는 호출의 경우 URL은 각 번호 (또는 해당 방법을 사용하는 경우 응용 프로그램)에 대해 (선택적으로) 정의됩니다.

+0

답장을 보내 주셔서 감사합니다. 이 코드가 있지만 작동하지 않습니다. , HTTP는 <$ _REQUEST [ '웨이브'를] 에코 PHP는?> : // myURL이이는 POST는 Manoj

+3

아닙니다 <이 StatusCallbackMethod> 유효한 TwiML 동사 콜백은 각 전화 번호의 구성 매개 변수 (twilio.com의 개발자 대시 보드에 있음)에 지정됩니다. Tim이 보낸 문서 링크를 읽으십시오. – Greg

+0

조금 더 명료하게 업데이트되었습니다. –

3

REST 인터페이스를 통해 발신 전화를 걸려면 status callback in the request parameters을 지정해야합니다.

또한이 콜백은 비동기식이므로 예제에서 수행하는 것처럼 호출 함수에서 결과를 기다릴 수 없습니다. 콜백에서 신용 관리를해야합니다.

0

statuscallback 페이지 또는 기능에서 전화 응답을받은 후 코드에 statuscallback url을 설정해야합니다.

이 콜백 URL은 localhost에서 작동하지 않습니다. 테스트를 위해 00webhost에 프로젝트를 배포해야합니다. 확인하면 프로젝트가 작동합니다.

자세한 내용은 twilio 설명서를 참조하십시오.

관련 문제