Subject: [SIP] logic in the peers or in the center

From: [email-masked]
Date: Mon, 2 Oct 2000 08:13:23 +0200

As a newcomer to SIP, I have a question about the architecture to be used
with SIP.

SIP is devoted to initiating a session between two peers, then getting out
of the way. There are many benefits to this architecture, particularly in
the highly non-centralized Internet.

Yet there is another architectural model, in which the center holds the
logic. The call goes through a switch, which holds the intelligence about
the call;The peers do not "know" whom they are communicating with.

In a PSTN call to a call center placed with Automatic Call Distribution,
for example, the caller does not know which call-center-agent will answer.
Even once the call is started, there is no need for the caller's User Agent
(telephone) to "know" that. (This is not a question of security, rather, it
is a question of where the logic should reside). Likewise (unless a
Customer Relations Management system is set up), the agent does not know
the originating number, nor does s/he need to. The ACD can have complicated
switching algorithms, which are not logically under the control of the
peers.

The essential difference is where to keep the the information  "caller
[email-masked] is now in a session with [email-masked] and
[email-masked]".  In SIP statelessness in the center (the servers) is a
goal (although some stateful behaviors exist); in this alternate model,
statefulness in the center and statelessness in the peers is the goal.

Is SIP suited for this kind of centralized control? I realize that SIP,
like any protocol, can be made to suit any task, but the question is
whether these needs map onto SIP so naturally that  it is the best
protocol.

Sincerely,

Joshua Fox

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

---

From: Jonathan Rosenberg <[email-masked]>
Date: Tue, 3 Oct 2000 01:11:10 -0400

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]]
> Sent: Monday, October 02, 2000 2:13 AM
> To: [email-masked]
> Subject: [SIP] logic in the peers or in the center
> 
> 
> Is SIP suited for this kind of centralized control?

Yes it is. It simply depends on which SIP elements you place where. SIP
proxies, as you point out, are aimed towards statelessness. SIP user agents,
on the other hand, have complete call state and control over the call. In
the simplest model, proxies live "in the middle" in the network, with user
agents only at the end. But, that need not be the case. THe middle of the
network can contain an element generally referred to as a "back to back user
agent", or B2BUA, which is a user agent server on one side, and a user agent
client on the other. Using this mechanism, coupled with the third party call
control mechanisms described in:
http://search.ietf.org/internet-drafts/draft-rosenberg-sip-3pcc-00.txt

elements in the network can maintain complete call state and complete
control. Applications like ACD, click-to-dial, pre-paid calling, etc. are
quite easy to do in this model.

This does not require any extensions to SIP or changes in the way other
entities work. SIP is just a protocol; there are many ways it can be used.

-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

---

From: [email-masked]
Date: Tue, 3 Oct 2000 09:01:08 +0200

Thank you for pointing me to this alternate SIP architecture. With this
alternate architecture, we place the User Agent logic in the center, in the
server, thus leaving a logically much thinner client. With a completely
distributed architecture, it is impossible to implement a full
third-party-control architecture.

For example, say that an ACD or the like decides that [email-masked] and
[email-masked] should be conversing, but amy has not yet connected (she
will, in a minute or two). This is easy enough, as long as the logic is in
the center, but if the architecture requires us to store the fact that amy
and joe are in session only in amy's and joe's peers, then we're in
trouble. Since  amy's User Agent is as yet unreachable, and according to
this model we are not allowed to store the session state in the server,
there is nowhere to store the session state.

With the third-party control architecture and SIP, then, we would create a
Back-to-Back User Agent for amy in the server, then hope she shows up.

Joshua Fox