Features shared across all OSS ASN.1 Tools

Avoid the risk of basing your application development on other tools that do not fully support these encodings.

True ASN.1 2015, 2008, 2002, 1997, 1990 Capable
Get macros and ANYs (1990), or parameterization, extensibility and XER (2008) with true support versus "claimed" support for these ASN.1 features. Don't know which ASN.1 version you have? No problem; the OSS compiler figures it out, and even tells you if you are mixing versions of the ASN.1 standards.

Automatic Encoding/Decoding
Reduce productivity bottlenecks with automatic encoding and decoding. With this feature, you can easily handle the whole PDU with one single call to the encode or decode function.

Option Rich Compiler 
Save development time and effort with a large selection of compiler options and directives that generate code with minimal effort.

Process Multiple ASN.1 files
Time will not be wasted changing the ASN.1 files because our compiler handles ASN.1 in its original format.

Enjoy a true multiprocessing development environment.

Complex ASN.1 values, rich features for OPTIONAL and DEFAULT fields 
Get error-free encoding regardless of ASN.1 value complexity. Compile, syntax check, constraint check, and generate all values (complex or primitive). At runtime, find out if the decoded value is a DEFAULT value.

24 x 7 technical support 
We are here: 24 hours a day, 7 days a week. Receive answers to your support questions quickly. Should you realistically have to wait until the next day?

Individual ASN.1 Tool features

Feature ASN.1/

Speed. Don't settle for snail-paced ASN.1 tools.
Both our compiler and runtime are fast. We invite you to evaluate our tools and see for yourself.

Fastest Faster Fast Fast

Support for encoder/decoder with debug and tracing capabilities (SOED)

Support for interpretive encoder/decoder designed for a small memory footprint (LED)
OSS' tools can meet your code size requirements no matter which protocol specified with ASN.1 that you use.

Support for compiler-generated encoder/decoder designed for speed (TOED)

Encoding to file or socket in a few lines of code
OSS offers socket support for all encoding rules for any value of any type. Improve the performance of your application. No need to store values in temporary memory. You only need to write one or two lines of code.

Quality Tracing and Precise Error Messages
OSS ASN.1 tools provide a wealth of diagnostics, giving you the information you need, in the format you need, on the platform you want. Don't settle for ASN.1 tools that are miserly with debugging information, thus slowing you down.


No need to worry about backward compatibility between versions of your ASN.1 - your own or the programs with which you communicate.

Relay Safe Mode 
Allows decoding a message with extensions using a different version of the ASN.1 spec and then preserve those extensions when re-encoding.


Get full support including options to determine which types are generated.


Compare and Copy Value
Avoid having to write code to copy or compare and save on implementation time. You can compare any 2 values, or make a copy of any value, regardless of the value's complexity, all with one simple function call.

Constraint Checking
Check all, some, or no constraints. That includes pattern constraints and contents constraints. Invalid values are caught at compile time and runtime, not silently ignored.

Large Values for All Encoding Rules
If you have values that are too large to fit in memory, you'll need this feature. OSS supports large values for all encoding rules, no matter what nesting depth the value has within the PDU.

Change runtime options dynamically with ease
Flexibility at runtime allows you to change options on the fly. For example, encoding rules can be changed so that you can decode with XER and then re-encode with PER.

Access to ASN.1 without foreknowledge of the data
Via the IAAPI you can generically access ASN.1 types, subtypes, and values without having the name or the structure of the data.


Value Notation Format I/O
Print values in value notation format, and read values with the OSS runtime function that parses value notation.


Nesting limits
For recursively defined constructed types and strings, these limits keep your program secure from undesirable invalid encodings. For ASN.1/C, you can even override the default limits.

Defer Decoding
Decode parts of values separately and optimize CPU usage by allowing applications to avoid re-encoding (e.g., used for cryptographic signatures).

Consult the product documentation for a complete description of the supported features.