VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Уведомление о пропущенных вызовах

Обо всем касательно FreePBX, MetPBX, TrixBox, Elastix, AstPBX и всех других дистрибутивов

Модераторы: april22, Zavr2008

Ответить
AlexR333
Сообщения: 1
Зарегистрирован: 08 окт 2014, 13:54

Уведомление о пропущенных вызовах

Сообщение AlexR333 »

Приветствую всех присутствующих!!

Что имеем:
- 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

Буду признателен за советы, как лучше сей диалплан переделать
gosha
Сообщения: 375
Зарегистрирован: 06 сен 2010, 17:41
Контактная информация:

Re: Уведомление о пропущенных вызовах

Сообщение gosha »

перед входом в очередь ставить кастомную перемнную которую потом проверять в вашем h

Код: Выделить всё

[q-exten]
exten => _X.,1,Set(QID=xxx)
exten => _X.,n,Queue(....)

exten => h,1,ExecIf($["${QID}" = "XXX"]?Set(MAILTO=io@mail.ru))
exten => h,n,ExecIf($["${CDR(dstchannel)}"=""]?System(/usr/local/bin/sendEmail.pl -f pbx1@company.ru -t ${MAILTO} -u "Queue ${NODEST} missed call from ${CALLERID(num)}" -m "Missed call in Queue ${NODEST} from ${CALLERID(num)}" -o message-charset=UTF-8)) 
как это будет в freepbx хз.
ded
Сообщения: 15623
Зарегистрирован: 26 авг 2010, 19:00

Re: Уведомление о пропущенных вызовах

Сообщение ded »

Существует задача, реализовать уведомления (в любом виде) о пропущенных звонках диспетчеров (не самых расторопных надо сказать), дабы они могли перезвонить клиенту.
Некорректно поставлена задача.
При правильном функционале очереди (очередей) нет понятия пропущенный звонок. Есть только недождавшиеся абоненты, которые послушали 30 сек музыку в очереди и положили трубку. Таких проще выявлять через аналитику и мониторинг очередей, супервизору очереди надо отфильтровать по статусу да и кликать по номерам, вызывая click2dial. Это мне думается проще , чем пересылать на почту уведомление.
В вэб интерфейсе очередей есть внизу Fail Over Destination. Если сделаете групповые ящики голосовой почты Vocemail blast то можно перенаправлять туда для каждой очереди. Если не получится - в стандартной обработке очередей есть переменная NODEST, можно её использовать для обработки раздельных посылок голосовой почты для каждой очереди.
MimKr
Сообщения: 2
Зарегистрирован: 09 авг 2019, 11:16

Re: Уведомление о пропущенных вызовах

Сообщение MimKr »

Приветствую всех присутствующих!!
От предшественника достался вот такой файл extensions_override_freepbx.conf

Код: Выделить всё

[ext-queues]
exten => h,1,ExecIf($["${CDR(dstchannel)}"=""]?System(echo '${CALLERID(num)}' '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)}'  ${EXTENSION_STATE(201)}  ${EXTENSION_STATE(202)} ${EXTENSION_STATE(203)} >>/home/me/count))
exten => h,n,Macro(hangupcall,)
Утверждают, что всё написано верно. НО не работает. По указанному пути файлик count не дописывается и не создаётся. При запуске отдельно echo.... вывод команды такой:
-bash: ${EXTENSION_STATE(201)}: bad substitution
Подскажите, пожалуйста, откуда копать! Опыта с FreePBX мало. Только учусь. СПАСИБО!
(FreePBX 15.0.16)
ded
Сообщения: 15623
Зарегистрирован: 26 авг 2010, 19:00

Re: Уведомление о пропущенных вызовах

Сообщение ded »

Копать в сторону изучения синтаксиса языка диал-плана.
Или раздел Бизнес.
Учиться на форуме публикуя свои или чужие куски кода (а почему нен работает?) - непродуктивно.
MimKr
Сообщения: 2
Зарегистрирован: 09 авг 2019, 11:16

Re: Уведомление о пропущенных вызовах

Сообщение MimKr »

Не знаю, но отвечу. Принято. :D
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH