OSS NAS Tools for C++ for 5G Documentation

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

Introduction

The OSS NAS Tools for C++ for 5G 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.501 (Non-Access-Stratum protocol). Its implementation is based on a description of NAS messages that uses an annotated ASN.1 specification.

This version of the OSS NAS Tools for C++ for 5G supports 3GPP NAS version 15.6.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++ for 5G class declarations, function prototypes and type definitions.
  • Libraries that can convert an encoded binary NAS message into an in-memory representation using the OSS NAS Tools for C++ for 5G classes, and vice versa.

The OSS NAS Tools for C++ for 5G 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.501 (NAS) v.15.6.0.

Features of the OSS NAS Tools for C++ for 5G include

  • Encoding and decoding NAS protocol data units
  • Printing encoded or unencoded NAS protocol data units in XML form
  • Printing encoded or unencoded NAS protocol data units in JSON 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: NAS5GS1560.h. You must also link your application with the OSS NAS Tools for C++ for 5G libraries. For example, to use the shared libraries on Linux, link with the nascpp13120.so library. 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++ for 5G API and for sample programs, see the /samples and /samples-static subdirectories included in your package.


This documentation applies to the OSS NAS Tools for C++ for 5G v5.3.0 for 3GPP Release 15.6.0.

Copyright © 2020 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.