Features shared across all OSS ASN.1 Tools

Full Support of BER, CER, DER, PER, CPER, OER, COER, XER, CXER, E-XER, and JSON
Avoid the risk of basing your application development on other tools that do not fully support these encodings.

True ASN.1 2021, 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.

ASN.1 Value Notation Support
The representation structures/objects can be serialized into value notation format and these values can then be parsed to the representation structures/classes.
Note: Support for parsing a value notation contained in a string to the Java representation object will be added in a future release.

Support for compiler-generated encoder/decoder designed for speed (TOED)
Achieve lightning speed using the time-optimized encoder/decoder (TOED), which is optimized to minimize CPU utilization.

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.

Partial Decoding
Quickly decode selected fields from input messages while the remaining fields are ignored, extract data without writing code to access deeply nested fields of complex PDUs, and reduce the memory footprint of applications that contain minimal information in their PDUs. This feature is useful in many application areas including Lawful Intercept, routers, protocol analyzers, and Self-Organizing Networks (SON).

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

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

Precise Error Messages
Don't guess at what is wrong with a message being encoded or decoded. Receive detailed error messages indicating precisely what component of a message is invalid and why it is invalid.

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.

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.

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

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.

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.

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.

Multi-Threading
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/
C
ASN.1/
C++
ASN.1/
C#
ASN.1/
Java

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.

Quality Tracing
The 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.

 

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.

 

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

 

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.

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.

   

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