Hi, NUTAG_SESSION_REFRESHER with nua_local_refresher don't works.
In commit 7e8db8127e88cc7578dd9a9804338ac91bbae57e (
https://gitorious.org/sofia-sip/sofia-sip/commit/7e8db8127e88cc7578dd9a9804338ac91bbae57e
),
by default, the refresher is always nua_local_refresher, and the
NUTAG_SESSION_REFRESHER with nua_local_refresher lost its effect.
But, in commit 49d7086522e62be5b2904d2c514e6cc4fbf83998 (
https://gitorious.org/sofia-sip/sofia-sip/commit/49d7086522e62be5b2904d2c514e6cc4fbf83998
),
by default, /* UAS defaults UAC to refreshing */ and /* UAC refreshes by
itself */, and the NUTAG_SESSION_REFRESHER with nua_local_refresher
continues without effect.
A patch to fix this problem is available on
https://gitorious.org/~alexsanderpetry/sofia-sip/alexsanderpetry-sofia-sip/commit/265b9c16226950c11829fc1aa700c4c878d65e46
Diff:
$ git diff
diff --git a/libsofia-sip-ua/nua/nua_session.c
b/libsofia-sip-ua/nua/nua_session.c
index 140dcaa..1a757f5 100644
--- a/libsofia-sip-ua/nua/nua_session.c
+++ b/libsofia-sip-ua/nua/nua_session.c
@@ -4527,6 +4527,8 @@ session_timer_negotiate(struct session_timer *t, int
uas)
t->refresher = nua_local_refresher;
else if (t->remote.refresher == nua_remote_refresher)
t->refresher = nua_remote_refresher;
+ else if (t->local.refresher == nua_local_refresher)
+ t->refresher = nua_local_refresher;
else if (uas)
/* UAS defaults UAC to refreshing */
t->refresher = nua_remote_refresher;
$
Best regards.
--
Alexsander Petry
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel