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

---
= M2PA Protocol Modules for TTCN-3 Toolset with TITAN Function Specification
:author: Gábor Bettesch
:revnumber: 155 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.

== How to read This Document

This is the Function Specification for the set of M2PA protocol modules. M2PA protocol modules are developed for the TTCN-3 Toolset with TITAN.

== Scope

The purpose of this document is to specify the content of the M2PA protocol modules.

= General

Protocol modules implement the message structures of the related protocol 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.

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

= Functional Specification

== Protocol Version Implemented

This protocol module contains the protocol messages and elements of the M2PA protocol <<_3, [3]>>.

[[modifications-deviations-related-to-the-protocol-specifications]]
== Modifications/Deviations Related to the Protocol Specifications

=== Implemented Messages

All message types listed in protocol description <<_3, [3]>> are implemented.

[[protocol-modifications-deviations]]
=== Protocol Modifications/Deviations

None.

== Encoding Decoding and Other Related Functions

This product contains encoding/decoding functions that provide for the correct encoding of messages when sent from TITAN, and correct decoding of messages when received by TITAN. For encoding and decoding the message 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.

Implemented encoding/decoding functions:

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

|Name
|Type of formal parameters
|Type of return values

|enc_PDU_M2PA
|PDU_M2PA
|octetstring

|dec_PDU_M2PA
|octetstring
|PDU_M2PA
|===

== 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] Programmer’s Technical Reference for the TITAN TTCN-3 Test Executor

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

[[_3]]
[3] IETF https://tools.ietf.org/html/rfc4165[RFC 4165] +
Signaling System 7 (SS7) Message Transfer Part 2 (MTP2) - User Peer-to-Peer Adaptation Layer (M2PA)
