Summary:ASTERISK-18727: Invalid extension protection upon adding queue member
Reporter:Darren Campbell (campbeld)Labels:
Date Opened:2011-10-17 18:33:00Date Closed:2011-10-31 14:26:00
Versions: Frequency of
Description:Had a quick look through existing bugs and could not find one that describes this (although I'm almost certain others have run into this issue).

We allowed users to add/remove extensions from queues themselves - very useful feature. Unfortunately, someone entered 0 as their agent number by mistake. When the inbound call entered the queue, the caller got "invalid number" announcement and was hung up on.

Queues should have an idea of what a valid extension is and subsequently disallow adding invalid ones. Also the inbound call should not be disrupted just because an agent/extension in the queue is invalid.
Comments:By: David Woolley (davidw) 2011-10-18 06:19:15.697-0500

This feels like a feature request, without a patch, submitted against an unsupported version.

However, note that Queue does not take extension, it takes addresses.

By: Darren Campbell (campbeld) 2011-10-18 18:29:31.552-0500

>>> This feels like a feature request, without a patch, submitted against an unsupported version.

Yes I know - almost certainly it is. But this is what I have to work with right now. So if you know this particular issue is resolved in a newer version, it'd be great if you could let me know because I'm having trouble finding it. Hopefully in a few months I can get approval for upgrade to the latest stable version and I might be able to contribute patches myself.

Here is the example from the logs where an invalid address for an interface (correct terminology?) was added to the queue:
AddQueueMember("SIP/1204-00002d3a", "600,Local/0@from-queue/n,")

To me, there is no way for Asterisk or the PBX-wrapper system to know "Local/0@from-queue/n" is certainly going to fail without trying to dial it. As I understand the dialing is done from within Queue App.

For a work-around we are asking users to test dialing the Queue manually after they add/remove queue members to test that calls are still routed through. This is fine for a few changes but we want to use this more and more and people will be driven a little crazy getting "pranked" everytime someone add/removes themselves.

If we had a way to guarantee that Queue would behave sanely despite trying to dial an invalid address, it would make Asterisk that much better.

By: Darren Campbell (campbeld) 2011-10-18 18:52:30.422-0500

Actually it turns out the Call from the queue was answered by an "i" extension in the dial plan. If that makes sense. Now it seems there is no way to get around this apart from restricting queue membership to pre-approved member/interfaces. Even then there is a risk of the member answering the call without an operator on the other end (i.e. voicemail etc).

Maybe having the operator press 1 to confirm the call is answered by a real person is something that the Queue App could cater for. I believe there is a similar function in Ring Groups.

By: Leif Madsen (lmadsen) 2011-10-31 14:26:00.085-0500

This isn't a bug in Asterisk, but rather is uncontrolled usage in your dialplan. You'll need to work around this with the dialplan and better control your dialplan to not permit things you don't want dialed/added, or better handle them when they are indeed added.

If you need additional help, please utilize the #asterisk IRC channel on Freenode, or the asterisk-users mailing list.