Subject: Re: SIP specification WG LAST CALL -- Warning

From: "Scott Petrack"<[email-masked]>
Date: Thu, 23 Jul 1998 23:28:53 +0200

From: Scott Petrack@VOCALTEC on 07/23/98 11:28 PM

I know that we have beaten the Warning header almost to death, but I'd like
to take SIP seriously and suggest some small editorial changes to the
Warning codes, mainly to make our lives easier later.

First of all, however you slice it there is an error in the current spec,
warning x09 is repeated twice, once for "media type not available" and once
for "session description not understood" (if the postscript is different, I
read the .txt file).

1. I would like to remove the separate 3xx and 4xx versions of the same
warnings. The reasons are:
     a. This distinction is useful for many warning error codes, past
present and future, not only for the ones defined here. I think it is bad
to have to add two versions of each warning we will ever define.
     b. I would like to make it easy to merge SIP and HTTP some day. So I
am very comfortable saying that HTTP defines 1xx warnings to signal
cache-related problems, while SIP defines 3xx warnings induced by the
session description. I can see that in the future the 3xx can more
generally signal  problems with the payload content of the message. I can
see how this can merge in the future with HTTP. Although that is not a
present goal of SIP, there is no reason to make it more difficult.

The two arguments above interact: if you really think that the
"fatal/non-fatal" distinction is important, then maybe it should somehow
exist for the 1x cache-related warnings of HTTP.  I would just as soon
avoid this whole mess.

I have suggested in the past that the "fatal/non-fatal" distinction would
be fine in a sub-code, but Henning doesn't like that. As a compromise I
would rather just leave out the distinction entirely from the numeric
codes. A server can always add it into the warn-text.

2. Unless the new SIP warning codes are organized along more logical lines,
it will be just make for more chaos as new Warnings are added.  Right now
the defined warnings fall nicely into four groups:

     a. warnings related to SDP: x02, x03, x04, x05, x06, x09, x10, x09
(x09 is repeated twice, this is an error in the spec)
     b. warnings related to basic network service:  x07, x08
(multicast/unicast not available)
     c. warnings related to quantitative QoS parameters: x01 (insufficient
bandwidth)
     d. miscellaneous warnings: x99.

This numerical codes given are just silly. For example, maybe in a year or
two we'll want to add a warning for "IPv6 not available". Or maybe we'll
want other warnings for QoS than just "insufficient bandwidth" (Maybe
there'll be some other resource which someone tries to reserve somehow, and
we'll want to add a warning like "insufficient MIPS" or "insufficient
Vitamin C"). Rather than just add random numbers at the end, I would like
to attempt to make the warning codes easy to recognize and extend.  Knowing
that the range for "SDP problems" is 300-307 really does make my coding
easier, and helps me remember what the codes mean when I start debugging.

My concrete suggestion is just to renumber the warning codes:

300-307  warnings directly related to keywords in the Session Description

   300 Incompatible transport protocol: One or more transport protocols
        described in the request are not available.

   301 Incompatible network protocol: One or more network protocols
        described in the request are not available.

   302 Incompatible network address formats: One or more network address
        formats described in the request are not available.

   303  Incompatible media format: One or more media formats described in
        the request are not available.

   304 Incompatible bandwidth description: One or more bandwidth
        descriptions contained in the request were not understood.

   305 Media type not available: One or more media types contained in
        the request are not available.

   306 Attribute not understood: One or more of the media attributes in
        the request are not supported.

   307 Session description parameter not understood: A parameter other
        than those listed above was not understood.

330-339  Warnings related to basic network services requested in the
Session Description

   330  Multicast not available: The site where the user is located does
        not support multicast.

   331 Unicast not available: The site where the user is located does
        not support unicast communication (usually due to the presence
        of a firewall).

370-379  Warnings related to quantitative QoS parameters requested in the
Session Description

   370  Insufficient bandwidth: The bandwidth specified in the session
        description or defined by the media exceeds that known to be
        available.

390-399 Miscelleanous Warnings

   x99 Miscellaneous warning: The warning text may include arbitrary
        information to be presented to a human user, or logged. A system
        receiving this warning MUST NOT take any automated action.

I'm just leaving some space for each group to grow in the future, such as
leaving space for some other session description language other than SDP,
other network services (like IPv6), other QoS numbers. I'm also leaving
space for new groups should they appear.

Note that the changes I suggest shorten the spec, which is always a good
thing....

Of course, such changes as these do not require a new last call.

Scott

---

From: Henning Schulzrinne <[email-masked]>
Date: Mon, 03 Aug 1998 14:52:13 -0400

Scott Petrack wrote:

> warnings. The reasons are:

Agreed.

> (multicast/unicast not available)

Actually, these are also for the audio/video session itself, just like
the other ones. Whether multicast or a transport protocol isn't
implemented or available makes no big difference.

> Of course, such changes as these do not require a new last call.

These are fine with me; unless somebody else objects, I'll put them in.

-- 
Henning Schulzrinne   [email-masked]
Dept. of Comp. Sci.   ph  +1 212 939-7042
Columbia University   fax +1 212 666-0140
New York, NY 10027    http://www.cs.columbia.edu/~hgs