Skip to contentSkip to conversation

Connection tracking: New SIP ALG that actually works

PATCH In review Carlos Munoz 2 participants 4 messages Apr 17, 2007 – Apr 18, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Connection tracking: New SIP ALG that actually works

This is a SIP ALG that actually works. It has been tested extensively with Asterisk, Vonage, and other SIP servers. It allows for VOIP applications to run on the router itself as well as behind the router. We have been shipping this SIP ALG for some time now. We tested the SIP ALG distributed with kernel 2.6.20.4 and it didn't work (none of the SIP ALGs distributed with the kernel that we've tested have ever worked).

include/linux/netfilter_ipv4/ip_conntrack.h +2 -0
diff -uNpr 2.6.20.4.orig/include/linux/netfilter_ipv4/ip_conntrack.h 2.6.20.4/include/linux/netfilter_ipv4/ip_conntrack.h
@@ -34,6 +34,7 @@ union ip_conntrack_expect_proto {
 #include <linux/netfilter_ipv4/ip_conntrack_amanda.h>
 #include <linux/netfilter_ipv4/ip_conntrack_ftp.h>
 #include <linux/netfilter_ipv4/ip_conntrack_irc.h>
+#include <linux/netfilter_ipv4/ip_conntrack_sip.h>
 
 /* per conntrack: application helper private data */
 union ip_conntrack_help {
@@ -42,6 +43,7 @@ union ip_conntrack_help {
 	struct ip_ct_pptp_master ct_pptp_info;
 	struct ip_ct_ftp_master ct_ftp_info;
 	struct ip_ct_irc_master ct_irc_info;
+	struct ip_ct_sip_master ct_sip_info;
 };
 
 #ifdef CONFIG_IP_NF_NAT_NEEDED
include/linux/netfilter_ipv4/ip_conntrack_sip.h +40 -34

80 lines not on this page · raw message

net/ipv4/netfilter/ip_conntrack_sip.c +381 -452

901 lines not on this page · raw message

net/ipv4/netfilter/ip_nat_sip.c +518 -207

800 lines not on this page · raw message

#1 lore raw
Quoted 6 lines · Carlos Munoz

This is a SIP ALG that actually works. It has been tested extensively with Asterisk, Vonage, and other SIP servers. It allows for VOIP applications to run on the router itself as well as behind the router. We have been shipping this SIP ALG for some time now. We tested the SIP ALG distributed with kernel 2.6.20.4 and it didn't work (none of the SIP ALGs distributed with the kernel that we've tested have ever worked).

What you should have done is report the problems you were seeing or send patches for the existing version. We're not going to just toss in a huge rewritten version, especially not since you're reintroducing a lot of bugs and do lots of things that only work on 2.4.

#2 lore raw
Quoted 11 lines · Patrick McHardy
Quoted 7 lines · Carlos Munoz

This is a SIP ALG that actually works. It has been tested extensively with Asterisk, Vonage, and other SIP servers. It allows for VOIP applications to run on the router itself as well as behind the router. We have been shipping this SIP ALG for some time now. We tested the SIP ALG distributed with kernel 2.6.20.4 and it didn't work (none of the SIP ALGs distributed with the kernel that we've tested have ever worked).

Quoted 6 lines

What you should have done is report the problems you were seeing or send patches for the existing version. We're not going to just toss in a huge rewritten version, especially not since you're reintroducing a lot of bugs and do lots of things that only work on 2.4.

Hi Patrick,

I understand. We've had our sip alg before one was distributed with the kernel sources. When we upgrade to new kernel versions we regression test all features and the sip alg has always failed. So we keep using our sip alg. Management won't allocate resources to fix the sip alg in the kernel when ours works. However, that might change if our sip alg stops working.

Carlos Munoz

#3 lore raw
Quoted 8 lines · Carlos Munoz
Quoted 4 lines · Patrick McHardy

What you should have done is report the problems you were seeing or send patches for the existing version. We're not going to just toss in a huge rewritten version, especially not since you're reintroducing a lot of bugs and do lots of things that only work on 2.4.

Quoted 6 lines

I understand. We've had our sip alg before one was distributed with the kernel sources. When we upgrade to new kernel versions we regression test all features and the sip alg has always failed. So we keep using our sip alg. Management won't allocate resources to fix the sip alg in the kernel when ours works. However, that might change if our sip alg stops working.

I see. It will stop working in 2.6.22 since we're going to remove ip_conntrack, so you will at least have to port it to nf_conntrack when you upgrade your kernel. Of course it would be very much appreciated if you can convince your management to fix the version in the kernel instead :)