Alex, FRAGMENTATION is IP layer stuff. I think you just want to talk about "framing" ,which is how to identify one SIP msg from another.
On receipt of a packet or notification of packet is ready, When udp, you just get the all data from socket into a buffer and action as per sec 18.3 Framing When tcp, you read into an array of data from socket, feeding into the buffer is responsibility of tcp, but identifing which part of them is a SIP is msg is SIP transport stack's responsibility. So Content-Length here plays significant role to identify a SIP msg, as you said, if "if Content length is greater than the actual packet received, you have to wait,", it maybe in next packet, or it might be Ready in system socket queue, another or serveral read(s) should be OK. Regards, -Rockson -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, July 01, 2008 5:55 PM To: [EMAIL PROTECTED]; Rockson Li (zhengyli) Cc: [email protected] Subject: RE: [Sip-implementors] SDP Content length Dinesh and Rockson, After thinking again, I should correct the previous understanding about the fragmenation and now I think Dinesh's thoughts are reasonable. :) Actually, even the transport layer of the SIP stack does not take the responsibility of the FRAGMENTATION. It just gets the content-length value, and decide that which Trasport Protocols is suitable for the real transportation. That is, if the body is too large, the transport layer of the SIP Stack will choose the TCP as the Transport Protocols and then the TCP will be responsibile for the packets fragementation. But this will bring the confusions on Benjamin's statement: "If Content length is greater than the actual packet received, you have to wait, as the rest of the SDP could be in the next packet." Please clarify me, if you have more clear ideas about it. Thanks, Alex Zhang ESN: 6-554-8782 -----Original Message----- From: Dinesh Mude [mailto:[EMAIL PROTECTED] Sent: Tuesday, July 01, 2008 5:07 PM To: Alex Zhang (GDNTRND); [EMAIL PROTECTED] Subject: RE: [Sip-implementors] SDP Content length So Transport layer of SIP stack will take care of this.! Thanks for your response. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Tuesday, July 01, 2008 2:16 PM To: [EMAIL PROTECTED]; [email protected] Subject: Re: [Sip-implementors] SDP Content length Yes, you are right, there is a transport layer in the SIP spec, but I assume that Dinesh is asking that why not the TCP fragemenation is not used to framing the SDP content. Anyway, the transport layer of the SIP spec which is the application layer of the TCP/UDP/SCTP, has the info about the content-length and does have the responsibility as you say. Alex Zhang ESN: 6-554-8782 -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Rockson Li (zhengyli) Sent: Tuesday, July 01, 2008 4:20 PM To: [email protected] Subject: Re: [Sip-implementors] SDP Content length Actually, sec RFC3261 for details 18.3 Framing In the case of message-oriented transports (such as UDP), if the message has a Content-Length header field, the message body is assumed to contain that many bytes. If there are additional bytes in the transport packet beyond the end of the body, they MUST be discarded. If the transport packet ends before the end of the message body, this is considered an error. If the message is a response, it MUST be discarded. If the message is a request, the element SHOULD generate a 400 (Bad Request) response. If the message has no Content-Length header field, the message body is assumed to end at the end of the transport packet. In the case of stream-oriented transports such as TCP, the Content- Length header field indicates the size of the body. The Content- Length header field MUST be used with stream oriented transports. Regards, -Rockson -----Original Message----- From: Rockson Li (zhengyli) Sent: Tuesday, July 01, 2008 4:10 PM To: '[EMAIL PROTECTED]'; [EMAIL PROTECTED]; [email protected] Subject: RE: [Sip-implementors] SDP Content length Alex, Yes, TCP does have no knowledge of content in upper layer. But we are talking about transport layer of SIP spec, which is part of app layer of TCP/IP stack. I think it should be transport layer of SIP spec's responsibility to reassemble the SIP msg and pass them to upper layer. Regards, -Rockson -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Tuesday, July 01, 2008 2:56 PM To: [EMAIL PROTECTED]; [email protected] Subject: Re: [Sip-implementors] SDP Content length I think the framentaion/de-fragmentation is for the SDP content which can not be handled by the transport layer but the applcation layer. The TCP actually has no any knowledge on the application layer content. Alex Zhang ESN: 6-554-8782 -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dinesh Mude Sent: Tuesday, July 01, 2008 2:50 PM To: [email protected] Subject: Re: [Sip-implementors] SDP Content length I have one question on the same topic. If transport is TCP, Why application layer needs to support message fragmentation and de-fragmentation with SIP header "Content Length:". Why not Transport layer will re-assemble all the fragmented packets and send it to higher layer ? Thanks, Dinesh -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Benjamin Jacob Sent: Tuesday, July 01, 2008 11:57 AM To: [email protected] Cc: Arun Subject: Re: [Sip-implementors] SDP Content length To rephrase a confused line : 1. If UDP, if incorrect SDP length received(greater or less than advertised in the Content length) or invalid Content length, respond with an error. ----- Original Message ---- From: Benjamin Jacob <[EMAIL PROTECTED]> To: [email protected] Cc: Arun <[EMAIL PROTECTED]> Sent: Tuesday, July 1, 2008 11:53:27 AM Subject: Re: [Sip-implementors] SDP Content length >From the various torture tests drafts/ RFCs: 1. If UDP, if incorrect/invalid(-ve for e.g.) length (greater or less than advertised in the Content length) , respond with an error. 2. If TCP : a. If Content length is greater than the actual packet received, you have to wait, as the rest of the SDP could be in the next packet. b. If Content length is less than the actual packet received, respond with an error. c. If invalid Content length, respond with an error. - Benjamin Jacob. ----- Original Message ---- From: Arun <[EMAIL PROTECTED]> To: [email protected] Sent: Tuesday, July 1, 2008 10:54:58 AM Subject: [Sip-implementors] SDP Content length Hi all, I have a problem here with the SDP content length. Wat if the content length is less than or greater than the actual sdp packet. Should that packet be processed properly or it is to be discarded. Is it a malformed packet if content length is greater or less than the length of the SDP packet. _______________________________________________ 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 Please do not print this email unless it is absolutely necessary. The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. www.wipro.com _______________________________________________ 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 _______________________________________________ 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 _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
