We recently released an add-on package for the ASN1C ASN.1 compiler that allows C code to be generated for encoding and decoding 3GPP layer 3 messages as defined in the NAS and GERAN RRC specifications. The add-on installs ASN.1 specifications with special markup that provides an approximation of these message types. It also provides custom C code snippets that are injected by the compiler into places where custom coding was required. It also provides limited support for the compilation of specifications specified in Concrete Syntax Notation 1 (CSN.1).
Our white paper "Using ASN.1 to Describe 3GPP Messages" describes how the ASN.1 was modeled to accomplish this.
This offering complements our standalone DLL for encoding/decoding NAS/RRC messages. The advantage in this case is that the provided specifications can be modified to support variations and/or future releases of the protocol messages. An evaluation of the SDK add-on and standalone DLL can be downloaded by accessing the following links:
NAS/RRC standalone C-based DLL with security handling
(Note: user registration is required).
Further information is available on our 3GPP/LTE NAS API's web page.