Обнаружение автоответчика (AMD) с Twilio.. Но по факту
проблема
Хотел бы определить, был ли ответ на входящий звонок человеком или машиной.
подробности
Использую Twilio. И у Twilio есть эта особенность. Однако способ, которым он реализован в их системе, кажется не подходящим для моего варианта использования.
Twilio использует автоответчик для контроля потока вызовов. Из-за этого Twilio ждет несколько секунд после соединения вызова, чтобы проанализировать звук из вызова, чтобы узнать, является ли это автоответчиком. Он не продолжает соединять вызов до тех пор, пока он не задержит вызов и не выполнит этот анализ.
Для моего случая использования. Погода, на которую ответил человек или машина, не влияет на поток вызовов... поэтому задержка не требуется. Это влияет только на статистику, которая необходима позже. А именно, в данном случае "Как часто человек, которому я плачу за то, чтобы ответить на телефон, на самом деле отвечает на звонок, а не пропускает звонок и отправляет его на голосовую почту?"
Все входящие звонки перенаправляются на телефон. Обычно это мобильный телефон.
Вопрос
Есть ли способ определить, был ли ответ на звонок человеком или машиной по факту, но без задержки с помощью Twilio?
Если нет, то есть ли другой шаблон, о котором я не думал, который можно использовать для достижения той же цели? (Чтобы определить частоту, с которой сотрудник отвечает на звонок, а не на пропущенные звонки)
Другие вещи, которые я рассмотрел
- Увеличьте количество звонков на мобильном телефоне, а затем позвольте Twilio принимать голосовую почту вместо голосовой почты оператора сотовой связи.
- Проблема с этим решением заключается в том, что многие провайдеры сотовых телефонов не позволяют вам изменять количество звонков телефона до того, как голосовая почта подхватит. Еще сложнее то, что количество колец не установлено. Поставщику сотового телефона может потребоваться больше или меньше времени, чтобы определить местонахождение телефона, и это учитывает количество времени, которое телефон будет звонить, прежде чем перейдет на голосовую почту.
- Реализовать автоответчик в моем собственном приложении (Python)
- Это, вероятно, жизнеспособная альтернатива. Проблема в том, что я очень мало знаю о том, как Python можно использовать для анализа аудиофайла, чтобы определить, похож ли он на человека или на поднятую машину.
1 ответ
Сначала небольшая справка о том, как анализ хода вызовов (CPA) используется для обнаружения автоответчиков. Не существует стандарта для автоответчиков и, следовательно, нет хорошего последовательного метода обнаружения. Все системы используют CPA для определения того, как долго звучит голос при ответе на телефон. Типичный человек ответит просто "Привет", тогда как автоответчик получит более длинное приветственное сообщение. CPA просто ищет длину голоса в начале вызова, и если он превышает определенный порог, то он принимает автоответчик. Некоторые могут также обнаружить звуковой сигнал, который дает автоответчик, когда пришло время оставить сообщение, но опять-таки нет стандартного тона, используемого для звукового сигнала, поэтому он также может быть непоследовательным.
Моя точка зрения заключается в том, что ни одна система не имеет 100% точности при обнаружении систем голосовой почты, и некоторые люди даже пытаются обмануть эти системы, просто добавив "Hello" в качестве приветствия в голосовую почту. Если вам нужна точность, вы можете вначале предоставить простую подсказку, требующую ответа DTMF. Если речь идет о голосовой почте, система не сможет отвечать с помощью DTMF-ввода, и поэтому вы знаете, 1) у вас есть система голосовой почты или 2) у вас есть человек, который не отвечает. Похоже, что в вашем бизнес-случае пользователю выгодно отвечать, так что они будут. Некоторые системы делают еще один шаг, если им нужно идентифицировать конкретного человека, попросив пользователя ввести PIN-код, который их идентифицирует.
Я не думаю, что вы можете сделать обнаружение после факта с Twilio. Если вам действительно это нужно, я бы использовал XML Control Call (CCXML) и VoiceXML. С CCXML это на самом деле не происходит по факту, это происходит параллельно. Пока ваше приложение VoiceXML работает, CCXML может продолжать работать в фоновом режиме, выполняя CPA. Вы даже можете отправлять сообщения в другой веб-сервис из CCXML, чтобы обновлять ход фоновой CPA все время, пока продолжается голосовое приложение. Voxeo имеет отличную реализацию CCXML. Их технический директор - главный редактор этого стандарта W3C. Также их реализация CPA - одна из лучших, которые я когда-либо использовал. Их обнаружение автоответчиков является лучшим и обычно даже захватывает звуковой сигнал. Онлайновая документация Voxeo для CCXML содержит хорошее описание реализации обнаружения автоответчика.