QueueMetrics > Outbound and QueueMetrics

Problem in outbound queue

(1/6) > >>

mirof:
Hi,
I've a problem in outbound queues Agent placing calls can'be identified.

In extensions_custom.conf I put:

; Queue out
[queuedial]
exten => _X.,1,SetVar(MY_QUE=${EXTEN:0:1})
exten => _X.,2,SetVar(MY_NUM=${EXTEN:1})
exten => _X.,3,Set(MY_AGENT=${AGENTBYCALLERID_${CALLERIDNUM})
exten => _X.,4,NoOp,Ag: ${MY_AGENT} N: ${MY_NUM} Q: ${MY_QUE}
exten => _X.,5,NoOp,MixMonitor(Q-${MY_QUE}-${UNIQUEID}.wav|b|)
exten => _X.,6,DeadAGI(queueDial.agi|${MY_NUM}|SIP/pri0/${MY_NUM}|q-${MY_QUE}|Agent/${MY_AGENT})
exten => _X.,7,Congestion

When Agents make calls using the right outbound route ${MY_AGENT} is always empty so in queue_log I can't identify who makes the call, I can only see Agent/ , and in real time monitor the same.

Anyone can help me?

My Setup:
Queuemetrics 1.4.2
on
Trixbox 2.2.4 (Asterisk 1.2.22)

  Thanks

   ---Fabio

QueueMetrics:
Not sure if it's a typo, but


--- Code: ---Set(MY_AGENT=${AGENTBYCALLERID_${CALLERIDNUM})
--- End code ---

Is lacking at least one }!

mirof:
Oh Gosh!
Youre right! it's' not a typo.

I fixed my mistake but it still won't work

I tried to change ${CALLERIDNUM} which is deprecated with other variables
such as ${CALLERID(num)} or ${AMPUSER} but I got no results.

QueueMetrics:
I would do the following:
- Start a call from one agent and leave it open
- Find the Asterisk channel name through the CLI


--- Code: ---aleph*CLI> show channels
Channel              Location             State   Application(Data)
H323/ip$10.10.3.6:22 s@coda-dps:9         Up      Queue(queue-dps|t|http://www.p
--- End code ---


- Show the details of the channel, like:


--- Code: ---aleph*CLI> show channel H323/ip$10.10.3.6:2256/14
 -- General --
           Name: H323/ip$10.10.3.6:2256/14
           Type: H323
       UniqueID: 1194167463.819
      Caller ID: 21
 Caller ID Name: test
.....
 --   PBX   --
        Context: coda-dps
      Extension: s
       Priority: 9
.....

      Variables:
MACRO_DEPTH=0
SYSTEMSTATUS=SUCCESS
TRANSFER_CONTEXT=queuetransfer
CallRefNum=1194167463.819
QueueName=queue-dps
MONITOR_FILENAME=DPS-1194167463.819

--- End code ---

So you can spot what is correct for you to read.

mirof:
Ok,
in my channels detail a can see my callerID number but my variable is always empty.  :-\

Perhaps i fount something interesting.
The trouble appears only if the agent logs in using queuemetrics web interface which uses the custom extension:

; extension 20: agent callback login
; For this to work, there must be no password on the agent.
exten => 20,1,Answer
exten => 20,2,NoOp( "QM: Logging on Agent/${AGENTCODE} to extension ${AGENT_EXT}@from-internal" )
exten => 20,3,AgentCallBackLogin(${AGENTCODE}||${AGENT_EXT})
exten => 20,4,Hangup

If i do the login procedure directly from the phone using trixbox interactive AgentCallBackLogin it works fine using:

; Agent Login
exten => 123,1,AgentCallBackLogin(|${CALLERID(number)}@from-internal)

I tracked back both login procedures and there is something interesting:

1st login proc:


--- Code: ---    -- Executing Answer("Local/20@queuemetrics-7a7e,2", "") in new stack
    -- Executing NoOp("Local/20@queuemetrics-7a7e,2", " "QM: Logging on Agent/4026 to extension 219@from-internal" ") in new stack
    -- Executing AgentCallbackLogin("Local/20@queuemetrics-7a7e,2", "4026||219") in new stack
       > Channel Local/20@queuemetrics-7a7e,1 was answered.
    -- Executing Answer("Local/20@queuemetrics-7a7e,1", "") in new stack
    -- Executing Wait("Local/20@queuemetrics-7a7e,1", "10") in new stack
    -- Executing Answer("Local/20@queuemetrics-7a7e,2", "") in new stack
    -- Executing NoOp("Local/20@queuemetrics-7a7e,2", " "QM: Logging on Agent/4026 to extension 219@from-internal" ") in new stack
    -- Executing AgentCallbackLogin("Local/20@queuemetrics-7a7e,2", "4026||219") in new stack
       > Channel Local/20@queuemetrics-7a7e,1 was answered.
    -- Executing Answer("Local/20@queuemetrics-7a7e,1", "") in new stack
    -- Executing Wait("Local/20@queuemetrics-7a7e,1", "10") in new stack
    -- Playing 'agent-loginok' (language 'en')
    -- Playing 'agent-loginok' (language 'en')
  == Callback Agent '4026' logged in on 219
  == Callback Agent '4026' logged in on 219
    -- Executing Hangup("Local/20@queuemetrics-7a7e,2", "") in new stack

--- End code ---

2nd login proc:


--- Code: ---    -- Executing AgentCallbackLogin("SIP/219-09f06180", "|219@from-internal") in new stack
    -- Playing 'agent-user' (language 'it')
    -- Executing AgentCallbackLogin("SIP/219-09f06180", "|219@from-internal") in new stack
    -- Playing 'agent-user' (language 'it')
    -- Playing 'agent-newlocation' (language 'it')
    -- Playing 'agent-newlocation' (language 'it')
  == Setting global variable 'AGENTBYCALLERID_219' to '4026'
  == Setting global variable 'AGENTBYCALLERID_219' to '4026'
    -- Playing 'agent-loginok' (language 'it')
    -- Playing 'agent-loginok' (language 'it')
  == Callback Agent '4026' logged in on 219
  == Callback Agent '4026' logged in on 219
    -- Playing 'vm-goodbye' (language 'it')
    -- Playing 'vm-goodbye' (language 'it')
  == Spawn extension (from-internal, 123, 1) exited non-zero on 'SIP/219-09f06180'
    -- Executing Macro("SIP/219-09f06180", "hangupcall") in new stack
    -- Executing ResetCDR("SIP/219-09f06180", "w") in new stack
    -- Executing NoCDR("SIP/219-09f06180", "") in new stack
    -- Executing GotoIf("SIP/219-09f06180", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing GotoIf("SIP/219-09f06180", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing Wait("SIP/219-09f06180", "5") in new stack
  == Spawn extension (from-internal, 123, 1) exited non-zero on 'SIP/219-09f06180'
    -- Executing Macro("SIP/219-09f06180", "hangupcall") in new stack

--- End code ---

In the 2nd one we can see:
  == Setting global variable 'AGENTBYCALLERID_219' to '4026'
  == Setting global variable 'AGENTBYCALLERID_219' to '4026'

 ??? I think it could be the matter.

Now, how can i force the same behaviour even if i do the login procedure from web interface?

Thanks for help.


Navigation

[0] Message Index

[#] Next page

Go to full version