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