[OpenSIPS-Users] newtran() limitations

Bogdan-Andrei Iancu bogdan at voice-system.ro
Wed Oct 7 16:50:03 CEST 2009


Hi Stan,

Just to explain you want actually happens when you do t_newtran() :

This function forces the creation of the transaction (which otherwise is 
automatically done by functions like t_relay() and t_reply() ). Part of 
creating the transaction is cloning of the current request into shared 
memory (cloned from pkg into shm). We need this copy in transaction (is 
shared mem) as the processing of this request may continue in a failure 
route (somewhere later, in other process).

So, the warning is about this cloning/copy action - the request, as it 
is at that moment, will be copied into shm for later usage - 
whenever/whenever you do use later the transaction, you will see the 
message (and its changes) from the cloning time. Changes that are copies 
at cloning time are the lumps (changes on the textual level). Other 
things like flags, RURI are updated in transaction at t_relay() time.

Hope this story will answer your questions :)

Regards,
Bogdan

Stanisław Pitucha wrote:
> Hi,
>
> I'd like to know what exactly does this note mean: (from the documentation)
>
> "NOTE that the changes on the request that are made after this
> function call will not be saved into transaction!!!"
>
> What is the limitation in practice / what is saved into transaction.
> In details - if I have an INVITE packet and call t_newtran() on it:
> - will modification of the message body take effect on t_relay()?
> (done both before and after newtran)
> - will modification of $ru and $du have any effect after newtran()
> - what other scenarios should I think about that might be affected?
>
>   




More information about the Users mailing list