blob: b7c4a275a8407fac7fa3fd4b941e14947ef5b099 [file] [log] [blame]
---
Author: Máté Kovács
Version: 1551-CNL 113 831, Rev. A
Date: 2016-03-18
---
= MQTT v3.1.1 Protocol Module for TTCN-3 Toolset with TITAN, Function Description
:author: Máté Kovács
:revnumber: 1551-CNL 113 831, Rev. A
:revdate: 2016-03-18
:toc:
= Functionality
The MQTT v3.1.1 protocol module implements 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.
== Implemented Protocols
This protocol module implements the protocol messages and constants of the MQTT v3.1.1 protocol <<_4, [4]>>.
[[modifications-deviations-related-to-the-protocol-specification]]
== Modifications/Deviations Related to the Protocol Specification
=== Unimplemented Messages, Information Elements and Constants
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.4.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 MQTT v3.1.1 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 <<_3, [3]>>.
== Configuration
None.
== Examples
None.
= Interface Description
== Top Level PDU
The top level PDU is the TTCN-3 union MQTT_v3_1_1_Message.
[[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
|`f_MQTT_v3_1_1_enc` |in MQTT_v3_1_1_Message +
out octetstring |integer
|`f_MQTT_v3_1_1_dec` |in octetstring +
out MQTT_v3_1_1_Message |integer
|===
= Terminology
*TITAN:* +
TTCN-3 Test Executor (see <<_2, [2]>>).
= Abbreviations
PDU:: Protocol Data Unit
TTCN-3:: Testing and Test Control Notation version 3
MQTT:: v3.1.1 MQTT Version 3.1.1 Protocol
= References
[[_1]]
[1] ETSI ES 201 873-1 v4.5.1 (2013-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] Programmers Technical Reference for Titan TTCN3 Test Executor
[[_4]]
[4] MQTT Version 3.1.1
http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html