In a real world situation you will most likely be connected to an
ethernet switch where MTU is 1500 bytes. So you can compute the likely
maximum sip message off of that: 8 bytes UDP, 20 bytes IP, 26 bytes
ethernet DIX. That leaves you 1446 bytes for a real world SIP message. 

-----Original Message-----
From: Mehul Jain [mailto:[EMAIL PROTECTED] 
Sent: Friday, August 11, 2006 3:43 PM
To: Romel Khan; [email protected]
Subject: RE: [Sip-implementors] Max Size of an INVITE message using UDP

Thanks for the info, but that's the ideal case. In the real network with
gateways, routers and proxies in between, the situation changes. I
wanted to know if there is a known max value in such a real network
scenario.

-----Original Message-----
From: Romel Khan [mailto:[EMAIL PROTECTED]
Sent: Friday, August 11, 2006 12:35 PM
To: Mehul Jain; [email protected]
Subject: RE: [Sip-implementors] Max Size of an INVITE message using UDP

Based on the RFC quote, implementation must be able to accept sip
message up to the maximum size allowed per UDP. 
UDP header can consume 8 bytes, IP header 20 bytes typically. So SIP
messages could theoretically use 65,535-28 = 65,507 bytes in a
hypothetical environment where there is no MTU constraint.    

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Mehul
Jain
Sent: Friday, August 11, 2006 1:41 PM
To: [email protected]
Subject: [Sip-implementors] Max Size of an INVITE message using UDP

Am not clear what is the max supported size of SIP Request (INVITE) sent
using UDP.
Went through the RFC 3261 (18.1.1 Sending Requests ).  MTU (1500 Bytes
for Windows) looks to be the limiting factor for UDP, while later its
written that implementations must support messages of the max datagram
size (65,535 bytes).
 
Any pointers as to what is the accepted max length in the proxies,
servers etc.
Mehul.
 
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.

The 200 byte "buffer" between the message size and the MTU accommodates
the fact that the response in SIP can be larger than the request. This
happens due to the addition of Record-Route header field values to the
responses to INVITE, for example. With the extra buffer, the response
can be about 170 bytes larger than the request, and still not be
fragmented on IPv4 (about 30 bytes is consumed by IP/UDP, assuming no
IPSec). 1300 is chosen when path MTU is not known, based on the
assumption of a 1500 byte Ethernet MTU. 
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to