Hello,
On 15/10/14 20:36, Charles Chance
wrote:
Hi Daniel,
t_replicate() create the transaction for the respective requests (if
the transaction doesn't exist already). Creation of the transaction
involves cloning to shared memory the sip_msg_t structure. If you
update the forced socket to dmq server address for the request, it
gets in shared memory with the new value, which may be wrong for
further processing of the message in branch/failure routes.
My suggestion is to check if transaction exists and if not, first
create it and then backup socket, update it for dmq address, do the
replication and restore the socket from backup (note that the dmq
the function will still use the sip_msg_t from private memory even
after creating the transaction).
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda