We have the possibly rather unique setup where we have cell phones posing as SIP devices. The SIP registration for those unfortunately doesn't go away just because the phone is off, since the registration is done by our cell-phone<=>SIP gateway, and that gateway has no way of knowing whether the phone is on or off.
This is usually ok, but it gets problematic if the cell phone is a member of a queue. In that case Queue() keeps sending the call to the phone, and the cell-phone<=>SIP gateway dutifully makes a call, which is then rejected by the cellular network. A few seconds later, Queue() tries again. This needlessly wastes resources both in Asterisk and in the cellular network. One idea is to run the call through chan_local (we do this anyway because we need to format the caller-ID differently for different phones) and then record if a call is rejected, and for the next 30 seconds just abort if we are asked to send a call to that particular phone. The downside is that we are still running a call through part of the dial plan, but at least it can be done in perhaps 3 lines of code. I would very much like to hear about smarter ways to do it. /Benny _______________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- AstriCon 2009 - October 13 - 15 Phoenix, Arizona Register Now: http://www.astricon.net asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
