Subject: RE: [SIP] Potential definitions required

From: Jonathan Rosenberg <[email-masked]>
Date: Thu, 26 Oct 2000 06:46:44 -0400

> -----Original Message-----
> From: Drage, Keith (Keith) [mailto:[email-masked]]
> Sent: Wednesday, October 25, 2000 9:52 AM
> To: 'SIP discussion list'
> Subject: [SIP] Potential definitions required
> 
> 
> Looking at the bis draft from a readability viewpoint I 
> considered that a
> number of additional definitions at the start of the document 
> would improve
> things. Could I therefore make a request that definitions are 
> drafted for
> the following:
> 
> stateful proxy (server)
> stateless proxy (server)

OK.

> method
> header

Well, I think these are well understood within  the community; they likely
need to be defined just as much as "protocol" or "name-value pair" would
need to be defined. Not a big deal, though, to add.

-Jonathan R.
---
Jonathan D. Rosenberg                       72 Eagle Rock Ave.
Chief Scientist                             First Floor
dynamicsoft                                 East Hanover, NJ 07936
[email-masked]                     FAX:   (973) 952-5050
http://www.cs.columbia.edu/~jdrosen         PHONE: (973) 952-5000
http://www.dynamicsoft.com

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

---

From: Sean Olson <[email-masked]>
Date: Fri, 27 Oct 2000 16:00:24 +0200

> > things. Could I therefore make a request that definitions are

Based on the text in Section 12.3 of the bis-02 draft:
======================================================

"   A stateful proxy acts similar to a virtual UAS/UAC, but cannot be
viewed as just a UAS and UAC glued together at the back. (In
particular, it does not originate requests except ACK and CANCEL.)
It implements the server state machine when receiving requests,
and the client state machine for generating outgoing requests,
with the exception of receiving a 2xx response to an INVITE.
Instead of generating an ACK, the 2xx response is always forwarded
upstream towards the caller. Furthermore, ACK's for 200 responses
to INVITE's are always proxied downsteam towards the UAS, as they
would be for a stateless proxy
   A stateless proxy forwards every request it receives downstream,
and every response it receives upstream."

And based on the FAQ answer to the difference between a stateful
and stateless proxy at:
http://www.cs.columbia.edu/sip/faq/cache/36.html
================================================

"Stateless proxies forget about the SIP request once it has been forwarded.
Stateful proxies remember the request after it has been
forwarded, so they can associate the response with some internal state.
In other words, stateful proxies maintain transaction state.
Stateful implies transaction state, not call state.

Stateless proxies scale very well, and can be very fast. They are good for
network cores.
Stateful proxies can do more (they can fork, for example, see the next
question) and can
provide services stateless ones can't (call forward busy, for example). They
don't scale as
much as stateless ones. An admininstrator gets to decide which to use. These
are also logical entities;
a physical proxy is likely to act as a stateless proxy for some calls,
stateful for others, and
as a redirect server for even others.

Neither stateful nor stateless proxies need to maintain call state, although
they can, but
will need to make sure that they are part of subsequent transactions via the
Record-Route header.

A proxy must be stateful if one of the following conditions hold:

      1. It uses TCP,

      2. It uses multicast,

      3. It forks.
"

I would suggest the following definitions for a stateless and
stateful proxy.

Stateless Proxy: A logical entity that does not maintain state
for a SIP transaction. A stateless proxy forwards every request
it receives downstream and every response it receives upstream.
["downstream" and "upstream" are defined in section 1.3 of the bis draft]

Stateful Proxy: A logical entity that maintains state information
at least for the duration of a SIP transaction. The behavior
of a stateful proxy is further defined in section 12.3.

These definitions are intentionally lean as I think they are
more accurate that way. The key aspects are that these are
logical entities. One maintains transaction state, the other
does not.

/sean
--
Sean Olson <[email-masked]>
Ericsson