[asterisk-bugs] [Asterisk 0018704]: "Require: timer" header still being sent
Asterisk Bug Tracker
noreply at bugs.digium.com
Mon Jan 31 16:27:53 CST 2011
A NOTE has been added to this issue.
======================================================================
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: feedback
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-31 16:27 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);
}
======================================================================
Relationships ID Summary
----------------------------------------------------------------------
related to 0017005 [patch] Asterisk sends session-timer wi...
======================================================================
----------------------------------------------------------------------
(0131313) mfrager (reporter) - 2011-01-31 16:27
https://issues.asterisk.org/view.php?id=18704#c131313
----------------------------------------------------------------------
This packet capture: trace_20110128130702.pcap contains the issue.
Filter by this call ID:
1304beb93b90bc0742138bcd0fcf5a5c at 69.175.101.218:5060
Packet 573 - INVITE sip:+19562423479 at 67.16.125.60:5060;transport=udp
SIP/2.0
with header:
Require: timer
then
Packet 646 - SIP/2.0 420 Bad Extension
with header:
Unsupported: timer
----
The section of code noted in the original description is the only location
I could find where the "Require" header is being generated.
Issue History
Date Modified Username Field Change
======================================================================
2011-01-31 16:27 mfrager Note Added: 0131313
======================================================================
More information about the asterisk-bugs
mailing list