Subject: [Sip] a question on section 18.2.2 in RFC 3261

From: "Wang, Jin-Gen" <[email-masked]>
Date: Tue, 27 May 2003 11:27:28 -0600

Section 18.2.2 specifies:

"18.2.2 Sending Responses

   The server transport uses the value of the top Via header field in
   order to determine where to send a response.  It MUST follow the
   following process:

      o  If the "sent-protocol" is a reliable transport protocol such as
         TCP or SCTP, or TLS over those, the response MUST be sent using
         the existing connection to the source of the original request
         that created the transaction, if that connection is still open.
         This requires the server transport to maintain an association
         between server transactions and transport connections.  If that
         connection is no longer open, the server SHOULD open a
         connection to the IP address in the "received" parameter, if
         present, using the port in the "sent-by" value, or the default
         port for that transport, if no port is specified.  If that
         connection attempt fails, the server SHOULD use the procedures
         in [4] for servers in order to determine the IP address and
         port to open the connection and send the response to.
"

Since the Via header has enough information (IP address + port + transport protocol) for an application to send back response messages, what is the design idea behind the above decision to request an application to send back responses using an existing connection if the connection is still open, other than (may be) optimization in implementation? In other words, from SIP protocol point of view, why is such request a MUST requirement?

Thanks.

Jin-Gen Wang
Level 3 Communications, Inc.

_______________________________________________
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: Ryan Kereliuk <[email-masked]>
Date: Tue, 27 May 2003 12:00:43 -0600

On Tue, May 27, 2003 at 11:27:28AM -0600, Wang, Jin-Gen wrote:
> 
> Since the Via header has enough information (IP address + port +
> transport protocol) for an application to send back response messages,
> what is the design idea behind the above decision to request an
> application to send back responses using an existing connection if the
> connection is still open, other than (may be) optimization in
> implementation? In other words, from SIP protocol point of view, why is
> such request a MUST requirement?

There are a variety of reasons why this is good including traversal of
of NAT/PAT devices.  I think the motivation for the text as written,
however, was to head off potential scaling and performance problems
associated with doubling the number of TCP/SCTP/TLS connections in use.

---

From: "Nataraju A.B." <[email-masked]>
Date: Fri, 30 May 2003 23:34:12 +0530

Hello All,

I have a doubt why do we really need 3-way handshaking for INVITE
transacation.
whereas most of the others employ 2-way handshaking (BYE/200,
UPDATE/200...).

According to my knowledge one of the reason could be offer-answer mechanism
involved in INVITE transactions.

Thanx in advance,

Regards,
-Nataraju A.B.
 Huawei Technologies Ind Pvt Ltd,
 Bangalore-560008,
 +98455.95744

---

From: Jonathan Rosenberg <[email-masked]>
Date: Sat, 31 May 2003 01:20:24 -0400

The reason was simple - pretty much all protocols where you send a 
request on TCP expect a response on TCP under normal conditions 
(normal being, the connection still exists). Anything else is going to 
be more complicated for no gain.

-Jonathan R.

-- 
Jonathan D. Rosenberg, Ph.D.                600 Lanidex Plaza
Chief Scientist                             Parsippany, NJ 07054-2711
dynamicsoft
[email-masked]                     FAX:   (973) 952-5050
http://www.jdrosen.net                      PHONE: (973) 952-5000
http://www.dynamicsoft.com