--On 21 June 2004 13:02 +0100 Linus Surguy <linus(a)magrathea-telecom.co.uk>
wrote:
Thanks all (especially Alex), I know now why, and it
does seem that the
'NAT' device - in this case a Draytek Vigor ADSL router is rewriteing the
SIP packet incorrectly. However, if I wanted to be tolerant of this, is
there a way to instruct SER to re-evaluate the 'content-length' and
rewrite it correctly?
You might be better fixing the Draytech - who knows what information the
NAT box is losing. The problem you have here is it's done 3 rewrites (Via,
Call-ID, & RTP o=) each adding five characters but only added 10 to
Content-Length; I expect you can imagine the piece of C doing this and that
one of those rewrites isn't incrementing Content-Length. Quite why it feels
the need to rewrite Call-ID I dunno, & if the ATA-186 lets you set a
call-ID string after the "@" then you have a 1 in 3 chance of fixing this
that way! I've had relatively good success upgrading software on such boxes
and finding the new s/w magically fixes things. Alternatively, you may find
a new ADSL router costs less than the coding effort involved in fixing this
(I suppose you could put it through exec and a piece of perl to rewrite the
content length field if it is wrong, but then you have no protection when
it actually is wrong).
Alex