---
Author: Gábor Szalai
Version: 1551-CNL 113 830, Rev. A
Date: 2016-11-17

---
= SCTP Protocol Modules for TTCN-3 Toolset with TITAN, Function Description
:author: Gábor Szalai
:revnumber: 1551-CNL 113 830, 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 SCTP protocol modules. SCTP protocol modules are developed for the TTCN-3 Toolset with TITAN.

== Scope

The purpose of this document is to specify the content of the SCTP protocol modules. The document is primarily addressed to the end users of the product. Basic knowledge of TTCN-3 <<_2, [2]>> and TITAN TTCN-3 Test Executor <<_3, [3]>> is valuable when reading this document.

== 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 1.8.pl0.pre2 or higher installed. For installation guide see <<_2, [2]>>.

NOTE: This version of the protocol module can not be used for defining 32 bit unsigned or larger integers with TITAN versions earlier than 1.8.pl0.pre2. This version of the protocol module is not compatible with TITAN releases earlier than R7A.

= Protocol Modules

== Overview

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

== 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 TTCN-3-enabled text editor is recommended (e.g. `nedit`, `xemacs`). Since the SCTP 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.

= Functional Specification

== Protocol Version Implemented

This set of protocol modules implements protocol messages and constants of the SCTP with the modifications specified in <<modifications-deviations-related-to-the-protocol-specification, Modifications/Deviations Related to the Protocol Specification>>.

Supported RFCs: https://tools.ietf.org/html/rfc4960[RFC 4960], https://tools.ietf.org/html/rfc4895[RFC 4895], https://tools.ietf.org/html/rfc5061[RFC 5061], https://tools.ietf.org/html/rfc6525[RFC 6525], https://tools.ietf.org/html/rfc4820[RFC 4820], https://tools.ietf.org/html/rfc3758[RFC 3758]

[[modifications-deviations-related-to-the-protocol-specification]]
== Modifications/Deviations Related to the Protocol Specification

The standard SCTP protocol modules contain the following modifications.

=== Unimplemented Messages, Information Elements and Constants

None.

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

None.

=== Additional Information Element

None.

[[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 decoding of messages when received by TITAN.

The encoder function fills in the `CRC` field of the *_SCTP_* header with the correct value.

The decoder function checks the validity of the CRC header field.

Implemented encoding/decoding functions:

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

|Name |Type of formal parameters |Type of return value

|`f_SCTP_enc` |in SCTP_Packet |octetstring
|`f_SCTP_dec` |in octetstring +
out SCTP_Packet |integer
|===

= Terminology

No specific terminology is used.

= Abbreviations

SCTP:: Stream Control Transmission Protocol

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

= References

[[_1]]
[1] https://tools.ietf.org/html/rfc4960[RFC 4960] +
Stream Control Transmission Protocol

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

[[_3]]
[3] User Guide for the TITAN TTCN-3 Test Executor
