Subject: Re: [salud] Have we handled all the objections?

From: "Worley, Dale R (Dale)" <[email-masked]>
Date: Mon, 2 Jul 2012 17:01:30 -0400

[as individual]

My first pass over this:

On Fri, 2012-06-22 at 17:00 +0200, Laura Liess wrote:
> 1. Make more clear in the draft text that the <private-name> part of a URN
>      - is only valid inside the domain in <private name>
>      - is not registered wit IANA
>      - is dropped by an end device which does not understand it

That looks good to me.

> 2. When domains define <private-name>s,  they optionaly may add the
> year or just the last two digits of the year, to the domain name, with
> the year first (e.g. 2012.com.example somecompany).
> 
> (Note: Alfred recommends to add the date to the domain names, to
> ensure that private URNs are persistent. He recommended to add the
> date to the domain name.  Dale and Paul objected to the recommendation
> because the name would become to long and dificult to handle by
> implementors. Adding just the year to the domain name, with the date
> first, was considered as an alternative.)

That's an interesting way to handle the problem.  It is a terse
solution, which is a good thing.

> 3.   Change <private-name> syntax to
>            private-name =domain-name *(":" label)
>            domain-name = label *("." label )

If I understand this correctly, the syntax then becomes:

           alert-URN       = "urn:alert:" alert-identifier
           alert-identifier= alert-category ":" alert-indication
           alert-category  = name
           alert-indication= name *(":" name)
           name = standard-name / private-name
           standard-name = label
           private-name = domain-name *(":" label)
           domain-name = label *("." label )

>         e. g. urn:alert:service:call-waiting:org.example.somecompany:abc
>  ( urn:alert:service:call-waiting:org.example.somecompany:abc or
> urn:alert:service:call-waiting:abc.org.example.somecompany  are no
> longer allowed)

I believe there is a typo in that example, as
"urn:alert:service:call-waiting:org.example.somecompany:abc" is
described as both being allowed and not being allowed.  Was the second
occurrence supposed to be
"urn:alert:service:call-waiting:org.example.somecompany.abc"?

The change in syntax seems to be:
(1) a domain-name must be followed by ":<label>" (which may be followed
by more ":<label>"s)
(2) a domain-name can consist of a single label

I think (2) is a typo, as otherwise you can't syntactically distinguish
the domain-names from standard-names.  (1) makes sense, as it's unlikely
that a company will want to create a proprietary URN under an existing
URN without introducing a further distinction.

However, with (1), one cannot remove just that one label and always have
the truncated URN be syntactically correct.  E.g., truncating

urn:alert:service:call-waiting:org.example.somecompany:abc

gives

urn:alert:service:call-waiting:org.example.somecompany

So we'd have to add another clause to rule (b) of section 8.1.

It might be simpler to allow the syntax to admit URNs we don't expect
anyone to use in order to make the rules simpler.

> 4. Delete the rule b. 2) in Section 8.1.

That rule is:

      ... the UA repeatedly removes either
         ...
         (2) if the final name is a private-name with three or more
         labels, the final label

So the change is that domain-names aren't shortened, only removed whole.

That seems a reasonable change to me.

Dale