My apologies, I didn't read the question properly.
 
1) content-length less than msg body length
 
if using TCP, the bytes at the end could be the start of the next
SIP message so you need to be able to handle this.
 
 
2) content-length greater than msg body length
 
for TCP, you have to wait for more bytes.
The fact that you haven't received all the content-length means
there are more bytes to come.
Then when you have all the bytes, you pass it to your msg body
parser.
If there are any errors, the parser will tell you.
 
Regards,
 
Attila
 
 
 
 
 

-----Original Message-----
From: Attila Sipos 
Sent: 03 January 2007 16:33
To: '[EMAIL PROTECTED]'; [email protected]
Subject: RE: [Sip-implementors] TCP behaviour in case of wrong content length


 
1) content-length less than msg body length
 If there are additional bytes in the transport
packet beyond the end of the body, they MUST be discarded.
 
so you handle it normally but discard the extra bytes
 
 
2) content-length greater than msg body length
 
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. 
 
 
Regards,


Attila
 
 

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of [EMAIL PROTECTED]
Sent: 03 January 2007 14:57
To: [email protected]
Subject: [Sip-implementors] TCP behaviour in case of wrong content length



Hi,

RFC 3261 section 18.3 Framing says
"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."

How should a UAS behave in case it receives a message on TCP having 
content-length value 
1] less than message body length?
2] greater than message body length?

My understanding is that UAS should throw an error because the content-lenght 
value is incorrect.

Please help me in these scenarios.Help will be appreciated.

Regards
Deepak

*********************** Aricent-Private ***********************

"DISCLAIMER: This message is proprietary to Aricent and is intended solely for 
the use of 
the individual to whom it is addressed. It may contain privileged or 
confidential information and should not be 
circulated or used for any purpose other than for what it is intended. If you 
have received this message in error, 
please notify the originator immediately. If you are not the intended 
recipient, you are notified that you are strictly
prohibited from using, copying, altering, or disclosing the contents of this 
message. Aricent accepts no responsibility for 
loss or damage arising from the use of the information transmitted by this 
email including damage from virus."


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

Reply via email to