[asterisk-bugs] [Asterisk 0011231]: [patch] Many retransmits when chan_sip generates multiple outstanding requests

noreply at bugs.digium.com noreply at bugs.digium.com
Thu Jan 31 01:56:18 CST 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=11231 
====================================================================== 
Reported By:                flefoll
Assigned To:                oej
====================================================================== 
Project:                    Asterisk
Issue ID:                   11231
Category:                   Channels/chan_sip/General
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     assigned
Asterisk Version:            SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!): 89184 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             11-13-2007 08:08 CST
Last Modified:              01-31-2008 01:56 CST
====================================================================== 
Summary:                    [patch] Many retransmits when chan_sip generates
multiple outstanding requests
Description: 
I opened issue 10946 in october http://bugs.digium.com/view.php?id=10946 on
the same subject, but it was closed last week, together with issue 9567 and
issue 10915 (sorry, I was away last week).

All 3 issues were closed when chan_skip rev 89097 was committed. This
revision adds support for one outgoing transaction with the new
"lastnoninvite" field.

So, I have given a try to modification brought by chan_skip rev 89097. But
it does not solve the retransmit problem for me.

Typically, try with a series of SendText(ABC) in your extensions.conf :
the SIP peer will never respond quickly enough, and all (except last)
MESSAGE messages will be retransmitted. Silly test, but easy to reproduce
!
The problem also most probably still occurs when REFER handling provokes
too many and too quick NOTIFY messages (not re-tried yet, but new
"lastnoninvite" can handle one NOTIFY only).

Consequently, I propose another patch : this one won't remove code :-) but
it will add a few more lines instead, in order to cancel retransmits when
chan_sip receives a "late" response.

I know, it does not respond to file's dream of "a chan_sip with real
transaction support" :-)

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

---------------------------------------------------------------------- 
 flefoll - 01-31-08 01:56  
---------------------------------------------------------------------- 
It must be possible indeed to change the code that generates NOTIFYs after
REFER, so that chan_sip does not send new NOTIFYs until it receives a
response for last one (if I understand what you suggest, oej).
It may be the opportunity then, to comply to RFC 3515 "The Session
Initiation Protocol (SIP) Refer Method", section "3.10 Rate of
Notifications" : "NOTIFYs to event refer SHOULD NOT be sent more frequently
than once per second".

But the "responses ignored" problem still can occur after a series of
MESSAGES, and possibly other situations ? In fact, it is completely generic
to chan_sip transaction (request/response) handling, and even with a fix in
code that generates NOTIFYs after REFER, I keep thinking that chan_sip
should never drop a "late but valid" response as it does now.

Maybe an enhancement in REFER/NOTIFYs as you suggest, PLUS a retransmit
cancellation for residual late responses, would be a not-so-bad solution ? 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
01-31-08 01:56  flefoll        Note Added: 0081484                          
======================================================================




More information about the asterisk-bugs mailing list