Subject: RE: Basic problem with caller/callee asymmetry for telephony??

From: Eric Tremblay <[email-masked]>
Date: Thu, 7 May 1998 11:21:59 -0400

> -----Original Message-----
> From: Scott Petrack [mailto:[email-masked]]
> Sent: 7 mai, 1998 09:08
> To: [email-masked]
> Subject: Basic problem with caller/callee asymmetry for telephony??

[ deleted stuff ]

> In the establishment of the session (aka call) , the caller 
> uses a client
> and the callee a server. Later, the caller can change session 
> parameters by
> sending a new SIP request. For example, the caller can send a 
> BYE request
> to end the call. But how can the _callee_ change the session 
> parameters?
> For example, how can the _callee_ signal the end of the session?

Scott, 

The way I see this, in SIP, the notion of client or server is valid only
for a transaction.
The transaction initiator is the client.  After a transaction, this
notion vanishes until the next transaction, which can be initiated by
any one participating in the session.

EricT

Eric Tremblay     | Mediatrix Telecom
Computer Engineer | -----------------
email: [email-masked]
Tel: +1(819)829-8749 ext. 238
Web: www.mediatrix.com

---

From: "Scott Petrack"<[email-masked]>
Date: Fri, 8 May 1998 18:16:14 +0200

SCOTT PETRACK @
                                 VOCALTEC
                             05/08/98 06:16 PM
               (Embedded image moved to file: PIC32765.PCX)

I don't really care if the default is in the From: field or in the Via:
field. I preferred Via because Via has a real IP address in it (not a DNS
name), which is either the actual address of a proxy server of the actual
originating client, and so I made the assumption that in the absence of a
special Location: field, that same host is running client and server code
(which is very reasonable in telephony, although I agree not always true).

But I really do not like that the _only_ possibility might be to send
"reverse queries" to the SIP server in the From: field. The From: field
will almost always have a host name (and not an IP number), and this means
that some sort of SIP address resolution procedure (like using DNS) will
almost always be required when the callee wishes to disconnect or change
something.  It seems to me that I recall some objections to a certain Call
Signalling protocol which was said to require unneccessary round trips
;-).....

Can we go with a compromise that says something like

A request MAY contain a Location: field, which contains the location of a
SIP server which "knows" about the request and can itself answer later
queries about it.  If the request does not contain a Location: field, then
the receiving Server MAY try to send later queries to a SIP server whose
address is in the From: line of the request.

Scott

[email-masked] on 05/07/98 07:46:57 PM

To:   Scott Petrack
cc:   [email-masked]
Subject:  Re: Basic problem with caller/callee asymmetry for telephony??

Scott Petrack wrote:
>
>                               SCOTT PETRACK @
>                                  VOCALTEC
>                              05/07/98 03:08 PM
>                (Embedded image moved to file: PIC02484.PCX)
> In the establishment of the session (aka call) , the caller uses a client
> and the callee a server. Later, the caller can change session parameters
by
> sending a new SIP request. For example, the caller can send a BYE request
> to end the call. But how can the _callee_ change the session parameters?
> In SIP, the caller does not need to have a SIP server running at all. It
> just makes requests. So the callee has no place to send a BYE or any
other
> SIP request to the caller.
I think you can solve your problem without any changes. For consistency,
lets denote the direction of the original INVITE request the "forward"
direction; requests which then flow from the callee back to the caller
are in the "reverse" direction. My assumption was that requests in the
reverse direction are sent to the address listed in the From: field of
the original forward request. Now, assume that this address is
[email-masked]. The SIP server sitting at vocaltec.com would route
calls for you to whatever entity has registered itself as being able to
receive calls for this address. This need not be the device which
originates calls; it can be some other server which "owns" this address,
as you suggest. Thus you can easily have a separate device for incoming
and outgoing calls without any additional changes to SIP. You
essentially place your "callback" address in the From field, which need
not be the address of the device initiating the call.
One disadvantage to doing it this way is that this reverse direction
transaction will need to flow through the vocaltec.com SIP server. Had a
Location: field been included in the original forward request, and first
reverse request could go directly to the final server. Of course, as the
response to the reverse request will contain a Location: field,
subsequent reverse requests can do directly. Thus, I see this
disadvantage as relatively minor.
> 2. As a default fallback, one could say that a callee MAY try to send a
> later request to the last Via: line, which in principle contains the
> address of the initiating SIP client. SIP clients that wish to allow
> invitees to send change requests for the session MUST either include a
> Location: header in the request (as above) or have a SIP server listening
> on the default port (5060) at the address listed in the Via: header.
I think the From field is the place you would look, not the Via (as
these may be hidden anyway).
-Jonathan R.
--
Jonathan D. Rosenberg                       Lucent Technologies
Member of Technical Staff                   101 Crawfords Corner Rd.
High Speed Networks Research                Holmdel, NJ 07733
FAX:   (732) 834-5379                       Rm. 4C-526
EMAIL: [email-masked]
URL: http://www.cs.columbia.edu/~jdrosen