inline.

Bob Penfield wrote:
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 do

is

insert a Route header in the request with the address/host of your

redirect

server (see section 8.1.2 of RFC 3261). Note that this Route header

should

have the "lr" parameter to conform to the loose routing described in RFC
3261. The Request-URI will be the intended destination (likely matching

the

To 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 it

to

the 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 the

Request-URI

with the value from the Contact header. The new request would not

include

the Route header pointing at the redirect server that the original

request

has so that the stack would send it to the address/host in the

Request-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.
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:

> 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:
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.
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.

-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

Reply via email to