Lenz Emilitri schrieb: > The main problem i see with thgis is that with "old-school" agents, you > could easily have association with multiple queues. And that was quite > useful.
> 2009/5/16 David Anthony O Reilly <oreil...@tcd.ie> >> Hopefully somebody out there has managed to create an agent login/logout >> without bringing voicemail into it???? If I find a way I will let you and >> post a wiki on it as I am sure loads of people have this problem. Logging into multiple queues seems perfectly doable to me, and we do that in Gemeinschaft (http://www.amooma.de/gemeinschaft/ , german). I'll try to quote the relevant parts from extensions.ael (https://svn.amooma.com/gemeinschaft/trunk/opt/gemeinschaft/etc/asterisk/e.ael): //--------------------------------------------------------------------- // Queue Login/Logout //--------------------------------------------------------------------- macro queue-login( queue ) { Set(CDR(amaflags)=OMIT); Answer(); Verbose(1,### User ${user_name} wants to log in to queue ${queue}); AGI(/opt/gemeinschaft/dialplan-scripts/queue-login-logout.agi,${user_name},${queue},login); if ("${agent_login_status}" = "loggedin") { // fake login for the statistics: QueueLog(NONE,${UNIQUEID},${CHANNEL(channeltype)}/${user_name},AGENTLOGIN,fake); } Verbose(1,### agent_login_status: ${agent_login_status}); Wait(0.5); if ("${agent_login_status}" = "loggedin" || "${agent_login_status}" = "alreadyon") { Playback(agent-loginok); } else { Playback(beeperr); } Hangup(); } macro queue-logout( queue ) { Set(CDR(amaflags)=OMIT); Answer(); Verbose(1,### User ${user_name} wants to log out from queue ${queue}); AGI(/opt/gemeinschaft/dialplan-scripts/queue-login-logout.agi,${user_name},${queue},logout); Wait(0.5); if ("${agent_login_status}" = "loggedout") { Playback(agent-loggedoff); } else { Playback(beeperr); } Hangup(); } macro queue-logout-all() { Set(CDR(amaflags)=OMIT); Answer(); Verbose(1,### User ${user_name} wants to log out from all queues); AGI(/opt/gemeinschaft/dialplan-scripts/queue-login-logout.agi,${user_name},0,logoutall); Wait(0.5); if ("${agent_login_status}" = "loggedout") { Playback(agent-loggedoff); } else { Playback(beeperr); } Hangup(); } macro queue-logout-all-silent() { // like &queue-logout-all() but silent Set(CDR(amaflags)=OMIT); Verbose(1,### User ${user_name} wants to log out from all queues); AGI(/opt/gemeinschaft/dialplan-scripts/queue-login-logout.agi,${user_name},0,logoutall); } context queues-login-logout { *5* => &queue-logout-all(); _*5. => &queue-login(${EXTEN:2}); //_*5.* => &queue-logout(${EXTEN:2}); // does not work _*5X* => &queue-logout(${EXTEN:2:-1}); _*5XX* => &queue-logout(${EXTEN:2:-1}); _*5XXX* => &queue-logout(${EXTEN:2:-1}); _*5XXXX* => &queue-logout(${EXTEN:2:-1}); _*5XXXXX* => &queue-logout(${EXTEN:2:-1}); _*5XXXXXX* => &queue-logout(${EXTEN:2:-1}); } Instead of ${user_name} you might want to use something like ${CALLERID(num)} if you don't use Gemeinschaft. The queue-login-logout.agi AGI script (https://svn.amooma.com/gemeinschaft/trunk/opt/gemeinschaft/dialplan-scripts/queue-login-logout.agi) inserts/removes the interface ("SIP/...") into/from the queue_members Realtime family which is stored in a MySQL database. Log in to a queue by dialing *5<queuenumber> e.g. *5300. You're not limited to only one queue at a time. Log out of a specific queue by dialing *5<queuenumber>*. Log out of all queues by dialing *5*. Philipp Kempgen -- AMOOMA GmbH - Bachstr. 126 - 56566 Neuwied -> http://www.amooma.de Geschäftsführer: Stefan Wintermeyer, Handelsregister: Neuwied B14998 Asterisk: http://the-asterisk-book.com - http://das-asterisk-buch.de Videos of the AMOOCON VoIP conference 2009 -> http://www.amoocon.de -- _______________________________________________ -- 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