来自浏览器的 Twilio 去电
Twilio outgoing call from browser
我是 twilio 的初学者。我已阅读快速入门以从浏览器拨打电话。我的代码如下
<?php
require 'twilio-php-master/Twilio/autoload.php';
use Twilio\Jwt\ClientToken;
$accountSid = '***************************';
$authToken = '***************************';
$appSid = '****************';
$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>
TwiML 代码在这里
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial callerId="+14159426198">
<Number>+91**********</Number>
</Dial>
</Response>
我可以拨出电话了。我已经使用上面的 twiML bin 制作了 TwiML 应用程序,但在 twiML 中,拨出电话号码是静态的。如何使其动态拨打任意号码的电话?
请帮忙。
在快速入门中,您在 config.php 文件中设置了去电呼叫者 ID。您只能使用从 Twilio 购买或验证的号码。
这里是 Twilio 开发人员布道者。
您已经将 UI 设置为可以拨打任何号码,您唯一需要做的就是使您的 TwiML 应用程序动态化。您可以看到,当您开始与客户端通话时,您正在发送一些参数:
function call() {
// get the phone number to connect the call to
params = {"PhoneNumber": $("#number").val()};
Twilio.Device.connect(params);
}
当 Twilio 收到此调用时,它会将参数发送到您的 TwiML 应用程序,然后根据 TwiML 进行调用。您需要根据您发送的 PhoneNumber
参数更新动态生成的 TwiML。这样的事情应该有效:
<?php
$phoneNumber = $_REQUEST['PhoneNumber'];
header("Content-type: text/xml");
?>
<Response>
<Dial callerId="+14159426198">
<Number><?php echo $phoneNumber ?></Number>
</Dial>
</Response>
如果有帮助请告诉我。
我是 twilio 的初学者。我已阅读快速入门以从浏览器拨打电话。我的代码如下
<?php
require 'twilio-php-master/Twilio/autoload.php';
use Twilio\Jwt\ClientToken;
$accountSid = '***************************';
$authToken = '***************************';
$appSid = '****************';
$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>
TwiML 代码在这里
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial callerId="+14159426198">
<Number>+91**********</Number>
</Dial>
</Response>
我可以拨出电话了。我已经使用上面的 twiML bin 制作了 TwiML 应用程序,但在 twiML 中,拨出电话号码是静态的。如何使其动态拨打任意号码的电话?
请帮忙。
在快速入门中,您在 config.php 文件中设置了去电呼叫者 ID。您只能使用从 Twilio 购买或验证的号码。
这里是 Twilio 开发人员布道者。
您已经将 UI 设置为可以拨打任何号码,您唯一需要做的就是使您的 TwiML 应用程序动态化。您可以看到,当您开始与客户端通话时,您正在发送一些参数:
function call() {
// get the phone number to connect the call to
params = {"PhoneNumber": $("#number").val()};
Twilio.Device.connect(params);
}
当 Twilio 收到此调用时,它会将参数发送到您的 TwiML 应用程序,然后根据 TwiML 进行调用。您需要根据您发送的 PhoneNumber
参数更新动态生成的 TwiML。这样的事情应该有效:
<?php
$phoneNumber = $_REQUEST['PhoneNumber'];
header("Content-type: text/xml");
?>
<Response>
<Dial callerId="+14159426198">
<Number><?php echo $phoneNumber ?></Number>
</Dial>
</Response>
如果有帮助请告诉我。