如果来电者未按按钮就挂断电话,Twilio Record将无法进行操作



我一直在寻找解决方案,但在录制语音邮件后,我找不到任何可以保证行动的东西。我必须使用我的服务器来检查呼叫状态以结束呼叫,并在使用多拨时防止在完成呼叫后转到语音邮件。在我们录制语音邮件后,我需要为每个错过电话的员工发短信链接到录音。唯一可行的方法是,如果来电者在挂断电话前按下一个按钮。我一直在尝试使用RecordingStatusCallback作为解决方案,但我不知道如何确保在收到录音时发送短信。

<?php
header('content-type: text/xml');
echo "<?xml version="1.0" encoding="UTF-8"?>n";
$dial_call_status = $_REQUEST['DialCallStatus'];
if($dial_call_status == "completed" || $dial_call_status == "answered"){
?>
<Response>
<Hangup/>
</Response>
<?php
}else{
?>
<Response>
<Record
action="https://handler.twilio.com/twiml/responsefromserver"
transcribe="true"
maxLenth="20"
RecordingStatusCallbackEvent="Completed"
RecordingStatusCallback="https://handler.twilio.com/twiml/XXXX"
transcribeCallback="http://twimlets.com/voicemail?Email=jk@XXXX.com"/>
</Response>
<?php
}
?>

来自服务器的响应:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say> Thankyou for leaving a message </Say>
<Sms to="1XXXXXXX"> John
You missed a call from {{From}} voice Recording: {{RecordingUrl}}.
</Sms>
<Sms to="1XXXXXX"> Joe
You missed a call from {{From}} voice Recording: {{TranscriptionText}}.
</Sms>  
</Response>

recordingStatusCallback可以触发一个Twilio函数,该函数可以将SMS发送到相应的各方。

发送多条短信

首先,<Sms>TwiML动词非常不受欢迎。我不建议你使用它。

相反,我建议您在收到录制状态回调时,使用RESTneneneba API的消息传递资源来触发要发送的消息,而不是作为TwiML中调用的一部分。录制状态回调是一个异步webhook,如果您使用TwiML进行响应,它不会影响调用。您想要在录制状态回调webhook中执行的任何操作都应该使用REST API。

最新更新