Author Topic: 1.5.2 - Tracking IVR Activity  (Read 11338 times)

gavinlew

  • Newbie
  • *
  • Posts: 26
  • Karma: 0
    • View Profile
    • Email
1.5.2 - Tracking IVR Activity
« on: April 29, 2009, 21:17:26 »
Hi,

Ive been eager and updated my QM install to 1.5.2, how can I enable IVR activity tracking? Currently all 72 calls that had IVR activity today have been set to Untracked?

Many Thanks,

Gavin

QueueMetrics

  • Loway
  • Hero Member
  • *
  • Posts: 2999
  • Karma: 39
    • View Profile
    • QueueMetrics
Re: 1.5.2 - Tracking IVR Activity
« Reply #1 on: April 30, 2009, 09:34:12 »

gavinlew

  • Newbie
  • *
  • Posts: 26
  • Karma: 0
    • View Profile
    • Email
Re: 1.5.2 - Tracking IVR Activity
« Reply #2 on: May 06, 2009, 11:43:19 »
Hi,

I've added the following code to my IVR dialplan (im testing with extensions_additional.conf - which I know is not correct under FreePBX as changes will be lost on a reload via the web interface)

[ivr-2]
include => ivr-2-custom
exten => h,1,Hangup
exten => s,1,Set(MSG=custom/supportqbreakout2)
...
exten => s,n,QueueLog(200,${UNIQUEID},NONE,INFO,IVR|${MYIVR})

This appears to log the following to /var/log/asterisk/queue_log

1241602518|1241602298.59276|200|NONE|EXITWITHKEY|2|1

Which shows, that I exited queue 200 via an IVR and pressed option 2 ?

However, Queuemetrics doesn't analyze this when I perform a quick report and the exit with IVR options still show untracked.

Have I missed something simple here?

Many Thanks,

QueueMetrics

  • Loway
  • Hero Member
  • *
  • Posts: 2999
  • Karma: 39
    • View Profile
    • QueueMetrics
Re: 1.5.2 - Tracking IVR Activity
« Reply #3 on: May 06, 2009, 21:44:44 »
The line should appear BEFORE the call is entered!

gavinlew

  • Newbie
  • *
  • Posts: 26
  • Karma: 0
    • View Profile
    • Email
Re: 1.5.2 - Tracking IVR Activity
« Reply #4 on: May 07, 2009, 10:01:34 »
Hi,

So the code would look like ?;

[ivr-2]
include => ivr-2-custom
exten => h,1,Hangup
exten => s,n,QueueLog(200,${UNIQUEID},NONE,INFO,IVR|${MYIVR})
exten => s,1,Set(MSG=custom/supportqbreakout2)
...

QueueMetrics

  • Loway
  • Hero Member
  • *
  • Posts: 2999
  • Karma: 39
    • View Profile
    • QueueMetrics
Re: 1.5.2 - Tracking IVR Activity
« Reply #5 on: May 08, 2009, 09:37:41 »
Basically yes; I think that you should use something like:

Code: [Select]
[ivr-2]
exten => h,1,Hangup
exten => s,1,QueueLog(200,${UNIQUEID},NONE,INFO,IVR|${MYIVR})
exten => s,2,Set(MSG=custom/supportqbreakout2)
exten => s,3,Queue(200)
...

make sure that the dialplan does what is expected if uoyu mix numbered and "n" dialplan steps.... :)

gavinlew

  • Newbie
  • *
  • Posts: 26
  • Karma: 0
    • View Profile
    • Email
Re: 1.5.2 - Tracking IVR Activity
« Reply #6 on: May 08, 2009, 10:28:36 »
Hi,

I've moved the line as requested, and the following gets written to /var/log/asterisk/queue_log

1241770900|1241770883.5777|200|NONE|EXITWITHKEY|2|3

However queuemetrics still shows all IVR activity as untracked :(

I am thinking is this because ${UNIQUEID} is not being tracked properly , as the log is showing this as NONE?

[ivr-2]
include => ivr-2-custom
exten => h,1,Hangup
exten => s,1,QueueLog(200,${UNIQUEID},NONE,INFO,IVR|${MYIVR})
exten => s,2,Set(MSG=custom/supportqbreakout2)
exten => s,n,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=default)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Set(TIMEOUT(digit)=3)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n,Set(__IVR_RETVM=)
exten => s,n,ExecIf($["${MSG}" != ""],Background,${MSG})
exten => s,n,WaitExten(,)
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => 1,1,dbDel(${BLKVM_OVERRIDE})
exten => 1,n,Set(__NODEST=)
exten => 1,n,Goto(timeconditions,3,1)
exten => 2,1,dbDel(${BLKVM_OVERRIDE})
exten => 2,n,Set(__NODEST=)
exten => 2,n,Goto(ext-miscdests,4,1)
exten => 3,1,dbDel(${BLKVM_OVERRIDE})
exten => 3,n,Set(__NODEST=)
exten => 3,n,Goto(ext-miscdests,3,1)
exten => 4,1,dbDel(${BLKVM_OVERRIDE})
exten => 4,n,Set(__NODEST=)
exten => 4,n,Goto(ext-group,600,1)
exten => i,1,Playback(invalid)
exten => i,n,Goto(loop,1)
exten => t,1,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 2]?hang,1)
exten => loop,n,Goto(ivr-2,s,begin)
exten => return,1,Set(MSG=custom/supportqbreakout2)
exten => return,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}})
exten => return,n,Goto(ivr-2,s,begin)
exten => fax,1,Goto(ext-fax,in_fax,1)

; end of [ivr-2]

QueueMetrics

  • Loway
  • Hero Member
  • *
  • Posts: 2999
  • Karma: 39
    • View Profile
    • QueueMetrics
Re: 1.5.2 - Tracking IVR Activity
« Reply #7 on: May 10, 2009, 19:51:42 »
Where is the Queue() command? :-)
You should see that it prints INFO IVR, not EXITWITHKEY.
By chance are you on Asterisk 1.2?

gavinlew

  • Newbie
  • *
  • Posts: 26
  • Karma: 0
    • View Profile
    • Email
Re: 1.5.2 - Tracking IVR Activity
« Reply #8 on: May 13, 2009, 09:55:25 »
Hi,

I'm using Asterisk 1.4 under Centos 5

Im now confused with regards to how this should work :( , my queue is defined as "200" in extensions_additional.conf , with an IVR breakout menu specified - I would like to track the keypresses of how my callers leave the queue , for example if the caller presses 2 - then they will get transferred to our sales team.

I have tried to add the QueueLog string into the "200" context as well which does not work.

I have included the context code below

[ext-queues]
include => ext-queues-custom
exten => 200,1,Macro(user-callerid,)
exten => 200,n,Answer
exten => 200,n,ExecIf($["${QUEUEWAIT}" = ""],Set,__QUEUEWAIT=${EPOCH})
exten => 200,n,Set(__BLKVM_OVERRIDE=BLKVM/${EXTEN}/${CHANNEL})
exten => 200,n,Set(__BLKVM_BASE=${EXTEN})
exten => 200,n,Set(DB(${BLKVM_OVERRIDE})=TRUE)
exten => 200,n,ExecIf($["${REGEX("(M[(]auto-blkvm[)])" ${DIAL_OPTIONS})}" != "1$
exten => 200,n,Set(__NODEST=${EXTEN})
exten => 200,n,GotoIf($["foo${RGPREFIX}" = "foo"]?REPCID)
exten => 200,n,GotoIf($["${RGPREFIX}" != "${CALLERID(name):0:${LEN(${RGPREFIX})$
exten => 200,n,Noop(Current RGPREFIX is ${RGPREFIX}....stripping from Caller ID)
exten => 200,n,Set(CALLERID(name)=${CALLERID(name):${LEN(${RGPREFIX})}})
exten => 200,n,Set(_RGPREFIX=)
exten => 200,n(REPCID),Noop(CALLERID(name) is ${CALLERID(name)})
exten => 200,n,Set(_RGPREFIX=SUP)
exten => 200,n,Set(CALLERID(name)=${RGPREFIX}${CALLERID(name)})
exten => 200,n,Set(MONITOR_FILENAME=/var/spool/asterisk/monitor/q${EXTEN}-${STR$
exten => 200,n,Playback(custom/youareinsupportq)
exten => 200,n,Set(__CWIGNORE=TRUE)
exten => 200,n,Queue(200,t,,)
exten => 200,n,dbDel(${BLKVM_OVERRIDE})
exten => 200,n,Set(__NODEST=)
exten => 200,n,Set(__CWIGNORE=)
exten => 200,n,QueueLog(200,${UNIQUEID},NONE,INFO,IVR|${MYIVR}}
exten => 200,n,Goto(ivr-3,s,1)
exten => 200*,1,Macro(agent-add,200,)
exten => 200**,1,Macro(agent-del,200,200)

QueueMetrics

  • Loway
  • Hero Member
  • *
  • Posts: 2999
  • Karma: 39
    • View Profile
    • QueueMetrics
Re: 1.5.2 - Tracking IVR Activity
« Reply #9 on: May 13, 2009, 12:18:21 »
OK now I understand -  it's not the IVR selection before queueing the call, but after ;D that's why you get EXITWITHKEY, and that's 100% correct.

If that's so, you don't need to add the INFO-IVR stuff. You will simply find the exit codes on the Lost Calls page, under IVR choices.

gavinlew

  • Newbie
  • *
  • Posts: 26
  • Karma: 0
    • View Profile
    • Email
Re: 1.5.2 - Tracking IVR Activity
« Reply #10 on: May 13, 2009, 14:25:47 »
Hi,

Yes thats correct, now understood and I can see those keypresses logged.

QueueMetrics

  • Loway
  • Hero Member
  • *
  • Posts: 2999
  • Karma: 39
    • View Profile
    • QueueMetrics
Re: 1.5.2 - Tracking IVR Activity
« Reply #11 on: May 13, 2009, 21:47:00 »
 :D