Re: [reSIProcate-users] Diversion header is being put after Content-Length
Hello Byron,
In my experience there are proxies that want the Content-Length header last
even when using UDP. Even though it is not a requirement from the RFC, all the
examples in the RFC have it last and some implementations depend on this so I
would think this will be a good interoperability fix.
Brocha
-----Original Message-----
From: Byron Campen [mailto:bcampen@xxxxxxxxxxxx]
Sent: Monday, May 04, 2009 8:40 PM
To: Brocha Strous
Cc: resiprocate-users@xxxxxxxxxxxxxxx
Subject: Re: [reSIProcate-users] Diversion header is being put after
Content-Length
The order in which headers are emitted by resip is determined by the
enum in HeaderTypes.hxx, but I am not seeing a declaration for the
Diversion header in there. Unknown headers are always encoded last, so
you'd need to go in and hack the code in SipMessage::encode to fix it.
I suppose what you could do is change SipMessage::encode() such that,
instead of encoding the Content-Length header in the iteration, you
move the special-case code in the else block for Content-Length after
the unknown headers are encoded.
Are these proxies complaining because they expect the Content-Length
header to be the last in the message? If so, it may be worthwhile to
apply this fix to mainline resip to ease interop problems. Has anyone
else encountered this sort of problem?
Best regards,
Byron Campen
> Hello,
> I have a proxy built on a relatively old version of the resiprocate
> stack. (SVN revision 7570). I cannot at this time update to the head
> of the development tree. An INVITE message coming in with a
> "Diversion" header when the INVITE is forwarded to the next hop the
> Diversion header is placed AFTER the Content-Length header which
> some of the receiving proxies don't like. Is there an easy way to
> solve this problem and leave the Diversion header where it is in the
> incoming message (or at least somewhere before the Content-Length)?
>
> Thanks,
> Brocha
> _______________________________________________
> resiprocate-users mailing list
> resiprocate-users@xxxxxxxxxxxxxxx
> List Archive: http://list.resiprocate.org/archive/resiprocate-users/