On 19.07.17 09:09, Juha Heinanen wrote:
Juha Heinanen writes:
If Request-URI hostpart is a domain name with more than one SRV record, it appears that each SRV destination creates its own Kamailio branch. If branch route is set before t_relay(), it is executed only on the first SRV destination. If the first SRV destination fails, Kamailio tries automatically the second one, but any branch flags set in the branch route are lost.
Is the above the intended behavior in general? It seems a bit weird that K does automatic serial forking to SRV destinations without executing the branch route set before t_relay() for each of them.
AFAIK, this was the implementation from the first time of DNS SRV serial forking.
Btw, is the branch index changed, or is reusing the same branch (is the branch param in Via chaging for each leg sent out)?
Anyhow, changing the current behaviour would require c coding in tm. Probably not that much.
Due to poor implementation of DNS SRV in the past and problems with propagation, I tried to avoid it as much as possible. But I have several deployments where it works fine, so all should be ok with it, however I didn't need any customization for related branches.
Cheers, Daniel