APC-1711, 1712 review

John Segers jsegers at LUCENT.COM
Fri Oct 15 20:19:39 EDT 1999


Hi All,

I'd like to propose a few things for discussion that might make the ABNF248
and ABNF1711 more aligned.  In particular, one difference between the two is
the number of brackets.

ABNF248 has a lot of constructs of the following:

    token EQUAL id LBRKT param *( COMMA param ) RBRKT
    token LBRKT param *( COMMA param ) RBRKT

and also does (which I suppose is the general case):
    token [ EQUAL id ] LBRKT param *( COMMA param ) RBRKT

ABNF1711 naturally has the following structure:

    message = *( parameter )
    parameter = *( tag EQUAL ) value-field *( COMMA value-field )
    value-field = value / tag / "{" *( parameter ) "}"

This is close to what is in ABNF248 if we move the position of LBRKT around
in the first case:

    token EQUAL LBRKT id param *( COMMA param ) RBRKT

and add an EQUAL in the second case:

    token EQUAL LBRKT param *( COMMA param ) RBRKT

Unfortunately an optional untagged item at the beginning of a construct is a
problem for ABNF1711.  This is because in general (although not necessarily
in the megaco case) it would make the identification of parameters
ambiguous.  This means that the third variant ideally needs to be:

    token EQUAL LBRKT ( id / "-" ) param *( COMMA param ) RBRKT

This doesn't seem a radical change to ABNF248, and even if the code is hand
crafted ought to be fairly easy to accommodate.  Naturally, any use of tools
should make this even easier.  In my opinion it also looks more intuitive,
although I guess it's a bit boring and lacks a bit of designer flair!!!

Is it possible to discuss such changes?

Pete

P.S. The corresponding ASN.1 for the above are:

token ::= SEQUENCE { id AS ? id, param AS ? SEQUENCE OF param }
token ::= SEQUENCE { param AS ? SEQUENCE OF param }
token ::= SEQUENCE { id AS ? CHOICE { present AS ? INTEGER, none AS -
NULL },
        param AS ? SEQUENCE OF param }

=============================================
Pete Cordell
pete at tech-know-ware.com
=============================================



More information about the sg16-avd mailing list