[asterisk-bugs] [Asterisk 0010944]: mISDN don't make hangup and crash

noreply at bugs.digium.com noreply at bugs.digium.com
Fri Nov 16 04:35:02 CST 2007


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=10944 
====================================================================== 
Reported By:                IgorG
Assigned To:                crich
====================================================================== 
Project:                    Asterisk
Issue ID:                   10944
Category:                   Channels/chan_misdn
Reproducibility:            sometimes
Severity:                   crash
Priority:                   normal
Status:                     assigned
Asterisk Version:            SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 81361 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             10-10-2007 22:41 CDT
Last Modified:              11-16-2007 04:35 CST
====================================================================== 
Summary:                    mISDN don't make hangup and crash
Description: 
Yesterday I have notice some bad situation. When calling from SIP to cell
phone, over chan_misdn and hangup on cell phone without take a call. On sip
phone I still hear ringing and call hangup only after time-limit specified
in Dial.

Here is step by step:
We call to cell phone:
--misdn-begin.txt--

We make hangup on cell phone. But still hear ringing on SIP:
--misdn-hangup.txt--

Finaly we hear hangup on SIP and saw fallowing in console:
--misdn-end.txt--

Also after 5-6 tries of such calls asterisk crashed:
--misdn-crash.txt--
--core-1.txt--
--core-2.txt--
====================================================================== 

---------------------------------------------------------------------- 
 crich - 11-16-07 04:35  
---------------------------------------------------------------------- 
regarding the chan_misdn behaviour:

chan_misdn reconizes the pi:8 == there is inband information available.
and therefore does not queue a HANGUP frame, because this would stop the
call. 

only when the cause is 17 == BUSY chan_misdn queues a BUSY frame, which
stops the dial and jumps into the 101+n extension. 

Probably we should queue a BUSY frame everytime when we get a disconnect,
but the cause is very important, and cause:16 means Normal Call Clearing
and not Busy.. 

But anyways you should not hear a RINGING, but the true message which is
inband available, like a fast busy tone or even a voice message telling you
that the called party is not available.

Also this happens only when we're in a pre-connected state, which mean
there has no payed call established yet. 

So i assume, either you do not hear the real inband message, or the
provider sends still an inband ringing, even if you reject the call from
your mobile which would be sort of strange.


regarding the segfault:


The segfault seems to happen in the device_state_changed_literal function,
i wonder why it was called with a NULL pointer from ast_setstate?

http://bugs.digium.com/view.php?id=0  0x080a6ac8 in
ast_device_state_changed_literal (dev=0x0) at
devicestate.c:487
487             buf = ast_strdupa(dev);
(gdb) bt 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
11-16-07 04:35  crich          Note Added: 0073800                          
======================================================================




More information about the asterisk-bugs mailing list