Skip to main content

Guidelines for Authors of Extensions to the Session Initiation Protocol (SIP)
draft-ietf-sip-guidelines-09

Revision differences

Document history

Date Rev. By Action
2012-08-22
09 (System) post-migration administrative database adjustment to the No Objection position for Allison Mankin
2005-03-16
09 Amy Vezza State Changes to RFC Ed Queue from Approved-announcement sent by Amy Vezza
2005-03-15
09 Amy Vezza IESG state changed to Approved-announcement sent
2005-03-15
09 Amy Vezza IESG has approved the document
2005-03-15
09 Amy Vezza Closed "Approve" ballot
2005-03-07
09 Allison Mankin State Changes to Approved-announcement to be sent from IESG Evaluation::AD Followup by Allison Mankin
2005-03-07
09 Allison Mankin [Ballot Position Update] Position for Allison Mankin has been changed to No Objection from Discuss by Allison Mankin
2005-02-16
09 (System) Sub state has been changed to AD Follow up from New Id Needed
2005-02-16
09 (System) New version available: draft-ietf-sip-guidelines-09.txt
2005-02-04
09 (System) Removed from agenda for telechat - 2005-02-03
2005-02-03
09 Amy Vezza State Changes to IESG Evaluation::Revised ID Needed from IESG Evaluation by Amy Vezza
2005-02-03
09 Bert Wijnen [Ballot Position Update] New position, No Objection, has been recorded for Bert Wijnen by Bert Wijnen
2005-02-03
09 Margaret Cullen [Ballot Position Update] New position, No Objection, has been recorded for Margaret Wasserman by Margaret Wasserman
2005-02-03
09 Allison Mankin
[Ballot discuss]
Discuss for a few AD Review points and so that comments of a number of ADs/Areas
will be adddressed. 

3.2  SIP Architectural Model …
[Ballot discuss]
Discuss for a few AD Review points and so that comments of a number of ADs/Areas
will be adddressed. 

3.2  SIP Architectural Model
OLD:
      Extensions SHOULD NOT work only under the assumption of a single
      hop or single provider.
NEW:
      Extensions MUST NOT work only under the assumption of a single
      hop or single provider.

I think this is of general architectural import.  Another take
might be to separate single hop and single provider
and cite the use of P-Headers:

  Extensions MUST NOT work only under the assumption of a
  single hop or specialized network topology.  They SHOULD
  avoid the assumption of a single provider (but see the use
  of P-Headers, RFC 3427).


-------

6. Security Considerations

OLD:

  The nature of this document is such that it does not introduce any
  new security considerations.

NEW:

  The nature of this document is such that it does not introduce any
  new security considerations.  However, many of the principles described
  in the document affect whether a potential SIP extension design is likely
  to support the SIP security architecture.

-------

Under the IANA Considerations guidance, RFC 3427 needs to be cited; it limits what
status of rfc-to-be can register particular fields.  Also, now worth adding mention
of the header parameter and uri parameter registrations RFCs, since you're in there
(3968, 3969).
2005-02-03
09 Allison Mankin
[Ballot discuss]
Discuss for a few AD Review points and so that comments of a number of ADs/Areas
will be adddressed. 

3.2  SIP Architectural Model …
[Ballot discuss]
Discuss for a few AD Review points and so that comments of a number of ADs/Areas
will be adddressed. 

3.2  SIP Architectural Model
OLD:
      Extensions SHOULD NOT work only under the assumption of a single
      hop or single provider.
NEW:
      Extensions MUST NOT work only under the assumption of a single
      hop or single provider.

-------

6. Security Considerations

OLD:

  The nature of this document is such that it does not introduce any
  new security considerations.

NEW:

  The nature of this document is such that it does not introduce any
  new security considerations.  However, many of the principles described
  in the document affect whether a potential SIP extension design is likely
  to support the SIP security architecture.

-------

Under the IANA Considerations guidance, RFC 3427 needs to be cited; it limits what
status of rfc-to-be can register particular fields.  Also, now worth adding mention
of the header parameter and uri parameter registrations RFCs, since you're in there
(3968, 3969).
2005-02-03
09 Allison Mankin
[Ballot comment]
  Compression of SIP messages SHOULD be
  handled at lower layers, for example, using IP payload compression
  [16] or signalling compression …
[Ballot comment]
  Compression of SIP messages SHOULD be
  handled at lower layers, for example, using IP payload compression
  [16] or signalling compression [18]

Reference 16 should be to RFC 3173, rather than 2393, which is
obsolete.

-----

Under 4.7, it's good that the discussion of the overview section is there.  Could you
add guidance that authors should be sure to expand even the most familiar terms such
as UA on first occurrence, and treat the overview section as providing context to non-SIP
experts?
2005-02-03
09 Allison Mankin
[Ballot discuss]
Discuss so that comments of a number of ADs can be addressed. 

Here are the ones from me:

3.2  SIP Architectural Model
OLD: …
[Ballot discuss]
Discuss so that comments of a number of ADs can be addressed. 

Here are the ones from me:

3.2  SIP Architectural Model
OLD:
      Extensions SHOULD NOT work only under the assumption of a single
      hop or single provider.
NEW:
      Extensions MUST NOT work only under the assumption of a single
      hop or single provider.

-------

6. Security Considerations

OLD:

  The nature of this document is such that it does not introduce any
  new security considerations.

NEW:

  The nature of this document is such that it does not introduce any
  new security considerations.  However, many of the principles described
  in the document affect whether a potential SIP extension design is likely
  to support the SIP security architecture.

-------
Minor:
  Compression of SIP messages SHOULD be
  handled at lower layers, for example, using IP payload compression
  [16] or signalling compression [18]

Reference 16 should be to RFC 3173, rather than 2393, which is
obsolete.

And a couple more:

Under the IANA Considerations guidance, RFC 3427 needs to be cited; it limits what
status of rfc-to-be can register particular fields.  Also, now worth adding mention
of the header parameter and uri parameter registrations rfcs (I realize this document
could go on forever...)

Under 4.7, it's good that the discussion of the overview section is there.  Could you
add guidance that authors should be sure to expand even the most familiar terms such
as UA on first occurrence, and treat the overview section as providing context to non-SIP
experts?
2005-02-03
09 Allison Mankin [Ballot Position Update] Position for Allison Mankin has been changed to Discuss from Yes by Allison Mankin
2005-02-03
09 Harald Alvestrand
[Ballot comment]
Reviewed by Spencer Dawkins, Gen-ART

Full review in document comments; there are some issues that should be addressed (in particular, the comment about …
[Ballot comment]
Reviewed by Spencer Dawkins, Gen-ART

Full review in document comments; there are some issues that should be addressed (in particular, the comment about "compact form" headers) if the document is respun for other reasons.

But no show-stoppers.
2005-02-03
09 Harald Alvestrand [Ballot Position Update] New position, No Objection, has been recorded for Harald Alvestrand by Harald Alvestrand
2005-02-03
09 Harald Alvestrand
Review by Spencer Dawkins, Gen-ART:

This draft is definitely on the right track for Informational,
and is definitely helpful and useful. It's been kicking around …
Review by Spencer Dawkins, Gen-ART:

This draft is definitely on the right track for Informational,
and is definitely helpful and useful. It's been kicking around
the SIP working group since mid-2000, and should be published
Real Soon.

I think I found a couple of sentences that hadn't been looked at
closely, so I do have questions, but I believe most/all of these
are addressable in AUTH48 (probably less than 100 bytes of
edits).

Spencer

3.  Should I define a SIP Extension?

  While the first criteria might seem obvious, we have observed that
  numerous extensions to SIP have been proposed because some function
  is needed in a device which also speaks SIP.  The argument is
  generally given that "I'd rather implement one protocol than many".
  As an example, user agents, like all other IP hosts, need
  some way to obtain their IP address.  This is generally done through
  DHCP [9]. SIP's multicast registration mechanisms might supply an
  alternate way to obtain an IP address.  This would eliminate the need
  for DHCP in clients.  However, we do not believe such extensions are
  appropriate. We believe that protocols should be defined to provide
  specific, narrow functions, rather than being defined based on all
  protocols needed between a pair of devices.  The latter approach to
  protocol design yields modular protocols with broad application.  It
  also

Spencer: I'm almost sure that you intended to say "the FORMER
approach"?

  facilitates extensibility and growth; single protocols can be removed
  and changed without affecting the entire system.  We observe that this
  approach to protocol engineering mirrors object oriented software
  engineering.

3.2  SIP Architectural Model

    SIP and Session Path Independence: We have already touched on this
    once, but it is worth noting again.  The set of routers and/or
    networks and/or autonomous systems traversed by SIP messages are
    unrelated to the set of routers and/or networks and/or autonomous
    systems traversed by session packets.  They may be the same in some
    cases, but it is fundamental to SIP's architecture that they need not
    be the same.  Extensions which only work under some assumption of
    overlap are not generally applicable to SIP's operation and should be
    scrutinized carefully.

Spencer: I may be misunderstanding, but - why does this sentence
not end with "not generally applicable to SIP's operation"?
("How carefully must I scrutinize if the answer is going to be
NO?")

4.1  Backwards Compatibility

    In order to achieve backwards compatibility for extensions that define
    new methods, the Allow header field is used.  There are two types of
    new methods - those that are used for established dialogs (initiated
    by INVITE, for example), and those that are sent as the initial
    request to a UA.  Since INVITE and its response both SHOULD contain an
    Allow header field, a UA can readily determine whether the new method
    can be supported within the dialog.  For example, once an INVITE
    dialog is established, a user agent could determine if the REFER
    method [10] is supported if it is present in an Allow header. If it
    was, the "transfer" button on the UI could be "greyed out" once the
    call is established.

Spencer: I may be confused, but wouldn't you "grey out" the
"transfer" button if REFER is NOT present in Allow?

4.4  Syntactic Issues

    Extensions that define new methods SHOULD use all capitals
    for the method name.  Method names SHOULD be less than 10 characters,
    and SHOULD attempt to convey the general meaning of the request.
    Method names are case sensitive, and therefore there is no
    requirement that they be capitalized.  However, using
    capitalized method names keeps with a long-standing convention in SIP
    and manysimilar protocols, such as HTTP [13] and RTSP [14]

Spencer: - not sure why this paragraph is indented?

    Extensions that define new header fields that are anticipated to be
    heavily used SHOULD define a compact form if those header fields are
    more than four characters.  Compact header fields MUST be a single
    character.  When all 26 characters are exhausted, new compact forms

Spencer: wow. This SHOULD seems way off, given the number of
current drafts in the SIP community! Maybe "more than SIX"
characters? Is this guideline semi-universally ignored, or are
we already out of letters? :-)

    will no longer be defined.  Header field names SHOULD be composed
    primarily of ASCII characters and marks.  They SHOULD be descriptive

Spencer: is there a citation reference you can give for "ASCII
characters and marks"? It's not common terminology for me
(sorry).

  but reasonably brief.  Although header field names are case
  insensitive, a single common capitalization SHOULD be used
    throughout the document.  It is RECOMMENDED that each English word
    present in the header field name have its first letter capitalized.
    For example, "ThisIsANewHeader".

4.9  Document Naming Conventions

    An important decision to be made about the extension is its title. The
    title MUST indicate that the document is an extension to SIP.  It is
    RECOMMENDED that the title follow the basic form of "A [summary of
    function] for the Session Initiation Protocol (SIP)", where the
    summary of function is a one to three word description of the
    extension.  For example, if an extension defines a new header field,
    called Make-Coffee, for making coffee, the title would read, "Making
    Coffee with the Session Initiation Protocol (SIP)".  It is RECOMMENED

Spencer: s/RECOMMENED/RECOMMENDED/

  that these additional words be descriptive rather than naming the
    header field.  For example, the extension for making coffee should not
    be named "The Make-Coffee Header for the Session Initiation Protocol".

4.12  Additional Considerations for New Body Types

  Because SIP can run over UDP, extensions that specify the inclusion of
    large bodies are frowned upon unless end-to-end congestion controlled
    transport can be guaranteed.  If at all possible, the content SHOULD
    be included indirectly [7] even if congestion controlled transports
    are available.

Spencer: can you give any explicit guidance on "large"?
2005-02-02
09 David Kessens [Ballot Position Update] New position, No Objection, has been recorded for David Kessens by David Kessens
2005-02-02
09 Russ Housley [Ballot Position Update] New position, No Objection, has been recorded for Russ Housley by Russ Housley
2005-02-01
09 Ted Hardie [Ballot Position Update] Position for Ted Hardie has been changed to No Objection from Undefined by Ted Hardie
2005-02-01
09 Ted Hardie
[Ballot comment]
In Section 3:

  First, the problem SHOULD fit into the general purvey of SIP's
  solution space.

I believe they mean "purview". …
[Ballot comment]
In Section 3:

  First, the problem SHOULD fit into the general purvey of SIP's
  solution space.

I believe they mean "purview".

In 4.1, the document says:

  Yet another type of extension is that which defines new body types to
  be carried in SIP messages.  According to the SIP specification,
  bodies must be understood in order to process a request.  As such,
  the interoperability issues are similar to new methods.  However, the
  Content-Disposition header field has been defined to allow a client
  or server to indicate that the message body is optional [2].  Usage
  of optional bodies, as opposed to mandatory ones, is RECOMMENDED
  wherever possible.

It might be valuable to highlight "by whom" here, since the text above
notes that proxies should not be required to understand new body types.
I believe that the intent is to say:  when the design allows, use optional
bodies so that end points are not needlessly prevented from participating
in the SIP-arranged session.  This is fine, but a little different from the
world as seen by a proxy.

In section 4.2, it might be useful to highlight the difference between the
security provided by SIP (for its signalling) vs. the security provided by
the protocol being set up.  Conflating the two seems to be a common
problem in this kind of extension, and it might be valuable to capture it here.

In section 4.4, the draft says:

  Extensions which have header fields containing URIs SHOULD allow any
  URI, not just SIP URIs.

It might be valuable to say instead that extensions which have header fields containing
URIs should be explicit about the supported URI schemes, and it should not be
assumed that only SIP URIs are permitted.  There are valid reasons to restrict URI
schemes, and though the SHOULD allows that restriction, it seems to plump
pretty hard for unlimited extensions.  That may be more rope than we want to
hand out.
2005-02-01
09 Ted Hardie [Ballot Position Update] New position, Undefined, has been recorded for Ted Hardie by Ted Hardie
2005-02-01
09 Scott Hollenbeck [Ballot comment]
There's some unusual indentation in sections 3.2 and 4.4.
2005-02-01
09 Scott Hollenbeck [Ballot Position Update] New position, No Objection, has been recorded for Scott Hollenbeck by Scott Hollenbeck
2005-01-31
09 Allison Mankin [Ballot Position Update] New position, Yes, has been recorded for Allison Mankin
2005-01-31
09 Allison Mankin Ballot has been issued by Allison Mankin
2005-01-31
09 Allison Mankin Created "Approve" ballot
2005-01-31
09 (System) Last call text was added
2005-01-31
09 (System) Ballot approval text was added
2005-01-27
09 Allison Mankin Placed on agenda for telechat - 2005-02-03 by Allison Mankin
2005-01-27
09 Allison Mankin State Changes to IESG Evaluation from AD Evaluation by Allison Mankin
2004-12-01
09 Allison Mankin State Change Notice email list have been change to , from ,
2004-12-01
09 Allison Mankin State Changes to AD Evaluation from Publication Requested by Allison Mankin
2004-10-07
09 Dinara Suleymanova State Changes to Publication Requested from AD is watching by Dinara Suleymanova
2004-10-07
09 Dinara Suleymanova Intended Status has been changed to Informational from None
2004-07-20
08 (System) New version available: draft-ietf-sip-guidelines-08.txt
2003-10-28
07 (System) New version available: draft-ietf-sip-guidelines-07.txt
2002-12-04
09 Allison Mankin Draft Added by Mankin, Allison
2002-11-08
06 (System) New version available: draft-ietf-sip-guidelines-06.txt
2002-06-07
05 (System) New version available: draft-ietf-sip-guidelines-05.txt
2002-03-07
04 (System) New version available: draft-ietf-sip-guidelines-04.txt
2001-11-21
03 (System) New version available: draft-ietf-sip-guidelines-03.txt
2001-03-07
02 (System) New version available: draft-ietf-sip-guidelines-02.txt
2000-11-30
01 (System) New version available: draft-ietf-sip-guidelines-01.txt
2000-07-12
00 (System) New version available: draft-ietf-sip-guidelines-00.txt