Hi,
The ABNF syntax in RFC3261 says the following things:
LWS = [*WSP CRLF] 1*WSP ; linear whitespace
Request = Request-Line
*( message-header )
CRLF
[ message-body ]
message-body = *OCTET
Also, the syntax says that every message-header ends with CTRL.
Now, the spec says that the SIP part of a message ends with CTRL CTRL.
However, if the message-body part starts with one or more WSP, won't the
CRLF between the message-body be interpreted as LWS instead? Ie, there
will NOT be CRLF CRLF at the end of the SIP part of message, but instead
CRLF LWS.
I don't know how you come to this conclusion. If the body starts with
LWS, you will see a CRLF after the last header field, another CRLF
before the body, and then an LWS which is the first byte of the body. Thus: