---
Author: Gábor Bettesch
Version: 198 17-CNL 113 558, Rev. A
Date: 2016-11-17

---
= M2PA Protocol Modules for TTCN-3 Toolset with TITAN User Guide
:author: Gábor Bettesch
:revnumber: 198 17-CNL 113 558, Rev. A
:revdate: 2016-11-17
:toc:

*Copyright*

Copyright (c) 2000-2019 Ericsson Telecom AB. +
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 that accompanies this distribution, and is available at +
http://www.eclipse.org/legal/epl-v10.html.

== About This Document

=== How to read This document

This is the User Guide for the M2PA protocol module. The M2PA protocol module is developed for the TTCN-3 Toolset with TITAN. This document should be read together with the Function Specification <<_3, [3]>>.

=== Presumed Knowledge

To use this protocol module, the knowledge of the TTCN-3 language <<_4, [4]>> is essential.

== System Requirements

Protocol modules are a set of TTCN-3 source code files that can be used as a 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 1.7.pl0 or higher installed. For installation guide see <<_1, [1]>>.

= Protocol Modules

== Overview

Protocol modules implement the message structure of the corresponding protocol in a formalized way, using the standard specification language TTCN-3. This allows defining of test data (templates) in the TTCN-3 language <<_4, [4]>> and correctly encoding/decoding messages when executing test suites using the TITAN TTCN-3 test environment.

Protocol modules are using TITAN`s RAW encoding attributes <<_2, [2]>> and hence are usable with the TITAN test toolset only.

The table below contains the implemented M2PA messages and the corresponding TTCN-3 type records. Using these type records, templates can be defined to send and receive a given message.

[width="100%",cols="35%,15%,50%",options="header",]
|=====================================================================
|Message name |Reference |Corresponding type record in __M2PA_Types.ttcn__
|User Data |<<_5, [5]>> 2.3.1 |M2PA_DATA
|Link Status |<<_5, [5]>> 2.3.2 |M2PA_LINK_STATUS
|=====================================================================

== Installation

The set of protocol modules can be used in developing TTCN-3 test suites using any text editor. However to make work more efficient a TTCN-3 enabled text editor is recommended (For example, `nedit`, `xemacs`). Since the M2PA protocol is used as a part of a TTCN-3 test suite, this requires TTCN-3 Test Executor and a C compiler 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 parts of <<_1, [1]>>.

== Encoding Decoding and Other Related Functions

For encoding and decoding the messages two functions are available.

* Function `enc_PDU_M2PA` makes simple RAW encoding without any modification on the input M2PA message.
* Function `dec_PDU_M2PA` makes simple RAW decoding without any modification on the input octetstring.

= Terminology

TITAN TTCN-3 Test Executor.

= Abbreviations

IETF:: Internet Engineering Task Force

MTP2:: Message Transfer Part 2

M2PA:: MTP2 User Peer-to-Peer Adaptation Layer

RFC:: Request for Comments

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

= References

[[_1]]
[1] Installation Guide for the TITAN TTCN-3 Test Executor

[[_2]]
[2] Programmer’s Technical Reference for the TITAN TTCN-3 Test Executor

[[_3]]
[3] M2PA Protocol Modules for TTCN-3 Toolset with TITAN,, Function Specification

[[_4]]
[4] ETSI ES 201 873-1 v.3.2.1 (02/2007) +
The Testing and Test Control Notation version 3. Part 1: Core Language

[[_5]]
[5] IETF RFC 4165 +
Signaling System 7 (SS7) Message Transfer Part 2 (MTP2) - User Peer-to-Peer Adaptation Layer (M2PA)
