Автоматический обзвон пропущенных вызовов, поступивших в нерабочее время
В данной статье рассмотрим возможность автоматического обзвона клиентов, позвонивших во внерабочее время. Для этого опять же будем использовать скрипт написанный на php. Сами номера будем собирать в базу.
Для работы потребуется модуль ODBC.
Соответственно в базе необходимо будет отмечать номера, которые уже участвовали в обзвоне, для этого будем помещать их в другую таблицу, чтобы не увеличивать рабочую.
Для начала создадим базу в MySQL.
create database missed_calls;
use missed_calls;
create table current_numbers (num int(20) not null);//текущие номера
create table old_numbers (num int(20) not null); //отработанные номера
Итак, сейчас настроим запись номеров в данную базу. Использовать будем механизм обработки пропущенных, описанный в статье, добавим к отправке сообщения, добавление номера в базу. Будем отправлять вызовы в нерабочее время на голосовое приветствие, после которого будем заносить номер в таблицу. В файл extensions_ovverride_freepbx.conf вносим изменения.
[app-announcement-2]
exten => h,1,Set(${ODBC_insertmissed(${CALLERID(num)})}=1)
same => n,Macro(hangupcall,)
Далее приступим к написанию скрипта.
Коннект к базе будем использовать из статьи генерации телефонной книги, за одним отличием, подключаться будем к созданной базе.
Сам механизм обзвона будем реализовывать через call-файлы. Поскольку номеров может быть много, одномоментно используем лишь ограниченное число номеров в выборке (как пример два с перерывом в две минуты).
Рассматривать весь скрипт не будем, остановимся на моменте непосредственного сбора файла.
$i=0;
$j=2;
$dbcount = bd_bridge(‘missed_calls’,»SELECT count(num) FROM current_numbers;»);
$count = mysql_fetch_array($dbcount);
while ($j<=$count[‘count(exten)’]) {
$result = bd_bridge(‘missed_calls’,»SELECT num FROM current_numbers limit $i,$j;»);
while ($row = mysql_fetch_array($result)) //выбираем из базы по 2 номера
{
$number=$row[«num»];
$fp = fopen(«/tmp/record_send/».$number.».call», ‘w’);
fwrite($fp, «Channel: Local/600@ext-queues»); //очередь операторов
fwrite($fp, «MaxRetries: 1″.»n»);
fwrite($fp, «RetryTime: 30″.»n»);
fwrite($fp, «WaitTime: 30″.»n»);
fwrite($fp, «Context: from-internal».»n»); //контекст для исходящего вызова
fwrite($fp, «Extension: $number».»n»);
fwrite($fp, «Priority: 1″.»n»);
fclose($fp);
$chownfile=`chown asterisk:asterisk /tmp/record_send/ -R`;
$mvfile=`mv /tmp/record_send/$number.call /var/spool/asterisk/outgoing`;
}
$i=$i+2;
$j=$j+2;
Sleep 120; //ожидаем 2 минуты до следующего шага
}
$insforold = bd_bridge(‘missed_calls’,» insert into old_numbers select * from current_numbers;»); //записываем отработанные номера в другую таблицу
$delfromcurr = bd_bridge(‘missed_calls’,» TRUNCATE TABLE current_numbers;»); //удаляем из текущей
Соответственно после обработки всех номеров мы переносим их в таблицу отработки.
Для удобства можете дополнить базу отработки некоторыми значениями вроде отвечен/неотвечен.
После настройки скрипта можно протестировать его на внутренних номерах, запустив вручную.
Тест со внутренними номерами.
А после всех проверок помещаем скрипт в cron на выполнение, например каждый день спустя час после начала рабочего дня, либо в определенные дни.
Настройка завершена. Демонстрация работы
Остались вопросы?
Я - Виталий Шелест, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.