Russ Daigle wrote:
Hi Klaus,
Thanks for the insightful response.
Is that truly a MUST in the RFC definition of the word? (I couldn't find the sections in the RFC that you alluded to.)
12.2.1.1 Generating the Request
I see other call flows in the basic call flows RFC does as you mention. My concern is that stateless or transaction stateful proxies may not now how to forward the "alice@192.168.0.3:5070" request; in
it is simple - just forward to 192.168.0.3:5070. Every proxy can do this.
fact, it is likely they won't!
All the information needed for routing is available. the final destination is in the request URI and the intermediate hops are in the Route headers.
I presume my client should only do as you mention if the client is going to contact the other endpoint directly for the rest of the dialog
wrong
(rather than going through the proxy)? Sending a message to the proxy where request-URI mentioned an IP address the proxy doesn't know is bad,
no, it is good. The proxy does not have to lookup the location of the request URI again. It it works also in cases where for example the BYE is routed through other proxies.
and furthermore specifying a port in the request-URI that is not the same as the port for proxy is listening on also sounds bad.
it is the port where the client is listening - the request URI is the final destination. In your scenario, when you insert again the AoR in the request URI, the proxy is unable to forward.
Especially remember in this case there was a record-route: forcing to continue going through the proxy!!!! Therefore, I would think that changing the request-URI could cause problems with the proxy.
My clients do change the request URI and I have no problems in the proxy. Your client does not change the request URI and has problem in the proxy....so guess who is right ;-)
If the record-route headers were not present (other cases I'm testing), would it be permissible for me to continue going though the proxy
you could do and maybe it works, but there is no guarantee as it is not standard conform.
anyways rather than reverting to sending directly to the endpoint for the remainder of the dialog????
regards klaus