diff --git a/HTTPmsg_CNL113312.tpd b/HTTPmsg_CNL113312.tpd
index e505421669a970da29d1a04282915e05d96ee366..c990d1345418245601077af627ba4683d39f4aa2 100644
--- a/HTTPmsg_CNL113312.tpd
+++ b/HTTPmsg_CNL113312.tpd
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- Copyright (c) 2016 Ericsson
+ Copyright (c) 2017 Ericsson
 
   All rights reserved. This program and the accompanying materials
   are made available under the terms of the Eclipse Public License v1.0
@@ -10,7 +10,7 @@
 
    File:               HTTPmsg_CNL113312.tpd
    Description:        tpd project file
-   Rev:                R8G
+   Rev:                R9B
    Prodnr:             CNL 113 312
 
  -->
@@ -20,13 +20,9 @@
     <ReferencedProject name="Abstract_Socket_CNL113384" projectLocationURI="../Common_Components/Abstract_Socket_CNL113384/Abstract_Socket_CNL113384.tpd"/>
   </ReferencedProjects>
   <Folders>
-    <FolderResource projectRelativePath="doc" relativeURI="doc"/>
     <FolderResource projectRelativePath="src" relativeURI="src"/>
   </Folders>
   <Files>
-    <FileResource projectRelativePath="doc/HTTPmsg_CNL113312_FS.pdf" relativeURI="doc/HTTPmsg_CNL113312_FS.pdf"/>
-    <FileResource projectRelativePath="doc/HTTPmsg_CNL113312_PRI.pdf" relativeURI="doc/HTTPmsg_CNL113312_PRI.pdf"/>
-    <FileResource projectRelativePath="doc/HTTPmsg_CNL113312_UG.pdf" relativeURI="doc/HTTPmsg_CNL113312_UG.pdf"/>
     <FileResource projectRelativePath="src/HTTPmsg_MessageLen.ttcn" relativeURI="src/HTTPmsg_MessageLen.ttcn"/>
     <FileResource projectRelativePath="src/HTTPmsg_MessageLen_Function.cc" relativeURI="src/HTTPmsg_MessageLen_Function.cc"/>
     <FileResource projectRelativePath="src/HTTPmsg_PT.cc" relativeURI="src/HTTPmsg_PT.cc"/>
@@ -49,14 +45,6 @@
           <workingDirectory>bin</workingDirectory>
         </LocalBuildSettings>
       </ProjectProperties>
-      <FolderProperties>
-        <FolderResource>
-          <FolderPath>doc</FolderPath>
-          <FolderProperties>
-            <ExcludeFromBuild>true</ExcludeFromBuild>
-          </FolderProperties>
-        </FolderResource>
-      </FolderProperties>
     </Configuration>
   </Configurations>
 </TITAN_Project_File_Information>
diff --git a/doc/FS_15517-CNL113312_EN_E_PDFV1R2.pdf b/doc/FS_15517-CNL113312_EN_E_PDFV1R2.pdf
deleted file mode 100644
index dcc542c739156b7d93b9298648e08e4fcce2e308..0000000000000000000000000000000000000000
Binary files a/doc/FS_15517-CNL113312_EN_E_PDFV1R2.pdf and /dev/null differ
diff --git a/doc/HTTPmsg_CNL113312 Test Port for TTCN-3 Toolset with TITAN, Function Specification.doc b/doc/HTTPmsg_CNL113312 Test Port for TTCN-3 Toolset with TITAN, Function Specification.doc
new file mode 100644
index 0000000000000000000000000000000000000000..32d408d1edaf7a7a44b0165ac3763a8644069177
Binary files /dev/null and b/doc/HTTPmsg_CNL113312 Test Port for TTCN-3 Toolset with TITAN, Function Specification.doc differ
diff --git a/doc/HTTPmsg_CNL113312 Test Port for TTCN-3 Toolset with TITAN, User Guide.doc b/doc/HTTPmsg_CNL113312 Test Port for TTCN-3 Toolset with TITAN, User Guide.doc
new file mode 100644
index 0000000000000000000000000000000000000000..a264f8df78d609d597c0349adbb41ca7fe9ea9b7
Binary files /dev/null and b/doc/HTTPmsg_CNL113312 Test Port for TTCN-3 Toolset with TITAN, User Guide.doc differ
diff --git a/doc/HTTPmsg_CNL113312_PRI.doc b/doc/HTTPmsg_CNL113312_PRI.doc
deleted file mode 100644
index 4822f45e06aa7a66818a08b6d4765d5fa35dc603..0000000000000000000000000000000000000000
Binary files a/doc/HTTPmsg_CNL113312_PRI.doc and /dev/null differ
diff --git a/doc/HTTPmsg_CNL113312_PRI_2.doc b/doc/HTTPmsg_CNL113312_PRI_2.doc
new file mode 100644
index 0000000000000000000000000000000000000000..8bc1bb47f40a9306d6be5e17993e48883db46f22
Binary files /dev/null and b/doc/HTTPmsg_CNL113312_PRI_2.doc differ
diff --git a/doc/UG_19817-CNL113312_EN_G_PDFV1R2.pdf b/doc/UG_19817-CNL113312_EN_G_PDFV1R2.pdf
deleted file mode 100644
index b82b0e7696caed67114adbeb7373a7446fa081cc..0000000000000000000000000000000000000000
Binary files a/doc/UG_19817-CNL113312_EN_G_PDFV1R2.pdf and /dev/null differ
diff --git a/src/HTTPmsg_MessageLen.ttcn b/src/HTTPmsg_MessageLen.ttcn
index 37fdfff015eb11b918552efcc41f2b4ddcbd8319..5690226d8e74e382eec1e8be31b530660a15f66c 100644
--- a/src/HTTPmsg_MessageLen.ttcn
+++ b/src/HTTPmsg_MessageLen.ttcn
@@ -16,7 +16,7 @@
 //
 //  File:               HTTPmsg_MessageLen.ttcn
 //  Description:        HTTP Message length calculator
-//  Rev:                R8G
+//  Rev:                R9B
 //  Prodnr:             CNL 113 469
 
 module HTTPmsg_MessageLen{
diff --git a/src/HTTPmsg_MessageLen_Function.cc b/src/HTTPmsg_MessageLen_Function.cc
index fe0eae2da81ae22f138083beaeac45b3f48af8e4..39bc93be6accf4804b961270c51adae38f4335c2 100644
--- a/src/HTTPmsg_MessageLen_Function.cc
+++ b/src/HTTPmsg_MessageLen_Function.cc
@@ -15,7 +15,7 @@
 //
 //  File:               HTTPmsg_MessageLen_Function.cc
 //  Description:        HTTP Message length calculator
-//  Rev:                R8G
+//  Rev:                R9B
 //  Prodnr:             CNL 113 469
 
 #include "HTTPmsg_PT.hh"
diff --git a/src/HTTPmsg_PT.cc b/src/HTTPmsg_PT.cc
index 3d273c65a0eca429e231ba09098ac439dede7eda..67ab2ba46ba00e9c9f32a0aba92fb042844d54c7 100644
--- a/src/HTTPmsg_PT.cc
+++ b/src/HTTPmsg_PT.cc
@@ -15,7 +15,7 @@
 //
 //  File:               HTTPmsg_PT.cc
 //  Description:        HTTP test port implementation
-//  Rev:                R8G
+//  Rev:                R9B
 //  Prodnr:             CNL 113 469
 
 
@@ -49,6 +49,8 @@ HTTPmsg__PT::HTTPmsg__PT(const char *par_port_name)
     
     set_ssl_use_ssl(true);
 #endif
+    use_send_failed = false;
+    last_msg = NULL;
 }
 
 HTTPmsg__PT::~HTTPmsg__PT()
@@ -64,6 +66,10 @@ void HTTPmsg__PT::set_parameter(const char *parameter_name,
         if (strcasecmp(parameter_value,"yes")==0) use_notification_ASPs = true;
         else if (strcasecmp(parameter_value,"no")==0) use_notification_ASPs = false;
         else log_error("Parameter value '%s' not recognized for parameter '%s'", parameter_value, use_notification_ASPs_name());
+    } else if(strcasecmp(parameter_name, "report_failed_message") == 0){
+        if (strcasecmp(parameter_value,"yes")==0) use_send_failed = true;
+        else if (strcasecmp(parameter_value,"no")==0) use_send_failed = false;
+        else log_error("Parameter value '%s' not recognized for parameter '%s'", parameter_value, "report_failed_message");
     }
     else if((strcasecmp(parameter_name, use_connection_ASPs_name()) == 0) || !parameter_set(parameter_name ,parameter_value)) {
         log_warning("HTTPmsg__PT::set_parameter(): Unsupported Test Port parameter: %s", parameter_name);
@@ -206,7 +212,8 @@ void HTTPmsg__PT::outgoing_send(const HTTPmsg__Types::HTTPMessage& send_par)
 
     TTCN_Buffer snd_buf;
     int client_id = -1;
-
+    last_msg = &send_par;
+    
     switch(send_par.get_selection())
     {
         case HTTPmsg__Types::HTTPMessage::ALT_request:
@@ -249,10 +256,23 @@ void HTTPmsg__PT::outgoing_send(const HTTPmsg__Types::HTTPMessage& send_par)
         send_outgoing(snd_buf.get_data(), snd_buf.get_len(), client_id);
     else
         send_outgoing(snd_buf.get_data(), snd_buf.get_len());
-
+    
+    last_msg = NULL;
     log_debug("leaving HTTPmsg__PT::outgoing_send(HTTPMessage)");
 }
 
+void HTTPmsg__PT::report_unsent(int client_id, int /*msg_length*/, int /*sent_length*/, const unsigned char* /*msg*/, const char* /*error_text*/)
+{
+  if(use_send_failed  && last_msg){
+    HTTPmsg__Types::Send__failed asp;
+    asp.msg()=*last_msg;
+    asp.already__half__closed()= (get_peer(client_id,true)->tcp_state) == CLOSE_WAIT ;
+    
+    incoming_message(asp);
+  }
+}
+
+
 void HTTPmsg__PT::client_connection_opened(int client_id)
 {
     log_debug("entering HTTPmsg__PT::client_connection_opened(%d)", client_id);
diff --git a/src/HTTPmsg_PT.hh b/src/HTTPmsg_PT.hh
index 86b79d6701795b5076cdc72cba2ab4c2bf10de78..416376bd3a117ee32312fb875e3f5a4fede352c9 100644
--- a/src/HTTPmsg_PT.hh
+++ b/src/HTTPmsg_PT.hh
@@ -15,7 +15,7 @@
 //
 //  File:               HTTPmsg_PT.hh
 //  Description:        HTTP test port header file
-//  Rev:                R8G
+//  Rev:                R9B
 //  Prodnr:             CNL 113 469
 
 
@@ -109,6 +109,7 @@ protected:
     virtual void peer_disconnected(int client_id);
     virtual void peer_half_closed(int client_id);
     virtual void remove_client(int client_id);
+    virtual void report_unsent(int client_id, int msg_length, int sent_length, const unsigned char* msg, const char* error_text);
     
 // HTTP specific functions
     
@@ -131,6 +132,9 @@ private:
     bool server_use_ssl;
     
     bool use_notification_ASPs;
+    
+    bool use_send_failed;
+    const HTTPmsg__Types::HTTPMessage* last_msg;
 };
 //===================================
 //== Functions outside the class: ===
diff --git a/src/HTTPmsg_PortType.ttcn b/src/HTTPmsg_PortType.ttcn
index 3177270c0fc38d3d7eaacece5dcff9a53a97e1c6..926375ad602283b202d96dcd57b216f2b432900d 100644
--- a/src/HTTPmsg_PortType.ttcn
+++ b/src/HTTPmsg_PortType.ttcn
@@ -15,7 +15,7 @@
 //
 //  File:               HTTPmsg_Types.ttcn
 //  Description:        HTTP port type definition
-//  Rev:                R8G
+//  Rev:                R9B
 //  Prodnr:             CNL 113 469
 
 
@@ -34,6 +34,8 @@ module HTTPmsg_PortType
     out     Listen;
     in      Listen_result;
     inout   Shutdown;
+    
+    in      Send_failed;
 
     // Message to send and receive
     inout   HTTPMessage;
diff --git a/src/HTTPmsg_Types.ttcn b/src/HTTPmsg_Types.ttcn
index 63ffa44d1f4caa63c1f483a7376fa978c4b49db2..8cc351b316ceb1ca605e819291ad05927fb08b6d 100644
--- a/src/HTTPmsg_Types.ttcn
+++ b/src/HTTPmsg_Types.ttcn
@@ -15,7 +15,7 @@
 //
 //  File:               HTTPmsg_Types.ttcn
 //  Description:        HTTP Message and TCP connection handling ASP types
-//  Rev:                R8G
+//  Rev:                R9B
 //  Prodnr:             CNL 113 469
 
 
@@ -150,4 +150,14 @@ type record Listen_result {
 
 type record Shutdown {};
 
+// Used to report messages, which can't be sent because fo the broken connection
+// Set the "report_failed_message" test port parameter to "yes" to enable the sending of this message !!!!
+type record Send_failed {
+  HTTPMessage    msg,   // The unsent message
+  boolean        already_half_closed   // the connection already half closed
+                                       //  true: the test port already enqued the half_close message
+                                       //  false: the half_close is not enqued yet 
+}
+
+
 }