**Обновление:** Теперь у Twilio есть функция определения автоответчика, так что вам не нужно создавать свою собственную!
Когда вы автоматизируете звонки через свой аккаунт Twilio, иногда хочется избежать попадания на автоответчик и воспроизводить секретные сообщения только для людей. Казалось бы, всё просто. Но на практике это может работать не так, как вы ожидаете.
**Проблема**
Можно ли определить, кто ответил на звонок — человек или автоответчик? Поиск по этому вопросу может привести вас к технологии определения автоответчика (AMD). К сожалению, AMD больше похоже на искусство, чем на науку, и часто даёт сбои на разных устройствах и у разных провайдеров автоответчиков.
**Решение проблемы**
Мы предлагаем что-то вроде теста Тьюринга, но наоборот. Решение — это скрининг звонков или то, что Twilio называет определением человека (Human Detection). Human Detection использует глагол
**Выберите свой путь**
Возможно, самый простой для понимания пример, если вы знакомы с TwiML и XML, начинается с файла HumanDetection.xml:
Перед началом звонка мы используем глагол TwiML
Но когда человек действительно вводит данные, выполнение переходит к файлу message.xml, который выглядит так:
И вот оно — определение простых смертных в действии! Но у нас есть вспомогательные библиотеки, так что вам не придётся писать XML вручную.
Мы перепишем HumanDetection.xml для Python и посмотрим, как это работает в небольшом приложении Flask. Затем вы найдёте примеры кода для начала работы на разных языках, которые продолжают перенаправлять на message.xml. Я разместил оба XML-файла с помощью TwiMLBin, так что вы можете сразу же протестировать их.
**Создание скрининга звонков на Python**
Используя вспомогательную библиотеку twilio-python. Создайте файл HumanDetection.py. Если хотите увидеть README для настройки, возьмите этот гист.
Убедитесь, что ваш сервер доступен извне с помощью чего-то вроде ngrok, работающего на порту 5000. Запустите «python HumanDetection.py» в директории проекта (предварительно выполнив пункты из README) и, когда зазвонит телефон, дайте своему номеру Twilio понять, что вы действительно человек.
**Создание скрининга звонков на Ruby**
Используя вспомогательную библиотеку twilio-ruby. Создайте файл HumanDetection.rb.
В этом случае вам нужно запустить ngrok на порту 4567 с помощью команды «ruby HumanDetection.rb».
**Создание скрининга звонков на Java**
Используя вспомогательную библиотеку twilio-java. Создайте файл HumanDetection.java. Для полной настройки проекта ознакомьтесь с этой статьёй моего коллеги Криса.
Запустите «php -S localhost:8888» в директории вашего проекта.
**Завершение**
Теперь вы сможете определять, когда на звонок отвечает человек, и реагировать соответствующим образом. Этот пример является основой для создания более сложных телефонных деревьев и сценариев IVR.
Расскажите нам, чем вы занимались в последнее время. В следующий раз, когда вам понадобится человеческое общение, просто соберитесь в нашем сообществе. Мы всегда готовы помочь!
Напишите мне: mspeir@twilio.com
Твитните мне: @meganspeir