Страница 1 из 1

CDR IVR and Queues

Добавлено: 15 июн 2020, 11:06
o.mykhailov
Приветствую всех присутствующих!, не могу сообразить правильную обработку CDR.
Суть диалплана:
Есть входящий звонок, потом переходит на IVR Menu, затем в очередь при выборе кнопки.

При создании отчета не видно, сколько абонент находился в IVR, а потом сколько времени ждал в очереди, ибо пишется одна запись CDR.
Как разделить правильно CDR, что бы понимать где время абонента в IVR и Queues
Мой dialplan:

exten => 0487059091,1,NoOp(Incoming from /${CALLERID(all)}/ to ${EXTEN} From ${SIP_HEADER(From)})
same => n,MSet(__nomerA=${CALLERID(num)},CALLERID(name)=${CALLERID(num)}-uid${uid},__RECDIR=${CLIENT1},__DIRECT=1,__uid=${UNIQUEID})
same => n,MSet(REC=${uid}_${nomerA}_${EXTEN})
same => n,Set(Data=${STRFTIME(,Europe/Kiev,%d%m%y)})
same => n,MSet(nomerB=${CALLERID(num)})
same => n,MSet(nomerin=${EXTEN})
same => n,Goto(IVR-MENU2,IVR,1)
same => n,Hangup()


[IVR-MENU2]
exten => IVR,1,Background(ooe-sound/ooe-ivr/hello-ooe&ooe-sound/ooe-ivr/info_0)
exten => IVR,2,Background(ooe-sound/ooe-ivr/menu-all)
exten => IVR,3,WaitExten(10)
exten => 1,1,Goto(ivr-n-1,s,1)
exten => 2,1,Goto(ivr-n-2,s,1)
exten => 3,1,Goto(ivr-n-3,s,1)
exten => 4,1,Goto(ivr-n-4,s,1)
exten => 9,1,MSet(QUEUE_PRIO=0)
same => n,Set(CALLERID(all)="${UNIQUEID}|${QUEUE_PRIO}|${nomerin}|${CHANNEL}" <${CALLERID(num)}>)
same => n,Goto(OPERATOR1,operator,1)
exten => i,1,Playback(ooe-sound/ooe-ivr/error_n)
same => n,Goto(IVR-MENU,IVR,2)
exten => t,1,Playback(ooe-sound/ooe-ivr/goodbay)


[OPERATOR1]
exten => operator,1,Playback(ooe-sound/ooe-ivr/info_records)
same => n,MixMonitor(${CLIENT1}${Data}/${REC}.wav)
same => n,GotoIf($[$["${nomerB}" = "0507007000"]]?yes:no)
same => n(yes),Noop(eto zvonit Admin)
same => n,Answer
same => n,Queue(test)
same => n,Hangup()
same => n(no),Noop(eto zvonit all)
same => n,Answer
same => n(back),Queue(managers)
same => n,Hangup

Re: CDR IVR and Queues

Добавлено: 15 июн 2020, 13:33
ded
Для отчётов по очередям CDR не годится, надо использовать CEL.
На уровне баз данных - это разные таблицы в базе
mysql -D asteriskcdrdb

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

mysql> show tables;
+-------------------------+
| Tables_in_asteriskcdrdb |
+-------------------------+
| cdr                     |
| cel                     |
| opinion_data            |
| opinion_queue           |
| opinion_stats           |
+-------------------------+
5 rows in set (0.00 sec)

Re: CDR IVR and Queues

Добавлено: 03 июл 2020, 11:51
o.mykhailov
Спасибо помогло )