Hi all,

I'm currently adding a feature to our Kamailio configuration to fork calls based on user agent.

To do so I'm getting the registered endpoints with reg_fetch_contacts() iterating through and matching on them, then using seturi() / append_branch() and setting the dst-uri and flags as required.

However, calls are intermittently going to the wrong TCP connection, despite the logs showing the correct destination IP and port in the ONSEND route.

Looking in the location table I can see each registration has a connection_id, and the debug log indicates it's finding the connection by ID:

 DEBUG: <core> [core/tcp_main.c:1651]: _tcpconn_find(): found connection by id: 3

Is there a way to set the conid per branch? Is it necessary?

We're using kamailio 5.3.3 on Debian 10.

Thanks
Matthew