< Previous by Date | Date Index | Next by Date > |
< Previous in Thread | Thread Index |
Hi Jeremy, Some history…. When I first implemented session timers (a while back now) –
I was confused over the terms refresher=uac and refresher=uas. About
whether the refresher parameter (uas vs uac) on a refresh request was referring
to the original invite or the the actual refresh request – so I posed
a question to the IETF list. The answer I got was that the refresher parameter
refers to the transaction itself. So given your example below – since the proxy is
requesting “uas” refresher and it is the UAS of the initial invite –
then it should send the refresh (as it does). In the refresh
request your proxy is specifying that the UAS is the refresher – in this
case the UAS of this re-invite, is actually DUM – so DUM should be the
refresher. And it tries to do refresh (passing itself as the refresher –
uac). The short story is, that given the advice I previously received,
DUM is behaving correctly. Scott From: Jeremy Geras
[mailto:jgeras@xxxxxxxxxxxxxxx] 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.) |