如果没有在 Twilio 中接听号码,如何录制语音邮件?
How to record a voicemail if a number is not picked up in Twilio?
我在 PHP 项目中使用 Twilio,目前我可以使用其 API 拨打电话和发送短信,如下所示:
$client = new \Services_Twilio($AccountSid, $AuthToken);
try {
// Initiate a new outbound call
$call = $client->account->calls->create(
"<From Number>",
$input['phone'],
array("url" => "http://demo.twilio.com/welcome/voice/")
);
//echo "Started call: " . $call->sid;
\Session::flash("success","Calling to ". $input['phone'] ."");
}
但现在客户想在电话未接听时发送语音消息。
这里是 Twilio 开发人员布道者。
这就是它的工作原理。当有人呼叫您的 Twilio 号码时,Twilio 会为您的 phone 号码创建一个 HTTP request, a webhook, to a URL you set in the number admin in your Twilio console。
URL 需要用一些 TwiML 来响应,这只是一些 XML 标记来告诉 Twilio 如何处理调用。
听起来,在您的情况下,您想拨打自己的号码并在一段时间后接收消息而不是继续响铃。为此,您需要两个端点。第一个应该进行拨号,第二个是我们将在呼叫被重定向到语音邮件后重定向的地方。
因此,第一个端点 TwiML 应该看起来有点像这样,使用 <Dial>
转发呼叫:
<Response>
<Dial timeout="30" action="/voicemail.php">
<Number>YOUR_PHONE_NUMBER</Number>
</Dial>
</Response>
我们使用timeout
attribute to set how long you want the phone to ring for. You can set that between 5 and 600 seconds. The action
attribute is the endpoint we direct the call to once the timeout finishes. That endpoint will then read the caller a message to tell them to leave a message using <Say>
for text to speech, then <Record>
的消息。
<Response>
<Say voice="alice">Your call could not be answered at the moment. Please leave a message.</Say>
<Record action="/hangup.php"/>
</Response>
我在 <Record>
标记中添加了一个额外的操作,它只是挂断电话。看起来像这样:
<Response>
<Hangup/>
</Response>
还有其他属性可以与 <Record>
一起使用。最重要的是,recordingStatusCallback
attribute 需要一个 URL,当有新录音时,您的应用程序将收到通知。
要更深入地了解这方面的内容,请查看 guide on recording phone calls in PHP。
如果有帮助请告诉我。
1) 创建一个 mp3 作为问候语。将其存储在网络上的某个位置并保存 URL。
我将我的保存为我管理的 wordpress 网站上的媒体文件。如果您不创建自己的问候语,它将使用 Twilio 默认问候语。
2) 我使用两个 twilio 工具路由到语音信箱。 Twiml 和 Twimlets。
通过转到主所有者仪表板并选择 "runtime" 然后选择 "Twimls" 创建 Twiml bin。下面的代码可以在 Twiml 中使用。更改消息 URL、电子邮件、超时长度和 Phone 数字。
我同时给两个人打电话,如果都没有接听,就会转到语音信箱。音频文件将发送到您提供的电子邮件。代码中的 twimlet 有效 - “http://twimlets.com/voicemail”具有不同的参数。
TWIML 代码:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial timeout="30" action="http://twimlets.com/voicemail?Email=test@test.com&Message=http://test.com/wp-content/uploads/2019/01/voicemail1.mp3">
<Number>703-555-1212</Number>
<Number>540-555-1212</Number>
</Dial>
</Response>
我在 PHP 项目中使用 Twilio,目前我可以使用其 API 拨打电话和发送短信,如下所示:
$client = new \Services_Twilio($AccountSid, $AuthToken);
try {
// Initiate a new outbound call
$call = $client->account->calls->create(
"<From Number>",
$input['phone'],
array("url" => "http://demo.twilio.com/welcome/voice/")
);
//echo "Started call: " . $call->sid;
\Session::flash("success","Calling to ". $input['phone'] ."");
}
但现在客户想在电话未接听时发送语音消息。
这里是 Twilio 开发人员布道者。
这就是它的工作原理。当有人呼叫您的 Twilio 号码时,Twilio 会为您的 phone 号码创建一个 HTTP request, a webhook, to a URL you set in the number admin in your Twilio console。
URL 需要用一些 TwiML 来响应,这只是一些 XML 标记来告诉 Twilio 如何处理调用。
听起来,在您的情况下,您想拨打自己的号码并在一段时间后接收消息而不是继续响铃。为此,您需要两个端点。第一个应该进行拨号,第二个是我们将在呼叫被重定向到语音邮件后重定向的地方。
因此,第一个端点 TwiML 应该看起来有点像这样,使用 <Dial>
转发呼叫:
<Response>
<Dial timeout="30" action="/voicemail.php">
<Number>YOUR_PHONE_NUMBER</Number>
</Dial>
</Response>
我们使用timeout
attribute to set how long you want the phone to ring for. You can set that between 5 and 600 seconds. The action
attribute is the endpoint we direct the call to once the timeout finishes. That endpoint will then read the caller a message to tell them to leave a message using <Say>
for text to speech, then <Record>
的消息。
<Response>
<Say voice="alice">Your call could not be answered at the moment. Please leave a message.</Say>
<Record action="/hangup.php"/>
</Response>
我在 <Record>
标记中添加了一个额外的操作,它只是挂断电话。看起来像这样:
<Response>
<Hangup/>
</Response>
还有其他属性可以与 <Record>
一起使用。最重要的是,recordingStatusCallback
attribute 需要一个 URL,当有新录音时,您的应用程序将收到通知。
要更深入地了解这方面的内容,请查看 guide on recording phone calls in PHP。
如果有帮助请告诉我。
1) 创建一个 mp3 作为问候语。将其存储在网络上的某个位置并保存 URL。 我将我的保存为我管理的 wordpress 网站上的媒体文件。如果您不创建自己的问候语,它将使用 Twilio 默认问候语。 2) 我使用两个 twilio 工具路由到语音信箱。 Twiml 和 Twimlets。 通过转到主所有者仪表板并选择 "runtime" 然后选择 "Twimls" 创建 Twiml bin。下面的代码可以在 Twiml 中使用。更改消息 URL、电子邮件、超时长度和 Phone 数字。 我同时给两个人打电话,如果都没有接听,就会转到语音信箱。音频文件将发送到您提供的电子邮件。代码中的 twimlet 有效 - “http://twimlets.com/voicemail”具有不同的参数。
TWIML 代码:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial timeout="30" action="http://twimlets.com/voicemail?Email=test@test.com&Message=http://test.com/wp-content/uploads/2019/01/voicemail1.mp3">
<Number>703-555-1212</Number>
<Number>540-555-1212</Number>
</Dial>
</Response>