< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[reSIProcate] Session Timers bug: refresher="uas" is not respected by InviteSession


Hi,

 

I’m seeing odd behaviour with session timers in the following case.  I have a fix that I’ve tested out (see attached patch), but I’d like to run it by you (Scott) before committing it as I believe you’re more familiar with that code...

 

(note that the default Session-Expires used in the following is 90 seconds)

 

DUM   -------------------   proxy

 

INVITE ----> (no refresher preference specified)

<---- 100

<---- 180

<---- 200 (refresher=”uas”)

ACK ---->

 

… 45 seconds go by …

 

<---- INVITE (refresher=”uas”)

200 ----> (refresher=”uas”)

 

… 45 seconds go by …

 

<---- INVITE (refresher=”uas”)

INVITE ----> (refresher=”uac”)

 

At this point, DUM is confused and thinks that it is the refresher, so we get the INVITE glare condition, and things go downhill from there.  The problem seems to be logic in InviteSession that gets executed when it receives the first refresh after 45 seconds.

 

I’ve tested out the attached patch, but please let me know if you think I’ve missed something…

 

Thanks,

 - Jeremy -

 

 

Jeremy Geras

Software Developer

CounterPath Solutions Inc.

(formerly NewHeights Software Corp.)

 

 

 

 

 

 

Attachment: session_timers_fix_sipfoundry.patch
Description: Binary data