Description

We've got a situation where we use t_send_reply() to generate early 100 Trying, before an operation that might have a small delay. The result of this operation might lead to a change which adds parameters to ruri-user. This works as expected for normal operations, but when calling ds_next_dst()/ds_next_domain() the change to $rU is lost.

Troubleshooting

I then noticed that this is because t_send_reply() indirectly does a t_newtran() before change to $rU. If it's done in the opposite order, everything works as expected.

A workaround is to use for example sl_send_reply() and t_set_auto_inv_100(0), which works for me.
However, I'm unsure if this revert of user is expected behaviour?

Reproduction

$rU = $rU + ";npdi";
..
ds_select_dst(..);
then trigger a condition which executes failure_route and then use ds_next_dst() to fork serially.
$rU is then reverted to the original value in outgoing INVITE.

Additional Information

Reproduced in master.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <kamailio/kamailio/issues/3388@github.com>