如何在Twilio中未找到号码的情况下录制语音邮件?
我在PHP项目中使用Twilio,目前我能够拨打电话和使用其API发送短信下面给出:如何在Twilio中未找到号码的情况下录制语音邮件?
$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会将您的电话号码设置为number admin in your Twilio console中设置的网址HTTP request, a webhook。
该URL需要回应一些TwiML,这只是一些XML标记告诉Twilio如何处理这个调用。
听起来像,在你的情况下,你想拨打自己的号码,并在一段时间后消息,而不是继续响。你会需要两个端点。第一个应该做拨号,第二个是我们将重定向一旦呼叫被重定向为语音邮件。
所以,第一个端点TwiML应该看起来有点像这样,使用<Dial>
转移呼叫:
<Response>
<Dial timeout="30" action="/voicemail.php">
<Number>YOUR_PHONE_NUMBER</Number>
</Dial>
</Response>
我们使用timeout
attribute设置要多久手机就响。你可以设置5到600秒。 action
属性是我们在超时完成后直接调用的端点。然后该端点将读取呼叫者一条消息,告诉他们留言使用<Say>
用于文本转语音,然后<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。
让我知道这是否有帮助。
我很抱歉如此晚回复,我不知道我是怎么想它的,是的,它帮了我很多,我想感谢你这么好的信息。 –
不用担心!我很高兴它有帮助! – philnash
你是什么意思“客户想要发送语音消息,如果没有拿起电话”?你的意思是你想播放一个预先录制的信息,以防通话进入应答机? –
不,我想让来电者能够留下他的语音留言,如果有人没有选择他的电话。 –
@AlexBaban,好吧,让我解释一下,看看你是否想给别人打电话,但他没有选择你的电话,那么你想留给他一个语音信息,这是所有移动公司提供的常见事情,同样的事情想用Twilio添加我的项目,这是否有意义? –