Subject: Re: [Sip] Route header and transport

From: "Attila Sipos" <[email-masked]>
Date: Thu, 31 Jul 2008 08:54:59 +0100

Technically, you can send the ACK with either TCP or UDP.

>From RFC 3261, you can use UDP upto a certain message size:

   If a request is within 200 bytes of the path MTU, or if it is larger
   than 1300 bytes and the path MTU is unknown, the request MUST be sent
   using an RFC 2914 [43] congestion controlled transport protocol, such
   as TCP. If this causes a change in the transport protocol from the
   one indicated in the top Via, the value in the top Via MUST be
   changed.  This prevents fragmentation of messages over UDP and
   provides congestion control for larger messages.  However,
   implementations MUST be able to handle messages up to the maximum
   datagram packet size.  For UDP, this size is 65,535 bytes, including
   IP and UDP headers.

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of
Andrey Kovalenko
Sent: 31 July 2008 08:35
To: [email-masked]
Subject: [Sip] Route header and transport

Hello.

I have following problem:

For example, UAC decides to send INVITE via TCP transport and does it
like so:

INVITE sip:[email-masked] SIP/2.0
Call-ID: e271e3d45ca69c0a
CSeq: 1 INVITE
From: "user" <sip:[email-masked]>;tag=1e5f7ab5
To: <sip:[email-masked]>
Via: SIP/2.0/TCP
192.168.1.4:5060;branch=z9hG4bKce32ffc97438620028ba85a78311d3cb
Max-Forwards: 70
Contact: <sip:[email-masked]:5060>
Content-Type: application/sdp
Content-Length: 227

Then OK is receivied and it looks like so

SIP/2.0 200 OK
Via: SIP/2.0/TCP
192.168.1.4:5060;branch=z9hG4bKce32ffc97438620028ba85a78311d3cb;received
=192.168.1.4
Record-Route:
<sip:88447-212.53.40.72.dialog.cgatepro;lr>,<sip:212.53.40.72:5060;lr>,<
sip:212.53.40.40:5060;lr>
From: "user" <sip:[email-masked]>;tag=1e5f7ab5
To: <sip:[email-masked]>;tag=000000000518036-57737A9D_lnqxjfk-660DE7A8
Call-ID: e271e3d45ca69c0a
CSeq: 1 INVITE
Contact: <sip:[email-masked]>
Supported: 100rel,timer,replaces,histinfo
User-Agent: CommuniGatePro-callLeg/5.2.6
Allow:
INVITE,ACK,BYE,CANCEL,OPTIONS,INFO,MESSAGE,SUBSCRIBE,NOTIFY,PRACK,REFER
Content-Type: application/sdp
Content-Length: 193

Then ACK is sent to URI that is defined in Contact header:

ACK sip:[email-masked];transport=tcp
SIP/2.0
Via: SIP/2.0/TCP
192.168.1.4:5060;branch=z9hG4bKca9dbdeb9f803d0cdba2c2124abd9440
CSeq: 1 ACK
From: "user" <sip:[email-masked]>;tag=1e5f7ab5
To: <sip:[email-masked]>;tag=000000000518036-57737A9D_lnqxjfk-660DE7A8
Call-ID: e271e3d45ca69c0a
Supported: 100rel,timer,replaces,histinfo
User-Agent: CommuniGatePro-callLeg/5.2.6
Allow:
INVITE,ACK,BYE,CANCEL,OPTIONS,INFO,MESSAGE,SUBSCRIBE,NOTIFY,PRACK,REFER
Max-Forwards: 70
Route:
<sip:212.53.40.40:5060;lr>,<sip:212.53.40.72:5060;lr>,<sip:88447-212.53.
40.72.dialog.cgatepro;lr>
Contact: <sip:[email-masked]:5060>
Content-Length: 0

Should this ACK be sent via TCP or UDP, whether URI in Route header does
not explicitly defines transport?

--
Best regards,
 Andrey                          mailto:[email-masked]

_______________________________________________
Sip mailing list  https://www.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
_______________________________________________
Sip mailing list  https://www.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: "Rockson Li (zhengyli)" <[email-masked]>
Date: Thu, 31 Jul 2008 16:06:20 +0800

Each transaction's transport is determined independently,
If the ACK does not exceed MTU(as in this case probably), it would be
sent via UDP given the ip address presented as route.

As per RFC3263

4.1 Selecting a Transport Protocol
  if no transport protocol is specified, but the TARGET is a
   numeric IP address, the client SHOULD use UDP for a SIP URI, and TCP
   for a SIPS URI. 

And you can also check out draft-ietf-sip-record-route-fix,
Sec 6.  Usage of Transport protocol parameter
Which has detail discussion on this issue.

-Rockson

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of
Attila Sipos
Sent: Thursday, July 31, 2008 3:55 PM
To: Andrey Kovalenko; [email-masked]
Subject: Re: [Sip] Route header and transport

-----Original Message-----

Hello.

SIP/2.0 200 OK
Via: SIP/2.0/TCP