Wed Jan 28 12:32:01 CST 2009 Mikhail Zabaluev <mikhail.zabaluev@nokia.com>

* nua/outbound.c: calculate the keepalive timer interval with regard to the maximum defer interval
    
  The point is not to miss the keepalive deadlines.
  


git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11861 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Michael Jerris 2009-02-11 17:20:59 +00:00
parent cf1f74fbc3
commit e202543c76
2 changed files with 9 additions and 1 deletions

View File

@ -1 +1 @@
Wed Feb 11 11:19:42 CST 2009
Wed Feb 11 11:20:46 CST 2009

View File

@ -685,8 +685,16 @@ void outbound_start_keepalive(outbound_t *ob,
su_timer_destroy(ob->ob_keepalive.timer), ob->ob_keepalive.timer = NULL;
if (interval) {
su_duration_t max_defer;
max_defer = su_root_get_max_defer(ob->ob_root);
if ((su_duration_t)interval >= max_defer) {
interval -= max_defer - 100;
}
ob->ob_keepalive.timer =
su_timer_create(su_root_task(ob->ob_root), interval);
su_timer_deferrable(ob->ob_keepalive.timer, 1);
}