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, 16, 17, or 18). 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 17
version 9.0.0 for 5G NAS 3GPP release 17.10.1
- Support for encoding/decoding of URSP (UE Route Selection Policy) information within a NAS message (3GPP TS 24.526 Release 17.8.0) is now available. URSP is a network slice feature that provides a way to manage network slice information for the UE.
- Support for encoding/decoding of EAP
(Extensible Authentication Protocol) messages embedded within 5G NAS
messages is now available. The implementation conforms to the formats specified in RFC 4187
(Extensible Authentication Protocol Method for 3rd Generation - Authentication
and Key Agreement) and RFC 5448 (Improved Extensible Authentication Protocol
Method for 3rd Generation - Authentication and Key Agreement).
5G NAS 3GPP release 16
version 8.3.5 for 5G NAS 3GPP release 16.8.0
- In the "QoS flow descriptions" information element, when the parameter identifier indicates "averaging window", the parameter contents field is two octets in length. Previously, the parameter contents field was three octets in length.
version 8.3.4 for 5G NAS 3GPP release 16.8.0
- The new ossNASFindUPULists() NAS/C helper API function is now available. The function extracts into an output array the lengths and positions of the encodings of the UE parameters update list(s) that are present in a binary DL NAS transport message. Also, it allows you to calculate and verify the checksum of the UE parameters update list after decoding a message or to calculate and insert the checksum into a newly encoded message.
- The sNSSAI and eapMessage fields
of the NetworkSliceSpecificAuthentificationCommand,
NetworkSliceSpecificAuthentificationComplete, and
aNetworkSliceSpecificAuthentificationResult
types are now mandatory as specified by the standard. Previously, to encode the
corresponding messages correctly the user had to mark both fields in the bitmask as
present; the decoder failed on valid messages.
version 8.3.3 for 5G NAS 3GPP release 16.8.0
-
The NAS LTE and NAS 5GS libraries can now be used at the same time in an application.
Previously, this was not possible due to name conflicts.
version 8.3.2 for 5G NAS 3GPP release 16.8.0
- For some of the QoS rule operations, table 9.11.4.13.1 (Chapter 9.11.4.13)
in TS 24.501 specifies the presence or absence of the QoS rule precedence
and QoS flow identifier fields. For other operations, the standard does not
explicitly specify whether these fields are absent or present.
In this version of the OSS NAS/C 5G Tools, the QoS rule precedence and QoS
flow identifier fields are optional. Previously, unless the standard
indicated otherwise, these fields were treated as mandatory.
NOTE: It is the responsibility of the application to make sure that when the
optional segregationAndQFI field is present in a NAS message passed to
ossNASEncode(), the antecedent optional qosRulePrecedence field is also present.
version 8.3.1 for 5G NAS 3GPP release 16.8.0
- The ossNASPrintPDU() API function now prints the value of a
read-only field "as is" and prefixes it with the <!--AUTO--> comment.
- For consistency with other instances of the Mapped HPLMN Slice
Differentiator, the type of the NAS5GS1680_MappedSNSSAIContentEntry
structure's mappedHPLMNSD field is changed from ossOctetString to
NAS5GS1680_SD, which is OSS_UINT32.
version 8.3.0 for 5G NAS 3GPP release 16.8.0
- Support for NAS 3GPP Release 16.8.0.
- Support for encoding/decoding of URSP (UE Route Selection Policy) information within a NAS message (3GPP TS 24.526 Release 16.8.0). URSP is a network slice feature that provides a way to manage network slice information for the UE.
version 8.2.0 for 5G NAS 3GPP release 16.7.0
- Support for NAS 5G 3GPP release 16.7.0 has been added.
5G NAS 3GPP release 15
version 7.1.8 for 5G NAS 3GPP release 15.6.0
- The ossNASPrintPDU() API function now prints the value of a
read-only field "as is" and prefixes it with the <!--AUTO--> comment.
version 7.1.6 - 7.1.7 for 5G NAS 3GPP release 15.6.0
- New ossNASJSON2Binary and ossNASXML2Binary API functions.
- The "operatorSpecific" alternative in the NAS5GS1560_TprotocolOrContainerUE and NAS5GS1560_TprotocolOrContainerNW structures is renamed to "operatorSpecificContainer".
- New JSON2Binary() and XML2Binary() methods that convert textual JSON or XML NAS messages to binary encoded form.
- New decodeJSON() and decodeXML() methods that decode JSON or XML encoded NAS messages. The decoded messages, which can be optionally modified, can then be re-encoded to binary NAS messages using the encode() method.
- New methods that retrieve the Extended protocol discriminator, Message type, PDU session identity, and Procedure transaction identity IEs of a binary NAS message even when the message decoding fails with an unrecoverable error. These methods are useful when preparing an error response as specified in Section 7 of 3GPP TS 24.501.
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 18
version 10.0.0 for NAS 3GPP release 18.6.0
- Support for NAS 3GPP release 18.6.0 has been added.
NAS 3GPP Release 17
version 9.1.0 for NAS 3GPP release 17.11.0
- Support for NAS 3GPP release 17.11.0 has been added.
version 9.0.0 for NAS 3GPP release 17.9.0
- Support for NAS 3GPP release 17.9.0 has been added.
NAS 3GPP Release 16
version 8.2.2 for NAS 3GPP release 16.7.0
- The OSS NAS Tools for C now allows the gprsEncryptionAlgorithmGEA1Available
field in IE MSNetworkCapability (that is,
MSNetworkCapability.gea1Bits.gprsEncryptionAlgorithmGEA1Available) to take
a value of 1 or 0. This enables the current version of eNodeB to serve a
phone that is compliant with 3GPP release 10 or earlier.
version 8.2.1.2 for NAS 3GPP release 16.7.0
- The UE can now set Quality of Service Class Identifier (QCI) to zero. Previously, this was not allowed. QCI is a component of the EPS Quality Of Service information element. It is present in the following LTE ESM messages:
- Activate Default EPS Bearer Context Request
- Activate Dedicated EPS Bearer Context Request
- Modify EPS Bearer Context Request
- Bearer Resource Allocation Request
- Bearer Resource Modification Request
The EPS bearer identity now accepts values within the range of 0 to 15. In previous versions of TS 24.301, the EPS bearer identity did not accept values within the range of 1 to 4.
version 8.2.1 for NAS 3GPP release 16.7.0
-
The NAS LTE and NAS 5GS libraries can now be used at the same time in an application.
Previously, this was not possible due to name conflicts.
version 8.2.0 for NAS 3GPP release 16.7.0
- Support for NAS 3GPP release 16.7.0 has been added.
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.1 for NAS 3GPP release 15.8.0
- New JSON2Binary() and XML2Binary() methods that convert textual JSON or XML NAS messages to binary encoded form.
- New decodeJSON() and decodeXML() methods that decode JSON or XML encoded NAS messages. The decoded messages, which can be optionally modified, can then be re-encoded to binary NAS messages using the encode() method.
- New methods that retrieve the Extended protocol discriminator, Message type, PDU session identity, and Procedure transaction identity IEs of a binary NAS message even when the message decoding fails with an unrecoverable error. These methods are useful when preparing an error response as specified in Section 7 of 3GPP TS 24.301.
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.