QueueMetrics forum

QueueMetrics => Running QueueMetrics => Topic started by: astor99 on August 11, 2010, 14:23:20

Title: Agent showed in the queue, even if softphone is closed
Post by: astor99 on August 11, 2010, 14:23:20
Hi,
After an agent is connected into a queue, he results active in QM, even if the softphone client was closed
(and the user unregistered).
Do you know why ? How to solve that ?  ???
Thank you.
Title: Re: Agent showed in the queue, even if softphone is closed
Post by: QueueMetrics on August 13, 2010, 09:36:30
This means the user forgot to logoff, so from the point of view of Asterisk he's still there. Basically it's their supervisor that should carry a large stick to avoid such incidents :)
Title: Re: Agent showed in the queue, even if softphone is closed
Post by: mudslide567 on August 13, 2010, 22:38:11
still would be very useful to have functionality for a supervisor to log off agents.  you are correct that discipline is needed but even then, accidents still happen.
Title: Re: Agent showed in the queue, even if softphone is closed
Post by: QueueMetrics on August 18, 2010, 10:13:28
Yes but a supervisor can usually do that by repeating the logoff procedure an agent would have used.  I agree it would be useful to have that available from the RT screen in QM :)
Title: Re: Agent showed in the queue, even if softphone is closed
Post by: astor99 on August 18, 2010, 22:57:25
My agent could be remoted (at home). How can a supervisor know if his client is running or not ?  ::)

Can Asterisk force a logoff procedure if an unregistering event occurs ?
Title: Re: Agent showed in the queue, even if softphone is closed
Post by: astor99 on August 20, 2010, 11:11:03
It's terrible: I see agents connected on RealTime , with their softphone, even if they aren't  :o

It's impossible to use QM in this way. How can a supervisor know if an agent has really the softphone opened behind his monitor ?
Title: Re: Agent showed in the queue, even if softphone is closed
Post by: mudslide567 on August 21, 2010, 01:36:09
from asterisk CLI a simple SIP SHOW PEERS will tell you if someone has turned off their extension. 


Title: Re: Agent showed in the queue, even if softphone is closed
Post by: astor99 on August 23, 2010, 09:46:27
@mudslide567: thank you for your reply. Unfortunatly, a man cannot check every 5 minutes if someone is disconnected or not.
I think that, in some way, it could be possibile to put a command, after unregistering sip, that can handle also the remove member from the queue.

Do you know where REGISTER/UNREGISTER SIP sequences are present in Asterisk ?
Title: Re: Agent showed in the queue, even if softphone is closed
Post by: QueueMetrics on August 23, 2010, 10:05:33
It's terrible: I see agents connected on RealTime , with their softphone, even if they aren't  :o

It's impossible to use QM in this way. How can a supervisor know if an agent has really the softphone opened behind his monitor ?

One thing that you can do is to set automated logoff of agents in Asterisk after a few calles missed; this will log them off QM as well.
Title: Re: Agent showed in the queue, even if softphone is closed
Post by: astor99 on August 23, 2010, 17:51:16
it seems interesting.
How can I do this "autologoff" after some missed calls ?  ::)
Title: Re: Agent showed in the queue, even if softphone is closed
Post by: QueueMetrics on August 24, 2010, 14:01:22
Look for the autopause option....
Title: Re: Agent showed in the queue, even if softphone is closed
Post by: astor99 on August 27, 2010, 15:07:24
So I did, thank you! It works in this way: if an agent has the softphone cliente running, but not answering, he is changed in pause mode.Good  :D

BUT, if the agent is in the queue and then, he closes his softphone program, without member removing operation, Queuemetrics considers him anyway as connected and no pause mode is changed,even if an incoming call is waiting.

Why do you think it happens ?  ???

The agent number is 003 and it's disconnected:

Code: [Select]
> sip show peers
Name/username              Host            Dyn Nat ACL Port     Status
xxxxxxxxxxxxxxxx               xxxxxxxxxxxx
xxxxxxxxxxxxxxxx               xxxxxxxx
006                        (Unspecified)    D   N   A  0        UNKNOWN
005/005                    212.97.xx.xx  D   N   A  5060     OK (5 ms)
004                        (Unspecified)    D   N   A  0        UNKNOWN
003/003                    (Unspecified)    D   N   A  0        UNKNOWN
002                        (Unspecified)    D   N   A  0        UNKNOWN
001/001                    212.97.xx.xx  D   N   A  1037     OK (125 ms)
8 sip peers [Monitored: 4 online, 4 offline Unmonitored: 0 online, 0 offline]

but the queue keeps on considering present and autopause option doesn't work

Code: [Select]
obelisk*CLI> queue show 0909
0909         has 0 calls (max unlimited) in 'rrmemory' strategy (0s holdtime), W:0, C:0, A:7, SL:0.0% within 0s
   Members:
      Local/003@from-internal (dynamic) (Not in use) has taken no calls yet
   No Callers

I see that, if it can help you:

Code: [Select]
   -- Executing [s@macro-dial:7] Dial("Local/003@from-internal-cd0b,2", "SIP/003||trM(auto-blkvm)") in new stack
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [s@macro-dial:8] Set("Local/003@from-internal-cd0b,2", "DIALSTATUS=CHANUNAVAIL") in new stack
    -- Executing [s@macro-dial:9] GosubIf("Local/003@from-internal-cd0b,2", "0?CHANUNAVAIL|1") in new stack
    -- Executing [s@macro-exten-vm:10] GotoIf("Local/003@from-internal-cd0b,2", "0?exit|return") in new stack
    -- Executing [s@macro-exten-vm:11] Set("Local/003@from-internal-cd0b,2", "SV_DIALSTATUS=CHANUNAVAIL") in new stack
    -- Executing [s@macro-exten-vm:12] GosubIf("Local/003@from-internal-cd0b,2", "0?docfu|1") in new stack
    -- Executing [s@macro-exten-vm:13] GosubIf("Local/003@from-internal-cd0b,2", "0?docfb|1") in new stack
    -- Executing [s@macro-exten-vm:14] Set("Local/003@from-internal-cd0b,2", "DIALSTATUS=CHANUNAVAIL") in new stack
    -- Executing [s@macro-exten-vm:15] NoOp("Local/003@from-internal-cd0b,2", "Voicemail is novm") in new stack
    -- Executing [s@macro-exten-vm:16] GotoIf("Local/003@from-internal-cd0b,2", "1?s-CHANUNAVAIL|1") in new stack
    -- Goto (macro-exten-vm,s-CHANUNAVAIL,1)
    -- Executing [s-CHANUNAVAIL@macro-exten-vm:1] NoOp("Local/003@from-internal-cd0b,2", "IVR_RETVM:  IVR_CONTEXT: ") in new stack
    -- Executing [s-CHANUNAVAIL@macro-exten-vm:2] GotoIf("Local/003@from-internal-cd0b,2", "0?exit|1") in new stack
    -- Executing [s-CHANUNAVAIL@macro-exten-vm:3] PlayTones("Local/003@from-internal-cd0b,2", "congestion") in new stack
    -- Executing [s-CHANUNAVAIL@macro-exten-vm:4] Congestion("Local/003@from-internal-cd0b,2", "10") in new stack
    -- Local/003@from-internal-cd0b,1 is circuit-busy
    -- Nobody picked up in 0 ms

Title: Re: Agent showed in the queue, even if softphone is closed
Post by: marcos on September 06, 2010, 11:26:35
Hi,
I think the problem is related to a set of macroes that are called by your dialplan if the channel becomes unavailable.

For what I can see from the CLI you posted, the call is answered by Asterisk when playing the unavailable tones. In this way the queue_app is not able to understand that the user is not available (because the call was answered by the PBX).

I think that changing/eliminating the "Playtones" call in your s-CHANUNAVAIL should solve your problem.

Thank you and regards,
Marco Signorini.

Title: Re: Agent showed in the queue, even if softphone is closed
Post by: astor99 on September 09, 2010, 15:17:15
Hi Marco,
It worked!
I added this lines to extensions_additional.conf:

[macro-exten-vm]
exten => s-CHANUNAVAIL,1,Noop(Extension is reporting CHANUNAVAIL)
exten => s-CHANUNAVAIL,n,MacroExit()

Thank youuuuuuuuuuuuuuuuu  :D
Title: Re: Agent showed in the queue, even if softphone is closed
Post by: marcos on September 10, 2010, 10:56:10
Fine! That's good to know.

Thank you and regads,
Marco Signorini.