В прошлом посте мы делали систему голосового самообслуживания, сейчас для того же клиента делаем систему оповещения о задолженности. По условию тех задания система должна:
- Воспроизвести заранее записанный файл
- Произнести персонализированную задолженность пользователя
- Соединить с оператором при желании пользователя
- Иметь веб интерфейс и статистику
приступим.
Делать будем на том же XVB-VirtualPBX
Качаем с сайта / yandex disk'a большой tar.bz2 архив с готовым для работы имиджем для VMWare Player. И ставим апдейты.
Описывать процесс установки этого комбайна не имеет большого смысла в предыдущих статьях это было описано, так же есть документация подробная.
Создаем отдельного арендатора для этой задачи и пишем план набора ( в дефолтной инсталяции есть готовый пример который поправим под себя ), в итоге выглядеть это будет примерно так:
рассмотрим это все подробнее, начнем с внутреннего номера 999 — это собственно старт нашего автообзвона.
выглядит немного `космически`, разберем основные моменты:
- Установим тип номера — в автоинформатор
- Загрузим наш статический файл в 'Приветствие пользователя'
- Установим расписание обзвона — с 9 утра до 20 вечера с понедельника по пятницу
- Установим дату начала и окончания работы данной компании, если у вас постоянно будет использоватя этот шаблон то ставьте окончание 2030 год например
- У нас всего 5 линий, 3 из них мы готовы отдать информатору
- Поставим минимальную длительность успешного звонка в 10 секунд, если пользователь прослушал сообщение менее этого времни, то не считаем звонок успешным
- поставим количество повторный вызовов и интервал между ними
собственно простейшая звонилка готова и после включения чекбокса 'Включить автоинформатор' и загрузки csv файла с телефонами система должна начать звонить. Но, нам нужно еще произношение баланса, для этого делаем еще один внутренний номер 999*1 а в 'Перейти к' в 999 указываем этот номер.
Тут ключевые моменты:
- Тип номера — чтение текста
- Тип текста — деньги
- Самое важное — текст, там у нас переменная которая будет содержать баланс каждого конкретного клиента — [% VAR:BALANCE %] rub
Итак у нас есть обзвон и чтение задолженности.
чтобы дать пользователю возможность пообщаться с оператором добавим еще два внутренних номера:
999*2 — Это просто плейбек номер в котором воспроизводим текст 'оплатите как можно скорее' с включенным чекбоксом ждать ввода, если пользователь нажмет тут 1 то система начнет звонить оператору:
и 999*2*1- это сама очередь с внутренним сип телефоном и мобильным.
На этом собственно подготовка virtual-pbx закончена.
Чтобы все это безобразие начало звонить надо либо добавить этому арендатору SIP шлюз либо в конфигах астериска сделать роутинг правильный, про то где и как это править написано тут.
Теперь немного магии о том откуда система узнает баланс:
для каждого клиента в списке может определена одна или несколько переменных которыми мы и воспользуемся.
Чтоб не вбивать всех руками, такой список забираем в бухгалтерии в csv формате:
"NAME","PHONE_NUMBER","USER_VARS" "Igor Lipko","17605632123;79508881234","BALANCE=-68.27" "Ilya mihailov","7760569623","BALANCE=-525.19"
собственно все готово, после загрузки нового csv файла система начинает звонить по списку и
- стартует IVR с внутреннего номера 999 в котором произносим фразу 'Здравствуйте, вас беспокоит ТСЖ ХХХ, ваша задолженность ',
- переходим на номер 999*1 — в котором зачитываем баланс,
- переходим на 999*2 — и просим оплатить как можно скорее или ввести 1 чтобы связаться с оператором, либо просто трубку повесить,
- при необходимости соединяем пользователя с оператором для консультации
В принципе после единовременной настройки клиенту остается подгружать актуальные csv файлы и смотреть статистику:
Автор: Max1983