Thanks for your reply. I hope my detailed reply helps us resolve this.
I'm on the system now to be sure that things are what they're supposed to be.
The URL
is configured for the queue as "
http://sjmcall.********.com" , and we are entering only the 11 digit phone number to dial, when clicking "Dial" on Queuemetrics. There is only one outbound queue configured, with 3 inbound queues. The inbound queue that is for this campaign has the same URL as the outbound queue configured, and it works properly. The inbound queue successfully pops the following:
http://sjmcall.********.com/IncomingCall.aspx?CallID=1264702633.5616&CallerID=8005551212
However, as stated before, the outbound queue pops:
http://192.168.123.123:8180/queuemetrics/qm/-,18005551212,
which causes a 404 error in tomcat.
We're using version 1.9 of extensions_queuemetrics.conf. The following is the queuedial context from within this file as we've configured it:
[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:4})
exten => _XXX.,n,Set(QDIALER_NUMBER=${EXTEN:4})
exten => _XXX.,n,Set(QDIALER_AGENT=Agent/${CALLERID(num)})
exten => _XXX.,n,Set(QDIALER_CHANNEL=SIP/Qwest/${QDIALER_NUMBER})
exten => _XXX.,n,Set(QueueName=${QDIALER_QUEUE})
;exten => _XXX.,n,MixMonitor(Q-${QDIALER_QUEUE}-${UNIQUEID}.WAV,b,)
exten => _XXX.,n,Goto(qm-queuedial,s,1)
Here is the first section of the qm-queuedial context:
[qm-queuedial]
; We use a global variable to pass values back from the answer-detect macro.
; STATUS = U unanswered
; = A answered (plus CAUSECOMPLETE=C when callee hung up)
; The 'g' dial parameter must be used in order to track callee disconnecting.
; Note that we'll be using the 'h' hook in any case to do the logging when channels go down.
; We set the CDR(accountcode) for live monitoring by QM.
;
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})
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)})
As far as I can tell, there is supposed to be a ,-, in the queuelog. I searched the forum and found many other mentions of this exact syntax, but no mention of it not working properly.
Here is what I see in the CLI when placing the call:
== Manager 'queuemetrics' logged on from 127.0.0.1
-- Executing [7040@from-internal:1] Macro("Local/7040@from-internal-7abd;2", "exten-vm,7040,7040") in new stack
-- Executing [s@macro-exten-vm:1] Macro("Local/7040@from-internal-7abd;2", "user-callerid") in new stack
-- Executing [s@macro-user-callerid:1] Set("Local/7040@from-internal-7abd;2", "AMPUSER=") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("Local/7040@from-internal-7abd;2", "1?report") in new stack
-- Goto (macro-user-callerid,s,9)
-- Executing [s@macro-user-callerid:9] GotoIf("Local/7040@from-internal-7abd;2", "0?continue") in new stack
-- Executing [s@macro-user-callerid:10] Set("Local/7040@from-internal-7abd;2", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:11] GotoIf("Local/7040@from-internal-7abd;2", "1?continue") in new stack
-- Goto (macro-user-callerid,s,18)
-- Executing [s@macro-user-callerid:18] NoOp("Local/7040@from-internal-7abd;2", "Using CallerID "" <>") in new stack
-- Executing [s@macro-exten-vm:2] Set("Local/7040@from-internal-7abd;2", "RingGroupMethod=none") in new stack
-- Executing [s@macro-exten-vm:3] Set("Local/7040@from-internal-7abd;2", "VMBOX=7040") in new stack
-- Executing [s@macro-exten-vm:4] Set("Local/7040@from-internal-7abd;2", "EXTTOCALL=7040") in new stack
-- Executing [s@macro-exten-vm:5] Set("Local/7040@from-internal-7abd;2", "CFUEXT=") in new stack
-- Executing [s@macro-exten-vm:6] Set("Local/7040@from-internal-7abd;2", "CFBEXT=") in new stack
-- Executing [s@macro-exten-vm:7] Set("Local/7040@from-internal-7abd;2", "RT=15") in new stack
-- Executing [s@macro-exten-vm:8] Macro("Local/7040@from-internal-7abd;2", "record-enable,7040,IN") in new stack
-- Executing [s@macro-record-enable:1] GotoIf("Local/7040@from-internal-7abd;2", "1?check") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing [s@macro-record-enable:4] AGI("Local/7040@from-internal-7abd;2", "recordingcheck,20100128-131340,1264702420.5612") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck,20100128-131340,1264702420.5612: Inbound recording not enabled
-- <Local/7040@from-internal-7abd;2>AGI Script recordingcheck completed, returning 0
-- Executing [s@macro-record-enable:5] MacroExit("Local/7040@from-internal-7abd;2", "") in new stack
-- Executing [s@macro-exten-vm:9] Macro("Local/7040@from-internal-7abd;2", "dial,15,tr,7040") in new stack
-- Executing [s@macro-dial:1] GotoIf("Local/7040@from-internal-7abd;2", "1?dial") in new stack
-- Goto (macro-dial,s,3)
-- Executing [s@macro-dial:3] AGI("Local/7040@from-internal-7abd;2", "dialparties.agi") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
dialparties.agi: Starting New Dialparties.agi
dialparties.agi: Caller ID name is 'unknown' number is 'unknown'
> dialparties.agi: USE_CONFIRMATION: 'FALSE'
> dialparties.agi: RINGGROUP_INDEX: ''
dialparties.agi: Methodology of ring is 'none'
-- dialparties.agi: Added extension 7040 to extension map
-- dialparties.agi: Extension 7040 cf is disabled
-- dialparties.agi: Extension 7040 do not disturb is disabled
> dialparties.agi: extnum 7040 has: cw: 1; hascfb: 0 [] hascfu: 0 []
dialparties.agi: EXTENSION_STATE: 0 (NOT_INUSE)
-- dialparties.agi: DbDel CALLTRACE/7040 - Caller ID is not defined
-- dialparties.agi: Filtered ARG3: 7040
-- <Local/7040@from-internal-7abd;2>AGI Script dialparties.agi completed, returning 0
-- Executing [s@macro-dial:7] Dial("Local/7040@from-internal-7abd;2", "SIP/3005&SIP/2999,15,tr") in new stack
== Using SIP RTP CoS mark 5
-- Called 3005
== Using SIP RTP CoS mark 5
-- Called 2999
-- SIP/2999-640745b8 is ringing
-- SIP/3005-6425f7b8 is ringing
-- SIP/2999-640745b8 answered Local/7040@from-internal-7abd;2
> Channel Local/7040@from-internal-7abd;1 was answered.
-- Executing [28@queuemetrics:1] Answer("Local/7040@from-internal-7abd;1", "") in new stack
-- Executing [28@queuemetrics:2] NoOp("Local/7040@from-internal-7abd;1", " "QM: Agent Custom Dial. Dialing 18005551212 on queue 5105 made by 'Agent/7040'" ") in new stack
-- Executing [28@queuemetrics:3] Set("Local/7040@from-internal-7abd;1", "QDIALER_QUEUE=5105") in new stack
-- Executing [28@queuemetrics:4] Set("Local/7040@from-internal-7abd;1", "QDIALER_NUMBER=18005551212") in new stack
-- Executing [28@queuemetrics:5] Set("Local/7040@from-internal-7abd;1", "QDIALER_AGENT=Agent/7040") in new stack
-- Executing [28@queuemetrics:6] Set("Local/7040@from-internal-7abd;1", "QDIALER_CHANNEL=SIP/Qwest/18005551212") in new stack
-- Executing [28@queuemetrics:7] Set("Local/7040@from-internal-7abd;1", "QueueName=5105") in new stack
-- Executing [28@queuemetrics:8] Goto("Local/7040@from-internal-7abd;1", "qm-queuedial,s,1") in new stack
-- Goto (qm-queuedial,s,1)
-- Executing [s@qm-queuedial:1] NoOp("Local/7040@from-internal-7abd;1", ""Outbound call -> A:Agent/7040 N:18005551212 Q:5105 Ch:SIP/Qwest/18005551212"") in new stack
-- Executing [s@qm-queuedial:2] Set("Local/7040@from-internal-7abd;1", "CDR(accountcode)=QDIALAGI") in new stack
-- Executing [s@qm-queuedial:3] Set("Local/7040@from-internal-7abd;1", "ST=1264702423") in new stack
-- Executing [s@qm-queuedial:4] Set("Local/7040@from-internal-7abd;1", "GM=QDV-Agent/7040") in new stack
-- Executing [s@qm-queuedial:5] Set("Local/7040@from-internal-7abd;1", "GLOBAL(QDV-Agent/7040)=U") in new stack
== Setting global variable 'QDV-Agent/7040' to 'U'
-- Executing [s@qm-queuedial:6] Set("Local/7040@from-internal-7abd;1", "GLOBAL(QDV-Agent/7040ans)=0") in new stack
== Setting global variable 'QDV-Agent/7040ans' to '0'
-- Executing [s@qm-queuedial:7] Macro("Local/7040@from-internal-7abd;1", "queuelog,1264702423,1264702420.5611,5105,Agent/7040,CALLOUTBOUND,-,18005551212") in new stack
-- Executing [s@macro-queuelog:1] QueueLog("Local/7040@from-internal-7abd;1", "5105,1264702420.5611,Agent/7040,CALLOUTBOUND,-,18005551212,") in new stack
-- Executing [s@qm-queuedial:8] Dial("Local/7040@from-internal-7abd;1", "SIP/Qwest/18005551212,30,gM(queuedial-answer^1264702420.5611^QDV-Agent/7040^5105^Agent/7040^1264702423)") in new stack
== Using SIP RTP CoS mark 5
-- Called Qwest/18005551212
-- Local/7040@from-internal-7abd;1 requested special control 20, passing it to SIP/Qwest-64055008
== Manager 'queuemetrics' logged off from 127.0.0.1
-- SIP/Qwest-64055008 is making progress passing it to Local/7040@from-internal-7abd;1
-- Local/7040@from-internal-7abd;1 requested special control 20, passing it to SIP/Qwest-64055008
-- Local/7040@from-internal-7abd;1 requested special control 20, passing it to SIP/Qwest-64055008
-- SIP/Qwest-64055008 is ringing
-- SIP/Qwest-64055008 is making progress passing it to Local/7040@from-internal-7abd;1
-- Local/7040@from-internal-7abd;1 requested special control 20, passing it to SIP/Qwest-64055008
-- Local/7040@from-internal-7abd;1 requested special control 20, passing it to SIP/Qwest-64055008
-- Local/7040@from-internal-7abd;1 requested special control 20, passing it to SIP/Qwest-64055008
-- Local/7040@from-internal-7abd;1 requested special control 20, passing it to SIP/Qwest-64055008
-- SIP/Qwest-64055008 answered Local/7040@from-internal-7abd;1
-- Executing [s@macro-queuedial-answer:1] NoOp("SIP/Qwest-64055008", ""Macro: queuedial-answer UID:1264702420.5611 GR:QDV-Agent/7040 Q:5105 A:Agent/7040 E:1264702423"") in new stack
-- Executing [s@macro-queuedial-answer:2] Set("SIP/Qwest-64055008", "NOW=1264702434") in new stack
-- Executing [s@macro-queuedial-answer:3] Set("SIP/Qwest-64055008", "WD=11") in new stack
-- Executing [s@macro-queuedial-answer:4] Macro("SIP/Qwest-64055008", "queuelog,1264702434,1264702420.5611,5105,Agent/7040,CONNECT,11") in new stack
-- Executing [s@macro-queuelog:1] QueueLog("SIP/Qwest-64055008", "5105,1264702420.5611,Agent/7040,CONNECT,11,,") in new stack
-- Executing [s@macro-queuedial-answer:5] Set("SIP/Qwest-64055008", "GLOBAL(QDV-Agent/7040)=A") in new stack
== Setting global variable 'QDV-Agent/7040' to 'A'
-- Executing [s@macro-queuedial-answer:6] Set("SIP/Qwest-64055008", "GLOBAL(QDV-Agent/7040ans)=1264702434") in new stack
== Setting global variable 'QDV-Agent/7040ans' to '1264702434'
-- Executing [s@macro-queuedial-answer:7] NoOp("SIP/Qwest-64055008", ""Macro queuedial-answer terminating" ") in new stack
-- Executing [s@qm-queuedial:9] Set("Local/7040@from-internal-7abd;1", "CAUSECOMPLETE=C") in new stack
-- Auto fallthrough, channel 'Local/7040@from-internal-7abd;1' status is 'ANSWER'
-- Executing [h@qm-queuedial:1] NoOp("Local/7040@from-internal-7abd;1", " "Call exiting: status A answered at: 1264702434 DS: ANSWER" ") in new stack
-- Executing [h@qm-queuedial:2] Goto("Local/7040@from-internal-7abd;1", "case-A") in new stack
-- Goto (qm-queuedial,h,7)
-- Executing [h@qm-queuedial:7] Set("Local/7040@from-internal-7abd;1", "COMPLETE=COMPLETECALLER") in new stack
-- Executing [h@qm-queuedial:8] Set("Local/7040@from-internal-7abd;1", "WT=11") in new stack
-- Executing [h@qm-queuedial:9] Set("Local/7040@from-internal-7abd;1", "CT=2") in new stack
-- Executing [h@qm-queuedial:10] Macro("Local/7040@from-internal-7abd;1", "queuelog,1264702436,1264702420.5611,5105,Agent/7040,COMPLETECALLER,11,2") in new stack
-- Executing [s@macro-queuelog:1] QueueLog("Local/7040@from-internal-7abd;1", "5105,1264702420.5611,Agent/7040,COMPLETECALLER,11,2,") in new stack
-- Executing [h@qm-queuedial:11] Hangup("Local/7040@from-internal-7abd;1", "") in new stack
== Spawn extension (qm-queuedial, h, 11) exited non-zero on 'Local/7040@from-internal-7abd;1'
-- Executing [h@macro-dial:1] Macro("Local/7040@from-internal-7abd;2", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("Local/7040@from-internal-7abd;2", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,4)
-- Executing [s@macro-hangupcall:4] GotoIf("Local/7040@from-internal-7abd;2", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall:7] GotoIf("Local/7040@from-internal-7abd;2", "1?theend") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] Hangup("Local/7040@from-internal-7abd;2", "") in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'Local/7040@from-internal-7abd;2' in macro 'hangupcall'
== Spawn extension (macro-dial, h, 1) exited non-zero on 'Local/7040@from-internal-7abd;2'
== Spawn extension (macro-dial, s, 7) exited non-zero on 'Local/7040@from-internal-7abd;2' in macro 'dial'
== Spawn extension (macro-exten-vm, s, 9) exited non-zero on 'Local/7040@from-internal-7abd;2' in macro 'exten-vm'
== Spawn extension (from-internal, 7040, 1) exited non-zero on 'Local/7040@from-internal-7abd;2'
Of course, I did a global search/replace on the phone number, but nothing else is touched.
Here is the entries in the queue_log from both an inbound and outbound call:
1264702423|1264702420.5611|5105|Agent/7040|CALLOUTBOUND|-,18005551212,
1264702434|1264702420.5611|5105|Agent/7040|CONNECT|11,,
1264702436|1264702420.5611|5105|Agent/7040|COMPLETECALLER|11,2,
1264702633|1264702633.5616|5001|NONE|ENTERQUEUE||8005551212
1264702640|1264702633.5616|5001|Local/7040@from-internal|RINGNOANSWER|7000
1264702656|1264702633.5616|5001|Local/7000@from-internal/n|RINGNOANSWER|0
1264702657|1264702633.5616|5001|Local/7040@from-internal|CONNECT|24|1264702656.5623|1
1264702678|1264702633.5616|5001|Local/7040@from-internal|COMPLETECALLER|24|21|1
I tried to change the queuelog line to use pipe separators, but Asterisk 1.6 doesn't like this, and it never made it to the queue_log file. I also tried to remove the ,- from the call, and that changed the queue_log to end as follows:
CALLOUTBOUND|18005551212,,
and QueueMetrics popped a URL with "/queuemetrics/qm/18005551212,,", which also gives a 404 error, and is not the default URL configured for the queue.
We are using version 1.5.3, with Asterisk 1.6.1.6, compiled from source on Ubuntu 9.04, with FreePBX 2.5.2.2.
Is there anything else that I can do to assist in resolving this issue. It needs to be resolved for a February go-live date.