[SR-Users] why msg_apply_changes() from REQUEST_ROUTE only

Daniel-Constantin Mierla miconda at gmail.com
Fri Feb 5 17:44:45 CET 2016



On 05/02/16 09:16, smititelu wrote:
> On 21.12.2015 10:48, Daniel-Constantin Mierla wrote:
>> Hello,
>>
>> in failure route the sip message is cloned in shared memory, with
>> many references to shared memory buffer, as well as shorter size
>> (just to fit the sip message) of the buffer storing the message (the
>> core used a private memory buffer to max capacity configured for
>> message size).
>
> I'm not sure where to I start working on this. Can you give some tips
> on the places/functions to look on and try to extend for failure routes?

First to look at is how the transaction structure is created -- see
t_newtran() as a starting point. Updating the content of the sip request
requires to do changes in the 'uas' structure of the transaction.

It may simplify by allocating more than the message buffer for the clone
in shared memory for transaction and then be sure that updated request
doesn't exceed the allocated buffer. Still, some other fields need to be
updated as well, as they point to the values inside the previous sip
message content.

Cheers,
Daniel

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio - http://www.asipto.com
http://miconda.eu

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20160205/59d0e8df/attachment.html>


More information about the sr-users mailing list