[asterisk-bugs] [Asterisk 0017486]: [patch] response_refer() does not have a default case, so a 400 final response stalls in the Transfer() application

Asterisk Bug Tracker noreply at bugs.digium.com
Fri Jul 30 12:10:15 CDT 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=17486 
====================================================================== 
Reported By:                davidw
Assigned To:                mnicholson
====================================================================== 
Project:                    Asterisk
Issue ID:                   17486
Category:                   Channels/chan_sip/Transfers
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     acknowledged
Target Version:             1.6.2.12
Asterisk Version:           SVN 
JIRA:                       SWP-1667 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 269011 
Request Review:              
====================================================================== 
Date Submitted:             2010-06-08 11:34 CDT
Last Modified:              2010-07-30 12:10 CDT
====================================================================== 
Summary:                    [patch] response_refer() does not have a default
case, so a 400 final response stalls in the Transfer() application
Description: 
For an outgoing refer request, generated by the Transfer() application,
chan_sip.c's response_refer routine only recognizes specific response
codes, which don't include "400 Bad Request", the generic 400 response
code.

As a result, if it gets an unrecognized final status, it does not wake up
the Transfer application to allow it to return a FAILURE response to the
dialplan.  

Cisco CCM 6 can generate this response to REFER, although not necessarily
to the REFERs generated by the standard Asterisk code.
====================================================================== 

---------------------------------------------------------------------- 
 (0125387) davidw (reporter) - 2010-07-30 12:10
 https://issues.asterisk.org/view.php?id=17486#c125387 
---------------------------------------------------------------------- 
I'm afraid I'm on leave next week and it is the end of the working day in
the UK.  However, my initial reaction is that you missed the fact that
these responses never actually get as far as response_refer because the
first level response handler doesn't know about their being relevant to
REFER.  Also, it still has the problem that it is enumerating specific
possibilities, when the RFCs don't actually constrain the possible
responses.

I have actually done some rather more radical surgery for this, but it is
entangled with with changes to support outgoing REFER/Replaces and I
haven't had time to allocate to separating the bug fixes from the new
feature code, or to forward port either to the relevant maintained
versions.

Actually, it may not be too entwined, but it is against a modified
1.6.1.0.  I'll attach what we have at the moment. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-07-30 12:10 davidw         Note Added: 0125387                          
======================================================================




More information about the asterisk-bugs mailing list