QueueMetrics forum
QueueMetrics => Outbound and QueueMetrics => Topic started by: hwjustin on November 19, 2009, 16:04:32
-
I have successfully setup IVR tracking for inbound calls:
QueueLog(incoming-q,${UNIQUEID},NONE,INFO,IVR|${IVR})
And I'm using the default qm-queuedial context for outbound calls. How can I insert an IVR code 'outgoing' for all outbound calls?
Here's what I tried (it shows Untracked in the IVR detail in QM):
exten => s,n,Macro(queuelog,${ST},${UNIQUEID},${QDIALER_QUEUE},${QDIALER_AGENT},CALLOUTBOUND,-,${QDIALER_NUMBER},IVR|${IVR})
-- Executing [s@qm-queuedial:7] Macro("SIP/NOC1-f6819b48", "queuelog|1258642605|1258642605.151|outgoing-q|413|CALLOUTBOUND|-|4077828790|IVR|Outgoing") in new stack
-- Executing [s@macro-queuelog:1] QueueLog("SIP/NOC1-f6819b48", "outgoing-q|1258642605.151|413|CALLOUTBOUND|-|4077828790|IVR") in new stack
It cuts off the actual IVR selection in the QueueLog command. How shall I restructure this?
-
One thing first: how/why would you need to track the IVR code for an outgoing call? (just acuriosity)
-
Because all of my incoming calls have an IVR tag. If the outgoing calls do not, they are confusingly marked in QM as Untracked.
-
But they are on different queues - so you could simply run separate reports... :)
Anyway, you could add the IVR line in the qm-queuedial context, just before the line with the Goto command.
-
There is no Goto in start:
exten => s,1,NoOp,Outbound call -> A:${QDIALER_AGENT} N:${QDIALER_NUMBER} Q:${QDIALER_QUEUE} Ch:${QDIALER_CHANNEL}
exten => s,n,Set(CDR(accountcode)=QDIALAGI)
exten => s,n,Set(ST=${EPOCH})
exten => s,n,Set(GM=QDV-${QDIALER_AGENT})
exten => s,n,Set(GLOBAL(${GM})=U)
exten => s,n,Set(GLOBAL(${GM}ans)=0)
exten => s,n,Macro(queuelog,${ST},${UNIQUEID},${QDIALER_QUEUE},${QDIALER_AGENT},CALLOUTBOUND,-,${QDIALER_NUMBER},IVR|${IVR})
exten => s,n,Dial(${QDIALER_CHANNEL},30,gM(queuedial-answer^${UNIQUEID}^${GM}^${QDIALER_QUEUE}^${QDIALER_AGENT}^${ST}))
exten => s,n,Set(CAUSECOMPLETE=${IF($["${DIALSTATUS}" = "ANSWER"]?C)})
-
Sorry I meant the queuedial context:
[queuedial]
; this piece of dialplan is just a calling hook into the [qm-queuedial] context that actually does the
; outbound dialing - replace as needed - just fill in the same variables.
exten => _XXX.,1,Set(QDIALER_QUEUE=q-${EXTEN:0:3})
exten => _XXX.,n,Set(QDIALER_NUMBER=${EXTEN:3})
exten => _XXX.,n,Set(QDIALER_AGENT=Agent/${CALLERID(num)})
exten => _XXX.,n,Set(QDIALER_CHANNEL=SIP/${QDIALER_NUMBER})
exten => _XXX.,n,Set(QueueName=${QDIALER_QUEUE})
exten => _XXX.,n,MixMonitor(Q-${QDIALER_QUEUE}-${UNIQUEID}.WAV,b,)
exten => _XXX.,n,QueueLog(${QDIALER_QUEUE},${UNIQUEID},NONE,INFO,IVR|123)
exten => _XXX.,n,Goto(qm-queuedial,s,1)
The example above marks all outbound calls with an IVR code of 123.
-
Perfect!! Thanks for the assistance! :)
-
You are welcome! ;D
-
Hi
where did u put this string to track incoming IVR?
"QueueLog(incoming-q,${UNIQUEID},NONE,INFO,IVR|${IVR})"
thanks
bye
M.
-
You should add it to the dialplan just after the call hits you (and it is answered, before being queued).