[asterisk-users] Queues with unavailable members

Benny Amorsen benny+usenet at amorsen.dk
Wed Oct 14 06:58:20 CDT 2009


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





More information about the asterisk-users mailing list