Ошибка приложения Twilio при превышении длины записи

В моем приложении я устанавливаю ограничение записи для пользователя (60 секунд). Если пользователь превышает эту длину в записи, Twilio воспроизводит сообщение » произошла ошибка приложения.»

Вместо того, чтобы воспроизводить это сообщение, Я хочу, чтобы Twilio просто повесил трубку (вместо того, чтобы сообщать пользователю об ошибке).

Как бы я это сделал? Это мой текущий код.

twiml.say("Hello...");

twiml.record({
      action: "/nowhere",
      method: "POST",
      maxLength: recordingLength,
      recordingStatusCallback: config.get("RECORDING_CALLBACK")
});

twiml.hangup();

1 ответ

  1. Twilio разработчик евангелист здесь.

    Ваша проблема здесь заключается в использовании actionатрибута для указания "/nowhere". Я предполагаю, что "/nowhere"это действительно никуда не ведет.

    После <Record>завершения , в том числе при попадании в негоmaxLength, Twilio сделает запрос к actionатрибуту, чтобы узнать, что делать дальше. Если URL-адрес не отвечает с TwiML тоже, то вы услышите сообщение об ошибке. Потому <Record>что всегда вызывает его actionили текущий URL-адрес документа, когда он завершен, то наличие TwiML после <Record>не будет работать. Таким образом, вам нужно указать actionto "/somewhere"вместо этого, и эта конечная точка должна вернуть TwiML <Hangup>.

    var twiml = new twilio.TwimlResponse();
    twiml.hangup();
    

    Дайте мне знать, если это поможет.