I just made more tests trying to control the transport from the param. I then realized that support for NAPTR in the Contact is not making sense because we should use the transport used by the received request. Remote UACs should be doing SRV lookups even if the transport is specified, unless you know otherwise. I have reached the conclusion that the best option is to use the port and transport from RR. At this point I do not see any limitations with this way of doing things.