/[resiprocate]/main/resip/dum/KeepAliveManager.cxx
ViewVC logotype

Log of /main/resip/dum/KeepAliveManager.cxx

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 10080 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 25 22:08:06 2013 UTC (6 years, 7 months ago) by dpocock
File length: 8454 byte(s)
Diff to previous 10076
resip/dum: KeepAliveTimeout: use isReliable instead of hard-coded list of transport types (fix typo)

Revision 10076 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 25 21:41:04 2013 UTC (6 years, 7 months ago) by dpocock
File length: 8453 byte(s)
Diff to previous 9094
resip/dum: KeepAliveTimeout: use isReliable instead of hard-coded list of transport types

Revision 9094 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 31 20:03:40 2011 UTC (8 years, 7 months ago) by sgodin
File length: 8444 byte(s)
Diff to previous 9050
-make sure keepalive manager is only expecting pong responses on TCP and TLS transports

Revision 9050 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 5 17:06:07 2011 UTC (8 years, 8 months ago) by sgodin
File length: 8246 byte(s)
Diff to previous 9033
-added client and server(repro) side support for RFC5626 (outbound) Flow-Timer header
-Server side (repro)
  -added new Header Flow-Timer to HeaderHash
  -two new InteropHelper settings: 
     -setFlowTimerSeconds - if set to greater than 0 then a Flow-Timer header is 
      added to local generated REGISTER/200 response or a proxied one if outbound 
      is being used (this is the edge proxy case)
     -setFlowTimerGracePeriodSeconds - this value is used by the stack to decide 
      when connections that are using a flow-timer have timed out.  Default is 10 seconds.
  -added a new ConnectionManager::EnableAgressiveGc static member setting - if enabled 
   this will cause the connection garbage collection to run every time a new connection 
   is formed, instead of just when we run out of FD's
  -added a new enableFlowTimer method on the SipStack - this takes a Tuple parameter 
   and will "tag" the specified connection as being one in which we want to implement 
   flow-timer timeout logic on
  -modified the connection manager to keep two LRU lists - one for flow-timer enabled 
   connections and another generic one - this is to facilitate fast timeouts of flow-timer 
   enabled connections (ones where we know it is safe to expect keepalives and ones where 
   we have provided the keepalive timer value to the farend in a Flow-Timer header), and 
   a different connection timeout for non flow-timer enabled connections
  -added IntrusiveListElement3 in order to support Connection being a member in 4 different
   Intrusive lists
  -new commandline option to repro --flow-timer=X - that will enable the following settings:
   - ConnectionManager::EnableAgressiveGc
   - InteropHelper::setFlowTimerSeconds(X)
   - ConnectionManager::MinimumGcAge = 7200000; // Timeout connections not related to a flow 
                                                // timer after 2 hours of inactivity
-Client side (dum)
  - The Flow-Timer header will be read from Registration responses that have an indication 
    that the first hop proxy supports outbound
  - Flow-Timer value is then used in place of the profile keepalive timeout settings
  - If a keepalive is for an "outbound" enabled connection, then the keepalives are sent
    sometime between 80% and 100% of either the Flow-Timer header (if present) or the 
    configured keepalive time - as specified in RFC5626



Revision 9033 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 27 17:17:15 2011 UTC (8 years, 8 months ago) by sgodin
File length: 7594 byte(s)
Diff to previous 9005
-merge work from b-client-outbound-20110213 - client outbound support (RFC 5626)
   - New UserProfile settings
      - clientOutboundEnabled
      - setRegId
   - UserProfile now tracks flow used at registration time if server indicates outbound support, and 
     all usages that are assigned the same UserProfile will use this flow
   - ;ob parameter is added to contact headers of non-REGISTER requests if clientOutboundEnabled
   - ;reg-id parameter is added to contact headers of REGISTER requests if configured
   - ;+sip.instance is added to all contact headers if configured
   - ClientRegistration tagContact is now static and is used in RegistrationCreator for consistency
   - Keep alive pong responses are now routed from Stack to DUM Keepalive Manager
   - DUM Keep alive manager will terminate flows if a pong response is not received from 
     an outbound enabled connection after a default of 10 seconds
   -removed a bunch of non-implemented methods from DialogUsageManager.hxx
   -optimized some accesses to user profile from usages
   -added new makeInviteSession calls that accept an InviteSessionHandle and add an appropriate replaces header
   -treat internal 503 errors the same as 408 errors when dispatching onRequestRetry callback for
    ClientRegistration, ClientSubscription and ClientPublication
      - allows retry logic that is consistent when using both UDP or TCP/TLS transports
      - note:  TCP/TLS transports get a 503 error when they cannot connect, UDP transports typically
               get a 408 error when the far end is not present
   -ClientRegistration changes to ensure calling requestRefresh will not assert in any state
      - allow calling requestRefresh while a retry timer is running to request an immediate retry 
   -created onFlowTerminated callbacks on:
      - ClientRegistrationHandler - default implementation is to retry registration immediately
      - InviteSessionHandler - current default implementation is to do nothing
      - ServerSubscriptionHandler - default implementation is to end the Subscription
      - ClientSubscriptionHandler - default implementation is to reSubscribe (new Dialog)
   -fix for ContactInstanceRecord equality checks - registration server was not treating contacts with the same
    instance id as equal if the contact URI was different

Revision 9005 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 6 23:09:23 2011 UTC (8 years, 9 months ago) by sgodin
File length: 5064 byte(s)
Diff to previous 7200
-repro fix - don't added Supported: Path header if already present
-repro fix - look for outbound parameter in correct location (p_ob) 
  - it is a URI parameter, not a NameAddr parameter 
  - was causing incorrect 439 "first hop doesn't support outbound" errors
-Dum Keepalive Manager - improvements for TCP/TLS
  - We now track unique Network Associations per transport transport type, transport family, 
    target ip addr, target port, and source/transport flow key
    This means that if we have two different TCP connections to the same destination, 
    each originating from a different NIC, then we will send keepalives on each separately.
    For UDP, this is not currently the case, when the transport is bound to any interface
    (ie. 0.0.0.0), as the flow key will be same regardless of the source interface used to
    send the UDP message - fixing this for UDP remains an outstanding item.
-modified stack to return a 430 to the TU if connection is not found and onlyUseExistingConnection 
 is true

Revision 7200 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 4 16:04:25 2007 UTC (12 years, 4 months ago) by sgodin
File length: 5064 byte(s)
Diff to previous 5948
-comment cleanup

Revision 5948 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 17 15:30:16 2006 UTC (13 years, 9 months ago) by dworley
File length: 5064 byte(s)
Diff to previous 5929
Setting more svn: properties, and adding EOLs to the ends of files
that need it.


Revision 5929 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 16 22:36:43 2006 UTC (13 years, 9 months ago) by dworley
File length: 5064 byte(s)
Diff to previous 5790
Start cleaning up svn:eol-style and EOLs in files.
Note that text and program files that can be used on both Un*x and Windows
should have svn:eol-style=native so they check out correctly on both
platforms.


Revision 5790 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 13 18:09:19 2006 UTC (13 years, 10 months ago) by daniel
File length: 5064 byte(s)
Diff to previous 5657
Added an identifier to each KeepAliveTimeout message. This prevents multiple keepalives to the same target.

Revision 5657 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 16 15:58:17 2005 UTC (14 years ago) by sgodin
File length: 4475 byte(s)
Diff to previous 5295
- removed some logging and adjusted some levels

Revision 5295 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 22 00:30:05 2005 UTC (14 years, 3 months ago) by jason
File length: 4474 byte(s)
Copied from: branches/b-directory-reorg/resip/dum/KeepAliveManager.cxx revision 5294
Diff to previous 5283
merged 5270:HEAD from b-directory-reorg

Revision 5283 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 19 01:27:14 2005 UTC (14 years, 3 months ago) by derek
Original Path: branches/b-directory-reorg/resip/dum/KeepAliveManager.cxx
File length: 4474 byte(s)
Diff to previous 5276
finished resip/sip -> resip/stack rename

Revision 5276 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 19 00:23:17 2005 UTC (14 years, 3 months ago) by jason
Original Path: branches/b-directory-reorg/resip/dum/KeepAliveManager.cxx
File length: 4470 byte(s)
Diff to previous 5273
compiles now

Revision 5273 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 18 23:50:54 2005 UTC (14 years, 3 months ago) by jason
Original Path: branches/b-directory-reorg/resip/dum/KeepAliveManager.cxx
File length: 4501 byte(s)
Diff to previous 5272
initial reorg - more to come

Revision 5272 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 18 23:49:50 2005 UTC (14 years, 3 months ago) by jason
Original Path: branches/b-directory-reorg/resip/resiprocate/dum/KeepAliveManager.cxx
File length: 4501 byte(s)
Diff to previous 5271
initial reorg - more to come

Revision 5271 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 18 23:43:07 2005 UTC (14 years, 3 months ago) by jason
Original Path: branches/b-directory-reorg/sip/resiprocate/dum/KeepAliveManager.cxx
File length: 4501 byte(s)
Diff to previous 4628
new directory reorg proposal

Revision 4628 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 13 02:37:53 2005 UTC (14 years, 6 months ago) by rjsparks
Original Path: main/sip/resiprocate/dum/KeepAliveManager.cxx
File length: 4501 byte(s)
Diff to previous 4602
Removed the "executable" property from these source files
_M   resiprocate/GenericIPAddress.hxx
_M   resiprocate/ConnectionBase.cxx
_M   resiprocate/KeepAliveMessage.hxx
_M   resiprocate/TuSelector.hxx
_M   resiprocate/os/AsyncProcessHandler.hxx
_M   resiprocate/dum/KeepAliveTimeout.cxx
_M   resiprocate/dum/NetworkAssociation.cxx
_M   resiprocate/dum/KeepAliveTimeout.hxx
_M   resiprocate/dum/NetworkAssociation.hxx
_M   resiprocate/dum/KeepAliveManager.cxx
_M   resiprocate/dum/test/fullHeaders.bytes
_M   resiprocate/dum/KeepAliveManager.hxx
_M   resiprocate/InternalTransport.hxx
_M   resiprocate/external/ExternalTimer.hxx
_M   resiprocate/KeepAliveMessage.cxx
_M   resiprocate/ConnectionBase.hxx
_M   resiprocate/InternalTransport.cxx


Revision 4602 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 12 01:27:52 2005 UTC (14 years, 6 months ago) by derek
Original Path: main/sip/resiprocate/dum/KeepAliveManager.cxx
File length: 4501 byte(s)
Diff to previous 4599
added missing vocal licences

Revision 4599 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 11 23:10:19 2005 UTC (14 years, 6 months ago) by derek
Original Path: main/sip/resiprocate/dum/KeepAliveManager.cxx
File length: 2127 byte(s)
Diff to previous 4362
set svn:eol-style to LF

Revision 4362 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 14 19:52:31 2005 UTC (14 years, 7 months ago) by sgodin
Original Path: main/sip/resiprocate/dum/KeepAliveManager.cxx
File length: 2127 byte(s)
Diff to previous 4113
timers, KeepAliveManager, and usage destruction fixed (broken from lastest merge)
shutdown message routing is still an issue - dum does not shutdown correctly

Revision 4113 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 1 18:12:59 2005 UTC (14 years, 7 months ago) by sgodin
Original Path: main/sip/resiprocate/dum/KeepAliveManager.cxx
File length: 1979 byte(s)
Diff to previous 4062
Allow KeepAliveInterval to be specified in Profile.  0 = disabled.  A keep alive manager must be added to DUM for it work.

Fix a bug with networkassociation reference counting and keep alive messages not stopping.

Revision 4062 - (view) (download) (annotate) - [select for diffs]
Added Sun Mar 27 02:00:20 2005 UTC (14 years, 7 months ago) by derek
Original Path: main/sip/resiprocate/dum/KeepAliveManager.cxx
File length: 1477 byte(s)
pluggable keep-alive manager; provided implementation sends a keep-alive every 20 seconds
Security::preload now run in SipStack's constructor, if a sec. object is provided
eol convenction & #define fixes

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

webmaster AT resiprocate DOT org
ViewVC Help
Powered by ViewVC 1.1.27