Subject: Re: Why Proxies are Good and B2BUAs May Not Be (was Re: [Sip] bis-07.9: proxies are not allowed to modify message body)

From: [email-masked]
Date: Tue, 26 Feb 2002 09:06:53 +0100

Dean,

This is the definition of a proxy server, taken from bis-08:

Proxy, Proxy Server: An intermediary entity that acts as both a server and
a client for the purpose of making requests on behalf of other clients. A
proxy server primarily plays the role of routing, which means its job is to
ensure that a request is sent to another entity closer to the targeted
user. Proxies are also useful for enforcing policy (for example, making
sure a user is allowed to make a call). A proxy interprets, and, if
necessary, rewrites specific parts of a request message before forwarding
it.

As you see, the first part is fully inline with your mail: "A proxy server
primarily plays the role of routing, ..."
However, can you explain me how you apply your mail to the second part :
"Proxies are also useful for enforcing policy...", "A proxy interprets,
and, if necessary, rewrites specific parts of a request message before
forwarding it"

Best regards

     Juan Carlos

"Dean Willis" <[email-masked]>@ietf.org on 25/02/2002 05:49:09

Sent by:  [email-masked]

To:   "Gonzalo Camarillo" <[email-masked]>, "Cullen
      Jennings" <[email-masked]>
cc:   "Bob Penfield" <[email-masked]>, <[email-masked]>
Subject:  Why Proxies are Good and B2BUAs May Not Be (was Re: [Sip]
      bis-07.9: proxies are not allowed to modify message body)

Gonzalo wrote:
> you have a
> B2BUA... I do not see a problem with that.
>
> I think the problem everybody has with this MUST NOT is the following.
> People think: "If the elements in my architecture are called proxies, I
> have a very good architecture, but if the elements in my architecture
> are B2BUAs, my architecture is crap."... and to make every architecture
> look good, they want to call stretch the concep of proxy so that all
> their elements are called "proxies".
>
> I do not think it is a big deal how we call these elements... let's call
> everything an OPES-element instead of "proxy" or "B2BUA" and everybody
> will be happy ;o)

Here's my worry about that. There are REASONS why proxies are as limited as
they are in the specification. It's to keep them from breaking other
things.
This has come up time and time again in 3GPP -- almost every time that we
fudge the line between proxy and B2BUA, we end up breaking something else.

The proxy rules are, I believe, most effective in providing "forward
compatibility" -- a basic proxy will work, as expected, with any reasonable
future SIP extension method type, extension header, or payload. In fact,
that's part of the rule we use in determining "reasonableness" for
extensions. No such restraint applies to B2BUAs. If you "break the rules"
of
a proxy, all compatibility bets are off, and problems become very likely.
It's like running naked through Central Park at night with a bunch of $20
bills taped to your backside -- you MIGHT not have an unfortunate
encounter,
and if you do you'll hear a whole lot of "I told you so!"s.

--
Dean

_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email-masked] for questions on current sip
Use [email-masked] for new developments on the application of sip

_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email-masked] for questions on current sip
Use [email-masked] for new developments on the application of sip

---

From: "Dean Willis" <[email-masked]>
Date: Tue, 26 Feb 2002 10:22:51 -0600

> and, if necessary, rewrites specific parts of a request message before

The key bit there is the word "specific". The specification details which
parts may be rewritten by a conformant proxy. Mess with the wrong parts, and
bad things can happen. As we gain practical experience with working
implementations, we learn more about which parts are sensitive. The
specification has incorporated this advancing knowledge as the specification
itself has advanced.

Now, sometimes, it may be necessary to mess with sensitive parts. This is
analogous to "surgery" in the medical profession. In general, one uses
surgery as a last resort to treat a specific condition, with the full
knowledge and expectation that there will be side effects, some of which MAY
be life-threatening.

If a confomant proxi is like a passenger taxi, then a B2BUA is like an
ambulance.

There is a big difference between riding in a taxi to a restaurant for
dinner, and riding in an ambulance to a hospital for a triple bypass.

And I'm afraid that my rhetoric professor will need a triple bypass after
reading this discussion.

--
Dean

---

From: "Pete Cordell" <[email-masked]>
Date: Wed, 27 Feb 2002 08:46:54 -0000

Dean,

Seeing as you are the king of analogy, I'll try and put my concerns thusly:-

You can legislate against drinking, but that doesn't mean that it won't
happen.

And by trying to bar (!) people from drinking, you may cause problems that
are greater than the original problem (such as pushing it underground and
having a bunch of hooligans running around creating all sorts of havoc).

Sometimes it's better to accept the lesser evil in order to prevent the
greater evil.

Pete.

=============================================
Pete Cordell
Tech-Know-Ware
[email-masked]
+44 1473 635863
=============================================

----- Original Message -----
From: Dean Willis <[email-masked]>
To: <[email-masked]>
Cc: Gonzalo Camarillo <[email-masked]>; Cullen Jennings
<[email-masked]>; Bob Penfield <[email-masked]>; <[email-masked]>
Sent: 26 February 2002 16:22
Subject: Re: Why Proxies are Good and B2BUAs May Not Be (was Re: [Sip]
bis-07.9: proxies are not allowed to modify message body)

---

From: "Dean Willis" <[email-masked]>
Date: Wed, 27 Feb 2002 15:40:08 -0600

----- Original Message -----
From: "Pete Cordell" <[email-masked]>
To: "Dean Willis" <[email-masked]>
Cc: <[email-masked]>
Sent: Wednesday, February 27, 2002 2:46 AM
Subject: Re: Why Proxies are Good and B2BUAs May Not Be (was Re: [Sip]

> You can legislate against drinking, but that doesn't mean that it won't

I also believe in personal freedom to vote for a candidate from a major
political party or commit suicide, but I generally try to discourage my
friends from doing either one.

That's why we put labels on beer bottles saying "do not operate equipment or
gestate new units while drinking" (or something like that).

The definition of a proxy is just such a label. We don't expect it will stop
people from doing dangerous/stupid things, but at least they'll be making an
informed decision to do something dangerous/stupid.

We can't make any protocol perfectly safe for all usages and all
potentialities of forward and backward compatibility. But we can put a
border around the map, and write "Here there be dragons" beyond the edge.
Explore to your heart's content. Maybe you'll discover a new continent and
get to be declared Important. But don't complain if you come back with
tooth-and-scorch marks.

--
Dean