[Devel] lumps

Marco Holmer holmer at comdasys.com
Thu Sep 7 11:13:51 CEST 2006


Hi developers,

I was trying to find about rewriting (or inserting if necessary) of the 
Contact header's URI parameter "transport". As I could not find anything 
about it I implemented a function myself, but I am having trouble with 
the data lump system.
The function works fine so far, but if some changed the URI beforehand, 
eg. with fix_nated_contact, the URI parsing results in a sip_uri struct 
with its pointer (such as host, port, ...) pointing into the lump so 
inserting a new lump fails as the anchor postiion lies somewhere outside 
the original message.

Is there a general way to cope with this - e.g. traversing all lumps and 
changing the buffers manually, which sort of undermines the whole 
purpose of having parsing functionality?

Only thing I could find is a check on the position of the parsed URI 
pointers in fix_nated_contact, which disallows any additional call to 
the function (the easy way).
But I want to allow the fix_nated_contact function + changing the 
transport param.
Maybe I have overseen something obvious?

Thanks in advance,
Marco Holmer




More information about the Devel mailing list