Summary:ASTERISK-10025: When using Asterisk RealTime, processing does not continue after queue command
Reporter:unservices (unservices)Labels:
Date Opened:2007-08-05 11:19:47Date Closed:2011-06-07 14:03:25
Versions:Frequency of
Description:I'm using asterisk realtime. The extensions db does have 3 records for each incoming number - first is a deadagi to prepare some settings, then either a dial or queue command, finally another deadagi to finish some calculations.

When the instruction sequence is DEADAGI -> DIAL SIP -> DEADAGI everything works fine. But when the sequence is DEADAGI -> QUEUE -> DEADAGI we don't have the return to process the last agi script.

It sounds that at the end of the queue processing the control is not coming back to the extensions information. Maybe a bug in the queue application?
Comments:By: Tilghman Lesher (tilghman) 2007-08-05 11:40:00

Why aren't you using the 'h' extension?

By: unservices (unservices) 2007-08-05 11:44:13

I have lots of DID's and other things already configured and maintained by scripts into the extensions table. Depending on the situation I need to go to a queue, or direct forward to a cell, etc. It has been created before and worked fine until I needed to put calls in a queue so that it could be distributed through several sip users simultaneously...

By: Tilghman Lesher (tilghman) 2007-08-05 12:20:49

That response is completely irrelevant to the question.  Why aren't you using the 'h' extension?

By: unservices (unservices) 2007-08-05 12:24:16

Could you explain why I'm supposed to must use the 'h' extension? Everything is working fine with deadagi except when you have a queue...

By: Tilghman Lesher (tilghman) 2007-08-05 12:25:36

By your response, I have to conclude that you simply did not know that the 'h' extension existed.  Please read the documentation and use the 'h' extension.

By: unservices (unservices) 2007-08-05 12:29:22

I have a good knowledge of the system and everything is working fine except for the queue issue. I know that the 'h' extension can process commands after the call is disconnected, so your answer does not apply. Problem is that I don't want to start messing around changing everything just because the queue is not behaving properly. Everything else has been working fine. Problem is just when I point to a queue, and that's why I posted the question here. All that I got was one line response, without even asking much of how things were configured. Could anyone give more details? I have tons of records and DID's configured, don't want to be messing up a live system with this.

By: Tilghman Lesher (tilghman) 2007-08-05 15:58:58

Both Queue and Dial will terminate (hangup) the call after a bridge occurs.  Dial allows an additional option (g) to continue the call in the dialplan after a hangup occurs on the bridge.  Queue does not have that option, but the lack of that option is not a bug.

It is best to use the 'h' extension if you'd like to continue postprocessing after the call has been hungup.  If you need to, you may set a channel variable prior to the execution of Dial or Queue (i.e. Set(lastexten=${EXTEN}), leaving a flag for the post hangup AGI script to use to determine what actions to take.