Hi,

it seems that in some cases session timer negotiation in nua 
(sofia-sip-1.12.10) does not work
correctly. Nua then exspects the remote party to refresh the session, although 
they did
not negotiate that in their answer.

The bug occurs in the following scenario:

- Nua sends INVITE with "Session Expires" and "Min-Se" header to UAS.
- UAS responds with 200ok (no "Session Expires", no "Min-Se", but "timer" in 
supported header)
- Nua then exspects the remote party to refresh the session and terminates the 
session after
it has expired.

The bug seems to be in function sesson_timer_negotiate. The code runs into the 
else branch
there in this case. I added a check for the remote session expires value. If 
this zero, the refresher
should be local and not remote.

I attached a patch with my changes. Please have a look at it to see if this 
breaks anything else.
During my tests I did not experience problems with session timer after applying 
this patch.

Best Regards 
Timo



____________________________________________________________________
Psssst! Schon vom neuen WEB.DE MultiMessenger gehört? 
Der kann`s mit allen: http://www.produkte.web.de/messenger/?did=3123

diff -u -r -N sofia-sip-1.12.10/libsofia-sip-ua/nua/nua_session.c sofia-sip-1.12.10_session_timer/libsofia-sip-ua/nua/nua_session.c
--- sofia-sip-1.12.10/libsofia-sip-ua/nua/nua_session.c	2008-12-08 15:52:45.000000000 +0100
+++ sofia-sip-1.12.10_session_timer/libsofia-sip-ua/nua/nua_session.c	2008-12-11 08:09:43.000000000 +0100
@@ -4422,7 +4422,7 @@
 {
   if (!t->local.supported)
     t->refresher = nua_no_refresher;
-  else if (!t->remote.supported)
+  else if (!t->remote.supported || t->remote.expires == 0)
     t->refresher = nua_local_refresher;
   else if (t->remote.refresher == nua_local_refresher)
     t->refresher = nua_local_refresher;
------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

Reply via email to