---
Author: Tímea Moder
Version: 1551-CNL 113 843, Rev. A
Date: 2016-09-26

---
= GTP v13.5.0 Protocol Modules for TTCN-3 Toolset with Titan, Description
:author: Tímea Moder
:revnumber: 1551-CNL 113 843, Rev. A
:revdate: 2016-09-26
:toc:

= Functionality

The GTP v13.5.0 protocol module implements the message structures of the related protocol <<_4, [4]>> 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 GTP v13.5.0 protocol module uses Titan’s RAW encoding attributes <<_3, [3]>> and hence is usable with the Titan test toolset only.

== Implemented Protocols

This set of protocol modules implements protocol messages and constants of the GTP v13.5.0 protocol as described in <<_4, [4]>> and <<_5, [5]>>. The GTPC and GTPU messages are in separate files and have their own separate encoding functions.

=== Modified and Non-Implemented Protocol Elements

None.

=== Ericsson-Specific Changes

None.

== Backward Incompatibilities

None.

== 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/5 R4A (5.3.pl0) or higher installed. For Installation Guide see <<_2, [2]>>.

NOTE: This version of the test port is not compatible with Titan releases earlier than CRL 113 200/5 R4A.

= Usage

== Installation

The set of protocol modules can be used in developing TTCN-3 test suites using any text editor; however, to make the work more efficient a TTCN3enabled text editor is recommended (for example `nedit`, `xemacs`). Since the GTP v13.5.0 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]>>.

== Configuration

None.

== Examples

None.

= Interface Description

== Top Level PDU

The top level PDUs are the TTCN-3 records `PDU_GTPU` and `PDU_GTPC`.

[[encoding-decoding-and-other-related-functions]]
== 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

[cols=3*,options=header]
|===

|Name |Type of formal parameters |Type of return value
|`enc_PDU_GTPC` |in PDU_GTPC |octetstring
|`dec_PDU_GTPC` |in octetstring |PDU_GTPC
|`enc_PDU_GTPU` |in PDU_GTPU |octetstring
|`dec_PDU_GTPU` |in octetstring |PDU_GTPU
|`dec_PDU_GTPU_ext` |in octetstring |PDU_GTPU_ext
|===

= Terminology

None.

= Abbreviations

PDU:: Protocol Data Unit

GTP:: GPRS Tunnelling Protocol version 2

GTPC:: GTP Control

GTPU:: GTP User

TTCN-3:: Testing and Test Control Notation version 3

= References

[[_1]]
[1] ETSI ES 201 873-1 v4.4.1 (2012-04) +
The Testing and Test Control Notation version 3. Part 1: Core Language

[[_2]]
[2] User Guide for TITAN TTCN-3 Test Executor

[[_3]]
[3] Programmer’s Technical Reference for Titan TTCN–3 Test Executor

[[_4]]
[4] 3GPP TS 29.060 v13.5.0 (2016-06) +
3rd Generation Partnership Project; +
Technical Specification GroupCore Network and Terminals; +
General Packet Radio Service (GPRS); +
GPRS Tunnelling Protocol (GTP) across the Gn and Gp interface(Release 13)

[[_5]]
[5] 3GPP TS 29.281 v13.2.0 (2016-06) +
3rd Generation Partnership Project; +
Technical Specification GroupCore Network and Terminals; +
General Packet Radio Service (GPRS); +
GPRS Tunnelling Protocol (GTP) User Plane (GTPv1-U)(Release 13)