Summary:ASTERISK-18408: SIP channels stuck
Reporter:thomas budicin (tbudicin)Labels:
Date Opened:2011-09-01 13:32:48Date Closed:2011-09-27 15:49:31
Versions: Frequency of

I have a problem,
I have a lot of stuck channels.

80 active channels
88 active calls
235 calls processed

They increase minute by minute.

I try rtptimeout=60, but then sip module crash and no new calls are processed.
I tried also other version of asterisk but same problem (or very similar).

Calls are not from phone, but created with auto-dial out.

An example of a stuck call

 * SIP Call
1. NewChan         Channel SIP/bzs-000000ce - from 6d8410d756c4efeb458895a8194712d
2. TxReqRel        INVITE / 102 INVITE - INVITE
3. Rx              SIP/2.0 / 102 INVITE / 100 Trying
4. Rx              SIP/2.0 / 102 INVITE / 100 Trying
5. Rx              SIP/2.0 / 102 INVITE / 183 Session Progress
6. Rx              SIP/2.0 / 102 INVITE / 183 Session Progress
7. Rx              SIP/2.0 / 102 INVITE / 200 OK
8. TxReq           ACK / 102 ACK - ACK
9. Rx              SIP/2.0 / 102 INVITE / 200 OK
10. Ignore          Ignoring this retransmit
11. Rx              BYE / 17114736 BYE / sip:390239468xxx@xxx.1xx.xxx.216
12. RTCPaudio       Quality:ssrc=84500264;themssrc=4208685306;rxjitter=0.001388;rxc
13. RTCPaudioJitter Quality:rxjitter=0.001388;
14. RTCPaudioLoss   Quality:lost=0;expected=7468;
15. RTCPaudioRTT    Quality:Not available
16. TxResp          SIP/2.0 / 17114736 BYE - 200 OK
17. Rx              BYE / 17114736 BYE / sip:390239468xxx@xxx.1xx.xxx.216
18. RTCPaudio       Quality:ssrc=84500264;themssrc=4208685306;rxjitter=0.001388;rxc
19. RTCPaudioJitter Quality:rxjitter=0.001388;
20. RTCPaudioLoss   Quality:lost=0;expected=7468;
21. RTCPaudioRTT    Quality:Not available
22. TxResp          SIP/2.0 / 17114736 BYE - 200 OK

77.9xxx52.41     390585xxx717     6d8410d756c4efe  0x100 (g729)     No       Rx: BYE
Comments:By: thomas budicin (tbudicin) 2011-09-01 13:40:50.270-0500

after some minutes

76 active channels
98 active calls
374 calls processed

By: Ken Leland (kenlee) 2011-09-08 09:07:04.783-0500

I have discovered a similar issue in Asterisk SVN-branch-1.8-r332118M.

After running in production for 1 week, I accumulated 9 "zombie" calls.
They had an average duration of 90 hours, but had a large standard deviation, with the shortest duration at 6 hours and the maximum duration at 156 hours, as opposed to having an event that at one time caused a large number of hung calls.

All of the calls were in one of the two following states (AppDial or Dial):

asterisk> core show channels
SIP/808-000101 from-inside-gsprc s 1 Up AppDial (Outgoing Line) 808 129:51:4 gsprc gsprc (None)
SIP/107-0000e549 macro-mtt-userexten- s 164 Up Dial SIP/104,20,r 107 131:38:3 tss tss SIP/104-0000e54b

using the hangup command in the console would not drop these calls.
I was only able to clear the issue by restarting asterisk.

A negative side effect of this issue is that BLF's which rely on hints, show an inconsistent state for the extension with the hung call.  Namely, it shows the extension is on the phone when it is not.

Please advise what additional information I can provide related to this issue.

By: Leif Madsen (lmadsen) 2011-09-13 12:26:43.787-0500

Thank you for your bug report. In order to move your issue forward, we require a backtrace[1] from the core file produced after the crash. Also, be sure you have DONT_OPTIMIZE enabled in menuselect within the Compiler Flags section, then:

make install

After enabling, reproduce the crash, and then execute the backtrace[1] instructions. When complete, attach that file to this issue report.

[1] https://wiki.asterisk.org/wiki/display/AST/Getting+a+Backtrace

By: Leif Madsen (lmadsen) 2011-09-13 12:27:10.844-0500

Debugging deadlocks: Please select DEBUG_THREADS and DONT_OPTIMIZE in the Compiler Flags section of menuselect. Recompile and install Asterisk (i.e. make install).  This will then give you the console command "core show locks." When the symptoms of the deadlock present themselves again, please provide output of the deadlock via:

# asterisk -rx "core show locks" | tee /tmp/core-show-locks.txt
# gdb -se "asterisk" <pid of asterisk> | tee /tmp/backtrace.txt
gdb> bt
gdb> bt full
gdb> thread apply all bt

Then attach the core-show-locks.txt and backtrace.txt files to this issue. Thanks!

By: Leif Madsen (lmadsen) 2011-09-27 15:49:24.903-0500

Suspended due to lack of activity. Please request a bug marshal in #asterisk-bugs on the IRC network irc.freenode.net to reopen the issue should you have the additional information requested.  Further information can be found at http://www.asterisk.org/developers/bug-guidelines