[asterisk-bugs] [Asterisk 0018704]: "Require: timer" header still being sent

Asterisk Bug Tracker noreply at bugs.digium.com
Fri Jan 28 18:45:16 CST 2011


The following issue has been SUBMITTED. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18704 
====================================================================== 
Reported By:                mfrager
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   18704
Category:                   Channels/chan_sip/Interoperability
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
Asterisk Version:           1.8.2.3 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2011-01-28 18:45 CST
Last Modified:              2011-01-28 18:45 CST
====================================================================== 
Summary:                    "Require: timer" header still being sent
Description: 
This field is causing calls to drop after exactly 20 minutes.

Here is the code in question:

channels/chan_sip.c: Line 9651

        /* Add Session-Timers related headers if the feature is active for
this session.
           An exception to this behavior is the ACK request. Since
Asterisk never requires
           session-timers support from a remote end-point (UAS) in an
INVITE, it must
           not send 'Require: timer' header in the ACK request.
           This should only be added in the INVITE transactions, not
MESSAGE or REFER or other
           in-dialog messages.
        */
        if (p->stimer && p->stimer->st_active == TRUE &&
p->stimer->st_active_peer_ua == TRUE
            && sipmethod == SIP_INVITE) {
                char se_hdr[256];
                snprintf(se_hdr, sizeof(se_hdr), "%d;refresher=%s",
p->stimer->st_interval,
                        strefresher2str(p->stimer->st_ref));
                add_header(req, "Require", "timer");     /* <- PROBLEM!!!
*/
                add_header(req, "Session-Expires", se_hdr);
                snprintf(se_hdr, sizeof(se_hdr), "%d", st_get_se(p,
FALSE));
                add_header(req, "Min-SE", se_hdr);
        }  


====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-01-28 18:45 mfrager        New Issue                                    
2011-01-28 18:45 mfrager        Asterisk Version          => 1.8.2.3         
2011-01-28 18:45 mfrager        Regression                => No              
2011-01-28 18:45 mfrager        SVN Branch (only for SVN checkouts, not tarball
releases) => N/A             
======================================================================




More information about the asterisk-bugs mailing list