ASN1VE and ASN2TXT 3.0 Releases

We are proud to announce the release of new major versions of our ASN1VE and ASN2TXT products for 2020.

ASN1VE (ASN.1 Viewer / Editor) is a graphical user interface (GUI) tool for analyzing and editing ASN.1 encoded data. In the new 3.0 release, we have added the following capabilities:

  1. Added verification and encoding support for canonical encoding rules including DER, CER, and COER. The new capability checks for canonical rule violations within the encoded data. New messages can be created in these formats and existing messages transformed to ensure canonical form.
  2. The capability to import JSON or XML messages into Octet Encoding Rules (OER) format has been added.
  3. The capability to copy and paste tree nodes in element view has been added.
  4. Improved performance in loading and searching for data in large TAP3 and other CDR files.
  5. Changed the Windows installation procedure to first deinstall an existing version before trying to install a newer version.

ASN2TXT (ASN.1 to text translator) is a command-line tool for translating ASN.1 encoded data to and from various textual formats (XML, JSON, CSV). The main new capability added in the 3.0 release is a Python wrapper that makes it possible to use the DLL in Python applications.

Other new features for the two products are documented in the Release Notes and Change Log. See the Product Support Page at obj-sys.com/support.php

V2X Python Wrapper Updated for Python 3

We’ve updated the Python wrapper in our V2X API packages to support Python 3 (in addition to supporting Python 2.7).   Also, all platforms, not just 64-bit ones, now include the Python wrapper.

About Objective System’s V2X API

The V2X API is available for C++, Java, and C#.  It supports encoding/decoding V2X messages defined by SAE J2735 and ETSI standards.

The Python wrapper enables easy conversion between binary and text encodings by providing a simple Python interface on top of the C++ API.

For more, go here.

Viewing Huawei IMS CDR’s in ASN1VE (Updated)

This is an update to the original blog post on this topic done on June 28, 2011 at http://www.obj-sys.com/blog/?p=355. At the time, we did not have support in ASN1VE to process 3GPP TS 32.297 CDR headers, which is what the Huawei IMS CDR’s mentioned in the post contained. Although it is still possible to skip these headers, this is not reliable as the headers may be variable length. The updated procedure to view these CDR files with a newer version of ASN1VE is as follows:

  1. Open the CDR file. The “Assign All Items Wizard” popup window will appear:

    wizard1

    Select the “cdr” option (not “ber”) and click Next.

  2. The second wizard popup will appear:

    wizard1

    On this popup, check the “3GPP TS 32.297 Headers” radio button and click Next.

The normal procedure for assigning an ASN.1 schema file can then be followed from that point forward. The result will be the display of the CDR file with the headers fully decoded.

An example of this can be found in the sample/ts32297 directory within an ASN1VE installation.

New XBinder Release

We are pleased to announce the release of XBinder 2.6.1. XBinder is an XML schema code generation tool (also commonly known as an XML data-binding application) that generates C/C++, Java, and C# code to encode/decode schema instances in XML or JSON.

This is primarily a maintenance release providing bug fixes and improvements accumulated over the past year. One significant new feature that was added was support for Visual Studio 2019. For further details on fixes, please refer to the change log at https://www.obj-sys.com/support/change-log-xbinder-2.6.php.

A free 30-day trial may be downloaded from the following URL:

https://www.obj-sys.com/products/xbinder/download.php

ASN1C kits available for older Linux 64-bit systems using older glibc and ld libraries

A new ASN1C Linux 64-bit evaluation kit is now available for ASN1C version 7.3.3 to address problems reported by users with the current package. One problem reported was when executing the ASN1C binary, an error similar to this may be displayed: “version ‘GLIBC_2.12’ not found”. A second problem was in linking with libraries in the package in which an error to the effect of “unrecognized relocation” or “bad value” would be reported. This is because our binaries are now built with a newer version of glibc and ld (such as, currently, glibc 2.23 and ld/binutils 2.26). Older systems that have glibc versions such as 2.12 will fail to build with these libraries.

This new package contains executable files and libraries built with an older version of glibc.

The description of the existing package on our download page has been changed to:

  • Linux Ubuntu 16.04 (x64) 64-bit, glibc 2.23

The new package is

  • Linux Centos 6.5 (x64) 64-bit, glibc 2.12, no GUI

Note that in both of these cases, even though we have listed the specific Linux distribution used, the packages should work on any reasonably up-to-date Linux distributions such as SUSE, Fedora, Debian, etc. The only factor in determining which one to use would be the version of glibc.

Also note that the package that uses the older glibc does not contain the ASN1C GUI as it required the newer glibc version be available.

To check which version of glibc your system is currently using, enter the command “ldd –version”. This will print the version of ldd and glibc, with output similar to the following:

  • ldd (GNU libc) 2.12