4
« on: August 24, 2011, 01:28:37 »
When making an outbound call, the conversation is recorded as UNANSWERED in QueueMetrics even when the callee answers the call. Looking in the asterisk logs.
===========================================
-- Executing [s@macro-queuedial-answer:1] NoOp("SIP/hqcm02-0000001e", ""Macro: queuedial-answer UID:1314121587.57 GR:QDV- LOCAL/2059@from-queuen Q:77777 A:LOCAL/2059@from-queuen E:1314121589"") in new stack
-- Executing [s@macro-queuedial-answer:2] Set("SIP/hqcm02-0000001e", "NOW=1314121604") in new stack
-- Executing [s@macro-queuedial-answer:3] Set("SIP/hqcm02-0000001e", "WD=15") in new stack
-- Executing [s@macro-queuedial-answer:4] Macro("SIP/hqcm02-0000001e", "queuelog,1314121604,1314121587.57,77777,LOCAL/205 9@from-queuen,CONNECT,15") in new stack
-- Executing [s@macro-queuelog:1] QueueLog("SIP/hqcm02-0000001e", "77777,1314121587.57,LOCAL/2059@from-queuen,CONNECT,15| |") in new stack
-- Executing [s@macro-queuedial-answer:5] Set("SIP/hqcm02-0000001e", "GLOBAL(QDV-LOCAL/2059@from-queuen)=A") in new stack
== Setting global variable 'QDV-LOCAL/2059@from-queuen' to 'A'
-- Executing [s@macro-queuedial-answer:6] Set("SIP/hqcm02-0000001e", "GLOBAL(QDV-LOCAL/2059@from-queuenans)=1314121604") in new stack
== Setting global variable 'QDV-LOCAL/2059@from-queuenans' to '1314121604'
-- Executing [s@macro-queuedial-answer:7] NoOp("SIP/hqcm02-0000001e", ""Macro queuedial-answer terminating" ") in new stack
===================================
The call is answered successfully as shown above, but when either the caller/callee hangsup. The asterisk logs are shown below.
====================================
-- Executing [s@qm-queuedial:9] Set("Local/2059@from-internal-ed1a;1", "CAUSECOMPLETE=C") in new stack
-- Auto fallthrough, channel 'Local/2059@from-internal-ed1a;1' status is 'ANSWER'
-- Executing [h@qm-queuedial:1] NoOp("Local/2059@from-internal-ed1a;1", " "Call exiting: status U answered at: 0 DS: ANSWER" ") in new stack
-- Executing [h@qm-queuedial:2] Goto("Local/2059@from-internal-ed1a;1", "case-U") in new stack
-- Goto (qm-queuedial,h,4)
-- Executing [h@qm-queuedial:4] Set("Local/2059@from-internal-ed1a;1", "WT=55") in new stack
-- Executing [h@qm-queuedial:5] Macro("Local/2059@from-internal-ed1a;1", "queuelog,1314121644,1314121587.57,77777,LOCAL/2059@from-queue\n,ABANDON,1,1,55") in new stack
-- Executing [s@macro-queuelog:1] QueueLog("Local/2059@from-internal-ed1a;1", "77777,1314121587.57,LOCAL/2059@from-queue\n,ABANDON,1|1|55") in new stack
-- Executing [h@qm-queuedial:6] Hangup("Local/2059@from-internal-ed1a;1", "") in new stack
== Spawn extension (qm-queuedial, h, 6) exited non-zero on 'Local/2059@from-internal-ed1a;1'
-- Executing [h@macro-dial-one:1] Macro("Local/2059@from-internal-ed1a;2", "hangupcall,") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("Local/2059@from-internal-ed1a;2", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] Hangup("Local/2059@from-internal-ed1a;2", "") in new stack
=========================================
The ABANDON state is set in queuelog even when the call was answered.
Looking closely on the 1st set of asterisk logs, we noticed that 'A' flag was not set correctly due to a missing '\':
Set("SIP/hqcm02-0000001e", "GLOBAL(QDV-LOCAL/2059@from-queuen)=A")
instead of
Set("SIP/hqcm02-0000001e", "GLOBAL(QDV-LOCAL/2059@from-queue\n)=A")
We're not sure why the '\' is missing when it is passed as ARG2 to macro-queuedial-answer.
Any suggestions to fix this is greatly appreciated.