inline. Bob Penfield wrote:
The UAC may not know that, though. Indeed, the spec does say that the Route headers would be present in the recursed request. From 8.1.3.4:inline ----- Original Message ----- From: "Paul Kyzivat" <[EMAIL PROTECTED]>Bob - I have one question about your answer. See inline. Paul Bob Penfield wrote:If I understand what you are trying to do, your redirect server is essentially the "outbound proxy" for your client UA. What you want to doisinsert a Route header in the request with the address/host of yourredirectserver (see section 8.1.2 of RFC 3261). Note that this Route headershouldhave the "lr" parameter to conform to the loose routing described in RFC 3261. The Request-URI will be the intended destination (likely matchingtheTo header). The stack should look for the top Route header to determine where to send the request. If there is no Route header, then it sends ittothe address/host in the Request-URI. The redirect server should recognize that the Route header is itself and strip it (in accordance with section 16.4). It would then use the Request-URI the figure out where to redirect the request. When the client gets the redirect response, it would replace theRequest-URIwith the value from the Contact header. The new request would notincludethe Route header pointing at the redirect server that the originalrequesthas so that the stack would send it to the address/host in theRequest-URI.If the client is treating the server as an outbound proxy, by using a preloaded Route header, why would it decide not to use the same preloaded route header when sending to the redirected address?You could certainly do that, but I if that server is just a redirect server and not a proxy, there is no need to send the subsequent request back thru the server.
> In all other respects, requests sent upon receipt of a redirect
> response SHOULD re-use the header fields and bodies of the original
> request.
Local outbound redirect servers, IMHO, are a bad idea, because they can cause a ping-ponging effect.
anyway, to address the original question:
The To and Request-URI do not have to be the same. For the very first initial request, you take the To field, and then place that in the request URI. However, as the request is processed, the request-uri changes to reflect the next hop to be contacted. Section 8.1.3.4 details how to generate a recursed request.We then get a reply back from the redirect server that the contact has moved (it's a redirect server...) with the new address in the contact field. The we write a new request uri and sends it to the stack again. The stack writes it to the network using the new request uri as destination address. But if the request uri and to-header should be the same, where do I specify the actuall address for sending it? The to-header will contain the final destination, so the request uri will contain the same.
-Jonathan R.
--
Jonathan D. Rosenberg, Ph.D. 72 Eagle Rock Ave.
Chief Scientist First Floor
dynamicsoft East Hanover, NJ 07936
[EMAIL PROTECTED] FAX: (973) 952-5050
http://www.jdrosen.net PHONE: (973) 952-5000
http://www.dynamicsoft.com
_______________________________________________
Sip-implementors mailing list
[EMAIL PROTECTED]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
