Local channels in queues.conf

Hey guys, I’m having a problem with call escalation on local channels in my queues.

I have the rrmemory strategy on the queue, and this is what the members look like:

member => Local/1916@local_phones/n,1,Test member => Local/1917@local_phones/n,1,Test1

These are SIP phones, but I have phones registered across a number of PBXes (using DUNDi to determine where the phone is) which is why I’m using local channels instead of SIP, so it needs to go back into the dial plan to get the destination looked up. I.e., if I were to use SIP, it would not be able to establish a call over an IAX trunk to get to a phone registered on another PBX.

This config works with only the first phone in the sequence, even if it’s registered on another PBX. If you dial the queue, it will ring out to the first one in the sequence, but rather than falling back onto the next phones after the timeout, it just stops.

According to the queue_log, calls to the queue using local channels are connected too early (before the phone actually picks up):

1263439228|pbx-2.test.com-1263439221.0|support|NONE|ENTERQUEUE||702 1263439233|pbx-2.test.com-1263439221.0|support|Test|CONNECT|5|pbx-2.test.com-1263439228.1|0

The CONNECT occurs before I actually answer the phone. With SIP channels, it looks like this:

1263440136|pbx-2.test.com-1263440129.0|support|NONE|ENTERQUEUE||702 1263440166|pbx-2.test.com-1263440129.0|support|Test|RINGNOANSWER|30000 1263440181|pbx-2.test.com-1263440129.0|support|Test1|CONNECT|45|pbx-2.test.com-1263440168.2|7

As you can see, it properly fails to the second phone after the RINGNOANSWER, at which point I answer the second phone and it brings up the CONNECT (after I answer).

Notice I also added the /n option on the extensions in queues.conf with the hope of it working, but alas, no. Does anybody have any ideas on how to get around this? Thanks!

Stupid mistake on my part, there was an Answer() hidden in the dialplan logic. I swear I didn’t see that the first time!

Removing that Answer() statement fixed it right up.