[OpenSIPS-Users] Dispatcher ds_next_dst, Call-ID/Tags uniqueness and RFC
darencrew at hotmail.com
Tue Oct 10 14:19:32 UTC 2023
I successfully implemented OpenSIPS with dispatcher and failover routes but an upstream provider complains about duplicates requests they receive.
After investigations, when a gateway reports an error, like 402, the failure route is triggered and ds_next_dst is used in order to find another gateway and try it.
Doing this work as expected, but, for the provider, because none of Call-ID/To Tag/From Tag change, they consider the requests as dupes.
My reading of RFC3261 is that it is compliant as the call is always the same and so, there is no need to change anything in none of these parameters.
RFC says the cases (401, 413, 415, 416 and 420) where these 3 parameters MUST not change, but nothing tells they have to change in any other 4XX cases.
I made many searches on this subject, nothing helped me on this issue.
I made searches in OpenSIPS code to find what can eventually trigger changes on any of these parameters, without success.
I found some other implementations of failover routes:
- using AVP containing several gateways, and calls to append_branch() and serialize_branches()
- carrier route module request append_branch
but according to my readings, dispatcher already internally implements append_branch and other requested calls and so, they shouldn’t be called manually in script
What are your thinkings about the RFC rules about failover requests and Call-ID/To tag/From tag uniqueness requirement?
What would you do in order requests not to be identical when trying upstream routes with dispatcher module?
Thank you for your comments.
More information about the Users