Как мы научили 1С генерировать IVR меню для Asterisk

15.12.15

Интеграция - Телефония, SIP

Пример алгоритма интеллектуальной маршрутизации вызовов из 1С для Asterisk. На стороне 1С собирается статистика по касаниям между сотрудниками и клиентами, а на стороне Asterisk генерируется голосовое приветствие с помощью облачного сервиса синтеза речи.

Последние годы проникновение IP телефонии в бизнес происходит семимильными шагами. С каждым днем появляется все больше и больше возможностей. Сотрудники могут работать не только в офисе, но и вообще в любой точке мира. Для того чтобы подключить телефонию сотруднику достаточно несколько кликов, никаких проводов и отдельных розеток. Компании используют запись разговоров, интеграцию телефонии с CRM системами. Каждая уважающая себя компания подключает многоканальный номер или даже платит за каждый звонок клиента, используя номер 8 800.

Давать клиенту свой сотовый телефон становится плохим тоном, ведь обращение клиента должно быть зарегистрировано в CRM и гарантированно обработано. Каждому сотруднику назначается внутренний добавочный номер, и чаще всего, зная добавочный номер, можно быстро связаться с нужным сотрудником. АТС знает, где сейчас находится сотрудник, и сможет связать клиента с нужным IP телефоном в офисе или мобильным телефоном, или даже SIP софтфоном, установленным на ноутбуке или смартфоне.

Но у прогресса есть и другая сторона. Многоканальный номер становится похожим на файрвол. Он защищает сотрудников внутри компании от звонков клиентов. На пути клиента появляется IVR меню, или даже многоуровневое IVR меню, и только не говорите, что мой звонок очень важен для вас :)

История из жизни

Случилась со мной неприятная история. В одном из крупных банков решался вопрос по одной сделке, и мне пришлось пешком посетить несколько отделений по возрастающей, пока я не нашел нужного специалиста. Милая девушка решила много моих вопросов, потратив на это 4 часа, в течение которых мы делали какие-то документы, сканировали мои договора, подписывали какие-то бумажки. Я думал, что вопрос окончательно решен, но на следующий день ко мне пришел звонок, и милая девушка попросила некоторые дополнительные данные. А спустя 2 недели по сделке пришел отказ из банка. Ох, как я хотел перезвонить этой девушке и выяснить в чем же конкретно дело и как мне быть дальше.

Сначала я нашел сотовый телефон, с которого она перезванивала, но телефон не обслуживается. Наверное, он только для исходящих. Затем я пошел на сайт, но там был только один номер 8800. Один номер на всю Россию!!! Конечно, я позвонил и прослушал много раз про новые кредитные карты, про вклады, кучу какой-то еще рекламы, но в течение 40 минут я так и не смог попасть на живого человека. Да и засомневался, что меня смогут соединить с Ивановой К. (так было написано в подписи копия верна одного из документов)

И мне пришлось ехать на другой конец Москвы, чтобы узнать внутренний номер телефона девушки, которая сегодня работала до 15.00

И тут в моей голове возникло 2 идеи:

  • Не обращаться больше в этот банк
  • Разработать новую систему умной маршрутизации для 1С и Asterisk

Мы уже много лет занимаемся интеграцией 1С и телефонии, и у нас было решение для маршрутизации звонка на ответственного менеджера. Но это было неудобно. Менеджер выбирался в карточке клиента, а в реальной жизни с клиентом часто работали разные сотрудники. Ответственный должен назначаться автоматически и меняться вместе с развитием отношений между компанией и клиентом.

Фигачим основной модуль на 1С

На примере моего общения с банком мы начали разрабатывать систему с модуля анализа событий в 1С:CRM. В 1С регистрируются все контакты с клиентом, выписываются счета и финансовые документы, хранится электронная переписка и записи телефонных разговоров. Поэтому для начала мы должны выбрать те события, которые имеют для нас значение.

Понятно, что каждое событие в CRM имеет свой вес и срок действия. Если я только что выставил вам счет и отправил его по электронной почте, а спустя час вы перезваниваете, то наверняка мне. А если счет я вам выписывал месяц назад, а сегодня вы переписывались с ребятами из саппорта, и специалист Ваня звонил вам несколько раз, то ваш новый звонок точно не мне, а специалисту Ване.

У каждого клиента своя 1C, и мне кажется, правильно настроить типы событий, веса и срок действия - самое сложное действие.

После настройки списка регистрируемых событий начинается непрерывный анализ базы 1С регламентным заданием. С этой задачей хорошо справляется сервер 1С:Предприятия.

Для того, чтобы в момент звонка сервер 1С не занимался предварительными вычислениями, во второй таблице составляется рейтинг из сотрудников и телефонных номеров наших клиентов. Рейтинг постоянно пересчитывается после создания нового значимого события.

Когда позвонит клиент IPMATIKA с номера +7(495)926-26-44, то с очень большой вероятностью им понадобится Чулкова Евгения, ну а если ее нет, то Масленников Дмитрий сможет поддержать разговор.

В этот момент я понял, что слепая переадресация на ответственного - не самый лучший выбор. Почему бы не предложить клиенту самому указать нужного сотрудника, да и с точки зрения маршрутизации вызова это более простое решение. Мы не трогаем стандартных сценариев маршрутизации, а используем подсказки в виде персонального IVR меню.

Мы должны составить голосовое приветствие из заранее подготовленных фраз, сгенерировать аудио файл, проиграть клиенту новое IVR меню. Алгоритм работы решения должен быть примерно таким.

В качестве сервиса синтеза речи мы выбрали два TTS решения.

Условно бесплатный Speech Kit от Яндекса и

VoiceFabric от Центра речевых технологий.

Для начала работы нужно получить API ключ одно из сервисов и ввести его в форме настроек.

Мне очень понравилась генерация речи от компании ЦРТ, но она платная и стоит достаточно дорого для массовой генерации, поэтому мы придумали технологию локального кеша. При установленном режиме максимального качества голосовое меню генерируется из полных предложений, а при включении режима максимальной экономии мы запрашиваем генерацию отдельных слов.

Вы можете задать фиксированные части голосового меню, например, начало и окончание у нас выглядит так:

 

Между ними при генерации вставляется список из 2-3 подходящих сотрудников:

  • Чулкова Евгения, добавочный 34
  • Масленников Дмитрий, добавочный 02

Если в 1С еще нет информации о взаимоотношениях с клиентом, генерируется IVR по-умолчанию.

МИКО:Интеллектуальная маршрутизация вызова - Приветствие по умолчанию

На стороне 1С осталось совсем немного - сделать фильтрацию по уволенным сотрудникам, техническим учетным записям (Робот, Администратор). По-хорошему, нужно еще убирать тех, кто находится в отпуске, но мы пока этого не сделали.

Также хорошо бы заранее правильно проспрягать ФИО, особенно тех, которые подчиняются нестандартным правилам (Белых, Черных, Крученых ...)

Вторую часть пишем на AGI в Asterisk

В качестве Asterisk сервера мы давно используем платную сборку Askozia, она с одной стороны очень простая в настройке, с другой - по возможностям кастомизации не уступает многим свободным решениям, да и нравится она мне, это трудно объяснить :)

При разработке модуля Asterisk есть важное условие: "Ни в коем случае не прерывать обработку вызовов". Даже если 1С перестанет отвечать, звонки должны ходить. Нужен гарантированный резервный маршрут на отдел продаж.

Вся логика работы на стороне Asterisk будет выполняться с использованием технологий AGI и AMI. Как создавать приложения для интеграции 1С и AGI мы писали несколько лет назад в этом посте.

Приложение на стороне Asterisk выполняет следующие задачи:

  • запрос у веб сервиса 1С информации о имени клиента для установки CallerID на телефонах и в истории;
  • запрос у веб сервиса 1С персонального голосового меню;
  • запрос у сервера TTS синтезированных фраз;
  • склейка полного голосового меню для клиента из новых и закешированных ранее фраз;
  • воспроизведение IVR меню клиенту и распознавание DTMF сигналов в ответ;
  • соединение клиента и сотрудника.

Добавляем PHP приложение прямо в Web интерфейсе и копируем ID нового приложения. Создаем простейший IVR маршрут, на который направим все звонки клиентов. Определим резервный маршрут на случай, если в AGI скрипте что-то сломается. У нас на сервере я просто указал телефон нашего отдела продаж (90) и ID недавно созданного AGI скрипта. В итоге при звонке в нашу компанию вы услышите что-то типа этого:

 

 

Бесплатный Яндекс, волне подходит для отладки. Произношение от Центра Речевых Технологий значительно круче, его и используем на боевом сервере.

Итог

Модуль генерации IVR меню мы внедрили 3 месяца назад. За это время резко сократилось количество переадресаций клиентов между сотрудниками.

Новое IVR меню произвело многократный WOW эффект. Мы специально добавили в меню фразу про CRM, многие интересуются, как это работает =)

Скорость генерации полностью нового IVR меню не превышает 1-3 секунд, если нужных фраз еще нет в кеше, и доли секунд, если нужные фразы уже были синтезированы ранее. По сути, сейчас мы получаем новые фразы только тогда, когда в компании появляется новый сотрудник. В остальное время система работает автономно и независимо от TTS серверов.

Большое спасибо, если смогли дочитать до конца. С удовольствием отвечу на все вопросы.

Asterisk AGI Телефония IVR TTS МИКО

См. также

Телефония, SIP Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Модуль интеграции с виртуальной телефонией Новофон для решения 1С:Управление нашей фирмой, редакция 3.0. Обновление релиза в связи с переходом на API 2.0 поставщиком сервиса. Бета-версия 2.0 до окончания перехода поставщиком на новую версию.

12000 руб.

26.02.2024    737    1    0    

2

Управление взаимоотношениями с клиентами (CRM) Телефония, SIP Облачные сервисы, хостинг Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Продукт интеграции возможностей Облачной АТС Билайн в систему 1С Предприятие 8. Звонки прямо из программы 1С, уведомления о текущих звонках, регистрация пропущенных и завершенных вызовов, ведение журнала, анализ данных об использовании мобильной связи.

12000 руб.

20.03.2019    22815    53    0    

36

Телефония, SIP Анализ продаж Платформа 1С v8.3 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Связка 1С и виртуальных АТС (от Мегафон, Zadarma, Новофон ) позволит четко ответить на вопросы: кто звонил, когда звонил, кому звонил, сколько говорил, сколько ждал на линии, что особо актуально при удаленной работе операторов и менеджеров, о чем говорили, результат разговора, обработаны ли пропущенные звонки, прослушать сам разговор, запланировать встречу, звонок, напоминание по результатам разговора. Возможность позвонить клиенту прямо из 1С одной кнопкой, оставить комментарий о звонке, посмотреть по каждому партнеру и клиенту, контакту клиента историю его звонков и взаимоотношений.

9600 руб.

08.05.2020    27060    30    74    

42

Телефония, SIP Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Модуль для интеграции облачной АТС "Билайн" и конфигураций на платформе 1С v8. Список поддерживаемых конфигураций: УТ 11.2 и выше, УНФ 1.6, КА 2.0, ERP 2.0 и выше. Краткий перечень возможностей: - Подъем карточки клиента при звонке - Журнал звонков - Скачивание и прослушивание записей разговоров - Аналитика по звонкам. Не нужно покупать дорогостоящее оборудование и лицензии. Разговоры не зависят от наличия Интернета, он нужен только для получения данных с АТС в 1С. Подходит для выездных сотрудников, агентов, торговых представителей и т.п.

5100 руб.

17.07.2017    26770    13    23    

14

Разработка внешних компонент Телефония, SIP Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    46276    119    66    

64

Телефония, SIP Пользователь Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 Россия Абонемент ($m)

Данная внешняя обработка позволяет делать звонки из программы 1С, используя сервис сайта zvonok.com.

1 стартмани

18.01.2024    820    0    v3132    0    

3

Телефония, SIP Россия Бесплатно (free)

Делимся опытом разработки системы обзвона абонентов-задолжников.

18.01.2024    1098    slavik27    11    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. jorikfon 328 15.12.15 10:24 Сейчас в теме
Возможно будет интересна запись моего вебинара на тему этого проекта.
https://youtu.be/D-CSnkTJwSA
baracuda; +1 Ответить
2. i.d.Kravchenko 15.12.15 12:20 Сейчас в теме
Читал на хабре .... интересно.
jorikfon; +1 Ответить
3. XOCTEP 118 15.12.15 16:00 Сейчас в теме
4. pudovan 16.12.15 11:40 Сейчас в теме
Понравилось, очень хорошая идея развития функционала CRM.
Осталось только узнать цену вопроса: сколько стоит?
И ещё возможна ли генерация голосовых сообщений на других языках или только русский?
jorikfon; 1attimo; +2 Ответить
5. jorikfon 328 16.12.15 13:55 Сейчас в теме
(4) pudovan, пока продукт не тиражный. Можем сделать как проектное внедрение. Все то, что есть в описании будет стоить 25000, в 2016 году сделаем тиражным, напишем инструкции по внедрению, будет дешевле.

Другие языки не проблема. У центра речевых технологий есть Английский.
Как вариант можно в качестве сервера генерации использовать облако Nuance или Google Speech API. Они не очень хороши в русском, и покупать надо за $ доступ к генерации. Но там копейки, для нашего случая мы обошлись за 6 месяцев 1000 рублями для того чтобы получить все необходимые фразы в локальный кеш.
6. basta-one2007 28.01.16 17:02 Сейчас в теме
Оставьте свое сообщение