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

Applies to: NAS/C++ LTE/EPC r14.4.0 v6.2.1


The OSS NAS Tools for C++ is an add-on to the OSS ASN.1/C++ Tools, and provides C++ access to the OSS NAS Tools for C. The OSS NAS Tools for C facilitates the creation of user applications that produce, encode, decode, and process messages conforming to 3GPP TS 24.301 (Non-Access-Stratum protocol). This version of the OSS NAS Tools for C++ supports 3GPP NAS version 14.4.0. Contact OSS Nokalva at info@oss.com if you need to support a different version of NAS.

The tool consists of

  • A series of header files containing OSS NAS Tools for C++ class declarations, function prototypes and type definitions.
  • Dynamic libraries capable of converting an encoded binary NAS message into an in-memory representation utilizing the OSS NAS Tools for C++ classes, and vice versa.

The OSS NAS Tools for C++ API (application program interface) is a collection of functions and classes designed to be called by your application to encode, decode, and perform auxiliary operations on messages (or protocol data units) specified in 3GPP TS 24.301 (NAS) v.14.4.0.

Features of the OSS NAS Tools for C++ include

  • Encoding and decoding NAS protocol data units
  • Printing encoded or unencoded NAS protocol data units in XML form
  • Copying NAS protocol data units to different destinations
  • Comparing unencoded or decoded NAS protocol data units

To use the API described in this document, you must include the provided C++ header file corresponding to the 3GPP NAS release version you plan to use: NAS1440.h. You must also link your application with the OSS NAS Tools for C++ and ASN.1/C++ libraries. For example, to use the shared libraries on Linux, link with the nascpp1440.so import library and the libosscpp.so and libcpptoed.so ASN.1/C++ libraries. The resulting application requires access to the dynamic libraries while running, so locate the libraries in the current directory or add their location to the LD_LIBRARY_PATH environment variable.

For more information about how to compile and link an application that uses the OSS NAS Tools for C++ API and for sample programs, see the /samples and /samples-static subdirectories included in your package.

The OSS NAS Tools for C++ is an OSS ASN.1/C++ Tools add-on. It uses the ASN.1/C++ runtime classes, for example, to access the components of a decoded message. Therefore, the ASN.1/C++ runtime must be installed on the same computer as the OSS NAS Tools for C++.

This documentation applies to the OSS NAS Tools for C++ for LTE/EPC v6.2.1 for 3GPP Release 14.4.0.

Copyright © 2023 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 LTE/EPC 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 LTE/EPC are available to you.