Что имеем:
- FreePBX 2.11.0.38, Asterisk Ver. 10.12.2
- Несколько очередей (например) Queue1, Queue2, Queue3 за которыми диспетчера отвечают на звонки
- Админим в основном через веб-интерфейс FreePBX, в базу и в конфигурационные файлы лазим только по большой надобности, кастомные контексты тоже не пишем - нет необходимости
- Диалпланы писать руками не умеем, мат.часть читаем, но как обычно нужно "вчера"
Что нужно:
Существует задача, реализовать уведомления (в любом виде) о пропущенных звонках диспетчеров (не самых расторопных надо сказать), дабы они могли перезвонить клиенту. Соответственно нужно получать номер звонившего (в нашем случае CallerID полагаю), номер очереди или номера на который он звонил (номера очереди вполне достаточно), желательно еще время звонка и сколько он звонил, прежде чем бросил это изнуряющее занятие.
Что нашли:
Замечательная статья, почти реализующая нашу задумку http://hotfix.pro/blog/item/5-freepbx-c ... calls.html. Действия, описываемые в ней, работают отлично, но уведомления о пропущенных звонках приходят на один email со всех очередей сразу, это не то, что нужно. Нужно как-то модернизировать диалплан таким образом, чтобы с одной конкретной очереди приходили уведомления на один конкретный email, ну и как уже говорилось выше желательно знать время звонка и сколько секунд человек ждал, пока ему ответят.
Привожу диалплан, который указан в статье для тех, кто поленился перейти поссылке
Код: Выделить всё
[ext-queues] ;работает для всех очередей вызова, при внешних вызовах
exten => h,1,ExecIf($["${CDR(dstchannel)}"=""]?System(/usr/local/bin/sendEmail.pl -f pbx1@company.ru -t info@company.ru -u "Queue ${NODEST} missed call from ${CALLERID(num)}" -m "Missed call in Queue ${NODEST} from ${CALLERID(num)}" -o message-charset=UTF-8))
exten => h,2,Macro(hangupcall,)
Изменения вносятся в файл /etc/asterisk/extensions_override_freepbx.conf
Буду признателен за советы, как лучше сей диалплан переделать