【发布时间】:2019-07-16 16:00:54
【问题描述】:
我目前正在使用 Twilio-PHP 和 TwiML 实现来电功能。我正在请求呼叫者允许记录通话,这很有效。但是,一旦我开始录制,<Record> 元素之后就没有任何内容正在执行。在这一点上,我以某种方式认为这是预期的行为。有什么方法可以在录制时执行<Redirect>s 等?未记录呼叫时重定向有效。
这是用户从录制权限返回时的PHP文件:
<?php
include_once('../../../includes/config.php');
require_once FULL_DIRECTORY.'vendor/autoload.php';
use Twilio\TwiML\VoiceResponse;
$language = 'de-DE';
$voiceSettings = ['voice' => 'woman', 'language' => $language];
$response = new VoiceResponse();
$callerResponse = trim(strtolower($_REQUEST["SpeechResult"]));
if(($callerResponse == "ja" || $callerResponse == "ya" || $callerResponse == "jo" || $callerResponse == "yes" || $callerResponse == "yea" || $callerResponse == "jaha") && $_REQUEST["Confidence"] > 0.8){
$response->say('Sie haben der Aufzeichnung zugestimmt.', $voiceSettings);
$response->record(['action' => '/webhook/twiml/push_recording.php', 'timeout' => 0]);
}else{
$response->say('Sie haben der Aufzeichnung nicht zugestimmt. Das Gespräch wird ohne Aufzeichnung fortgesetzt.', $voiceSettings);
}
$response->redirect('/webhook/twiml/ask_for_redirect.php', ['method' => 'POST']);
echo $response;
回显之前的最后一行(最终重定向)仅在未记录呼叫时执行。
这里有什么解决方案吗?
【问题讨论】:
标签: php twilio twilio-php twilio-twiml