exten => s,1,Answer
exten => s,n,NoOp(${CALLERID(all)})
; Проверка есть ли оператор для обработки очереди
exten => s,n,MYSQL(Connect connid HOSTNAME USERNAME PASSWORD asterisk)
exten => s,n,MYSQL(Query resultid ${connid} SELECT count(uniqueid) as cnt from queue_member)
exten => s,n,MYSQL(Fetch foundRow ${resultid} cnt)
exten => s,n,MYSQL(Clear ${resultid})
exten => s,n,MYSQL(Disconnect ${connid})
exten => s,n,GotoIf($["${cnt}"!="0"]?success:nottime)
exten => s,n(nottime),GoTo(awt_menu,main,1)
exten => s,n(success),Playback(lode_menu_start_2_new)
; Если не ставил этот wait, то в 100 случаев если человек кладет трубку во время плейбека, то он все равно попадает в очередь
exten => s,n,Wait(2)
; Приоритет для звонков с мобилы
exten => s,n,Set(QueuePrio=)
exten => s,n,Set(SubTel=${CALLERID(number):0:4})
exten => s,n,Set(SubTel2=${CALLERID(number):0:3})
exten => s,n,GotoIf($[$["${SubTel}"=="8029"] | $["${SubTel}"=="8033"] | $["${SubTel}"=="8044"] | $["${SubTel}"=="8025"] | ["${SubTel2}"=="829"] | $["${SubTel2}"
=="833"] | $["${SubTel2}"=="844"] | $["${SubTel2}"=="825"]]?queuehigh:checknext)
exten => s,n(queuehigh),Set(QueuePrio=1)
exten => s,n(checknext),NoOp(${QueuePrio})
; Добавление в очередь
exten => s,n,Queue(main-queue-rt,t,,,,,,,,${QueuePrio})
exten => s,n,Hangup
exten => 3,1,Hangup
exten => i,1,Playback(beep)
exten => i,n,Hangup
exten => h,1,Wait(1)
exten => h,n,System(/usr/bin/lame -V0 /var/spool/asterisk/monitor/${UNIQUEID}.wav /var/www/localhost/htdocs/monitor/${UNIQUEID}.mp3)
exten => h,n,MYSQL(Connect connid HOSTNAME USERNAME PASSWORD asterisk)
exten => h,n,MYSQL(Query resultid ${connid} INSERT INTO queue_log (time, callid, event, data2) VALUES (DATE_FORMAT(NOW(),"%Y-%m-%d %H:%i:%s.%f"),’${UNIQUEID}’,'HANGUP’,'${CALLERID(all)}’))
exten => h,n,MYSQL(Disconnect ${connid})
exten => h,n,NoOp(ActionHangup Execute)
exten => s,n,NoOp(${CALLERID(all)})
; Проверка есть ли оператор для обработки очереди
exten => s,n,MYSQL(Connect connid HOSTNAME USERNAME PASSWORD asterisk)
exten => s,n,MYSQL(Query resultid ${connid} SELECT count(uniqueid) as cnt from queue_member)
exten => s,n,MYSQL(Fetch foundRow ${resultid} cnt)
exten => s,n,MYSQL(Clear ${resultid})
exten => s,n,MYSQL(Disconnect ${connid})
exten => s,n,GotoIf($["${cnt}"!="0"]?success:nottime)
exten => s,n(nottime),GoTo(awt_menu,main,1)
exten => s,n(success),Playback(lode_menu_start_2_new)
; Если не ставил этот wait, то в 100 случаев если человек кладет трубку во время плейбека, то он все равно попадает в очередь
exten => s,n,Wait(2)
; Приоритет для звонков с мобилы
exten => s,n,Set(QueuePrio=)
exten => s,n,Set(SubTel=${CALLERID(number):0:4})
exten => s,n,Set(SubTel2=${CALLERID(number):0:3})
exten => s,n,GotoIf($[$["${SubTel}"=="8029"] | $["${SubTel}"=="8033"] | $["${SubTel}"=="8044"] | $["${SubTel}"=="8025"] | ["${SubTel2}"=="829"] | $["${SubTel2}"
=="833"] | $["${SubTel2}"=="844"] | $["${SubTel2}"=="825"]]?queuehigh:checknext)
exten => s,n(queuehigh),Set(QueuePrio=1)
exten => s,n(checknext),NoOp(${QueuePrio})
; Добавление в очередь
exten => s,n,Queue(main-queue-rt,t,,,,,,,,${QueuePrio})
exten => s,n,Hangup
exten => 3,1,Hangup
exten => i,1,Playback(beep)
exten => i,n,Hangup
exten => h,1,Wait(1)
exten => h,n,System(/usr/bin/lame -V0 /var/spool/asterisk/monitor/${UNIQUEID}.wav /var/www/localhost/htdocs/monitor/${UNIQUEID}.mp3)
exten => h,n,MYSQL(Connect connid HOSTNAME USERNAME PASSWORD asterisk)
exten => h,n,MYSQL(Query resultid ${connid} INSERT INTO queue_log (time, callid, event, data2) VALUES (DATE_FORMAT(NOW(),"%Y-%m-%d %H:%i:%s.%f"),’${UNIQUEID}’,'HANGUP’,'${CALLERID(all)}’))
exten => h,n,MYSQL(Disconnect ${connid})
exten => h,n,NoOp(ActionHangup Execute)