Оповещение о пропущенном
Добавлено: 14 ноя 2019, 15:16
Добрый день!
Решил добавить оповещение на почту о пропущенном в очереди.
Решил добавить оповещение на почту о пропущенном в очереди.
Худо, бедно отрабатывает:[ext-queues]
exten => h,1,Set(varTime=${STRFTIME(${EPOCH},,%H:%M:%S)})
exten => h,n,Set(varDate=${STRFTIME(${EPOCH},,%d-%m-%Y)})
exten => h,n,Set(varDST=${CDR(dstchannel)})
exten => h,n,Set(varQ=${CDR(disposition)})
exten => h,n,ExecIf($["${NODEST}"="522"]?Set(varQueueName="Ресепшен"))
exten => h,n,ExecIf($["${CDR(disposition)}" != "ANSWERED"]?System(echo "Пропущен звонок от ${CDR(clid)} \nЗвонок длился: ${CDR(duration)} сек. \nОчередь: ${varQueueName} \nВремя: ${varTime} " | mail -s "Пропущен звонок от ${CDR(clid)}" -r pbx@vertical.ru kuznetsov@vertical.ru)
exten => h,n,Macro(hangupcall,)
настройки очереди:[2019-11-14 15:10:00] VERBOSE[103272][C-00002253] pbx.c: Executing [h@ext-queues:1] Set("SIP/9999-000044e3", "varTime=15:10:00") in new stack
[2019-11-14 15:10:00] VERBOSE[103272][C-00002253] pbx.c: Executing [h@ext-queues:2] Set("SIP/9999-000044e3", "varDate=14-11-2019") in new stack
[2019-11-14 15:10:00] VERBOSE[103272][C-00002253] pbx.c: Executing [h@ext-queues:3] Set("SIP/9999-000044e3", "varDST=Local/2021@from-queue-0000074c;1") in new stack
[2019-11-14 15:10:00] VERBOSE[103272][C-00002253] pbx.c: Executing [h@ext-queues:4] Set("SIP/9999-000044e3", "varQ=NO ANSWER") in new stack
[2019-11-14 15:10:00] VERBOSE[103272][C-00002253] pbx.c: Executing [h@ext-queues:5] ExecIf("SIP/9999-000044e3", "1?Set(varQueueName="Ресепшен")") in new stack
[2019-11-14 15:10:00] VERBOSE[103272][C-00002253] pbx.c: Executing [h@ext-queues:6] ExecIf("SIP/9999-000044e3", "1?System(echo "Пропущен звонок от "XXXXXXXXXXX" <XXXXXXXXXXXX> \nЗвонок длился: 0 сек. \nОчередь: "Ресепшен" \nВремя: 15:10:00 " | mail -s "Пропущен звонок от "XXXXXXXXXXX" <XXXXXXXXXXX>" -r pbx@XXXXXXX.ru XXXXXXXXX@XXXXXXXX.ru") in new stack
[2019-11-14 15:10:00] VERBOSE[103272][C-00002253] pbx.c: Executing [h@ext-queues:7] Macro("SIP/9999-000044e3", "hangupcall,") in new stack
И вроде бы работает, когда стратегия не звонят все, как только выставляешь звонят все, то любой звонок становится NO ANSWER, хотя:[522]
announce-frequency=15
announce-holdtime=yes
announce-position=yes
autofill=no
autopause=no
autopausebusy=no
autopausedelay=0
autopauseunavail=no
joinempty=yes
leavewhenempty=no
maxlen=0
memberdelay=0
min-announce-frequency=15
penaltymemberslimit=0
periodic-announce-frequency=0
queue-callswaiting=queue-callswaiting
queue-thankyou=queue-thankyou
queue-thereare=queue-thereare
queue-youarenext=queue-youarenext
reportholdtime=no
retry=1
ringinuse=yes
servicelevel=60
setinterfacevar=yes
strategy=random
timeout=60
timeoutpriority=app
timeoutrestart=yes
weight=0
wrapuptime=0
context=
member=Local/2020@from-queue/n,0,"Reception1",hint:2020@ext-local
member=Local/2021@from-queue/n,0,"Reception2",hint:2021@ext-local
Вопрос наверное в следующем, можно ли использовать другое выражение, чтобы принятый звонок оставался им для скрипта, а сброшенный или не дождавшийся отрабатывал.Thu, 14 Nov 2019 14:09 Call recording Call recording 1573729714.145906 "XXXXXXXXXXX" <XXXXXXXXXXX> XXXXXXXXXXX Queue 522 ANSWERED 00:48
Thu, 14 Nov 2019 14:08 Call recording Call recording 1573729714.145906 "XXXXXXXXXXX" <7XXXXXXXXXXX> XXXXXXXXXXX Queue 522 NO ANSWER 00:00