diff --git a/doc/STUN_RFC5389_CNL113778_FD.adoc b/doc/STUN_RFC5389_CNL113778_FD.adoc
new file mode 100644
index 0000000..5abb418
--- /dev/null
+++ b/doc/STUN_RFC5389_CNL113778_FD.adoc
@@ -0,0 +1,139 @@
+---
+Author: Endre Kulcsár
+Version: 1551-CNL 113 778, Rev. B
+Date: 2016-11-17
+
+---
+= STUN RFC5389 Protocol Modules for TTCN-3 Toolset with TITAN, Function Description
+:author: Endre Kulcsár
+:revnumber: 1551-CNL 113 778, Rev. B
+:revdate: 2016-11-17
+:toc:
+
+*Copyright*
+
+Copyright (c) 2000-2016 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 STUN protocol module. STUN protocol module is developed for the TTCN-3 Toolset with TITAN.
+
+== Scope
+
+The purpose of this document is to specify the content of the STUN protocol module. Basic knowledge of TTCN-3 <<_2, [2]>> and TITAN TTCN-3 Test Executor <<_4, [4]>> 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 version R7A (1.7.pl0) or higher installed. For installation guide see <<_4, [4]>>
+
+NOTE: This version of the protocol module is not compatible with TITAN releases earlier than R7A
+
+== Overview
+
+Protocol modules implement the messages structure 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 <<_4, [4]>>.
+
+Protocol modules are using TITAN’s RAW encoding attributes and hence are usable with the TITAN test toolset only <<_3, [3]>>.
+
+There are useful functions in the file __STUN_Functions.ttcn__ to create messages easily, but templates can also be defined to send and receive a given message.
+
+== 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. Since the STUN 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 <<_4, [4]>>.
+
+= 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 <<_2, [2]>> and correctly encoding/decoding messages when executing test suites using the TITAN TTCN-3 test environment <<_4, [4]>>.
+
+Protocol modules are using TITAN’s RAW encoding attributes <<_3, [3]>> and hence are usable with the TITAN test toolset only.
+
+= Functional Specification
+
+== Protocol Version Implemented
+
+This set of protocol modules implements protocol messages and constants of the STUN protocol. The module is based on https://tools.ietf.org/html/rfc5389[RFC 5389]. The following messages are implemented:
+
+* Binding Request
+* Binding Indication
+* Binding Success Response
+* Binding Error Response
+
+=== Unimplemented Messages, Information Elements and Constants
+
+None.
+
+[[protocol-modifications-deviations]]
+=== Protocol Modifications/Deviations
+
+In addition to attributes in https://tools.ietf.org/html/rfc5389[RFC 5389] the attributes described in https://tools.ietf.org/html/rfc5245[RFC 5245] are also implemented. These additional attributes are:
+
+* `PRIORITY`
+* `USE_CANDIDATE`
+* `ICE_CONTROLLED`
+* `ICE_CONTROLLING`
+
+The error code `ROLE_CONFLICT` is also implemented from https://tools.ietf.org/html/rfc5245[RFC 5245].
+
+[[encoding-decoding-and-other-related-functions]]
+== Encoding/Decoding and Other Related Functions
+
+This product also contains encoding/decoding functions, which assure correct RAW encoding of messages when sent from TITAN and correct RAW decoding of messages when received by TITAN. Implemented encoding/decoding functions:
+
+[width="100%",cols="34%,33%,33%",options="header",]
+|===
+|Name |Type of formal parameters |Return
+|`ef_STUN_enc` |in PDU_STUN `pl_pdu`,in OCT16 pl_key,in STUN_Attribute_Typepl_last_attribute_type, out octetstring `pl_result`, in Boolean `pl_calculate_HMAC_CRC` |-
+|`ef_STUN_dec` |in octetstring `pl_stream out`  PDU_STUN `pl_result` |-
+|`ef_STUN_Check_Message_Integrity` |in octetstring `pl_stream`, in OCT16 pl_key,in STUN_Attribute_Type `pl_last_attribute_type` |Boolean
+|`ef_STUN_Generate_Transaction_Id` |- |OCT12
+|`ef_STUN_get_Message_Length` |in octetstring `pl_stream` |Integer
+|===
+
+The `message_integrity` and the fingerprint field will be calculated while encode (when `pl_calculate_HMAC_CRC` encode parameter equals `_true_`) so dummy values are allowed.
+
+== _Makefile_
+
+The _Makefile_ has to link crypto and z libraries.
+
+[source]
+----
+-lttcn3-parallel *-lcrypto* *-lz* +
+-lxml2 +
+----
+
+= Terminology
+
+No specific terminology is used.
+
+= Abbreviations
+
+STUN:: Session Traversal Utilities for NAT
+
+UDP:: User Datagram Protocol
+
+NAT:: Network Address Translators
+
+TTCN-3:: Testing and Test Control Notation version 3
+
+= References
+
+[[_1]]
+[1] https://tools.ietf.org/html/rfc5389[RFC 5389] +
+STUN - Session Traversal Utilities for NAT
+
+[[_2]]
+[2] ETSI ES 201 873-1 v4.5.1 (2013-02) +
+The Testing and Test Control Notation version 3; Part 1: Core Language
+
+[[_3]]
+[3] Programmer’s Technical Reference for the TITAN TTCN-3 Test Executor
+
+[[_4]]
+[4] User Guide for the TITAN TTCN-3 Test Executor
+
+[[_5]]
+[5] https://tools.ietf.org/html/rfc5245[RFC 5245] +
+Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT)Traversal for Offer/Answer Protocols
diff --git a/doc/STUN_RFC5389_CNL113778_FD.doc b/doc/STUN_RFC5389_CNL113778_FD.doc
deleted file mode 100644
index 83ec174..0000000
--- a/doc/STUN_RFC5389_CNL113778_FD.doc
+++ /dev/null
Binary files differ
diff --git a/doc/STUN_RFC5389_CNL113778_FD.pdf b/doc/STUN_RFC5389_CNL113778_FD.pdf
new file mode 100644
index 0000000..4827ee2
--- /dev/null
+++ b/doc/STUN_RFC5389_CNL113778_FD.pdf
Binary files differ
diff --git a/doc/change.log b/doc/change.log
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/doc/change.log
