Enhancements History

NOTE: These products are sold by technology (5G or LTE/EPC), programming language (C or C++), and major 3GPP release (13, 14, 15, or 16). Therefore, enhancements that are listed in one product section on this page may not apply to products in other sections.



OSS NAS Tools for C, C++ for 5G

5G NAS 3GPP release 15

version 7.1.0 for 5G NAS 3GPP release 15.6.0
  • Support for NAS 5G 3GPP release 15.6.0 has been added.
version 7.1.0 for 5G NAS 3GPP release 15.4.0
  • Support for 5G NAS 3GPP release 15.4.0 has been added.
version 7.0.0 for 5G NAS 3GPP release 15.2.1
  • Support for 5G NAS 3GPP release 15.2.1 has been added.


OSS NAS Tools for C, C++ for LTE/EPC

NAS 3GPP Release 16

version 8.0.0 for NAS 3GPP release 16.3.0
  • Support for NAS 3GPP release 16.3.0 has been added.

NAS 3GPP Release 15

version 7.2.0 for NAS 3GPP release 15.8.0
  • Support for NAS 3GPP release 15.8.0 has been added.
version 7.1.1 for NAS 3GPP release 15.5.0
  • Support for NAS 3GPP release 15.5.0 has been added.
  • An MNC value can consist of two or three digits. Previously, it was thought that a two-digit MNC value stored in a PDU was always represented by a string of size 3, where its digits were augmented with the padding space character. Now the encoder accepts MNC strings of size 2. The decoder now decodes a two-digit MNC value into a string of size 2 by default. The new OSSNAS_OLD_MNC_WITH_SPACE runtime flag restores the old decoder behavior (the decoded string is size 3 with a trailing space).
  • The new OSS NAS API function, ossNASBinary2JSON(), is added to NAS/C. This function converts a binary NAS message to a JSON document. The similar binary2JSON() method is added to NAS/C++.
  • The OSS NAS/C API ossNASBinary2XML() and ossNASPrintPDU() functions (binary2XML() and print() methods for OSS NAS/C++) now produce an XML document in accordance with ITU-T Recommendation X.693: "Information technology ASN.1 encoding rules: XML Encoding Rules (XER)". The following changes were implemented:
    • Each SEQUENCE OF SomeType element, where SomeType is a BOOLEAN type, is now represented as "true" or "false" instead of "<SomeType>true</SomeType>" or "<SomeType>false</SomeType>".
    • A SomeType ASN.1 type field, where SomeType is a NULL type, is now represented as "<SomeType/>". Previously, it could be omitted.
    • Each SEQUENCE OF SomeType element, where SomeType is a CHOICE type, is now represented as the corresponding CHOICE alternative. Previously, the alternative was additionally wrapped by <SomeType> and </SomeType> tags.
    • The new OSSNAS_OLDXML runtime flag restores the old behavior of the functions.
version 7.0.0 for NAS 3GPP release 15.4.0
  • Support for NAS 3GPP release 15.4.0 has been added.

NAS 3GPP Release 14

version 6.3.0 for NAS 3GPP release 14.9
  • Support for NAS 3GPP release 14.9 has been added.
version 6.1.0 for NAS 3GPP release 14.4
  • The decoding of certain variable-length IEs ending with one or more optional octets (UE network capability IE, Mobile station classmark 3 IE, and MS network capability IE) has been modified so any missing optional octets at the end of the IE are treated as zeros. This allows the decoding operation to proceed without error even when an IE is sent that lacks one or more fields at the end, provided that the octets that would have carried the missing fields are marked as optional in the relevant technical specification.
version 6.0.0 for NAS 3GPP release 14.4
  • Support for NAS 3GPP release 14.4 has been added.

NAS 3GPP Release 13

version 5.3.0 for NAS 3GPP release 13.12
  • Support for NAS 3GPP release 13.12 has been added.
version 5.1.0 for NAS 3GPP release 13.10
  • Support for NAS 3GPP release 13.10 has been added.
  • The decoding of certain variable-length IEs ending with one or more optional octets (UE network capability IE, Mobile station classmark 3 IE, and MS network capability IE) has been modified so any missing optional octets at the end of the IE are treated as zeros. This allows the decoding operation to proceed without error even when an IE is sent that lacks one or more fields at the end, provided that the octets that would have carried the missing fields are marked as optional in the relevant technical specification. This could occur when the sender intentionally omits one or more trailing zero octets from those IEs (e.g., in order to save space) or when the sender uses an older NAS release and the NAS release used by the recipient extends the definition of those IEs by one or more octets.

    The parts of the NAS*.h header file that correspond to the three IEs in question have been modified in a non-backward-compatible way. If you have existing code that uses the NAS API, you must make minor changes to your code to support the new structures.
version 5.0.0 for NAS 3GPP release 13.7
  • Support for NAS 3GPP release 13.7 has been added.
  • A new API has been added that returns the warning or error message number along with a detailed description of that message. Warning messages could tell the user that an NAS message that conforms to an earlier NAS release has been received.
  • New sample programs have been added:
    • "decodeESMContainer" demonstrates how to decode an "Activate Default EPSBearer ContextRequest" ESM message from an ESM message container IE of an "Attach Accept" EMM message.
    • "encryption" demonstrates how to encode and decode a Security Protected NAS message.
    • "ESMEncDecNW" demonstrates how to encode and decode ESM messages by network.