On 2/4/08, Kev S <[EMAIL PROTECTED]> wrote: > Hi all > > Just trying to set up a queue and wondering if this is possible. > > We have 3 agents, One of them is sort of the first point of contact > > What i am looking to do is > > 1. Someone rings the queue. > > 2. It rings Agent A.. If Agent A is on the phone then put them on hold > for 120 seconds, and if Agent A gets off the phone within those 120 > seconds, put the call to them. > > 3. If 120 seconds expires, then call agent B, if B rings out, Call agent C > > So all i need is for the call to wait 120 seconds for agent A to get off > the phone. Then progress the call if they dont. > > Is this possible? If so, any pointers?
I think you should have penalty for agent B, and dial to them trough local channels - so that busy status gets sent to queue by your own dialplan. In 1.6 this would mean that you shouldn't use state_interface - so app_queue can't automatically check that A is busy. Then it would go something like this: Set(started=${EPOCH}); Set(remaining_time=${EPOCH}-started+120); while(${remaining_time}>0) { Dial(SIP/a,${remaining_time}); If ("${DIALSTATUS}"="ANSWERED") { break; } Wait(1); // wait so that this loop doesn't eat much CPU. Set(remaining_time=${EPOCH}-started+120); } if ("${DIALSTATUS}"!="ANSWERED") { Busy(); } Regards, Atis -- Atis Lezdins VoIP Developer, IQ Labs Inc. [EMAIL PROTECTED] Skype: atis.lezdins Cell Phone: +371 28806004 Work phone: +1 800 7502835 _______________________________________________ -- 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