Summary:ASTERISK-12818: autopause=no not working with Asterisk 1.4.22rc5
Reporter:Giorgio Incantalupo (gincantalupo)Labels:
Date Opened:2008-10-03 05:40:40Date Closed:2011-06-07 14:07:20
Versions:Frequency of
Environment:Attachments:( 0) 13609_diagnostic.patch
( 1) cli-output.txt
( 2) queues_log.tar.gz
Description:After upgrading Asterisk from 1.2.18 to 1.4.17 version (and then to 1.4.22rc5) my phones randomly go paused even if autopause is set to no. It randomly happens with both Snom and polycom models.
Strategy is ringall.
The problem seems to be related to manager_pause_queue_member function: should't be autopause parameter checked in there?
Comments:By: Mark Michelson (mmichelson) 2008-10-08 16:36:17

Can you go into more detail about this please? First off, when you set autopause=no, you must make sure to do so within a queue definition. If you set autopause=no in the general section, that does not do anything.

Are you using static or dynamic queue members? If you're using dynamic members, are they realtime?

I'm not sure what the manager_pause_queue_member function has to do with this. That function is only run if you issue a manager command to pause or unpause a queue member. Since that is an on-demand action, it doesn't make any sense for the autopause setting to be checked there.

Could you please attach console output which displays the issue? Thanks!

By: Giorgio Incantalupo (gincantalupo) 2008-10-13 02:54:38

I have set autopause in every queue not in the general section and I'm using static members.
As you can see from the attached file, SIP/1 and SIP/8 are both paused but while SIP/1 is in conversation, SIP/8 is not. I think SIP/1 is correctly paused because it cannot receive further calls since it is managing a call.
If I call the queue, SIP/8 does not ring so cannot receive calls. I have to restart Asterisk every time this happens to reset the queues.
I tried to raise the debug levels but I found no message so unfortunately I cannot tell you what is causing of the problem.

By: Mark Michelson (mmichelson) 2008-10-14 16:48:17

I noticed just now that there is no debug message printed when a queue member is paused. However, there is a manager event submitted and the queue_log will get an entry indicating that the member was paused. I'm going to upload a patch which will print an extra debug message when a queue member becomes paused. This will help to pinpoint when and why the member is becoming paused. The patch will be uploaded shortly.

By: Mark Michelson (mmichelson) 2008-10-14 16:51:48

I have uploaded 13609_diagnostic.patch. With this applied, each time a queue member becomes paused, there will be a debug message printed which will tell you that a member has become paused. In addition, it will print a number indicating who requested that the member became paused. Please reproduce this issue with this patch applied and then upload console output. Hopefully, this will help to get the issue resolved.

By the way, with this patch applied, you'll see my new debug message printed even if you don't have the console debug value set. However, I still want you to set the debug level to at least 3 for the console output you upload so that I can get a good idea of what else is going on at the time the member becomes paused.


By: Giorgio Incantalupo (gincantalupo) 2008-10-20 02:25:58

Hi putnopvut! I applied your patch to our Asterisk. This morning we received an inbound call and two phones got paused. I attached the CLI output and the last piece of "messages" log file. Hope it may help!

By: Mark Michelson (mmichelson) 2008-10-20 14:58:40

Thank you very much for the log. It's nice to see that it's pretty short. ;)

I'll take a look and see if I can figure out what the problem is.

By: Mark Michelson (mmichelson) 2008-10-20 15:13:51

I looked at the cli output and like you had originally stated in your bug description, it is always the manager_pause_queue_member function which is setting the member to be paused.

As I stated in my first bug note, this function is only called on demand, though, when the "QueuePause" manager command is used. This must mean that something in your setup is sending this manager command to Asterisk. All app_queue is doing is honoring that request and pausing the queue member specified.

Please verify that any external applications that you are using are not attempting to pause queue members over the manager interface.

By: Giorgio Incantalupo (gincantalupo) 2008-10-30 09:39:06

Hi putnopvut, after a lot of tests I finally found the problem. We are using a openfire server version 3.5.2 which changes the phones status when needed but sometimes freezes, so the phones remain in the paused status.
Asterisk and my phones now work fine.
Thanks for time and help.

By: Mark Michelson (mmichelson) 2008-10-30 10:24:57

Thanks for following up, and I'm glad everything is working now. I'm going to close this issue.