We get asked rather frequently why compilations of a form of ASN.1 specification associated with the Siemens ASN.1 compiler fails to compile with our tools. The comment at the top of this type of file is of the following form:

--  Expanded ASN1 Module 'MAP-MobileServiceOperations' --  SIEMENS ASN.1 Compiler         R6.15  (Production_6.15)

The answer is that these specifications are missing definitions needed by a standard ASN.1 compiler necessary to resolve all symbols. Apparently, the Siemens compiler has definitions for these symbols built-in to its run-time system.

The symbols in question are ROSE OPERATION and ERROR class definitions as well as a class definition for MAP-EXTENSION.

The first part of this requires a ROSE standard ASN.1 specification be included in the compilation. This standard is available in the X.880 module in the ITU-T ASN.1 module database (http://www.itu.int/ITU-T/asn1/database/itu-t/x/x880/index.html). Simplified versions of this specification exist within the sample programs of our evaluation packages.

In order to access the OPERATION and ERROR definitions, an IMPORT statement needs to be added to the specification:

IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects;

The other class definition (MAP-EXTENSION) can be added to the specification as follows:

MAP-EXTENSION ::= CLASS {    &ExtensionType OPTIONAL,    &extensionId      OBJECT IDENTIFIER }

With these items in place, it should be possible to compile the Siemens MAP specifications with ASN1C.