Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modified ruri-user and dispatcher failover #3388

Closed
mtryfoss opened this issue Mar 4, 2023 · 2 comments
Closed

Modified ruri-user and dispatcher failover #3388

mtryfoss opened this issue Mar 4, 2023 · 2 comments

Comments

@mtryfoss
Copy link
Member

mtryfoss commented Mar 4, 2023

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.

@henningw
Copy link
Contributor

henningw commented Mar 8, 2023

If I understand your scenario correctly, this is expected and documented behaviour:
"Note that whenever failure_route is entered, uri is reset to value which it had on relaying."
https://www.kamailio.org/docs/modules/devel/modules/tm.html#tm.f.t_on_failure

@mtryfoss
Copy link
Member Author

Sorry, missed that info.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants