You need to extend both usrloc and nathelper. usrloc has to pass both contact and received
fields.
The data passed from usrloc to nathelper is done by printing in a buffer the size of the
field (as integer, in 4 bytes) followed by the field value. Both modules must use the same
order of the fields (usrloc to write, nathelper to read). usrloc must be extended in both
functions: the one fetching from database and the one fetching from memory.
In usrloc, you can look at how path is added, same should be done for received. In
nathelper, if path is not set, then the destination is taken from received if set, if not
from contact.
The new parameter might not be needed afterwards, as the r-uri for options should be
always the contact address.
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/31#issuecomment-73602347