Thoughts on the current state of ASN.1 and XML technologies.

Archive for category ASN1VE

ASN.1 Tag Path Filtering in ASN2TXT

The latest release of our ASN.1 to Text Translation Tool (ASN2TXT) contains a new feature called “tag path filtering”. The purpose of this is to allow users to target specific items within a BER-encoded message without the need for full ASN.1 schema information. One use case for this would be the case where a user has a Call Detail Record (CDR) specification which has snippets of ASN.1 code, but which does not have the full specification. Another use case is where the user has the full specification, but is only interested in accessing a few specific items within the encoded data.

The way it works is the “tag path” to specific elements within the message is specified in an XML file along with other information such as the data type of the item and names to be used. The tag path is a concatenated list of ASN.1 tag values using a special compact syntax. So instead of using the full name for a tag such as [UNIVERSAL 22], only the first letter of the tag class would be used and there would be no space between the letter and the tag number. Therefore, [U22] would be the shorthand name for this tag.

In addition to the tag path, the following items can be used in a tag path specification:

  • name – a name that will be used in some types of output formats in place of the generated tag name.
  • type – the data type of the element used to format the value for output.
  • value – a textual value that would replace the actual data at the tag location.

The specification of a complete tag path is expressed in XML as follows:

<asn1TagPath>
  <path> path in tag path format </path>
  <name> name of the element </name>
  <type> data type of the element </type>
  <value> value to use for the element </value>
</asn1TagPath>

A tag path filter consists of one or more of these elements wrapped in an <asn1TagFilter> element.

This is just a brief summary of the basic idea behind tag paths. Full details can be found in the ASN2TXT User’s Manual in the section on ASN.1 Tag Path Filtering.

No Comments

New Releases of ASN1C and ASN1VE for 2017

We have released new versions of our ASN1C and ASN1VE products for 2017.

ASN1C is an ASN.1 code generator capable of generating C/C++, Java and C# data bindings for ASN.1 schemas.  The new release adds the following new features:

  • Support added for OER in Java and C# – The capability to generate encoders and decoders for the Octet Encoding Rules (OER) in Java and C# languages has been added.  The capability existed previously to generate C/C++ code for these rules. Generated code now supports the ITU-T X.696 standard by default, although it is still possible to code conforming to the original NTCIP standard..
  • Support added for Canonical OER – The capability to generate code to support Canonical OER in all languages has been added.
  • Generation of C/C++ code to better support 64-bit architectures – A new command-line option – -x64 – was added to generate code that is a better fit for 64-bit architectures.
  • Improved support for ISO date/time C/C++ code generation for BER and DER encoding rules.
  • Support added for character string types as default values.
  • Libraries built with gcc 6.x have been added to Linux distributions.

ASN1VE is an ASN.1 Viewer/Editor program that allows ASN.1 encoded data to analyzed and edited.  The following new capabilities were added:

  • Capability to select multiple elements in tree view for deletion or searching.
  • Capability to more accurately show the location of errors in encoded data.
  • Automatic detection of block-size and padding bytes in CDR files with blocked format.

Both of these releases take advantage of a year’s worth of work to improve the ASN.1 processing engine code base infrastructure.  This includes integration of bug fixes to all issues reported during the past year and well as performance and security improvements.

Free evaluation downloads of both products are now available on our web-site.  Users with active support may upgrade to the new releases at any time.

 

No Comments

New Major Release of ASN2TXT

Objective Systems is pleased to announce a new major release (version 2.6) of our ASN2TXT product.  ASN2TXT translates data from ASN.1 encoded binary formats (BER, DER, CER, PER, and UPER) to textual formats such as XML, JSON, or Comma-separated value (CSV).   The application allows ASN.1 schemas to be applied to data at run-time rather than having to first generate and compile code in some programming language.

The key new feature in the release is the addition of a Document Object Model (DOM) capability for users of the DLL.  Users can decode ASN.1 binary into a DOM tree format where values can be altered prior to serialization into an output format.  These alterations can be in the form of changing node values, adding additional nodes, or removing nodes from the tree.  The capability also exists to locate nodes in the tree using standard XML Path (XPath) expressions.

In addition to the new DOM feature, we have also added support for ISO 8601 date/time types as well as interfaces that allow the DLL to be used in C and C# .NET applications.

A free, 30-day evaluation version of the product may be downloaded from the ASN2TXT product page by clicking the “Download” button at the bottom of the page.

No Comments

ASN2TXT v2.5.0 Released

Version 2.5.0 of Objective Systems’ ASN2TXT product is now available.

The ASN.1-to-text translator (ASN2TXT) translates binary-encoded BER/CER/DER/PER ASN.1 data into various textual formats including XML, comma-separated value (CSV), and JSON formats.  It includes a DLL that can be embedded in user code as well as a command-line executable and GUI wizard that invoke this DLL.

This version adds the following new capabilities:

  • Ability to decode ASN.1 binary data to a JSON format. Most existing XML options are also valid for JSON output.
  • Filtering of CSV data. Using a configuration file, it is now possible to specify a selection path (and optional mapped column name) and only write records to the CSV file that match this path.
  • Support for decoding 3GPP TS 32.297 headers for XML and JSON. This is a standard header format now used in many LTE-related and other CDR formats.

You can find out more about ASN2TXT from our web site here: http://www.obj-sys.com/products/asn2txt/index.php

 

No Comments

New ASN1C and ASN1VE Patch Releases

We have released version 6.8.3 of our ASN1C ASN.1 compiler product.  This is a patch release that fixed a number of issues.  Of note were several changes in the area of generating C# projects and test code.  We also fixed a crash in ASN.1-to-XSD translation that would occur if an attempt was made to translate a specification that contained the newer time types.  Support has been added for these and the crash fixed.

For a full list of changes that went into this release, please consult the Change Log.

We have also released version 2.4.4 of our ASN1VE Viewer/Editor application.  This includes a critical patch to 3GPP TS 32.297 CDR header decoding in which the length of the header was not being properly accounted for during decoding.  Also fixed was a crash that would occur when CDR type was selected and fixed and repeating header lengths were both set to zero.

A full list of the ASN1VE changes is available in the ASN1VE Change Log.

 

 

No Comments