Partial Decoding - Now Available in OSS ASN.1/C and ASN.1/C++ Tools

Does your application receive large messages, but only need to access one or two fields? Are you handling message routing and only need access to routing information rather than needing to decode the whole message? Does your application handle real-time network traffic and need to access only a few specific fields? If so, OSS' new partial decoding feature will be of interest to you.

The partial decode feature enables you to:

  • Quickly decode preselected fields from incoming messages
  • Directly access a decoded field in a callback function without traversing from the top of the PDU
  • Get the offset and length of an encoded field in a binary BER/DER/OER/COER message. You can even replace the value of the field directly in the binary message, if the encoding of the new value is of the same length as of the previous one.

Partial decoding is useful in many areas including:

  • Lawful Intercept
  • Routers
  • Protocol Analyzers
  • Self-Organizing Networks (SON)

One advantage of using partial decoding is that, when looking for a particular component in a large message, you can directly receive the value of the component you are looking for without having to navigate through the large message structure.

Another advantage is that, once the component you are looking for is found, the rest of the message does not need to be decoded, significantly improving performance. For example, using partial decoding to determine that there is no UEPagingID in an S1AP paging_msg or handoverRequest_msg could be 10 times faster compared to doing a complete decoding. Of course results will vary based on the specification you use and which component in that specification you wish to directly retrieve.

The new partial decoding feature is available in the TOED runtime libraries of the ASN.1/C and ASN.1/C++ Tools, and can be used with binary encoding rules such as BER, DER, PER, UPER, OER, and COER.

For more information, refer to the corresponding product documentation.