[asterisk-bugs] [Asterisk 0013764]: 302 Redirect (forward no answer) to bad extension causes channel to be left up (Ringing)

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Nov 26 09:21:57 CST 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=13764 
====================================================================== 
Reported By:                davidw
Assigned To:                putnopvut
====================================================================== 
Project:                    Asterisk
Issue ID:                   13764
Category:                   Applications/app_dial
Reproducibility:            have not tried
Severity:                   minor
Priority:                   normal
Status:                     ready for testing
Asterisk Version:           1.6.0 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             2008-10-22 10:35 CDT
Last Modified:              2008-11-26 09:21 CST
====================================================================== 
Summary:                    302 Redirect (forward no answer)  to bad extension
causes channel to be left up (Ringing)
Description: 
When testing something, we accidentally used a phone that had been
configured to call forward no-answer to a bad extension.  It took us a
while to realise, so we made several calls.  Subsequent core/sip show
channels show that all of these attempts are still ringing on the attempted
correct number, even though the SIP ones show the ACK to the 302 as the
last thing sent.
====================================================================== 

---------------------------------------------------------------------- 
 (0095540) davidw (reporter) - 2008-11-26 09:21
 http://bugs.digium.com/view.php?id=13764#c95540 
---------------------------------------------------------------------- 
Still the same problem.

centos*CLI> core show channels
Channel              Location             State   Application(Data)       
     
SIP/6106-085d3b28    6106 at internal:1      Ringing AppDial((Outgoing Line))
     
1 active channel
0 active calls
1 call processed
[2008-11-26 14:59:11.163] NOTICE[392]: chan_sip.c:18078
handle_request_subscribe
: Received SIP subscribe for peer without mailbox: djw-messenger
centos*CLI> sip show channels
Peer             User/ANR    Call ID          Format           Hold    
Last Mes
sage   
192.168.81.160   6106        47ed6fbd3a871a0  0x4 (ulaw)       No      
Tx: ACK 
                  
1 active SIP dialog

History from a second run:

centos*CLI> 
  * SIP Call
1. NewChan         Channel SIP/6106-085dba90 - from
421f7355177bd2ec60ab08e10c16
8e
2. TxReqRel        INVITE / 102 INVITE - -UNKNOWN-
3. Rx              SIP/2.0 / 102 INVITE / 100 Trying
4. Rx              SIP/2.0 / 102 INVITE / 180 Ringing
5. Rx              SIP/2.0 / 102 INVITE / 302 Moved Temporarily
6. TxReq           ACK / 102 ACK - -UNKNOWN-


We are getting:

app_dial.c: Unable to create local channel for call forward

not the 

Failed to dial on local channel for call forward to '%s'\n

we would get if the patched code were executed.

Looking at this fragment, c's nullness doesn't seem to change between the
two ifs, and your patch is in the else at the end, so the message we get is
incompatible with going down the branch with the patch.

to 'Local/6199 at internal' (cause = 0)
    499                 if (c) {
    500                         if (single)
    501                                
ast_channel_make_compatible(o->chan, in)
    501 ;
    502                         ast_channel_inherit_variables(in,
o->chan);
    503                         ast_channel_datastore_inherit(in,
o->chan);
    504                 } else
    505                         ast_log(LOG_NOTICE, "Unable to create
local chan
    505 nel for call forward to '%s/%s' (cause = %d)\n", tech, stuff,
cause);
    506         }
    507         if (!c) {
    508                 ast_clear_flag64(o, DIAL_STILLGOING);
    509                 handle_cause(cause, num);
    510         } else { 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2008-11-26 09:21 davidw         Note Added: 0095540                          
======================================================================




More information about the asterisk-bugs mailing list