2016-06-11 7 views

Antwort

3

Hinweis: Ersetzen Sie Konto SID, Auth Token, Telefonnummern, Website-Adresse mit Ihren Werten.

Schritt 1.

Antwort eingehenden Anruf und Rekordmeldung (http://somewebsite.xyz/recordMessage.php)

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

<Response> 
    <Say> 
     Please leave a message at the beep. 
     Press the star key when finished. 
    </Say> 
    <Record 
     action="http://somewebsite.xyz/makeOutgoingCall.php" 
     maxLength="60" 
     timeout="10" 
     finishOnKey="*" 
     /> 
    <Say>I did not receive a recording</Say> 
</Response> 

https://www.twilio.com/docs/api/twiml/record

Sobald die Aufnahme beendet ist Twilio wird eine Anfrage an die machen ' action 'URL und übergibt die URL der Aufzeichnung als Parameter RecordingUrl ($_REQUEST['RecordingUrl'])

Schritt 2.

abgehende Anrufe (http://somewebsite.xyz/makeOutgoingCall.php)

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

<Response> 
    <Say>Thank you for your message. Goodbye.</Say> 
    <Hangup/> 
</Response> 

<?php 
    // Include the Twilio PHP library 
    require 'Services/Twilio.php'; 

    // Twilio REST API version 
    $version = "2010-04-01"; 

    // Set our Account SID and AuthToken 
    $sid = 'AC123'; 
    $token = 'abcd'; 

    // A phone number you have previously validated with Twilio 
    $phonenumber = '4151234567'; 

    $recordingUrl = urlencode($_REQUEST['RecordingUrl']); 

    // The URL Twilio will request when the call is answered    
    $twilioRequestUrl = "http://somewebsite.xyz/playRecordedMessage.php?RecordingUrl=".$recordingUrl; 

    // Instantiate a new Twilio Rest Client 
    $client = new Services_Twilio($sid, $token, $version); 

    try { 

     // Initiate a new outbound call 
     $call = $client->account->calls->create(
      $phonenumber, // The number of the phone initiating the call 
      '51', // The number of the phone receiving call 
      $twilioRequestUrl 
     ); 
     //echo 'Started call: ' . $call->sid; 
    } catch (Exception $e) { 
     //echo 'Error: ' . $e->getMessage(); 
    } 

https://www.twilio.com/docs/libraries/php

https://www.twilio.com/docs/quickstart/php/rest/call-request

Schritt 3.

Wiedergabe der aufgezeichneten Nachricht (http://somewebsite.xyz/playRecordedMessage.php).

<?php 

    // and play the recording back, using the URL that Twilio posted 
    header("content-type: text/xml"); 
    echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; 
?> 
<Response> 
    <Say>Take a listen to your message.</Say> 
    <Play><?php echo $_REQUEST['RecordingUrl']; ?></Play> 
    <Say>Goodbye.</Say> 
</Response> 

https://www.twilio.com/docs/quickstart/php/twiml/play-mp3-for-caller

https://www.twilio.com/docs/api/twiml/play

+0

Vielen Dank für Ihre Antwort mit Beispiel. In Schritt 2 sollte der Anrufer in dem Anruf sein. Der Empfänger sollte die aufgezeichnete Nachricht hören und mit dem Anrufer sprechen. Entfernen von Auflegen in der Antwort wird funktionieren? –

+1

Versuchen Sie, Anrufe zu überprüfen? Spricht 'der Empfänger' immer mit dem Anrufer? Wenn nicht, was machst du mit dem Anrufer? Bitte aktualisieren Sie Ihre Frage mit der vollständigen User Story. –

+0

Die Idee, eine Antwort auf eine Screening-Frage vom Anrufer zu bekommen und die Antwort auf den Empfänger zu spielen. –

Verwandte Themen