Subject: [SIP] sending requests to proxy servers and registrars

From: "Garret Wilson" <[email-masked]>
Date: Tue, 22 Aug 2000 12:20:06 -0700

Everyone,

There's a small thing I don't understand about calling proxy servers and
registrars. I'm sure there's some small thing which I'm missing, and if
anyone can clear it up I'd appreciate it.

[email-masked] wants to call [email-masked] (who is really now at
example3.com) using Registrar (which is both a Registrar and Redirect
Server).

If Alice wants to call Bob using a Registrar, Alice will send INVITE
[email-masked] but will specify that the Registrar should be used as a
proxy. Therefore, the INVITE command will be sent to registrar.com instead
of [email-masked].

The Registrar's reaction is straightforward: send Alice a 302 Moved
Temporarily t([email-masked]). Alice's UAC will then attempt to INVITE
[email-masked] -- but since the Registrar is set as the proxy, Alice's
INVITE will go back to registrar.com, not to [email-masked].

At the last step, I would want Alice's UA to contact [email-masked], but
does this mean I have to disable the proxy setting? If I do so, then how
does Alice's request to [email-masked] get to the Registrar in the first
place to be redirected?

What am I missing here? What is the correct way to use a Registrar?

Thanks for any insight.

Garret

_______________________________________________
SIP mailing list
[email-masked]
http://lists.bell-labs.com/mailman/listinfo/sip

---

From: "Jo Hornsby" <[email-masked]>
Date: Thu, 24 Aug 2000 10:06:31 +0100

Hi,

> example3.com) using Registrar (which is both a Registrar and Redirect

I think it's important to stress the fact that "Registrar" and
"Redirect Server" are Logical Roles.  In this case, it is irrelevant
that this SIP entity also functions as a Registrar, since we are
only talking about INVITEs.

> [email-masked] but will specify that the Registrar should be used
> as a proxy. Therefore, the INVITE command will be sent to
> registrar.com instead of [email-masked].

Let's see if I'm interpreting this correctly: you're imagining a case
where you have I guess the notion of an "outbound redirect server"?

> INVITE will go back to registrar.com, not to [email-masked].

Yes.  This is going to be a problem, and I think the end result will
show that an "outbound redirect server" will not work in general.

But let's explore some scenarios:

1) Alice's UAC could try the Redirect Server again for [email-masked],
   whereupon the Redirect Server will return perhaps an IPv4 address
   (i.e., if the Redirect Server finds no registrations for some
   URL, it just tries to do the magic in section 1.4.2 of the spec).
   Since this is an IP address, Alice's UAC can try to contact Bob's
   UAS directly.

2) Alice's UAC could always try the Redirect Server first, and then
   subsequent attempts (possibly using results returned from the
   Redirect Server), do not use the Redirect Server.

3) Alice's UAC could try the Redirect Server based on some sort of
   rules; say for any addresses in the same domain.

I don't think that 1) is feasible, since you lose a lot of
information.  (One could easily imagine a situation where a proxy
serves a number of domains, and this proxy can be discovered
through SRV.  The moment you do the IP thing, the proxy has a
near-useless Request-URI.)

2) is certainly possible, but perhaps in a lot of cases utterly
pointless.  Your use of "registrar.com" makes me think that this
is some sort of service -- it's going to have to have a _huge_
database to be of any use (I wouldn't consider returning the
same SIP URL queried much of a service).

3) I can imagine as the most likely.  If Alice wants to call
someone in example1.com, her UAC uses the example1.com Redirect
Server, else the UAC does the normal 1.4.2 discovery, or perhaps
uses example1.com's Proxy Server.

> At the last step, I would want Alice's UA to contact [email-masked],
> but does this mean I have to disable the proxy setting? If I do so,
> then how does Alice's request to [email-masked] get to the Registrar
> in the first place to be redirected?
> 

You mean "Redirect Server"? &:)

If you had Vendor X's UAC, which could be configured to use an
"Outbound Proxy", there is no way that you could set that to use
a Redirect Server as its Outbound Proxy.  This is because it will
_always_ (by spec definition) try to route through the Outbound
Proxy.

I would imagine that dedicated Redirect Servers are typically more
useful when situated "behind" Proxies.

HTH,

 - Jo.

---

From: "Garret Wilson" <[email-masked]>
Date: Thu, 24 Aug 2000 07:51:17 -0700

Jo,

Thanks for the very helpful response.

I think the most helpful thing I gained from the discussion is that one does
not want to configure a UAC to use a pure redirect server as its proxy. This
would be pointless, because each request, regardless of the Reguest-URI,
would be directed to the redirect server -- assumedly including even
redirects.

>    rules; say for any addresses in the same domain.
[cut]
> uses example1.com's Proxy Server.

I think that's close to what we've discovered we need to do. All requests
for [email-masked] would go through the example1.com Redirect Server
(which in this case is also a Registrar), and if Bob is to be elsewhere
(say, at example2.com), he REGISTERs with the server with a To: of
[email-masked] and a Contact: of [email-masked] .

Thanks again,

Garret