Here is what I use: ; #### Agent login logout #### exten => *20,1,Answer() exten => *20,n,wait(.0.5) exten => *20,n,Read(AgentNumber,agent-user) exten => *20,n,Set(UserID=${DB(ExtenToUser/${AgentNumber})}) exten => *20,n,GotoIf($["${UserID}"=""]?NOUSER) exten => *20,n,Set(AgentStatus=${DB(users/${UserID}/AgentStatus)}) exten => *20,n,GotoIf($["${AgentStatus}"="1"]?VERIFY) exten => *20,n,GotoIf($["${AgentStatus}"="2"]?VERIFY) exten => *20,n(NOUSER),Playback(cfmc/bad-agent) exten => *20,n,Playback(vm-goodbye) exten => *20,n,Hangup() exten => *20,n(VERIFY),VMAuthenticate(${agentnumb...@ourvm) exten => *20,n,GotoIf($["${AgentStatus}"="2"]?AGENTOFF) exten => *20,n,Set(DB(users/${UserID}/AgentStatus)=2) exten => *20,n,Set(DB(users/${UserID}/AgentDevice)=${CUT(CHANNEL,-,1)}) exten => *20,n,AddQueueMember(support,Local/queue${agentnumb...@ansqueue,,,,${CUT(CHA NNEL,-,1)}) ; AQMSTATUS can be ADDED | MEMBERALREADY | NOSUCHQUEUE exten => *20,n,Playback(agent-loginok) exten => *20,n,Verbose(2,Agent ${AgentNumber} added ${DB(users/${UserID}/AgentDevice)}) exten => *20,n,HangUp() exten => *20,n(AGENTOFF),Set(DB(users/${UserID}/AgentStatus)=1) exten => *20,n,Set(OldVal=${DB_DELETE(users/${UserID}/AgentDevice)}) exten => *20,n,RemoveQueueMember(support,Local/queue${agentnumb...@ansqueue) exten => *20,n,Playback(agent-loggedoff) exten => *20,n,Verbose(2,Agent ${AgentNumber} removed) exten => *20,n,Hangup()
[ansqueue] exten => _Queue.,1,Set(AgentNumber=${EXTEN:5}) exten => _Queue.,n,Set(UserID=${DB(ExtenToUser/${AgentNumber})}) exten => _Queue.,n,Set(AgentDevice=${DB(users/${UserID}/AgentDevice)}) exten => _Queue.,n,Verbose(2,Agent ${AgentNumber} status is ${DEVICE_STATE(${AgentDevice})}) exten => _Queue.,n,GotoIf($["${DEVICE_STATE(${AgentDevice})}"="NOT_INUSE"]?DIALIT) exten => _Queue.,n,Busy() exten => _Queue.,n,HangUp() exten => _Queue.,n(DIALIT),Dial(${AgentDevice},,g) exten => _Queue.,n,HangUp() exten => 201,1,Answer() exten => 201,n,Wait(0.5) exten => 201,n,Set(qac=${QUEUE_MEMBER(support,free)}) exten => 201,n,GotoIf($[${qac} > 0]?HAVEAGNT) exten => 201,n,Verbose(2,No agents free in support queue) exten => 201,n,Playback(cfmc/support-no-agent) exten => 201,n,Voicemail(2...@ourvm,u) exten => 201,n,Playback(goodbye) exten => 201,n,Hangup() exten => 201,n(HAVEAGNT),Playback(cfmc/support-intro) exten => 201,n,Verbose(2,Queuing caller for support agent) exten => 201,n,Queue(support,nrt,,,120) exten => 201,n,Verbose(2,Support agent did not answer call) exten => 201,n,Voicemail(2...@ourvm,b) exten => 201,n,Playback(goodbye) exten => 201,n,Hangup() -- Jim Dickenson mailto:dicken...@cfmc.com CfMC http://www.cfmc.com/ From: David Anthony O Reilly <oreil...@tcd.ie> Reply-To: Asterisk Users Mailing List - Non-Commercial Discussion <asterisk-users@lists.digium.com> Date: Fri, 15 May 2009 22:40:55 +0100 To: <asterisk-users@lists.digium.com> Subject: [asterisk-users] Logging In / Out Agents on Asterisk 6 ??? Hi everybody Did anybody by any chance ever work out how to log in and out agents on Asterisk 6+? I used to have it working perfect in Asterisk 1.2 but since I upgraded to 6 the agent login functions are gone and the readme file that came with it made no sense to me. I noticed somebody on the net posted that they had the same problem but used Voicemail to authenticate users, but that seemed a nightmare as I don't use voicemail. As a work around I have all agents online from the conf files and I use Do Not Disturb on the phones but this isn't a nice function as it means other calls outside of the queue cannot come in as all are blocked so not a great login/logout function. If anybody could help provide a sample of how they did it on 6 I would be extremely grateful and will create a WIKI page on it for others as I have been very unlucky trying to work this out. Many thanks David O'Reilly note-I use extensions.ael but I am sure any code that is for extensions.conf will be easily convertable as I love AEL -- _________________________________________ Mr. David Anthony O'Reilly, M.Sc (Mob), B.Sc Comp (Hons) M.Sc MOB Postgraduate @ University College Cork, Ireland - M.Sc (Mob) - 2009 Computer Science Graduate of The University of Dublin, Trinity College - B.Sc (Comp) 2008 Email: oreil...@tcd.ie / d...@student.cs.ucc.ie Tel: +353 (0) 86 030 60 32 _________________________________________ _______________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
_______________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users