Hi Yuriy
This looks promising. I was able to set $ru and then add branches to only send the calls from the registrar with a valid socket.
But I fear: append_branch($(ulc(aor=>addr)[$var(i)])) is not correct in NAT situation.
aor=>received is probably the one to use, but does not contain the username part. And also I probably lost that full NAT automation.
I also observed that the sending socket is not preserved. In my case I have to tcp sockets: 8080 where I run the xhttp api, not used for sip, and 5060. The outgoing call originates from 8080. So it is definitely not reusing the existing TCP connection.
Do I have to set $fs? But how do I set this only for a specific branch? Assume I have multiple contacts, some using TCP other UDP or TLS.