Configuration Files

Configuration files are XML files that can be used to apply specific options to specific items within a schema. These options can be applied to specific modules, productions, and elements as well as globally.

A configuration file would target an item to which a directive is to be applied by specifying module, production, and element in an XML hierarchy. An example that targets an element to be displayed in an alternate format is as follows:

   <asn1config>
     <module name=”MEDIA-GATEWAY-CONTROL”>
       <production name=”IP4Address”>
         <element name=”address”>
           <displayFormat>ipv4</displayFormat>
         </element>
       </production>
     </module>
  </asn1config>

This indicates the element 'address' in the production 'IP4Address' in the module 'MEDIA-GATEWAY-CONTROL' should be displayed in the form of an IP version 4 address rather than in the default format for the type (which for OCTET STRING is hex bytes).

At the outer level of the markup is the <asn1config> </asn1config> tag pair. Within this tag pair, the specification of global items and modules can be made. Global items are applied to all items in all modules. An example would be the <includedir> qualifier. This specifies an include directory to search for modules specified in import statements. It is not something that is associated with an individual module or production.

The specification of a module is done using the <module></module> tag pair. This tag pair can only be nested within the top-level <asn1config> section. The module is identified by using the required <name></name> tag pair or by specifying the name as an attribute (for example, <module name="MyModule">). Other attributes specified within the <module> section apply only to that module and not to other modules specified within the specification. A complete list of all module attributes is provided in the table at the end of this section.

The specification of an individual production is done using the <production></production> tag pair. This tag pair can only be nested within a <module> section. The production is identified by using the required <name></name> tag pair or by specifying the name as an attribute (for example, <production name="MyProd">). Other attributes within the production section apply only to the referenced production and nothing else. A complete list of attributes that can be applied to individual productions is provided in the table at the end of this section.

The following tables specify the list of attributes that can be applied at all of the different levels: global, module, and individual production. Only the attributes applicable to ASN1VE are shown.

Global Level

These attributes can be applied at the global level by including them within the <asn1config> section:

Name Values Description
<includedir></includedir> <Include directory> This configuration item is used to specify a directory that will be searched for IMPORT files.

Module Level

These attributes can be applied at the module level by including them within a <module> section:

Name Values Description

<name> </name>

module name This attribute identifies the module to which this section applies. Either this or the <oid> element/attribute is required.
<oid> module OID (object identifier) This attribute provides for an alternate form of module identification for the case when module name is not unique. For example, a given ASN.1 module may have multiple versions. A unique version of the module can be identified using the OID value.
<include types="names" values="names"/> ASN.1 type or value names are specified as an attribute list By default, all types and values within a specification are included for display within ASN1VE. This item allows ASN.1 types and/or values to be explicitly specified for inclusion in the set of items to be displayed. This allows the size of what is loaded to be reduced. This can be useful in the case of large schemas which import items from many different schemas to reduce the number of schema files that need to be imported.
<exclude types="names" values="names"/> ASN.1 type or values names are specified as an attribute list This item allows a list of ASN.1 types and/or values to be excluded from the set of schema items to be displayed. By default, all types and values from within a specification are included. If an attempt is made to exclude a type or value referenced by another item, the directive will be ignored.
<noPDU/> n/a Indicates that this module contains no PDU definitions. This is normally true in modules that are imported to get common type definitions. This will prevent any types from being displayed from this module as possible PDU types.

Production Level

These attributes can be applied at the production level by including them within a <production> section:

Name Values Description

<name> 
</name>

production name This attribute identifies the production (type) to which this section applies. It is required.
<displayFormat> lower, upper, ipv4, ipv6, imei, imsi, tbcd This is used to specify an alternate stringified representation for binary data. It is only applicable to OCTET STRING types. By default, OCTET STRING data is displayed in hexadecimal text format. The lower and upper qualifiers also result in hexadecimal text format, but force lower or upper case characters to be used. The ipv4 and ipv6 qualifiers cause the date to be formatted as an IP address. The imei, imsi, and tbcd qualifiers treat the data as being encoded in TBCD format with slight differences in each format type.
<isPDU/> n/a This item is used to indicate that this production represents a Protocol Data Unit (PDU). This indicates that this production should be included in the list of possible PDU types when the schema is assigned.
<isTBCDString/> n/a This item is used to indicate that this production is to be encoded and decoded as a telephony binary coded string (TBCD). This is type is not part of the ASN.1 standards but is a widely used encoding format in telephony applications.

Element Level

These attributes can be applied at the element level by including them within an <element> section:

Name Values Description

<name> 
</name>

element name This attribute identifies the element within a SEQUENCE, SET, or CHOICE construct to which this section applies. It is required.
<displayFormat> lower, upper, ipv4, ipv6, imei, imsi, tbcd This is used to specify an alternate stringified representation for binary data. It is only applicable to OCTET STRING types. By default, OCTET STRING data is displayed in hexadecimal text format. The lower and upper qualifiers also result in hexadecimal text format, but force lower or upper case characters to be used. The ipv4 and ipv6 qualifiers cause the date to be formatted as an IP address. The imei, imsi, and tbcd qualifiers treat the data as being encoded in TBCD format with slight differences in each format type.