Thanks Paul. This is really good explanation.

On Tue, Apr 21, 2009 at 5:19 PM, Paul Kyzivat <pkyzi...@cisco.com> wrote:
> I disagree with the notion that you should include C-T:application/sdp and
> C-L:0 to indicate no offer. In fact, I think it is probably invalid to do
> so.
>
> There are at least a couple of issues with that:
>
> - If you specify a C-T, then the body needs to conform to the specification
> for that type. In the case of SDP, a valid SDP body always has a few lines.
> For instance it must have an o-line. So your zero length body will be
> ill-formed, resulting in an error.
>
> - If that were not the case, then the empty sdp body would be an offer. In
> that regard, 3261 differs from 2543. In 2543 you could have an SDP body, and
> if it didn't have any m-lines, then it was considered not to be an offer. In
> 3261, the presence of an sdp body (with C-D session) constitutes an offer
> (or answer) assuming it is in a place where an offer or answer is valid.
> This is true even if it has no m-lines. If an entirely empty sdp body were
> valid, then it too would be an offer if in an initial INVITE.
>
> If you want to omit the offer, then you need to omit the C-T:
> application/sdp as well as the body itself.
>
>        Thanks,
>        Paul
>
> Vikram Chhibber wrote:
>>
>> On Mon, Apr 20, 2009 at 3:29 PM, Kevin Spencer
>> <spenk.l...@googlemail.com> wrote:
>>>
>>> Dave,
>>> Thanks, thats clear from the point of view of the arbitrary binary body.
>>> Vikram,
>>> But in the case where no offer is made in the initial INVITE surely there
>>> is
>>> no need to indicate a content-type at that stage (it may not be known at
>>> that point?), for example the "Session via Redirect and Proxy Servers
>>> with
>>> SDP in ACK" scenario in 3665 shows the initial INVITE with a
>>> content-length
>>> 0 but no content-type header.
>>
>> As such, there is no defined behavior in case Content-Length 0 is
>> defined and Content-Type is missing.
>> I have seen few UA which rejects initial INVITE without SDP if it has
>> missing type. On the safe side, you might
>> want to include the type even though length is 0.
>>>
>>> In this context would it be correct to say that while the type isn't
>>> necessary you should still be prepared to receive it while not
>>> necessarily
>>> acting upon it?
>>
>> For the above context, yes, we should be lenient enough to recieve or
>> not receive the type if length is 0.
>> But we can not generalize as it very much depends on the type and context.
>>>
>>> Or, in the case of an SDP body does 0 length have no
>>> significance and the content-type shouldn't be used, and rejected if
>>> received - I don't see that in 4566 or 3264 though.
>>
>> I do not think RFCs should be that harsh and define the behavior for
>> unexpected scenarios where presence
>> or absence of something does not violate anything.
>>>
>>> Thanks for the responses,
>>> /K
>>>
>>> On Mon, Apr 20, 2009 at 10:15 PM, Dale Worley <dwor...@nortel.com> wrote:
>>>
>>>> On Mon, 2009-04-20 at 16:21 +0100, Kevin Spencer wrote:
>>>>>
>>>>> Does anyone have any suggestions as to under what circumstances you
>>>>> would
>>>>> consider including a Content-Type: header when your Content-Length: is
>>>>
>>>> zero?
>>>>>
>>>>> 3261 gives the following example in section 20.15:
>>>>
>>>> I don't know of any current application, but SIP is careful to allow the
>>>> body to be an arbitrary (binary) object of any type.  As such, we must
>>>> provide for the possibility that for a particular media type, a content
>>>> of zero bytes has a useful meaning.
>>>>
>>>> Dale
>>>>
>>> On Mon, Apr 20, 2009 at 6:4 PM, Vikram Chhibber
>>> <vikram.chhib...@gmail.com>
>>>  wrote:
>>>
>>>> You will carry Conent-Type with 0 Content-Length when you say "I am
>>>> carrying 0 length XYZ Content-Type", which is different then saying "I
>>>> am carrying no body with an type". Typical scenario would be INVITE
>>>> without offer sdp. You still need to have Conent-Type as
>>>> "application/sdp". If you remove Content-Type itself, you can receive
>>>> 488 response.
>>>> Example of 0 Content-Length and no type would be BYE message where you
>>>> typically do not send any body.
>>>
>>> _______________________________________________
>>> Sip-implementors mailing list
>>> Sip-implementors@lists.cs.columbia.edu
>>> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
>>>
>>
>> _______________________________________________
>> Sip-implementors mailing list
>> Sip-implementors@lists.cs.columbia.edu
>> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
>>
>

_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to