#php #twilio
#php #twilio
Вопрос:
Я использую twilio для вызова пользователя, и у меня возникают проблемы со сбором введенных пользователем данных. Первоначальный вызов работает нормально, но когда я нажимаю 1 или 3, кажется, ничего не происходит, и после 3-секундной паузы он продолжает выполняться.
//This works fine, I can call and hear the options being read.
<?php
header("content-type: text/xml");
echo "<?xml version="1.0" encoding="UTF-8"?>n";
?>
<Response>
<Gather action="https://mydomain.com/twilio/process_response.php" method="post" numDigits="1" timeout="3">
<Say>I can hear this.</Say>
<Say>Press 1.</Say>
<Say>Press 3.</Say>
</Gather>
<Say>It looks like you didn't select an option.</Say>
</Response>
Ответ — https://mydomain.com/twilio/process_response.php
<?php
header("content-type: text/xml");
echo "<?xml version="1.0" encoding="UTF-8"?>n";
?>
<Response>
<Say>I should hear this, but I dont...</Say>
</Response>
Спасибо!
Комментарии:
1. Что вы используете для тестирования? Некоторые сервисы, такие как Google Voice или skype, не очень хорошо передают сигналы касания.
2. Привет, спасибо за ваш ответ. Я использовал беспроводной телефон со стационарной линии (comcast). Вместо этого я просто попытался набрать номер мобильного телефона, и это сработало отлично. Должно быть, что-то с беспроводным телефоном. Еще раз спасибо!
Ответ №1:
Проблема была вызвана тем, что беспроводной телефон, который я использовал для тестирования, не распознал ввод. Смена телефонов «решила» эту проблему.
Ответ №2:
<Gather>
работает путем прослушивания звуков DTMF, которые издает ваш телефон или устройство. Вещи, из-за которых вам было бы трудно услышать, что говорит человек на другом конце провода, также могут затруднить распознавание Twilio сигналов DTMF. Плохой прием мобильного телефона, чрезмерный фоновый шум или соединение с большим количеством помех могут затруднить <Gather>
распознавание нажатий цифр.
Кроме того, на телефонах VoIP могут быть установлены нестандартные сигналы DTMF по умолчанию, которые Twilio также будет трудно распознать. Телефоны VoIP также могут использовать довольно сильное сжатие, которое может мешать работе DTMF. В любом случае, следующим хорошим шагом обычно является обращение к руководству по телефону или к человеку, который установил телефон.
У VoIP на основе браузера или приложения, такого как Skype или Google Voice, иногда также возникают проблемы с <Gather>
по тем же причинам, по которым у телефонов VoIP возникают проблемы.
<Gather>
Ссылка на устранение неполадок Twilio: http://www.twilio.com/docs/api/twiml/gather#troubleshooting
Ответ №3:
Атрибут ‘action’ принимает абсолютный или относительный URL в качестве значения.
При просмотре их документации выясняется, что атрибут action может содержать только «/page.php «или «page.php «. Вам нужно удалить часть протокола и хоста. Итак:
<Gather action="/twilio/process_response.php" method="post" numDigits="1" timeout="3">
Комментарии:
1. Вы можете использовать полный URL без проблем.
2. Спасибо за ваш ответ. Я перепробовал все возможные URL, поэтому не уверен, что это связано с действием.
Ответ №4:
Я столкнулся с той же проблемой.
Позже я обнаружил, что эта проблема исчезла после добавления finishOnKey ie #
или любой другой «пользовательский finishOnKey»
Ответ №5:
Столкнулся с той же проблемой. Добавление finishOnKey также не сработало.
Моим решением было использовать распознавание речи (input = «речь»), то есть не использовать DTMF, что недостаточно надежно.