Робот Марвин из "Автостопом по галактике", мой воображаемый помощник в разработке чего-либо, помогал мне в тестировании первого скрипта. От него пришло предложение инициировать звонки по абонентам, которым не удалось дозвониться некоторое предельное количество раз, чем мы и занимались пару недель, помимо нашей основной деятельности. Результатом стал скрипт обратного звонка с верификацией номеров и актуализацией контактных номеров клиентской базы клиники, что позволило немного успокоить его психологическое состояние.  В любой автоматизированной системе есть вероятность того, что операция закончится ошибкой. Многие ошибки обрабатываются автоматически, но, в случае с телефонией, вероятность отказа по независящим обстоятельствам выше. Например, абонент отключает телефон с 5 утра до 5 вечера. В этом случае, идет ошибка «недозвон», которая со стороны 1С обрабатывается фиксированное количество раз.  Меня зовут Дмитрий Лупонос. Продолжаю выкладывать свои наработки по взаимодействию с системой управления роботом VoiceBox от МТТ.  Статья — результат доработки скрипта уведомления пациента о приеме и связана с предыдущей, поэтому под катом описание разработанного скрипта обработки очереди вызовов. Как только оповестили пациентов о завтрашнем приеме, в базе данных появляются состояния, которые означают, что дозвона не произошло. Время работы скрипта и, соответственно, сбор статистики происходит с 09-30 по 14-30 ежедневно. В связи с глубокой интеграцией учетной системы с различными информационными сервисами, мы не можем гарантировать корректность предоставленного номера телефона. Так же нет уверенности, что постоянный пациент при записи обновил номер телефона на корректный (например, поменял оператора без перевода номера и забыл уведомить администратора клиники при записи).  Были случаи, что из-за качества связи или нечеткой речи пациента, робот не смог распознать ответ. Для такой ветки алгоритма следует перевод на оператора клиники, но, по различным причинам, соединения не произошло.  Для таких звонков на стороне МТТ в  voicebox.mtt.ru специалисты компании обеспечили подключение звонка при инициации напрямую в специально созданную очередь нашей IP-АТС, это для нас ключевая и важная настройка. Решение с приоритетной очередью позволило исключить различные очереди обслуживания входящих вызовов и приоритезировать звонок как важнейший для оператора.  Оператор, помимо информации на экране CRM получает голосовое оповещение от робота об имени и отчестве пациента, времени записи, специалисте, к которому пациент записан, после чего производится соединение с пациентом. Это дает время оператору подготовиться к разговору.  Во время звонка могут произойти события, которые робот должен обработать:  Принятие ответа или отсутствие ответа      оператора клиники. Статус соединения с пациентом. В результате звонка происходит отражение в статусе документа в CRM. В случае успеха задача закрывается, в случае отсутствия соединения звонок совершается фиксированное количество раз.  Сбор фактического результата взаимодействия с клиентом происходит оператором, для чего в CRM есть специальный механизм. И тут мы выходим за пределы автоматизации звонков, но, по нашей статистике из 300-400 уведомлений в день, оператор обрабатывает 2-4 звонка, не считая отказавшихся от явки.  На рисунке 1 приведена укрупненная блок-схема постановки задачи в работу и обработка ответа от МТТ: В интерфейсе VoiceBox МТТ (далее VoiceBox) доступны инструменты для настройки скриптов обзвона и извлечения отчетов с детализацией звонков, план нумерации.  Для решения задачи необходимо создать сценарий, привязать его к компании, для чего также возьму один из номеров из плана нумерации, отличный от основного. Это связано с настройкой входа в IP-АТС, что можно будет увидеть на приведенных ниже скриншотах.   Создаю сценарий с названием «Уведомление оператора о брони из 1С». На рисунке 2 — полная схема звонка с обратной связью от клиента.  Достаточно прямолинейный скрипт, который набирает оператора, через 5 секунд после статуса АТС on-hook проговаривает данные и переадресует звонок на пациента.  Особого внимания заслуживают блоки инициации звонка в АТС, ответы в CRM, переадресация пациенту.  Обращаю внимание на чек-бокс определения автоответчика. Если нет ответа или срабатывает автоответчик при звонке оператору, VoiceBox отправляет статус звонка «ошибка», что позволяет определить, что операторы не отработали. Согласно блок-схеме, изменений в статусах звонка не происходит, как и соединения с пациентом. И это очень хорошо, что нет звонка пациенту, если оператор трубку не поднял.  В этом блоке есть вариант вызова через VoiceBox федерального номера или передача номера для вызова через IP-АТС организации. Мы посчитали, что через наши шлюзы пациента вызывать чуть дороже, чем пользоваться связью МТТ, поэтому набираем федеральный номер через МТТ.  Для чего можно использовать передачу по IP / SIP ID? Например, у вас прикручена аналитика на базе обработки очередей в Asterisk, согласно которой считается какой-либо показатель, обрабатываются ответы абонентов. Тогда возможно завести переадресацию на абонента в IP-АТС организации и пользоваться существующими функциями.  Приведу пример некоторых блоков оповещения о статусе работы алгоритма для полного понимания происходящего в скрипте.  Блок http-оповещения о статусе отказа соединения с оператором (рис.5) формирует JSON-запрос и отправляет его по указанному адресу. Блок http-оповещения можно использовать в любом месте алгоритма скрипта для передачи различных статусов в CRM. В данном случае информируем систему о отказе оператора в приеме звонка.   Блок уведомления о ошибке соединения содержит информацию о ошибке связи оператора с пациентом, вызывая в CRM соответствующую реакцию на отказ звонка (рис. 6).  В результате, CRM-система фиксирует, что оператор не отреагировал на звонок или абонент в статусе, по которому невозможен дозвон.  В статье изложил настройки VoiceBox, которые привел на рабочем примере скрипта инициации связи через IP-АТС организации оператора и пациента.  Внедрение этого скрипта позволило актуализировать данные о сохраненных номерах телефонов пациентов, что повысило конверсию в автоматизированную систему оповещения клиникой своих пациентов, снизилось количество отказов в соединении. Компания МТТ помогла в разработке алгоритма инициации связи, формировании ответов скриптом в CRM.  Всем спасибо за прочтение статьи, прошу все вопросы задавать в комментариях.