Ich versuche ausgehende Anrufe von meinem tlilo Trial-Konto zu tätigen. Ich verweise diese link. Basierend auf diesem Link, habe ich eine Seite namens hallo-client-twiml.php mit folgendem Code erstellt:Abgehende Anrufe vom Browser mit Twilio machen - Anruf wird automatisch beendet
<?php
header('Content-type: text/xml');
// put a phone number you've verified with Twilio to use as a caller ID number
$callerId = "+xxxxxxxxxx";
// put your default Twilio Client name here, for when a phone number isn't given
$number = "jenny";
// get the phone number from the page request parameters, if given
if (isset($_REQUEST['PhoneNumber'])) {
$number = htmlspecialchars($_REQUEST['PhoneNumber']);
}
// wrap the phone number or client name in the appropriate TwiML verb
// by checking if the number given has only digits and format symbols
if (preg_match("/^[\d\+\-\(\) ]+$/", $number)) {
$numberOrClient = "<Number>" . $number . "</Number>";
} else {
$numberOrClient = "<Client>" . $number . "</Client>";
}
?>
<Response>
<Dial callerId="<?php echo $callerId ?>">
<?php echo $numberOrClient ?>
</Dial>
</Response>
und hallo-client-monkey.php Seite mit dem Code:
<?php
include "vendor/autoload.php";
use Twilio\Jwt\ClientToken;
// put your Twilio API credentials here
$accountSid = 'your_sid_here';
$authToken = 'your_auth_token';
// put your TwiML Application Sid here
$appSid = 'APXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$capability = new ClientToken($accountSid, $authToken);
$capability->allowClientOutgoing($appSid);
$capability->allowClientIncoming('jenny');
$token = $capability->generateToken();
?>
<!DOCTYPE html>
<html>
<head>
<title>Hello Client Monkey 4</title>
<script type="text/javascript"
src="//media.twiliocdn.com/sdk/js/client/v1.3/twilio.min.js"></script>
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>
<link href="//static0.twilio.com/resources/quickstart/client.css"
type="text/css" rel="stylesheet" />
<script type="text/javascript">
Twilio.Device.setup("<?php echo $token; ?>");
Twilio.Device.ready(function (device) {
$("#log").text("Ready");
});
Twilio.Device.error(function (error) {
$("#log").text("Error: " + error.message);
});
Twilio.Device.connect(function (conn) {
$("#log").text("Successfully established call");
});
Twilio.Device.disconnect(function (conn) {
$("#log").text("Call ended");
});
Twilio.Device.incoming(function (conn) {
$("#log").text("Incoming connection from " + conn.parameters.From);
// accept the incoming connection and start two-way audio
conn.accept();
});
function call() {
// get the phone number to connect the call to
params = {"PhoneNumber": $("#number").val()};
Twilio.Device.connect(params);
}
function hangup() {
Twilio.Device.disconnectAll();
}
</script>
</head>
<body>
<button class="call" onclick="call();">
Call
</button>
<button class="hangup" onclick="hangup();">
Hangup
</button>
<input type="text" id="number" name="number"
placeholder="Enter a phone number to call"/>
<div id="log">Loading pigeons...</div>
</body>
</html>
In Twilio-Konsole, TwiML apps page, habe ich http://mywebsite.com/hello-client-monkey.php als Voice-> Request URL hinzugefügt.
Nun, wenn ich die Seite hallo-client-monkey.php ausführen, wird der Anruf automatisch beendet zu werden und in twilio console logs Ich erhalte Fehlerprotokoll als:
WARNING
12200 Schema validation warning
DESCRIPTION
Cannot find the declaration of element 'html'.
jemand kann mir helfen, zu behebt dieses Problem? Danke im Voraus.
Twilio Evangelist hier. Sie müssen Ihre TwiML-Anwendung mit der URL "Hallo-Client-twiml.php" und nicht mit der URL "Hello-Client-Monkey.php" konfigurieren. –
@Devin ... Ich habe TwiML mit der 'Hallo-Client-twiml.php' URL konfiguriert. Aber es funktioniert nicht und bekommen Twilio-Konsole log wie: 'Es wurden keine HTTP-Anfragen für dieses Ereignis protokolliert. ' – Jenz
@ DevinRader..Auch meine Twilio-Nummer ist US-Nummer und ich versuche, auf ein Handy in Indien anzurufen .. Ist das eine Einschränkung für Testkonten? – Jenz