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

Reply via email to