Twilio API / TwiML:记录后重定向将不起作用

时间:2019-07-16 16:00:54

标签: php twilio twilio-php twiml

我目前正在使用Twilio-PHP和TwiML实现来电功能。我正在请求呼叫者记录通话的权限,这有效。但是,一旦开始录制,<Record>元素之后就什么也不会执行。在这一点上,我以某种方式认为这是预期的行为。录音时有什么方法可以执行<Redirect>等?当未记录呼叫时,重定向将起作用。 用户获得录音权限后,这是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;

仅在不记录呼叫时执行回声(最终重定向)之前的最后一行。

这里有解决方案吗?

1 个答案:

答案 0 :(得分:0)