Subject: [SIP] Which Proxies should be stateful

From: [email-masked]
Date: Mon, 18 Sep 2000 12:19:11 -0500

Hi All,

Consider a call from UA1 through P1, P2 to UA2.

P2 wants to recieve all the messages on TCP.

This makes P2 to be in stateful mode. P1 does not want to be stateful by
default.
But does it have to be stateful just because it has to send the message to P2
over TCP.

So, in brief, in this scenario can P1 stay in stateless mode?

Thanks,

Anoop

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

---

From: Hisham Khartabil <[email-masked]>
Date: Tue, 19 Sep 2000 08:42:52 +0300

ALL proxies MUST implement UDP.  Statefull proxies MUST implement TCP, so P2 must
accept messages on UDP.

Regards
Hisham

---

From: "Pathangi N Janardhanan" <[email-masked]>
Date: Tue, 19 Sep 2000 11:27:49 +0530

Hi Anoop,

> P2 wants to recieve all the messages on TCP.

  This cannot be mandated. P2 must be willing to
accept UDP also.
> This makes P2 to be in stateful mode. P1 does not want to be
stateful by

P2 can receive in UDP and still be stateful. The decision to
be stateful or not should not tied to the lower transport protocol.

> But does it have to be stateful just because it has to send the
message to P2

No, P1 can send on UDP and if P2 wants it can still be
stateful.
> So, in brief, in this scenario can P1 stay in stateless mode?

P1 will also have to support TCP, sicne the
specification says Proxies, Regsitrars and
Redirect Servers MUST implement both UDP
and TCP. If any proxy contacts P1 over
TCP, and P1 MUST accept the call and
behave as transaction stateful for that transaction.

Jana

---

From: "Jo Hornsby" <[email-masked]>
Date: Tue, 19 Sep 2000 09:33:14 +0100

> behave as transaction stateful for that transaction.

Bleh.  I'd previously missed this somehow, but the first
sentence of this text is pretty-much from Section 1.5.2;
and surely it's not right?  Given recent discussions about
"stateless" proxies responding definitively, how about:

    "User agents, proxies, registrar, and redirect
     servers MUST implement UDP and SHOULD implement
     TCP transport."

(I am right about UDP being mandated across the board now,
right?  Although am I imagining things when I say I saw it
on the "Open Issues" List?)

Further, A.1 (bis 02) says:

    "User agents and stateless proxies MUST support
     UDP and MAY support TCP or other transport
     protocols, stateful proxies MUST support both
     UDP and TCP."

I think this is slightly confusing (Logical Roles rears it's
Ugly Head once again).  How about reusing the sentence
suggested for 1.5.2, with a slight clarifaction on when it
is necessary to behave statefully, a la:

    "User agents, proxies, registrar, and redirect
     servers MUST implement UDP, SHOULD implement TCP,
     and MAY implement other transport protocols.
     Any client or server utilising a reliable transport
     such as TCP for a request MUST behave statefully
     for the duration of that transaction."

 - Jo.