Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - sbs

Pages: [1]
1
Running QueueMetrics / Adjust agent's live page reload time?
« on: March 03, 2010, 19:03:34 »
Hello, we have a successful installation of an inbound and outbound in a queue within QueueMetrics. However, sometimes it seems we have to wait "too long" to get the popup from the queue.

While at the "/queuemetrics/qm/live_agent.jsp" page, we see the message at the bottom: "In order to mantain session information, this page will reload automatically". I think we need to decrease this timeout to cause the page to reload sooner.

Upon doing some research, I found a variable "REALTIME_reload_time", but my greps have not revealed a way to change this short of changing the code. Would someone please share their suggestions on how to change this timeout? Thank you!

2
Outbound and QueueMetrics / Re: Popping a URL with Outgoing Call
« on: February 02, 2010, 00:11:11 »
Thank you for the suggestion. I think I tried this before, but I implemented the change as per your request. It produces the following in the Asterisk CLI:

Code: [Select]
Executing [s@macro-queuelog:1] QueueLog("Local/7040@from-internal-eb61;1", "5105,1265064413.5779,Agent/7040,CALLOUTBOUND,,8005551212,") in new stack
this is produced in the queue_log:

Code: [Select]
1265064416|1265064413.5779|5105|Agent/7040|CALLOUTBOUND|,8005551212,
1265064426|1265064413.5779|5105|Agent/7040|CONNECT|10,,
1265064428|1265064413.5779|5105|Agent/7040|COMPLETEAGENT|10,2,

this URL is what's popped up:

Code: [Select]
http://localhost:8180/queuemetrics/qm/,8005551212,
I'm willing, and I believe that my customer is also, to provide you SSH access to gather more information about the issue. If it is indeed a bug, you'll know to fix it sooner. If it is an error in setup, I'm willing to compensate you for your time.

P.S. I'm testing the system through SSH and port forwarding. That's why "localhost" is seen in the URL. :)

3
Outbound and QueueMetrics / Re: Popping a URL with Outgoing Call
« on: January 28, 2010, 20:21:09 »
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:
Code: [Select]
http://sjmcall.********.com/IncomingCall.aspx?CallID=1264702633.5616&CallerID=8005551212However, as stated before, the outbound queue pops:
Code: [Select]
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:
Code: [Select]
[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:
Code: [Select]
[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:
Code: [Select]
  == 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:
Code: [Select]
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:
Code: [Select]
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.

4
Outbound and QueueMetrics / Re: Popping a URL with Outgoing Call
« on: January 19, 2010, 23:00:45 »
Hello, I'm working on the same system with the OP (mfreff). I grepped the queue_log for the number he was calling and this is a sample of what we have there:
1263226359|1263226354.4465|5105|Agent/7040|CALLOUTBOUND|-,18005551212,
1263228117|1263228114.4469|5105|Agent/7040|CALLOUTBOUND|-,18005551212,

Of course, I only replaced the phone number.

Pages: [1]