[asterisk-bugs] [Asterisk 0010665]: [patch] SIP Session-Timers Support in Asterisk

noreply at bugs.digium.com noreply at bugs.digium.com
Tue Dec 4 09:44:02 CST 2007


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=10665 
====================================================================== 
Reported By:                rjain
Assigned To:                oej
====================================================================== 
Project:                    Asterisk
Issue ID:                   10665
Category:                   Channels/chan_sip/General
Reproducibility:            always
Severity:                   feature
Priority:                   normal
Status:                     assigned
Asterisk Version:           1.4.11  
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 81013 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             09-07-2007 03:43 CDT
Last Modified:              12-04-2007 09:44 CST
====================================================================== 
Summary:                    [patch] SIP Session-Timers Support in Asterisk
Description: 
The Asterisk SIP stack currently does not support SIP Session-Timers (RFC
4028). This leads to defunct SIP sessions in Asterisk when calls do not
clear through normal signaling procedures due to network or end-point
failures.

John Todd recently discussed this concept on asterisk-dev:
http://lists.digium.com/pipermail/asterisk-dev/2007-July/028574.html

John Todd, JR Richardson and Kevin Fleming have expressed interest in
seeing this feature supported in Asterisk.

A software design document for this feature and code changes (unified diff
of chan_sip.c) are attached to this report. Digium has my code submission
agreement on file.
====================================================================== 

---------------------------------------------------------------------- 
 rjain - 12-04-07 09:44  
---------------------------------------------------------------------- 
oej, I guess you are worried about the increased size of sip_pvt, sip_user
and sip_peer due to the introduction of the session-timers feature. The
increase in size for these structs are the following:

sip_pvt  = 40 bytes (out of this 16 bytes are used for caching config
settings)
sip_user = 16 bytes
sip_peer = 16 bytes

You seem to be suggesting that these fields should be dynamic allocated.
While it could be done, it has the risks of complicating the code,
potential for memory leaks, breaking feature logic, pointer corruption etc.
It also has a fundamental drawback that if we were to think about
replicating sip_pvt to a separate memory space then dynamically allocated
structs in sip_pvt tends to complicate such a feature.

The actual number of bytes needed in sip_pvt/sip_user/sip_peer to support
the session-timers feature is pretty low. In light of that is it really
worth over-engineering this? Or am I missing your point? 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
12-04-07 09:44  rjain          Note Added: 0074748                          
======================================================================




More information about the asterisk-bugs mailing list