Subject: [SIP] Re: [Sip-implementors] Sip Message with a large Message Body

From: Jonathan Lennox <[email-masked]>
Date: Mon, 19 Mar 2001 00:32:55 -0500 (EST)

On Sunday, March 18 2001, "Mayank Sharma" wrote to "<[email-masked]>, <[email-masked]>" saying:

> 	If the sip message to be sent is larger than the mtu provided by the
> lower layer packet, We can fragment the packet into a number of packets and
> send it across. We fragment the message in the following way. 

In general, I don't think that fragmenting SIP messages is a good idea --
you really shouldn't be sending messages larger than the IP fragmentation
minimum in general.   If you need to send that much information, use
external URLs and HTTP, so the client can download it or not as they wish.
(I'd really rather have a *choice* as to whether my mobile phone downloads
your 200MB TIFF showing who's calling...)

That said, if you must do this, there's already a MIME type defined for
fragmented messages -- message/partial.  (I believe it was designed for
posting large binaries to Usenet, back when there was a maximum message
size.)  See RFC 2046.

-- 
Jonathan Lennox
[email-masked]

_______________________________________________
This list is for continuing development of the SIP protocol.
The sip-implementor's list is the place to discuss implementation,
and to receive advice on understanding existing sip.
To subscribe to it, send mail to 
[email-masked] with "subscribe" in the body.

---

From: "Mayank Sharma" <[email-masked]>
Date: Sun, 18 Mar 2001 17:29:14 +0530

Hi all,
	There was a discussion on the list regarding a Sip Message with a
large Message Body, quite some time ago. The problem was how to send the sip
message if total length of the sip message exceeds the MTU. One solution
provided on the list was to use TCP instead of UDP or any other protocol
which has restriction on the size of the packet. Obviously this is not a
solution but a mere work around.
	I have something in my mind, maybe its a foolish idea but i'd like to
have your views on it.
	If the sip message to be sent is larger than the mtu provided by the
lower layer packet, We can fragment the packet into a number of packets and
send it across. We fragment the message in the following way. 

 o Each packet will be within the mtu specefied. 

 o All the existing headers will be contained in the first packet. The
Content-  Length will keep the total length of the Message Body, not just the
length of message body in the first packet. 

 o A new header (Message-ID, say) will be in the first packet representing
some random string (just like call-id). 

 o Each subsequent packet will contain only two headers (other than the
request/response line) and the message body. they will be
	o Message-ID which will be same as that in the first packet.
	o Message Sequence (Message-Seq, say) which will identify the
sequence of the 	  particular packet.

 o The receiving side recieves all the packets, concatenates all the
message-body's according to the sequence, checks with the Content-Length
header of the first packet to see if it has received all the packets..

This idea must be really stupid, but i was thinking of solutions for sending
sip message whose total length exceeds MTU. With Sip proposing to send all
kinds sounds, icons, config-files (cpl scripts etc..) in the message-body of
SIP, the size of the sip-message is definetly going to exceed MTU.

Looking forward for your suggestions,
 
With Best Regards,
Mayank Sharma
 
Software Engineer,
Mindtree Consulting Pvt. Ltd.