Skip to content
The Intrig Message Decoder
C C++ HTML Lua Makefile Meson Other
Branch: master
Clone or download
wythe Rem asn1 files from git and added xddl (#39)
Removed the 3GPP asn.1 files from the repo due to copyright concerns.  The corresponding 
xddl files were added and the generation rules are no longer used. 

Added instructions to README.adoc on how to convert from asn.1 to xddl.
Latest commit fc696fd Sep 10, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.


The Intrig Message Decoder

1. Introduction

Intrig Xenon provides flexible, powerful and easy to use C++ API for decoding protocol messages.

Originally developed for 3G and 4G programmers and test engineers to decode their complex messages, the xenon decoder has evolved into a general purpose open source tool with an ever expanding protocol support base.

And, using XDDL, you can support your own proprietary message formats.

See xenon in action for yourself using the Intrig online decoder:

1.1. Quick Start

1.1.1. Building on Mac and Linux

From a terminal, issue the following commands:

git clone --recursive
cd xenon
make test
sudo make install

1.1.2. Building on Windows

Windows requires the following steps:

  1. Install Github Desktop

  2. Clone the xenon repo as above.

  3. Install meson

Follow the instructions in the above link to have meson generate the Visual Studio build files.

1.2. Dependencies

  • meson

  • C++17 or later compiler

  • Github desktop (for Windows only)

2. Using Xenon

Link with the library, found in /usr/local/lib/x86_64-linux-gnu/ on Ubuntu.

The header files are found in /usr/local/include/xenon.

The XDDL data files are found in /usr/local/share/xddl.

See the xenon/examples directory for some common uses of the decoder.

If you want to parse your own custom protocols, then the XDDL Reference is a complete reference containing useful examples.

Also, the tools directory contains useful examples, such as idm and xv. These two programs are installed into /usr/local/bin.

2.1. Converting 3GPP asn.1 to XDDL

asnx converts asn.1 PER files to xddl. It handles a subset of the asn.1 spec. If there any problems please submit an issue.

For 3GPP specs, e.g. 36.331:

  1. Download the latest spec.

  2. Save it to file, e.g. 36.331.txt.

  3. Run: asn-strip -m 36.331.txt > 36.331.asn

  4. Edit 36.331.asn by hand. Some of the lines may have been broken at '-' characters. Just run the following step repeatedly until you fixed the errors.

  5. Run asnx -o TS-36.331.xddl -t 36.331.asn.

  6. Add resulting xddl file to git.


You can’t perform that action at this time.