TOP

What's New

Applies to: NAS/C 5G r15.6.0 v7.1.8

What's New in NAS/C 5G r15.6.0 v7.1.8

Improvements

  • The ossNASPrintPDU() API function now prints the value of a read-only field "as is" and prefixes it with the <!--AUTO--> comment. Previously, read-only fields were always printed as 0. Note that the application does not need to set a read-only field because the ossNASEncode() function ignores its value and sets the corresponding value in the encoded message as required by the 3GPP NAS technical specification. Therefore the values of read-only fields in a NAS message printed by ossNASPrintPDU() are irrelevant if the message will be passed to ossNASEncode().

What's New in NAS/C 5G r15.6.0 v7.1.6-7.1.7

New Features

  • The following new API functions are available:
    int ossNASJSON2Binary(OssNASGlobal *world, int *pdunum, OssBuf *input, OssBuf *output);
    int ossNASXML2Binary(OssNASGlobal *world, int *pdunum, OssBuf *input, OssBuf *output);
  • The "operatorSpecific" alternative in the NAS5GS1560_TprotocolOrContainerUE and NAS5GS1560_TprotocolOrContainerNW structures is renamed to "operatorSpecificContainer".

What's New in NAS/C 5G r15.6.0 v7.1.5

New Features

  • The following new API functions are available:
       OSS_UINT32 ossNASGetPduSessionIdentity (OssNASGlobal *world);
       ossBoolean ossNASHasPduSessionIdentity (OssNASGlobal *world);
    
       ossBoolean ossNASHasProcedureTransactionIdentity (OssNASGlobal *world);
       OSS_UINT32 ossNASGetProcedureTransactionIdentity (OssNASGlobal *world);
    
       OSS_UINT32 ossNASGetExtendedProtocolDiscriminator (OssNASGlobal *world);
       ossBoolean ossNASHasExtendedProtocolDiscriminator (OssNASGlobal *world);
    
       OSS_UINT32 ossNASGetMessageType (OssNASGlobal *world);
       ossBoolean ossNASHasMessageType (OssNASGlobal *world);
    NAS applications can use these ossNASGet*() functions to retrieve the corresponding IE values of a binary NAS message even when the message decoding fails with an unrecoverable error, provided these values are present in the message; otherwise, the functions will return a value of 0XFFFF. These functions are useful when preparing an error response as specified in Section 7 of 3GPP TS 24.501.
  • To support a mappedEPSBearerContexts IE with an IEI value of 7F from older 3GPP releases (prior to R15.3.0), one more optional IE is added to the PDU SESSION MODIFY COMMAND/REQUEST messages:
       ...
        mappedEPSBearerContexts           MappedEPSBearerContexts 
                  /* $CEF IEI '75'H; IEL 4..65535 WIDTH 16 */ OPTIONAL,
        mappedEPSBearerContexts-pre-15-3  MappedEPSBearerContexts 
                  /* $CEF IEI '7F'H; IEL 4..65535 WIDTH 16 */ OPTIONAL,
       ...
    The NAS application must make sure that it encodes only one of the two IEI values, depending on its conformance to the 3GPP Release. The NAS decoder assumes that only one of the IEI values is present in the input message. If both IEI values are present, the decoder attempts to decode both IEs.
    If the decoded IE has IEI 7F ('comprehension required') and it is syntactically incorrect or occurs out of sequence, the decoder reports an error.
    If the decoded IE has IEI 75 (no 'comprehension required') and it is syntactically incorrect or occurs out of sequence, the decoder discards the IE without generating an error.

Improvements

  • Defects in mapping NAS messages to the annotated ASN.1 specification are fixed. Some of the modifications result in changes to the ossnas.h header file, particularly the following:
    • Misspelled names are corrected:
      NAS5GS1560_PDUSesionCause -> NAS5GS1560_PDUSessionCause
      upuMACIAAUSF -> upuMACIAUSF
    • The C-representation of 5GSTMSI IE is changed from ossOctetString to OSS_UINT32.
    • The third alternative in the NAS5GS1560_TprotocolOrContainerUE structure is renamed from unknownContainer to operatorSpecific. Its representation is changed from ossOctetString to "struct OperatorSpecific" where the structure is introduced so that the MCCMNC IE this container always starts with is made available.
    • The C-representation of PayloadContainerContents is changed from ossOctetString to a structure that holds the automatically decoded container contents, taking into account the container type and the message direction.

What's New in NAS/C 5G r15.6.0 v7.1.4

Improvements

  • The ossNASDecode() API function now always ignores a truncated optional Information Element at the end of a message. Previously, it could return a non-zero error code in this case.
  • The ossNASDecode() API function now returns the new error code 71 and the "Too short message" error message when, according to 3GPP TS 24.301/24.501 7.2.1, the input message should be ignored because it is too short to contain a message type Information Element. Previously, other error codes were returned in this case.
  • When a mandatory Information Element is missing, the ossNASDecode() API function now always returns code 17 (OSSNAS_AttemptToReadPastEndOfEncodedData). Previously, in some cases it returned code 19 (OSSNAS_AttemptToPeekBeyondEndOfEncodedData).

What's New in NAS/C 5G r15.6.0 v7.1.3

Improvements

  • The GFBRUplink, GFBRDownlink, MFBRUplink, MFBRDownlink, AveragingWindow, and EPSBearerIdentityOctet IEs and IE elements are now correctly encoded and properly handled by the decoder. Previously, they could be encoded without the preceding length field. Also, the decoder could mishandle them.
  • The T3512 value IE of Registration Accept message is now correctly handled as GPRS timer 3. Previously, it was handled as GPRS timer 2.
  • The Selected PDU session type and Selected SSC mode IEs of PDU Session Establishment Accept message is now encoded in the correct order. Previously, their half-octet encodings were swapped within the octet.

What's New in NAS/C 5G r15.6.0 v7.1.2

Improvements

  • The 5GS tracking area identity list IE is now handled correctly. Previously, it was not possible to set the "number of elements" field of the "Partial tracking area identity list of type 01" to a non-zero value.

What's New in NAS/C 5G r15.6.0 v7.1.1

New Features

  • The new OSS NAS API function, ossNASDecodeJSON(), has been added. This function decodes a JSON-encoded NAS message into a specified variable of the corresponding NASmessage type. The optionally modified decoded message can then be re-encoded to a binary NAS message by the ossNASEncode() function.
  • The new OSS NAS API function, ossNASDecodeXML(), has been added. This function decodes a JSON-encoded NAS message into a specified variable of the corresponding NASmessage type. The optionally modified decoded message can then be re-encoded to a binary NAS message by the ossNASEncode() function.

This documentation applies to the OSS NAS Tools for C for 5G v7.1.8 for 3GPP Release 15.6.0.

Copyright © 2021 OSS Nokalva, Inc. All rights reserved.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means electronic, mechanical, photocopying, recording or otherwise, without the prior permission of OSS Nokalva, Inc.
Every distributed copy of the OSS NAS Tools for C for 5G is associated with a specific license and related unique license number. That license determines, among other things, what functions of the OSS NAS Tools for C for 5G are available to you.