blob: f41430112b48c31ac8138872e4a8d9e2ee7198d3 [file] [log] [blame]
= 5G system TS29512 Npcf Protocol Modules for TTCN-3 Toolset with TITAN, Description
:author: Gábor Szalai
:toc: left
== About This Document
This is the description for the 5G system TS29512 Npcf protocol module. The 5G system TS29512 Npcf protocol modules are developed for the TTCN-3 Toolset with Titan.
== Functionality
The 5G system TS29512 Npcf protocol module implements the object structures of the 3GPP TS 29512 v15.1.0<<_5, [5]>> in a formalized way, using the standard specification language TTCN-3. This allows defining of test data (templates) in the TTCN-3 language and correctly encoding/decoding messages when executing test suites using the Titan TTCN-3 test environment.
The 5G system TS29512 Npcf protocol module uses Titans JSON encoding <<_3, [3]>> and hence is usable with the Titan test toolset only.
=== System Requirements
Protocol modules are a set of TTCN-3 source code files that can be used as part of TTCN-3 test suites only. Hence, protocol modules alone do not put specific requirements on the system used. However, in order to compile and execute a TTCN-3 test suite using the set of protocol modules the following system requirements must be satisfied:
* Titan TTCN-3 Test Executor version CRL 113 200/6 R5A (6.5.pl0) or higher installed. For Installation Guide see <<_2, [2]>>. Please note: This version of the test port is not compatible with Titan releases earlier than CRL 113 200/6 R5A.
=== Installation
The set of protocol modules can be used in developing TTCN-3 test suites using any text editor. Since the 5G system TS29512 Npcf protocol is used as a part of a TTCN-3 test suite, this requires TTCN-3 Test Executor be installed before the module can be compiled and executed together with other parts of the test suite. For more details on the installation of TTCN-3 Test Executor see the relevant section of <<_2, [2]>>.
== Interface description
=== Encoding/decoding and other related functions
This product also contains encoding/decoding functions, which assure correct encoding of messages when sent from Titan and correct decoding of messages when received by Titan.
==== Implemented encoding and decoding functions
Name Type of formal parameters Type of return value
f_enc_SmPolicyContextData(in SmPolicyContextData pdu) return octetstring
f_dec_SmPolicyContextData(in octetstring stream, out SmPolicyContextData pdu) return integer
f_enc_SmPolicyDecision(in SmPolicyDecision pdu) return octetstring
f_dec_SmPolicyDecision(in octetstring stream, out SmPolicyDecision pdu) return integer
f_enc_SmPolicyNotification(in SmPolicyNotification pdu) return octetstring
f_dec_SmPolicyNotification(in octetstring stream, out SmPolicyNotification pdu) return integer
f_enc_UeCampingRep(in UeCampingRep pdu) return octetstring
f_dec_UeCampingRep(in octetstring stream, out UeCampingRep pdu) return integer
f_enc_RuleReport(in RuleReport pdu) return octetstring
f_dec_RuleReport(in octetstring stream, out RuleReport pdu) return integer
f_enc_TerminationNotification(in TerminationNotification pdu) return octetstring
f_dec_TerminationNotification(in octetstring stream, out TerminationNotification pdu) return integer
f_enc_SmPolicyControl(in SmPolicyControl pdu) return octetstring
f_dec_SmPolicyControl(in octetstring stream, out SmPolicyControl pdu) return integer
f_enc_SmPolicyUpdateContextData(in SmPolicyUpdateContextData pdu) return octetstring
f_dec_SmPolicyUpdateContextData(in octetstring stream, out SmPolicyUpdateContextData pdu) return integer
f_enc_SmPolicyDeleteData(in SmPolicyDeleteData pdu) return octetstring
f_dec_SmPolicyDeleteData(in octetstring stream, out SmPolicyDeleteData pdu) return integer
== Usage
The protocol module provides abstract data types for JSON objects used by the services defined in the standard <<_5, [5]>>. The protocol module provides encoder and decoder functions for the JSON objects. The decoder function validates the received JSON object based on the JSON schema as well. Only the validated JSON value is decoded.
== Terminology
=== Abbreviations
JSON:: JavaScript Object Notation
PDU:: Protocol Data Unit
TTCN-3:: Testing and Test Control Notation version 3
== References
[1] ETSI ES 201 873-1 v4.4.1 (2012-04) +
The Testing and Test Control Notation version 3. Part 1: Core Language
[2] 1/ 198 17-CRL 113 200/6 Uen +
Installation Guide for the TITAN TTCN-3 Test Executor
[3] 2/198 17-CRL 113 200/6 Uen +
Programmer's Technical Reference for Titan TTCN-3 Test Executor
[5] 3GPP TS 29512 v15.1.0+
5G System; Session Management Policy Control Service; Stage 3