---
Author: Elemér Lelik
Version: 1551-CNL 113 776, Rev. B
Date: 2016-11-17

---
= NTAF Protocol Modules for TTCN-3 Toolset with TITAN DESCRIPTION
:author: Elemér Lelik
:revnumber: 1551-CNL 113 776, Rev. B
: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 NTAF protocol modules. NTAF protocol modules are developed for the TTCN-3 Toolset with TITAN.

== Scope

The purpose of this document is to specify the content of the NTAF protocol modules. Basic knowledge of TTCN-3 <<_1, [1]>> and TITAN TTCN-3 Test Executor <<_2, [2]>> is valuable when reading this document.

= General

Protocol modules implement the message structures of the related protocol in a formalized way, using the standard specification language TTCN-3 <<_1, [1]>>. 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 <<_2, [2]>>. The protocol module is using encoding attributes and hence is usable with the Titan test toolset only.

= Functional Specification

== Protocol Version Implemented

This set of protocol modules implements protocol messages and constants of the NTAF protocol as described in the NTAF documents TS-001 (Tool registration, Discovery and Activation) and TS-002 (Tool Automation Harness).

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

None.

[[encoding-decoding-and-other-related-functions]]
== Encoding/Decoding and Other Related Functions

The XML encoding/decoding functions which assure correct encoding of messages when sent and correct decoding of messages when received are automatically generated by Titan based on encoding instructions associated with the protocol modules.

= Terminology

No specific terminology is used.

= Abbreviations

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

XMPP:: Extensible Messaging and Presence Protocol

NTAF:: Network Test Automation Forum

= References

[[_1]]
[1] ETSI ES 201 873-1 V.4.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] The XMPP Standards Foundation +
http://xmpp.org[xmpp.org]

[[_4]]
[4] The Network Test Automation Forum +
http://www.ntaforum.org/
