Re: Adapting LVS in order to allow Call-Id based persistence

To: pierrick grasland <pierrick.grasland@xxxxxxxxx>
Subject: Re: Adapting LVS in order to allow Call-Id based persistence
Cc: Simon Horman <horms@xxxxxxxxxxxx>, lvs-devel@xxxxxxxxxxxxxxx
From: Joseph Mack NA3T <jmack@xxxxxxxx>
Date: Thu, 3 Apr 2008 08:20:28 -0700 (PDT)
On Thu, 3 Apr 2008, pierrick grasland wrote:

1) IMHO, we don't have to allow persistence for more than a call .

I'm hoping to detect a call Id, set a timer for this call Id,
corresponding to persistence. But a phone call as a very variable
time, from short call (less than 30s) to long call (more than 15
minutes, and my stats are only based on my bills ^^).

does the call id get refreshed during the call, ie is it sent with every packet, ie can you update the timer? If not and it's only sent on the invite and bye, then you don't know if the call has gone away without a bye and you'll need a long timeout.

Then, we don't have SIP messages exchanged during the length of the
communication, which use RTP. But, we must transfer the BYE in order
to close the call.

what if you loose the BYE packet?

I think we have several options here :
- hash (seems practical, but I don't know how it's react in case of
addition / deletion of server)
- timers
- parsing sip headers in order to detect call terminaison, which seems
totally impractical with a DR setup (we don't see all messages
exchange from the 2 clients)

LVS-DR is doable as the IP layer has fixed timeouts. If the information you need to terminate a call isn't available in LVS-DR, then maybe SIP will be limited to LVS-NAT. Alternately you could start with LVS-NAT and leave LVS-DR to be figured out later.

Joseph Mack NA3T EME(B,D), FM05lw North Carolina
jmack (at) wm7d (dot) net - azimuthal equidistant map
generator at
Homepage It's GNU/Linux!
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at

<Prev in Thread] Current Thread [Next in Thread>