Subject: ASN.1 doubts

From: Shiv Kumar <[email-masked]>
Date: Fri, 15 Sep 2000 09:25:39 +0530

Hi,

 I have some doubts in Binary encoding regarding the following :
[ I have taken into consideration the correction in the Implementation Guide
that
  the native tags can be used for Local Control also ]

1) Other than the SDP tags, how are the rest of the native tags used ?
     Can someone clarify with an example ?
     The local control property parm HAVE to be qualified by a Package and Item
name.
      How is it used w.r.t. native tags ?
      What is the equivalent of the native tags in text encoding ?

2) In Property Parm, 'value' is described as a SEQUENCE of octet string and an
     empty sequence means CHOOSE...which descriptor is this used with ?
     Again, can I have a specific  example for local control desciptor ?

There seem to be some other syntactic errors/mismatches in the ASN.1
description.

1)

   ActionReply ::= SEQUENCE    {
     contextId               ContextID,
      errorDescriptor         ErrorDescriptor OPTIONAL,
      contextReply            ContextRequest OPTIONAL,
      commandReply            SEQUENCE OF CommandReply
}

   Context Reply and command Reply should be grouped into a separate structure.
   That structure should be part of a CHOICE between it and error descriptor.
    Something like the following, perhaps.

ActionReply ::= SEQUENCE    {
     contextId               ContextID,
     actionBody               CHOICE {
                    errorDescriptor      ErrorDescriptor,
          SEQUENCE               commandReplyList{
               contextReply         ContextRequest OPTIONAL,
               commandReply         SEQUENCE OF CommandReply
          }
     }

2)  Priority in Context Request is mentioned as having a range of 0-15.
     In ABNF, it is simply UINT16.

3) CommandRequest SEQUENCE  has 'wildcardReturn' as one of its parameters.
     Shouldnt it be bound to Subtract and Audit commands only ?

4) AuditReply SEQUENCE should not have 'termination Id' . It is part of
auditOther only
    and not of contextTermination  audit.

5) In NotifyReply, termination Id should be mandatory [ as in ABNF]

6) OK, this is more significant.
     The packages in Annex E have provided   binary Id at Parameter name level
also.
      Shouldnt  those binary Ids be used instead of Parameter Name ?
      This is true for Event Parameter and SigParameter.
     Also, only one Value is provided. Cant we have Relation and  Range/Sets ?

7) The ServiceChangeResult in Service Change Reply should be optional.

8) The  DigitMapDescriptor and ServiceChangeResParm definition  leaves room to
indicate
     that you can send then without any parameters. Can it be bettered ?

9) Are Service Change Method and Reason mandatory ? If so, they should be
specified
    in the ABNF description also.

Hoping for some clarifications.
Regards
Shiv

---

From: Christian Groves <[email-masked]>
Date: Tue, 19 Sep 2000 06:56:43 +1100

Hello Shiv,

Please see clarifications marked CHG.

Cheers, Christian

>      Can someone clarify with an example ?
[CHG] Native tags are used as properties in local control/ local /
remote etc. They are encoded as Tag Length Value as BER encoding of
ASN1.

>       How is it used w.r.t. native tags ?
[CHG] Native tags relate to properties in ASN1. ie.
packageID/propertyID=value. The native tags are allows preceeded by
package ID of 0. This is specified in the protocol.

>       What is the equivalent of the native tags in text encoding ?
[CHG] This depends on the parameter. Sometimes there is no mapping,
sometimes it maps to the SDP definition RFC sometimes it maps to other
drafts with SDP attributes.

>      empty sequence means CHOOSE...which descriptor is this used with ?
[CHG] This is used with all descriptors that have asn1 ber encoded
properties.

>      Again, can I have a specific  example for local control desciptor ?
[CHG] You have a TAG, LENGTH and no value.

>                commandReply         SEQUENCE OF CommandReply
[CHG] Why? It works with the current ASN1.

>      In ABNF, it is simply UINT16.
[CHG] In the main protocol document, you can only have 0-15 priorities
so if anything the ABNF needs to be updated to reflect this. I don't
think this is an issue though.

>      Shouldnt it be bound to Subtract and Audit commands only ?
[CHG] I don't think we need to bind this in the ASN1. The protocol gives
what is valid.

>     and not of contextTermination  audit.
[CHG] I don't see this as a problem. Terminations are returned in either
case.

> 5) In NotifyReply, termination Id should be mandatory [ as in ABNF]
[CHG] No, you may get an error back that doesn't relate to anything. ie.
the MGC can't parse the terminationID. Then terminationID is valid in
that case. I thought the ABNF could cope with this.

>      Also, only one Value is provided. Cant we have Relation and  Range/Sets ?
[CHG] Yes. All this can be done today.

> 7) The ServiceChangeResult in Service Change Reply should be optional.
[CHG] This is correct. It is covered in - ServiceChangeResParm.

>      that you can send then without any parameters. Can it be bettered ?
[CHG] Is this a general question on the map mechanism?