Looking for ktcpvs but not quite

Wensong Zhang wensong at linux-vs.org
Mon Jan 17 05:30:32 GMT 2005



Hello,

On Thu, 13 Jan 2005, Erik Versaevel wrote:

>
> I'm currently trying to create a loadbalacing SIP (voip protocol) cluster,
> however for this to work I need SIP messages from the same call (identifiable
> by the sip callid field) to get to the same realserver over and over again.
> (so, I need persistence based on the contents of the SIP Call-ID field). This
> would call for ktcpvs as we need to process packets at layer 7, however that
> poses 2 new problems, the first is that SIP uses clear text  UDP messages,
> not tcp and the second is that there are no SIP modules for ktcpvs.
>

We cannot use ktcpvs, because ktcpvs supports TCP only, and there is no
SIP modules for TCP transport.

> Another option would be to mark SIP packets with iptables/netfilter 
based on
> the callid, however i run into the same problem, there are no modules to
> accomplish this.
>

The firewall marking doesn't solve the problem. However, we can write a 
special SIP UDP scheduling module for IPVS. It can detect the Call-Id from 
UDP packet and send it to the SIP server according to the recorded Call-Id 
table. We assume that there is no UDP fragments. Some NAT boxes (such as 
early IOS version of Cisco router) may drop UDP fragements except the 
first one.

Regards,

Wensong


More information about the lvs-users mailing list