Ticket #1998 (closed Feature Requests: fixed)

Opened 5 years ago

Last modified 4 years ago

queue agent login improvement

Reported by: p_lindheimer Assigned to:
Priority: minor Milestone: 2.5
Component: Queues Version: 2.3-branch
Keywords: Cc:
Confirmation: Confirmed SVN Revision (if applicable):
Backend Engine: All Backend Engine Version:

Description

try to improve agent login to queues, at least some common errors like loggin in with the queue's number - and overall review.

Change History

06/17/07 02:22:17 changed by francesco_r

I had big problems with agent logins and strange numbers inserted accidentally in the queues. I resolved simply permitting only the calling agent to login in the queue.

[macro-agent-add]
;exten => s,1,Wait(1)
;exten => s,2,Macro(user-callerid,SKIPTTL)
;exten => s,3,Read(CALLBACKNUM,agent-user)  	; get callback number from user
;exten => s,4,GotoIf($["${CALLBACKNUM}" = ""]?5:7)	; if user just pressed # or timed out, use cidnum
;exten => s,5,Set(CALLBACKNUM=${CALLERID(number)})
;exten => s,6,GotoIf($["${CALLBACKNUM}" = ""]?2)	; if still no number, start over
;exten => s,7,GotoIf($["${ARG2}" = ""]?9:8)	; arg2 is queue password
;exten => s,8,Authenticate(${ARG2})
;exten => s,9,AddQueueMember(${ARG1}|Local/${CALLBACKNUM}@from-internal/n)	; using chan_local allows us to have agents over trunks
;exten => s,10,UserEvent(Agentlogin|Agent: ${CALLBACKNUM})
;exten => s,11,Wait(1)
;exten => s,12,Playback(agent-loginok)
;exten => s,13,Hangup()
exten => s,1,Wait(1)
exten => s,2,Macro(user-callerid,SKIPTTL)
exten => s,3,Set(CALLBACKNUM=${CALLERID(number)})
exten => s,4,GotoIf($["${ARG2}" = ""]?6:5))     ; arg2 is queue password
exten => s,5,Authenticate(${ARG2})
exten => s,6,AddQueueMember(${ARG1}|Local/${CALLBACKNUM}@from-internal/n)       ; using chan_local allows us to have agents over trunks
exten => s,7,UserEvent(Agentlogin|Agent: ${CALLBACKNUM})
exten => s,8,Wait(1)
exten => s,9,Playback(agent-loginok)
exten => s,10,Hangup()
[macro-agent-del]
;exten => s,1,Wait(1)
;exten => s,2,Macro(user-callerid,SKIPTTL)
;exten => s,3,Read(CALLBACKNUM,agent-user)  	; get callback number from user
;exten => s,4,GotoIf($["${CALLBACKNUM}" = ""]?5:7)	; if user just pressed # or timed out, use cidnum
;exten => s,5,Set(CALLBACKNUM=${CALLERID(number)})
;exten => s,6,GotoIf($["${CALLBACKNUM}" = ""]?2)	; if still no number, start over
;exten => s,7,RemoveQueueMember(${ARG1}|Local/${CALLBACKNUM}@from-internal/n)
;exten => s,8,UserEvent(RefreshQueue)
;exten => s,9,Wait(1)
;exten => s,10,Playback(agent-loggedoff)
;exten => s,11,Hangup()
exten => s,1,Wait(1)
exten => s,2,Macro(user-callerid,SKIPTTL)
exten => s,3,Set(CALLBACKNUM=${CALLERID(number)})
exten => s,4,RemoveQueueMember(${ARG1}|Local/${CALLBACKNUM}@from-internal/n)
exten => s,5,UserEvent(RefreshQueue)
exten => s,6,Wait(1)
exten => s,7,Playback(agent-loggedoff)
exten => s,8,Hangup()

07/13/08 01:47:41 changed by p_lindheimer

  • status changed from new to closed.
  • confirmation set to Confirmed.
  • resolution set to fixed.
  • milestone changed from 4.0 to 2.5.

new regex filtering added to handle this.