A Mechanism for Transporting User-to-User Call Control Information in SIP

Note: This ballot was opened for revision 14 and is now closed.

Alissa Cooper Yes

(Jari Arkko) No Objection

(Alia Atlas) No Objection

(Richard Barnes) No Objection

(Benoît Claise) No Objection

Comment (2014-03-25 for -14)
No email
send info
As mentioned by Jouni in his OPS DIR review:

More on the document nits..

** Generic:

o The document assumes that the reader knows a bunch of related acronyms
  (like ISDN, PSTN, UA, SIP, URL, URI, MIME, S/MIME, ISUP, IPsec etc). I
  urge them to be expanded on the first occurrence.

o Mixed use of references. Pick one style. Currently there are:
  - bla bla in RFC 1234 bla bla
  - bla bla in RFC 1234 [RFC1234] bla bla
  - bla bla in [RFC1234] bla bla.

  Be consistent with the referencing style.

o Use of RFC 2119 language. One should check when use "must" or "MUST"
  etc, since currently use of those keywords are mixed even in the
  same sentence. 

  Also, in places "shall" is used where I think "SHALL" would be more
  appropriate. Anyway, do the authors try to indicate a difference
  between "shall" and a "must"? In places a sentence using "shall" is
  immediately followed by other sentence using "MUST". Be consistent
  with the requirements language use.

o One thing confuses me slightly though. In Section 3 it is stated that
  proxies and other intermediates are not expected to understand UUI
  data etc. However, later in Sections 4.3 the text about border elements
  (regarding proxies and B2BUAs) indicate that User-to-User and UUI data
  should be understood under a specific context. Maybe this could be
  clarified in Section 3..?

** Section 1:

   "This mechanism was designed to meet the use cases, requirements, and.."

It is unclear to what "this" refers to, specifically since the "this" word begins a new paragraph.

  "The mechanism is a new SIP header field, along with a new SIP option
   tag.  The header field carries the UUI data, along with parameters.."

Which header and which option?

** Section 4.1:

  "The following syntax specification uses the augmented Backus-Naur
   Form (BNF) as described in RFC 5234 and extends RFC 3261 (where token

o RFC 5234 defines an ABNF not BNF.
o Should it be "updated RFC 3261" and should that also be reflected
  in the document boiler plate?

  "[RFC3515] or the 3xx to the INVITE SHOULD support the UUI mechanism.
o Should it be "3xx response" ?

  "Here is an example of an included User-to-User header field from the
   redirection response F2 of Figure 2:"

o Figure 2 in where? This document does not have any caption with "Figure".

** Section 5:

     "3.  User Agents (UAs) are the generators and consumers of the UUI
      data.  Proxies and other intermediaries may route based on the.."
o May route what? Requests? Responses?

     "into a request or response.  (The default is one per encoding.)"
                                  ^^^                              ^^^
o Why parenthesis? Consider restructuring the sentence.

** Section 6:

o To my understanding RFC2119 language is not appropriate for IANA

** Section 7:

  "User to user information can potentially carry sensitive information.."

o "User-to-User" since the rest of the document uses that convention.

  "using S/MIME or IPSec can be used, as discussed in the review of.."
         ^^^^^^    ^^^^^
o References missing.

** Section 8:

  "described: MIME body and URI parameter transport."
o References missing.

** Section 8.2:

  "However, the CUSS working group believes, consistent with its
   charter, that SIP needs to have its own native UUI data transport
   mechanism.  It is not reasonable for a SIP UA to have to implement.."

o Do not refer to a WG and a charter.. both of these are moving targets
  and will change or vanish during time.

** Section 8.3:

  "not clear how this mechanism could meet REQ-9."


  "As such, the MIME body approach meets REQ-1, REQ-2, REQ-4, REQ-5,
   REQ-7, REQ-11, REQ-13, and REQ-14.  Meeting REQ-12 seems possible,
   although the authors do not have a specific mechanism to propose.
   Meeting REQ-3 is problematic, but not impossible for this mechanism.
   However, this mechanism does not seem to be able to meet REQ-9."

o It is not clear which requirement defined or discussed where this
  references.. Add references in which document I can find these

** Section 8.4:

  "The URI parameter approach would meet REQ-3, REQ-5, REQ-7, REQ-9, and
   REQ-11.  It is possible the approach could meet REQ-12 and REQ-13.
   The mechanism does not appear to meet REQ-1, REQ-2, REQ-4, and

o Same comment as for Section 8.3.

** Section 10:

o I do not recall ever seen references starting with Informative instead
  of Normative. I guess this is ok though

(Spencer Dawkins) No Objection

(Adrian Farrel) No Objection

Comment (2014-03-13 for -14)
No email
send info
The only solution in Section 7 that makes just the UUI opaque to
inspection by transit nodes seems to be the first option...

   One model treats the SIP layer as untrusted and requires end-to-end
   integrity protection and/or encryption.  This model can be achieved
   by providing these security services at a layer above SIP.  In this
   case, applications are encouraged to use their own integrity and/or
   encryption mechanisms before passing it to the SIP layer.

This mechanism appears to require that the source and destination 
applications have a security association of some sort. The reality of
this is that every pair of applications in the SIPiverse have to
maintain SAs of their own construction.  

There would appear to be two options not covered here:
1. The local SIP speaker is responsible for maintaining an SA with the
   remote speaker and for encrypting just the UUI (maybe this is what
   the second option is saying, but it also says "this will not work in
2. SIP is enhanced to provide key exchange for the applications.

I don't for a moment propose that this document should be blocked on
this issue, but I would like to hear that some mechanism is being 
developed to provide protection for this data.

(Stephen Farrell) (was Discuss) No Objection

Comment (2014-04-08 for -15)
No email
send info
Thanks for handling my discuss points and comments.

(Brian Haberman) No Objection

(Joel Jaeggli) No Objection

Comment (2014-03-24 for -14)
No email
send info
This is not a discuss but I'd observe that I'm a little dissatisfied with the security considerations section. Of the options enumerated there, option three is clearly the one frequently employed. It seems like the least adequate, and I  don't know how sip moves out of that space into actually protecting data etierh inband or by wrapping the whole thing in a consistent fashion.

Barry Leiba (was Discuss) No Objection

Comment (2014-04-03 for -15)
No email
send info
-- Section 4.1 --

   UAs SHOULD ignore UUI data from packages or encoding that they do not

That SHOULD seems odd.  What else could they possibly do with things they don't understand?  It would seem that trying to make sense of something I fundamentally don't understand could open me up to all sorts of problems, including security or privacy exposures, no?  If it's a SHOULD, then under what conditions might one not ignore them, and what would one then do?

UPDATE: Version -15 changes "SHOULD" to "SHALL", addressing this issue.  Thanks very much for considering my comment.

(Kathleen Moriarty) No Objection

Comment (2014-03-21 for -14)
No email
send info
I support Stephen Farrell's position and have the following additional comments:

In the Security Considerations Section:
On privacy - suggest the following words, change from:
User to user information can potentially carry sensitive information
   that might require privacy or integrity protection from third parties
   that may wish to read or modify the UUI data.
User to user information can potentially carry sensitive information
   that might require confidentiality protection for privacy or integrity protection from third parties
   that may wish to read or modify the UUI data.

Third paragraph:
IPSec should be IPsec

(Pete Resnick) (was Discuss) No Objection

Comment (2014-04-30 for -16)
No email
send info
Thanks for addressing some of my comments, especially the Discuss comments. I understand that the WG is using "Standards Action" as a placeholder for the moment until a different kind of registration mechanism is worked out. I think that's OK.

You did miss some of the earlier comments for which you agreed to make changes, and there are a couple of others that I think would clarify, but I'll leave these for the WG and Alissa to work out:

1: I'm not sure what the following sentence adds:

   Note that in most cases, there
   is an a priori understanding between the UAs in regard to what to do
   with received UUI data.

I'd delete it, but maybe I just don't understand why this is important to mention.
3: I think this section would work better as an appendix.


   If the "purpose" header field parameter is not present, interworking
   with the ISDN UUI Service MUST be assumed.
   The default value for the "purpose" header field is "isdn-uui" as
   defined in [I-D.ietf-cuss-sip-uui-isdn]. If the "purpose" header
   field parameter is not present, the ISDN UUI MUST be used.
- "This mechanism SHOULD NOT be used to convey a URL or URI"

Why not? And (assuming there's a good reason), why doesn't this say MUST NOT? What are the exceptions? It would be nice to state them here.


   RFC 3261 (where token and quoted-string are defined).
   RFC 3261 (where token, quoted-string, and generic-param are defined).

   The rules for how many User-to-User header fields of each package may
   be present in a request or a response are defined for each package.
   Each package defines how many User-to-User header fields of each
   package may be present in a request or a response.

8: This section should not be a numbered section. The RFC Editor will likely fix this, but if you do another edit, might as well fix it.

(Martin Stiemerling) No Objection