netfilter: nf_conntrack_sip: restrict RTP expect flushing on error to last request
authorPatrick McHardy <kaber@trash.net>
Thu, 8 May 2008 08:15:21 +0000 (01:15 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 8 May 2008 08:15:21 +0000 (01:15 -0700)
commitef75d49f116bccbb80bccd423ecf3cb86c4509a5
tree9aad710282284d7f7ac97dac1f23428c3787dc3e
parent7312096454b6cd71267eaa3d0efb408e449e9ff3
netfilter: nf_conntrack_sip: restrict RTP expect flushing on error to last request

Some Inovaphone PBXs exhibit very stange behaviour: when dialing for
example "123", the device sends INVITE requests for "1", "12" and
"123" back to back.  The first requests will elicit error responses
from the receiver, causing the SIP helper to flush the RTP
expectations even though we might still see a positive response.

Note the sequence number of the last INVITE request that contained a
media description and only flush the expectations when receiving a
negative response for that sequence number.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/netfilter/nf_conntrack_sip.h
net/netfilter/nf_conntrack_sip.c