Summary:ASTERISK-08967: SLA continue to ring after hangup
Reporter:Francesco Romano (francesco_r)Labels:
Date Opened:2007-03-08 10:03:08.000-0600Date Closed:2007-06-30 09:20:08
Versions:Frequency of
Environment:Attachments:( 0) 9234.patch
( 1) verbosedebug.txt
( 2) verbosedebug2.txt
Description:I have configured SLA (the same configuration of issue 9204) but when i receive a call and the remote party hangup before the answer, the SLA continue to ring forever.
I have attached a log with sip debug enabled.
Comments:By: Russell Bryant (russell) 2007-03-08 13:46:42.000-0600

I can't seem to make this happen here.  Could you apply this patch and provide the debug output again?

$ cd asterisk-src/
$ patch -p0 < 9234.patch

Here is what the debug output will help with.  When a call from a trunk comes in, it gets dumped into a conference.  The SLA code maintains a list of all trunks which are currently ringing.  If a station answers, or some timeout occurs, then the trunk will be removed from the list.

If the trunk comes out of the conference and it is still in the list of ringing trunks, that means it was not answered.  That is when the code knows to go stop ringing all of the stations.

These few extra debug messages should help me see where the trunk is prematurely disappearing from this list of ringing trunks.

By: Francesco Romano (francesco_r) 2007-03-09 04:01:58.000-0600

I have attached a new debug file from latest r58512+patch. I noticed that now, when i put on hold, the phone is disconnected and i can take the call from another phone. This is the right behaviour. But now the sla stay open if i hangup from one  phone, no sla hangup. I must restart restart asterisk to reset the call. And barge=no still doesn't works. I have still other suggestions to make the SLA similar to traditional key system, but step by step you are on the right path. Thank you very much.

By: Russell Bryant (russell) 2007-03-09 14:05:45.000-0600

The debug output looks normal.  In the call that you captured this output from, all of the phones should have stopped ringing and the LEDs should have all turned off.

As for your latest issue, I can not reproduce it.  I can be on a call and if the phone hangs up, the trunk is hung up as well.  If you could provide exact steps on how to demonstrate the problem you are seeing, that would be helpful.

Also, barge=no works perfectly fine for me.  In my configuration for line1, I have barge=no.  If I'm on a call with line1, then no other stations can join.  Please verify that Barge is not allowed by doing "sla show trunks".

By: Francesco Romano (francesco_r) 2007-03-12 06:28:02

If you see the logs, i did on the console a "core show hints" and also after the remote hangup the station1_line4@sla_stations and station2_line4@sla_stations are in ringing state.
Perhaps i didn't understand the meaning of barge: if i set to no can i join the sla in hold state? If no, how can i do this?

By: Russell Bryant (russell) 2007-03-13 18:11:46

The option you are looking for to prevent other phones from picking up a call that is on hold is "hold=private".

I am looking at the ringing problem now ...

By: Russell Bryant (russell) 2007-03-13 18:20:48

This issue should now be fixed in both the 1.4 branch and trunk in revisions 58872 and 58873.  Thanks for the quick feedback!