Как мы научили 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 МИКО

См. также

Облачная АТС Билайн - интеграция с 1С

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

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

12000 руб.

20.03.2019    22325    52    0    

35

Интеграция 1С с телефонией и чатами WhatsApp и Telegram

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

Интеграция 1С с телефонией и чатами WhatsApp и Telegram автоматизирует работу оператора со звонками и чатами и добавит вашей 1С элементы CRM системы. Храните всю историю взаимоотношений в 1С, не теряйте звонки, скачивайте, прослушивайте в любое время из карточки клиента или журнала звонков, держите руку на пульсе, используя блок отчетов по звонкам. Интегрируйте вашу 1С и чатами WhatsApp и Telegram, общайтесь с клиентами с единого номера и в одном окне. Теперь чаты с клиентами хранятся в карточке партнера в 1С, а не в личных мобильных ваших менеджеров.

4100 руб.

28.04.2022    13858    11    6    

36

Внешняя компонента для подключения 1С к телефонии Asterisk

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

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

2400 руб.

04.05.2018    44977    117    64    

60

Модуль интеграции с телефонией Новофон для 1С:УНФ 3.0

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

Модуль интеграции с виртуальной телефонией Новофон для решения 1С:Управление нашей фирмой, редакция 3.0.

12000 руб.

26.02.2024    306    0    0    

0

Звонок из 1С через сервис сайта zvonok.com

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

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

1 стартмани

18.01.2024    447    0    v3132    0    

3

Как мы проводили автообзвон должников

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

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

18.01.2024    639    slavik27    11    

5

Простые звонки, модификация расширения для УНФ

Телефония, SIP Адаптация типовых решений 8.3.14 1С:Управление нашей фирмой 1.6 Россия Абонемент ($m)

Модифицированное расширение "Простые звонки" для УНФ (1.6.25 и выше).

1 стартмани

20.09.2022    4596    2    Scroudge    3    

3

Интеграция с программой для звонков Softphone.Pro

Телефония, SIP Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Отображение информации о клиенте из 1С при входящем звонке — настраиваем интеграцию с Softphone.Pro.

1 стартмани

20.07.2022    2987    1    nikolay.surdo    0    

3
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. jorikfon 324 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 116 15.12.15 16:00 Сейчас в теме
4. pudovan 16.12.15 11:40 Сейчас в теме
Понравилось, очень хорошая идея развития функционала CRM.
Осталось только узнать цену вопроса: сколько стоит?
И ещё возможна ли генерация голосовых сообщений на других языках или только русский?
jorikfon; 1attimo; +2 Ответить
5. jorikfon 324 16.12.15 13:55 Сейчас в теме
(4) pudovan, пока продукт не тиражный. Можем сделать как проектное внедрение. Все то, что есть в описании будет стоить 25000, в 2016 году сделаем тиражным, напишем инструкции по внедрению, будет дешевле.

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