From 30e53cc704e3ce2f5cfd8c89a645b3bb02dea05a Mon Sep 17 00:00:00 2001
From: Botond Baranyi <botond.baranyi@ericsson.com>
Date: Thu, 13 Oct 2016 14:51:56 +0200
Subject: [PATCH] Moved multiple value redirects and redirects of partial
 values to RT2 (artf789088)

Change-Id: I720bba46aa71e2a41342d20613faff691d11efb5
Signed-off-by: Botond Baranyi <botond.baranyi@ericsson.com>
---
 compiler2/Type_codegen.cc                     |  42 +-
 compiler2/ttcn3/Statement.cc                  | 773 +++++++++---------
 compiler2/ttcn3/Statement.hh                  |   2 +
 compiler2/ttcn3/port.c                        |  30 +-
 compiler2/ttcn3/signature.c                   | 117 +--
 regression_test/commMessage/Makefile          |   8 +-
 regression_test/commMessage/TcommMessage.ttcn | 137 ----
 .../commMessage/TmultipleRedirects.ttcn       | 156 ++++
 regression_test/commMessage/config-rt2.cfg    |  23 +
 .../commMessage/config_parallel-rt2.cfg       |  22 +
 .../commProcedure/AdvancedRedirects.ttcn      | 417 ++++++++++
 regression_test/commProcedure/Makefile        |   7 +-
 regression_test/commProcedure/ProcPort.ttcn   | 398 ---------
 regression_test/commProcedure/config-rt2.cfg  |  14 +
 regression_test/commProcedure/config.cfg      |  13 +
 usrguide/referenceguide.doc                   | Bin 1930240 -> 1950208 bytes
 16 files changed, 1180 insertions(+), 979 deletions(-)
 create mode 100644 regression_test/commMessage/TmultipleRedirects.ttcn
 create mode 100644 regression_test/commMessage/config-rt2.cfg
 create mode 100644 regression_test/commMessage/config_parallel-rt2.cfg
 create mode 100644 regression_test/commProcedure/AdvancedRedirects.ttcn
 create mode 100644 regression_test/commProcedure/config-rt2.cfg
 create mode 100644 regression_test/commProcedure/config.cfg

diff --git a/compiler2/Type_codegen.cc b/compiler2/Type_codegen.cc
index f9bb996a2..b57e19abe 100644
--- a/compiler2/Type_codegen.cc
+++ b/compiler2/Type_codegen.cc
@@ -2232,24 +2232,26 @@ void Type::generate_code_done(output_struct *target)
   const string& dispname = get_typename();
   const char *dispname_str = dispname.c_str();
   // value redirect base class (interface)
-  target->header.class_decls = mputprintf(target->header.class_decls,
-    "class %s_Redirect_Interface;\n", genname_str);
-  target->header.class_defs = mputprintf(target->header.class_defs,
-    "class %s_Redirect_Interface {\n"
-    "public:\n"
-    "virtual void set_values(const %s&) = 0;\n"
-    "virtual ~%s_Redirect_Interface() { }\n"
-    "};\n\n", genname_str, genname_str, genname_str);
+  if (use_runtime_2) {
+    target->header.class_decls = mputprintf(target->header.class_decls,
+      "class %s_Redirect_Interface;\n", genname_str);
+    target->header.class_defs = mputprintf(target->header.class_defs,
+      "class %s_Redirect_Interface {\n"
+      "public:\n"
+      "virtual void set_values(const %s&) = 0;\n"
+      "virtual ~%s_Redirect_Interface() { }\n"
+      "};\n\n", genname_str, genname_str, genname_str);
+  }
   // the done function
   target->header.function_prototypes = mputprintf
     (target->header.function_prototypes,
      "extern alt_status done(const COMPONENT& component_reference, "
-     "const %s_template& value_template, %s_Redirect_Interface *value_redirect);\n",
-     genname_str, genname_str);
+     "const %s_template& value_template, %s%s *value_redirect);\n",
+     genname_str, genname_str, use_runtime_2 ? "_Redirect_Interface" : "");
   target->source.function_bodies = mputprintf
     (target->source.function_bodies,
      "alt_status done(const COMPONENT& component_reference, "
-     "const %s_template& value_template, %s_Redirect_Interface *value_redirect)\n"
+     "const %s_template& value_template, %s%s *value_redirect)\n"
      "{\n"
      "if (!component_reference.is_bound()) "
      "TTCN_error(\"Performing a done operation on an unbound component "
@@ -2263,9 +2265,18 @@ void Type::generate_code_done(output_struct *target)
      "%s return_value;\n"
      "return_value.decode_text(*text_buf);\n"
      "if (value_template.match(return_value)) {\n"
-     "if (value_redirect != NULL) {\n"
-     "value_redirect->set_values(return_value);\n"
-     "delete value_redirect;\n"
+     "if (value_redirect != NULL) {\n", genname_str, genname_str,
+     use_runtime_2 ? "_Redirect_Interface" : "", dispname_str, genname_str);
+  if (use_runtime_2) {
+    target->source.function_bodies = mputstr(target->source.function_bodies,
+      "value_redirect->set_values(return_value);\n"
+      "delete value_redirect;\n");
+  }
+  else {
+    target->source.function_bodies = mputstr(target->source.function_bodies,
+      "*value_redirect = return_value;\n");
+  }
+  target->source.function_bodies = mputprintf(target->source.function_bodies,
      "}\n"
      "TTCN_Logger::begin_event(TTCN_Logger::PARALLEL_PTC);\n"
      "TTCN_Logger::log_event_str(\"PTC with component reference \");\n"
@@ -2289,8 +2300,7 @@ void Type::generate_code_done(output_struct *target)
      "}\n"
      "} else return ret_val;\n"
      "}\n\n",
-     genname_str, genname_str, dispname_str, genname_str, dispname_str,
-     dispname_str, omit_in_value_list ? ", TRUE" : "");
+     dispname_str, dispname_str, omit_in_value_list ? ", TRUE" : "");
 }
 
 bool Type::ispresent_anyvalue_embedded_field(Type* t,
diff --git a/compiler2/ttcn3/Statement.cc b/compiler2/ttcn3/Statement.cc
index 3a108084c..f696c989a 100644
--- a/compiler2/ttcn3/Statement.cc
+++ b/compiler2/ttcn3/Statement.cc
@@ -8656,8 +8656,14 @@ error:
     if (return_type != NULL && is_out) {
       // the return type's value redirect object must be passed through this
       // class
-      constr_params_str = mprintf("%s_Redirect_Interface* return_redirect, ",
-        return_type->get_genname_value(return_type->get_my_scope()).c_str());
+      if (use_runtime_2) {
+        constr_params_str = mprintf("%s_Redirect_Interface* return_redirect, ",
+          return_type->get_genname_value(return_type->get_my_scope()).c_str());
+      }
+      else {
+        constr_params_str = mprintf("%s* return_redirect, ",
+          return_type->get_genname_value(scope).c_str());
+      }
       base_constr_params_str = mcopystr("return_redirect");
     }
     // store a pointer to the matched template, the decoding results from
@@ -9138,9 +9144,27 @@ error:
     return ret_val;
   }
   
+  bool ValueRedirect::chk_RT1_restrictions() const
+  {
+    if (v.size() > 1) {
+      error("Redirecting multiple values is not supported in the Load Test "
+        "Runtime.");
+      return false;
+    }
+    if (v[0]->get_subrefs() != NULL) {
+      error("Redirecting parts of a value is not supported in the Load Test "
+        "Runtime.");
+      return false;
+    }
+    return true;
+  }
+  
   void ValueRedirect::chk_erroneous()
   {
     Error_Context cntxt(this, "In value redirect");
+    if (!use_runtime_2 && !chk_RT1_restrictions()) {
+      return;
+    }
     for (size_t i = 0; i < v.size(); ++i) {
       Error_Context cntxt2(v[i], "In redirect #%d", (int)(i + 1));
       v[i]->get_var_ref()->chk_variable_ref();
@@ -9153,6 +9177,9 @@ error:
   
   void ValueRedirect::chk(Type* p_type)
   {
+    if (!use_runtime_2 && !chk_RT1_restrictions()) {
+      return;
+    }
     bool invalid_type = p_type->get_typetype() == Type::T_ERROR;
     if (!invalid_type) {
       // initial check: redirects of fields require the value type to be a record
@@ -9265,407 +9292,415 @@ error:
                                     TemplateInstance* matched_ti,
                                     string base_class_prefix)
   {
-    // a value redirect class is generated for this redirect in the expression's
-    // preamble and instantiated in the expression
-    
-    // the base class (interface) is type-specific, and is defined in the entity
-    // the new class instance is passed to (the port type for receive operations,
-    // the signature's reply redirect class for the return value, the signature
-    // exception template class for catch operations, and in the value type's
-    // module for done operations)
-    Scope* scope = v[0]->get_var_ref()->get_my_scope();
-    string tmp_id = scope->get_scope_mod_gen()->get_temporary_id();
-    expr->expr = mputprintf(expr->expr, "new Value_Redirect_%s(", tmp_id.c_str());
-    
-    // go through the value redirect and gather the necessary data for the class
-    char* members_str = NULL;
-    char* constr_params_str = NULL;
-    char* constr_init_list_str = NULL;
-    char* set_values_str = NULL;
-    if (matched_ti != NULL && has_decoded_modifier()) {
-      // store a pointer to the matched template, the decoding results from
-      // decmatch templates might be reused to optimize decoded value redirects
-      expr->expr = mputprintf(expr->expr, "&(%s), ", matched_ti->get_last_gen_expr());
-      members_str = mprintf("%s* ptr_matched_temp;\n",
-        value_type->get_genname_template(scope).c_str());
-      constr_params_str = mputprintf(constr_params_str, "%s* par_matched_temp, ",
-        value_type->get_genname_template(scope).c_str());
-      constr_init_list_str = mcopystr("ptr_matched_temp(par_matched_temp), ");
-    }
-    for (size_t i = 0; i < v.size(); ++i) {
-      if (i > 0) {
-        expr->expr = mputstr(expr->expr, ", ");
-        constr_params_str = mputstr(constr_params_str, ", ");
-        constr_init_list_str = mputstr(constr_init_list_str, ", ");
-      }
-      // pass the variable references to the new instance's constructor
-      expr->expr = mputstr(expr->expr, "&(");
-      v[i]->get_var_ref()->generate_code(expr);
-      expr->expr = mputc(expr->expr, ')');
-      Type* redir_type = v[i]->get_subrefs() == NULL ? value_type :
-        value_type->get_field_type(v[i]->get_subrefs(), Type::EXPECTED_DYNAMIC_VALUE);
-      redir_type = redir_type->get_type_refd_last();
-      Type* ref_type = v[i]->get_var_ref()->chk_variable_ref()->get_type_refd_last();
-      Type* member_type = v[i]->is_decoded() ? v[i]->get_dec_type() : ref_type;
-      string type_str = member_type->get_genname_value(scope);
-      members_str = mputprintf(members_str, "%s* ptr_%d;\n", type_str.c_str(), (int)i);
-      constr_params_str = mputprintf(constr_params_str, "%s* par_%d",
-        type_str.c_str(), (int)i);
-      constr_init_list_str = mputprintf(constr_init_list_str,
-        "ptr_%d(par_%d)", (int)i, (int)i);
-      // generate the sub-references' code in a separate expression structure and
-      // insert it into the set_values function
-      expression_struct subrefs_expr;
-      Code::init_expr(&subrefs_expr);
-      const char* opt_suffix = "";
-      if (v[i]->get_subrefs() != NULL) {
-        v[i]->get_subrefs()->generate_code(&subrefs_expr, value_type);
-        if (redir_type->get_ownertype() == Type::OT_COMP_FIELD) {
-          CompField* cf = (CompField*)redir_type->get_owner();
-          if (cf->get_is_optional()) {
-            opt_suffix = "()";
+    if (use_runtime_2) {
+      // a value redirect class is generated for this redirect in the expression's
+      // preamble and instantiated in the expression
+
+      // the base class (interface) is type-specific, and is defined in the entity
+      // the new class instance is passed to (the port type for receive operations,
+      // the signature's reply redirect class for the return value, the signature
+      // exception template class for catch operations, and in the value type's
+      // module for done operations)
+      Scope* scope = v[0]->get_var_ref()->get_my_scope();
+      string tmp_id = scope->get_scope_mod_gen()->get_temporary_id();
+      expr->expr = mputprintf(expr->expr, "new Value_Redirect_%s(", tmp_id.c_str());
+
+      // go through the value redirect and gather the necessary data for the class
+      char* members_str = NULL;
+      char* constr_params_str = NULL;
+      char* constr_init_list_str = NULL;
+      char* set_values_str = NULL;
+      if (matched_ti != NULL && has_decoded_modifier()) {
+        // store a pointer to the matched template, the decoding results from
+        // decmatch templates might be reused to optimize decoded value redirects
+        expr->expr = mputprintf(expr->expr, "&(%s), ", matched_ti->get_last_gen_expr());
+        members_str = mprintf("%s* ptr_matched_temp;\n",
+          value_type->get_genname_template(scope).c_str());
+        constr_params_str = mputprintf(constr_params_str, "%s* par_matched_temp, ",
+          value_type->get_genname_template(scope).c_str());
+        constr_init_list_str = mcopystr("ptr_matched_temp(par_matched_temp), ");
+      }
+      for (size_t i = 0; i < v.size(); ++i) {
+        if (i > 0) {
+          expr->expr = mputstr(expr->expr, ", ");
+          constr_params_str = mputstr(constr_params_str, ", ");
+          constr_init_list_str = mputstr(constr_init_list_str, ", ");
+        }
+        // pass the variable references to the new instance's constructor
+        expr->expr = mputstr(expr->expr, "&(");
+        v[i]->get_var_ref()->generate_code(expr);
+        expr->expr = mputc(expr->expr, ')');
+        Type* redir_type = v[i]->get_subrefs() == NULL ? value_type :
+          value_type->get_field_type(v[i]->get_subrefs(), Type::EXPECTED_DYNAMIC_VALUE);
+        redir_type = redir_type->get_type_refd_last();
+        Type* ref_type = v[i]->get_var_ref()->chk_variable_ref()->get_type_refd_last();
+        Type* member_type = v[i]->is_decoded() ? v[i]->get_dec_type() : ref_type;
+        string type_str = member_type->get_genname_value(scope);
+        members_str = mputprintf(members_str, "%s* ptr_%d;\n", type_str.c_str(), (int)i);
+        constr_params_str = mputprintf(constr_params_str, "%s* par_%d",
+          type_str.c_str(), (int)i);
+        constr_init_list_str = mputprintf(constr_init_list_str,
+          "ptr_%d(par_%d)", (int)i, (int)i);
+        // generate the sub-references' code in a separate expression structure and
+        // insert it into the set_values function
+        expression_struct subrefs_expr;
+        Code::init_expr(&subrefs_expr);
+        const char* opt_suffix = "";
+        if (v[i]->get_subrefs() != NULL) {
+          v[i]->get_subrefs()->generate_code(&subrefs_expr, value_type);
+          if (redir_type->get_ownertype() == Type::OT_COMP_FIELD) {
+            CompField* cf = (CompField*)redir_type->get_owner();
+            if (cf->get_is_optional()) {
+              opt_suffix = "()";
+            }
           }
         }
-      }
-      if (subrefs_expr.preamble != NULL) {
-        set_values_str = mputstr(set_values_str, subrefs_expr.preamble);
-      }
-      const char* subrefs_str = (subrefs_expr.expr != NULL) ? subrefs_expr.expr : "";
-      if (v[i]->is_decoded()) {
-        // set the silent parameter to 'true', so no errors are displayed
-        Template* matched_temp = matched_ti != NULL ?
-          matched_ti->get_Template()->get_refd_sub_template(v[i]->get_subrefs(),
-          false, NULL, true) : NULL;
-        if (matched_temp != NULL) {
-          matched_temp = matched_temp->get_template_refd_last();
+        if (subrefs_expr.preamble != NULL) {
+          set_values_str = mputstr(set_values_str, subrefs_expr.preamble);
         }
-        bool use_decmatch_result = matched_temp != NULL &&
-          matched_temp->get_templatetype() == Template::DECODE_MATCH;
-        bool needs_decode = true;
-        expression_struct redir_coding_expr;
-        Code::init_expr(&redir_coding_expr);
-        if (redir_type->get_type_refd_last()->get_typetype_ttcn3() == Type::T_USTR) {
-          if (v[i]->get_str_enc() == NULL || !v[i]->get_str_enc()->is_unfoldable()) {
-            const char* redir_coding_str;
-            if (v[i]->get_str_enc() == NULL ||
-                v[i]->get_str_enc()->get_val_str() == "UTF-8") {
-              redir_coding_str = "UTF_8";
-            }
-            else if (v[i]->get_str_enc()->get_val_str() == "UTF-16" ||
-                     v[i]->get_str_enc()->get_val_str() == "UTF-16BE") {
-              redir_coding_str = "UTF16BE";
-            }
-            else if (v[i]->get_str_enc()->get_val_str() == "UTF-16LE") {
-              redir_coding_str = "UTF16LE";
-            }
-            else if (v[i]->get_str_enc()->get_val_str() == "UTF-32LE") {
-              redir_coding_str = "UTF32LE";
+        const char* subrefs_str = (subrefs_expr.expr != NULL) ? subrefs_expr.expr : "";
+        if (v[i]->is_decoded()) {
+          // set the silent parameter to 'true', so no errors are displayed
+          Template* matched_temp = matched_ti != NULL ?
+            matched_ti->get_Template()->get_refd_sub_template(v[i]->get_subrefs(),
+            false, NULL, true) : NULL;
+          if (matched_temp != NULL) {
+            matched_temp = matched_temp->get_template_refd_last();
+          }
+          bool use_decmatch_result = matched_temp != NULL &&
+            matched_temp->get_templatetype() == Template::DECODE_MATCH;
+          bool needs_decode = true;
+          expression_struct redir_coding_expr;
+          Code::init_expr(&redir_coding_expr);
+          if (redir_type->get_type_refd_last()->get_typetype_ttcn3() == Type::T_USTR) {
+            if (v[i]->get_str_enc() == NULL || !v[i]->get_str_enc()->is_unfoldable()) {
+              const char* redir_coding_str;
+              if (v[i]->get_str_enc() == NULL ||
+                  v[i]->get_str_enc()->get_val_str() == "UTF-8") {
+                redir_coding_str = "UTF_8";
+              }
+              else if (v[i]->get_str_enc()->get_val_str() == "UTF-16" ||
+                       v[i]->get_str_enc()->get_val_str() == "UTF-16BE") {
+                redir_coding_str = "UTF16BE";
+              }
+              else if (v[i]->get_str_enc()->get_val_str() == "UTF-16LE") {
+                redir_coding_str = "UTF16LE";
+              }
+              else if (v[i]->get_str_enc()->get_val_str() == "UTF-32LE") {
+                redir_coding_str = "UTF32LE";
+              }
+              else {
+                redir_coding_str = "UTF32BE";
+              }
+              redir_coding_expr.expr = mprintf("CharCoding::%s", redir_coding_str);
             }
             else {
-              redir_coding_str = "UTF32BE";
+              redir_coding_expr.preamble = mprintf(
+                "CharCoding::CharCodingType coding = UNIVERSAL_CHARSTRING::"
+                "get_character_coding(enc_fmt_%d, \"decoded parameter redirect\");\n",
+                (int)i);
+              redir_coding_expr.expr = mcopystr("coding");
             }
-            redir_coding_expr.expr = mprintf("CharCoding::%s", redir_coding_str);
-          }
-          else {
-            redir_coding_expr.preamble = mprintf(
-              "CharCoding::CharCodingType coding = UNIVERSAL_CHARSTRING::"
-              "get_character_coding(enc_fmt_%d, \"decoded parameter redirect\");\n",
-              (int)i);
-            redir_coding_expr.expr = mcopystr("coding");
           }
-        }
-        if (use_decmatch_result) {
-          // if the redirected value was matched using a decmatch template,
-          // then the value redirect class should use the decoding result 
-          // from the template instead of decoding the value again
-          needs_decode = false;
-          Type* decmatch_type = matched_temp->get_decode_target()->get_expr_governor(
-            Type::EXPECTED_TEMPLATE)->get_type_refd_last();
-          if (v[i]->get_dec_type() != decmatch_type) {
-            // the decmatch template and this value redirect decode two
-            // different types, so just decode the value
-            needs_decode = true;
-            use_decmatch_result = false;
-          }
-          else if (redir_type->get_type_refd_last()->get_typetype_ttcn3() ==
-                   Type::T_USTR) {
-            // for universal charstrings the situation could be trickier
-            // compare the string encodings
-            bool different_ustr_encodings = false;
-            bool unknown_ustr_encodings = false;
-            if (v[i]->get_str_enc() == NULL) {
-              if (matched_temp->get_string_encoding() != NULL) {
-                if (matched_temp->get_string_encoding()->is_unfoldable()) {
-                  unknown_ustr_encodings = true;
+          if (use_decmatch_result) {
+            // if the redirected value was matched using a decmatch template,
+            // then the value redirect class should use the decoding result 
+            // from the template instead of decoding the value again
+            needs_decode = false;
+            Type* decmatch_type = matched_temp->get_decode_target()->get_expr_governor(
+              Type::EXPECTED_TEMPLATE)->get_type_refd_last();
+            if (v[i]->get_dec_type() != decmatch_type) {
+              // the decmatch template and this value redirect decode two
+              // different types, so just decode the value
+              needs_decode = true;
+              use_decmatch_result = false;
+            }
+            else if (redir_type->get_type_refd_last()->get_typetype_ttcn3() ==
+                     Type::T_USTR) {
+              // for universal charstrings the situation could be trickier
+              // compare the string encodings
+              bool different_ustr_encodings = false;
+              bool unknown_ustr_encodings = false;
+              if (v[i]->get_str_enc() == NULL) {
+                if (matched_temp->get_string_encoding() != NULL) {
+                  if (matched_temp->get_string_encoding()->is_unfoldable()) {
+                    unknown_ustr_encodings = true;
+                  }
+                  else if (matched_temp->get_string_encoding()->get_val_str() != "UTF-8") {
+                    different_ustr_encodings = true;
+                  }
                 }
-                else if (matched_temp->get_string_encoding()->get_val_str() != "UTF-8") {
+              }
+              else if (v[i]->get_str_enc()->is_unfoldable()) {
+                unknown_ustr_encodings = true;
+              }
+              else if (matched_temp->get_string_encoding() == NULL) {
+                if (v[i]->get_str_enc()->get_val_str() != "UTF-8") {
                   different_ustr_encodings = true;
                 }
               }
-            }
-            else if (v[i]->get_str_enc()->is_unfoldable()) {
-              unknown_ustr_encodings = true;
-            }
-            else if (matched_temp->get_string_encoding() == NULL) {
-              if (v[i]->get_str_enc()->get_val_str() != "UTF-8") {
+              else if (matched_temp->get_string_encoding()->is_unfoldable()) {
+                unknown_ustr_encodings = true;
+              }
+              else if (v[i]->get_str_enc()->get_val_str() !=
+                       matched_temp->get_string_encoding()->get_val_str()) {
                 different_ustr_encodings = true;
               }
+              if (unknown_ustr_encodings) {
+                // the decision of whether to use the decmatch result or to decode
+                // the value is made at runtime
+                needs_decode = true;
+                set_values_str = mputprintf(set_values_str,
+                  "%sif (%s == (*ptr_matched_temp)%s.get_decmatch_str_enc()) {\n",
+                  redir_coding_expr.preamble != NULL ? redir_coding_expr.preamble : "",
+                  redir_coding_expr.expr, subrefs_str);
+              }
+              else if (different_ustr_encodings) {
+                // if the encodings are different, then ignore the decmatch result
+                // and just generate the decoding code as usual
+                needs_decode = true;
+                use_decmatch_result = false;
+              }
             }
-            else if (matched_temp->get_string_encoding()->is_unfoldable()) {
-              unknown_ustr_encodings = true;
-            }
-            else if (v[i]->get_str_enc()->get_val_str() !=
-                     matched_temp->get_string_encoding()->get_val_str()) {
-              different_ustr_encodings = true;
+          }
+          else {
+            // it might still be a decmatch template if it's not known at compile-time
+            bool unfoldable = matched_temp == NULL;
+            if (!unfoldable) {
+              switch (matched_temp->get_templatetype()) {
+              case Template::ANY_VALUE:
+              case Template::ANY_OR_OMIT:
+              case Template::BSTR_PATTERN:
+              case Template::CSTR_PATTERN:
+              case Template::HSTR_PATTERN:
+              case Template::OSTR_PATTERN:
+              case Template::USTR_PATTERN:
+              case Template::COMPLEMENTED_LIST:
+              case Template::VALUE_LIST:
+              case Template::VALUE_RANGE:
+              case Template::OMIT_VALUE:
+                // it's known at compile-time, and not a decmatch template
+                break;
+              default:
+                // needs runtime check
+                unfoldable = true;
+                break;
+              }
             }
-            if (unknown_ustr_encodings) {
-              // the decision of whether to use the decmatch result or to decode
-              // the value is made at runtime
-              needs_decode = true;
+            if (unfoldable && matched_ti != NULL) {
+              // the decmatch-check must be done at runtime
+              use_decmatch_result = true;
+              if (redir_coding_expr.preamble != NULL) {
+                set_values_str = mputstr(set_values_str, redir_coding_expr.preamble);
+              }
+              // before we can check whether the template at the end of the
+              // subreferences is a decmatch template, we must make sure that
+              // every prior subreference points to a specific value template
+              // (otherwise accessing the template at the end will result in a DTE)
+              set_values_str = mputstr(set_values_str,
+                "if (ptr_matched_temp->get_selection() == SPECIFIC_VALUE && ");
+              char* current_ref = mcopystr("(*ptr_matched_temp)");
+              size_t len = strlen(subrefs_str);
+              size_t start = 0;
+              // go through the already generated subreference string, append
+              // one reference at a time, and check if the referenced template
+              // is a specific value
+              for (size_t j = 1; j < len; ++j) {
+                if (subrefs_str[j] == '.' || subrefs_str[j] == '[') {
+                  current_ref = mputstrn(current_ref, subrefs_str + start, j - start);
+                  set_values_str = mputprintf(set_values_str,
+                    "%s.get_selection() == SPECIFIC_VALUE && ", current_ref);
+                  start = j;
+                }
+              }
+              Free(current_ref);
               set_values_str = mputprintf(set_values_str,
-                "%sif (%s == (*ptr_matched_temp)%s.get_decmatch_str_enc()) {\n",
-                redir_coding_expr.preamble != NULL ? redir_coding_expr.preamble : "",
-                redir_coding_expr.expr, subrefs_str);
-            }
-            else if (different_ustr_encodings) {
-              // if the encodings are different, then ignore the decmatch result
-              // and just generate the decoding code as usual
-              needs_decode = true;
-              use_decmatch_result = false;
+                "(*ptr_matched_temp)%s.get_selection() == DECODE_MATCH && "
+                // the type the value was decoded to in the template must be the same
+                // as the type this value redirect would decode the redirected value to
+                // (this is checked by comparing the addresses of the type descriptors)
+                "&%s_descr_ == (*ptr_matched_temp)%s.get_decmatch_type_descr()",
+                subrefs_str,
+                v[i]->get_dec_type()->get_genname_typedescriptor(scope).c_str(),
+                subrefs_str);
+              if (redir_coding_expr.expr != NULL) {
+                set_values_str = mputprintf(set_values_str,
+                  " && %s == (*ptr_matched_temp)%s.get_decmatch_str_enc()",
+                  redir_coding_expr.expr, subrefs_str);
+              }
+              set_values_str = mputstr(set_values_str, ") {\n");
             }
           }
-        }
-        else {
-          // it might still be a decmatch template if it's not known at compile-time
-          bool unfoldable = matched_temp == NULL;
-          if (!unfoldable) {
-            switch (matched_temp->get_templatetype()) {
-            case Template::ANY_VALUE:
-            case Template::ANY_OR_OMIT:
-            case Template::BSTR_PATTERN:
-            case Template::CSTR_PATTERN:
-            case Template::HSTR_PATTERN:
-            case Template::OSTR_PATTERN:
-            case Template::USTR_PATTERN:
-            case Template::COMPLEMENTED_LIST:
-            case Template::VALUE_LIST:
-            case Template::VALUE_RANGE:
-            case Template::OMIT_VALUE:
-              // it's known at compile-time, and not a decmatch template
-              break;
-            default:
-              // needs runtime check
-              unfoldable = true;
-              break;
-            }
+          Code::free_expr(&redir_coding_expr);
+          if (use_decmatch_result) {
+            set_values_str = mputprintf(set_values_str,
+              "*ptr_%d = *((%s*)((*ptr_matched_temp)%s.get_decmatch_dec_res()));\n",
+              (int)i, type_str.c_str(), subrefs_str);
           }
-          if (unfoldable && matched_ti != NULL) {
-            // the decmatch-check must be done at runtime
-            use_decmatch_result = true;
-            if (redir_coding_expr.preamble != NULL) {
-              set_values_str = mputstr(set_values_str, redir_coding_expr.preamble);
+          if (needs_decode) {
+            if (use_decmatch_result) {
+              set_values_str = mputstr(set_values_str, "}\nelse {\n");
             }
-            // before we can check whether the template at the end of the
-            // subreferences is a decmatch template, we must make sure that
-            // every prior subreference points to a specific value template
-            // (otherwise accessing the template at the end will result in a DTE)
-            set_values_str = mputstr(set_values_str,
-              "if (ptr_matched_temp->get_selection() == SPECIFIC_VALUE && ");
-            char* current_ref = mcopystr("(*ptr_matched_temp)");
-            size_t len = strlen(subrefs_str);
-            size_t start = 0;
-            // go through the already generated subreference string, append
-            // one reference at a time, and check if the referenced template
-            // is a specific value
-            for (size_t j = 1; j < len; ++j) {
-              if (subrefs_str[j] == '.' || subrefs_str[j] == '[') {
-                current_ref = mputstrn(current_ref, subrefs_str + start, j - start);
+            switch (redir_type->get_type_refd_last()->get_typetype_ttcn3()) {
+            case Type::T_OSTR:
+            case Type::T_CSTR:
+              set_values_str = mputprintf(set_values_str,
+                "TTCN_Buffer buff_%d(par%s%s);\n", (int)i, subrefs_str, opt_suffix);
+              break;
+            case Type::T_BSTR:
+              set_values_str = mputprintf(set_values_str,
+                "OCTETSTRING os(bit2oct(par%s%s));\n"
+                "TTCN_Buffer buff_%d(os);\n", subrefs_str, opt_suffix, (int)i);
+              break;
+            case Type::T_HSTR:
+              set_values_str = mputprintf(set_values_str,
+                "OCTETSTRING os(hex2oct(par%s%s));\n"
+                "TTCN_Buffer buff_%d(os);\n", subrefs_str, opt_suffix, (int)i);
+              break;
+            case Type::T_USTR:
+              set_values_str = mputprintf(set_values_str, "TTCN_Buffer buff_%d;\n",
+                (int)i);
+              if (v[i]->get_str_enc() == NULL || !v[i]->get_str_enc()->is_unfoldable()) {
+                // if the encoding format is missing or is known at compile-time, then
+                // use the appropriate string encoding function
+                string str_enc = (v[i]->get_str_enc() != NULL) ?
+                  v[i]->get_str_enc()->get_val_str() : string("UTF-8");
+                if (str_enc == "UTF-8") {
+                  set_values_str = mputprintf(set_values_str,
+                    "par%s%s.encode_utf8(buff_%d, false);\n", subrefs_str, opt_suffix, (int)i);
+                }
+                else if (str_enc == "UTF-16" || str_enc == "UTF-16LE" ||
+                         str_enc == "UTF-16BE") {
+                  set_values_str = mputprintf(set_values_str,
+                    "par%s%s.encode_utf16(buff_%d, CharCoding::UTF16%s);\n", subrefs_str,
+                    opt_suffix, (int)i, (str_enc == "UTF-16LE") ? "LE" : "BE");
+                }
+                else if (str_enc == "UTF-32" || str_enc == "UTF-32LE" ||
+                         str_enc == "UTF-32BE") {
+                  set_values_str = mputprintf(set_values_str,
+                    "par%s%s.encode_utf32(buff_%d, CharCoding::UTF32%s);\n", subrefs_str,
+                    opt_suffix, (int)i, (str_enc == "UTF-32LE") ? "LE" : "BE");
+                }
+              }
+              else {
+                // the encoding format is not known at compile-time, so an extra
+                // member and constructor parameter is needed to store it
+                expr->expr = mputstr(expr->expr, ", ");
+                v[i]->get_str_enc()->generate_code_expr(expr);
+                members_str = mputprintf(members_str, "CHARSTRING enc_fmt_%d;\n",
+                  (int)i);
+                constr_params_str = mputprintf(constr_params_str,
+                  ", CHARSTRING par_fmt_%d", (int)i);
+                constr_init_list_str = mputprintf(constr_init_list_str,
+                  ", enc_fmt_%d(par_fmt_%d)", (int)i, (int)i);
+                if (!use_decmatch_result) {
+                  // if the decmatch result code is generated too, then this variable
+                  // was already generated before the main 'if'
+                  set_values_str = mputprintf(set_values_str,
+                    "CharCoding::CharCodingType coding = UNIVERSAL_CHARSTRING::"
+                    "get_character_coding(enc_fmt_%d, \"decoded value redirect\");\n",
+                    (int)i);
+                }
                 set_values_str = mputprintf(set_values_str,
-                  "%s.get_selection() == SPECIFIC_VALUE && ", current_ref);
-                start = j;
+                  "switch (coding) {\n"
+                  "case CharCoding::UTF_8:\n"
+                  "par%s%s.encode_utf8(buff_%d, false);\n"
+                  "break;\n"
+                  "case CharCoding::UTF16:\n"
+                  "case CharCoding::UTF16LE:\n"
+                  "case CharCoding::UTF16BE:\n"
+                  "par%s%s.encode_utf16(buff_%d, coding);\n"
+                  "break;\n"
+                  "case CharCoding::UTF32:\n"
+                  "case CharCoding::UTF32LE:\n"
+                  "case CharCoding::UTF32BE:\n"
+                  "par%s%s.encode_utf32(buff_%d, coding);\n"
+                  "break;\n"
+                  "default:\n"
+                  "break;\n"
+                  "}\n", subrefs_str, opt_suffix, (int)i, subrefs_str, opt_suffix,
+                  (int)i, subrefs_str, opt_suffix, (int)i);
               }
+              break;
+            default:
+              FATAL_ERROR("ValueRedirect::generate_code");
             }
-            Free(current_ref);
             set_values_str = mputprintf(set_values_str,
-              "(*ptr_matched_temp)%s.get_selection() == DECODE_MATCH && "
-              // the type the value was decoded to in the template must be the same
-              // as the type this value redirect would decode the redirected value to
-              // (this is checked by comparing the addresses of the type descriptors)
-              "&%s_descr_ == (*ptr_matched_temp)%s.get_decmatch_type_descr()",
-              subrefs_str,
-              v[i]->get_dec_type()->get_genname_typedescriptor(scope).c_str(),
-              subrefs_str);
-            if (redir_coding_expr.expr != NULL) {
-              set_values_str = mputprintf(set_values_str,
-                " && %s == (*ptr_matched_temp)%s.get_decmatch_str_enc()",
-                redir_coding_expr.expr, subrefs_str);
+              "ptr_%d->decode(%s_descr_, buff_%d, TTCN_EncDec::CT_%s);\n"
+              "if (buff_%d.get_read_len() != 0) {\n"
+              "TTCN_error(\"Value redirect #%d failed, because the buffer was "
+              "not empty after decoding. Remaining octets: %%d.\", "
+              "(int)buff_%d.get_read_len());\n"
+              "}\n",
+              (int)i, member_type->get_genname_typedescriptor(scope).c_str(), (int)i,
+              member_type->get_coding(false).c_str(), (int)i, (int)(i + 1), (int)i);
+            if (use_decmatch_result) {
+              set_values_str = mputstr(set_values_str, "}\n");
             }
-            set_values_str = mputstr(set_values_str, ") {\n");
           }
         }
-        Code::free_expr(&redir_coding_expr);
-        if (use_decmatch_result) {
-          set_values_str = mputprintf(set_values_str,
-            "*ptr_%d = *((%s*)((*ptr_matched_temp)%s.get_decmatch_dec_res()));\n",
-            (int)i, type_str.c_str(), subrefs_str);
-        }
-        if (needs_decode) {
-          if (use_decmatch_result) {
-            set_values_str = mputstr(set_values_str, "}\nelse {\n");
-          }
-          switch (redir_type->get_type_refd_last()->get_typetype_ttcn3()) {
-          case Type::T_OSTR:
-          case Type::T_CSTR:
-            set_values_str = mputprintf(set_values_str,
-              "TTCN_Buffer buff_%d(par%s%s);\n", (int)i, subrefs_str, opt_suffix);
-            break;
-          case Type::T_BSTR:
-            set_values_str = mputprintf(set_values_str,
-              "OCTETSTRING os(bit2oct(par%s%s));\n"
-              "TTCN_Buffer buff_%d(os);\n", subrefs_str, opt_suffix, (int)i);
-            break;
-          case Type::T_HSTR:
+        else {
+          // if the variable reference and the received value (or its specified field)
+          // are not of the same type, then a type conversion is needed (RT2 only)
+          if (use_runtime_2 && !ref_type->is_identical(redir_type)) {
+            Common::Module* mod = scope->get_scope_mod();
+            mod->add_type_conv(new TypeConv(redir_type, ref_type, false));
             set_values_str = mputprintf(set_values_str,
-              "OCTETSTRING os(hex2oct(par%s%s));\n"
-              "TTCN_Buffer buff_%d(os);\n", subrefs_str, opt_suffix, (int)i);
-            break;
-          case Type::T_USTR:
-            set_values_str = mputprintf(set_values_str, "TTCN_Buffer buff_%d;\n",
-              (int)i);
-            if (v[i]->get_str_enc() == NULL || !v[i]->get_str_enc()->is_unfoldable()) {
-              // if the encoding format is missing or is known at compile-time, then
-              // use the appropriate string encoding function
-              string str_enc = (v[i]->get_str_enc() != NULL) ?
-                v[i]->get_str_enc()->get_val_str() : string("UTF-8");
-              if (str_enc == "UTF-8") {
-                set_values_str = mputprintf(set_values_str,
-                  "par%s%s.encode_utf8(buff_%d, false);\n", subrefs_str, opt_suffix, (int)i);
-              }
-              else if (str_enc == "UTF-16" || str_enc == "UTF-16LE" ||
-                       str_enc == "UTF-16BE") {
-                set_values_str = mputprintf(set_values_str,
-                  "par%s%s.encode_utf16(buff_%d, CharCoding::UTF16%s);\n", subrefs_str,
-                  opt_suffix, (int)i, (str_enc == "UTF-16LE") ? "LE" : "BE");
-              }
-              else if (str_enc == "UTF-32" || str_enc == "UTF-32LE" ||
-                       str_enc == "UTF-32BE") {
-                set_values_str = mputprintf(set_values_str,
-                  "par%s%s.encode_utf32(buff_%d, CharCoding::UTF32%s);\n", subrefs_str,
-                  opt_suffix, (int)i, (str_enc == "UTF-32LE") ? "LE" : "BE");
-              }
-            }
-            else {
-              // the encoding format is not known at compile-time, so an extra
-              // member and constructor parameter is needed to store it
-              expr->expr = mputstr(expr->expr, ", ");
-              v[i]->get_str_enc()->generate_code_expr(expr);
-              members_str = mputprintf(members_str, "CHARSTRING enc_fmt_%d;\n",
-                (int)i);
-              constr_params_str = mputprintf(constr_params_str,
-                ", CHARSTRING par_fmt_%d", (int)i);
-              constr_init_list_str = mputprintf(constr_init_list_str,
-                ", enc_fmt_%d(par_fmt_%d)", (int)i, (int)i);
-              if (!use_decmatch_result) {
-                // if the decmatch result code is generated too, then this variable
-                // was already generated before the main 'if'
-                set_values_str = mputprintf(set_values_str,
-                  "CharCoding::CharCodingType coding = UNIVERSAL_CHARSTRING::"
-                  "get_character_coding(enc_fmt_%d, \"decoded value redirect\");\n",
-                  (int)i);
-              }
-              set_values_str = mputprintf(set_values_str,
-                "switch (coding) {\n"
-                "case CharCoding::UTF_8:\n"
-                "par%s%s.encode_utf8(buff_%d, false);\n"
-                "break;\n"
-                "case CharCoding::UTF16:\n"
-                "case CharCoding::UTF16LE:\n"
-                "case CharCoding::UTF16BE:\n"
-                "par%s%s.encode_utf16(buff_%d, coding);\n"
-                "break;\n"
-                "case CharCoding::UTF32:\n"
-                "case CharCoding::UTF32LE:\n"
-                "case CharCoding::UTF32BE:\n"
-                "par%s%s.encode_utf32(buff_%d, coding);\n"
-                "break;\n"
-                "default:\n"
-                "break;\n"
-                "}\n", subrefs_str, opt_suffix, (int)i, subrefs_str, opt_suffix,
-                (int)i, subrefs_str, opt_suffix, (int)i);
-            }
-            break;
-          default:
-            FATAL_ERROR("ValueRedirect::generate_code");
+              "if (!%s(*ptr_%d, par%s%s)) {\n"
+              "TTCN_error(\"Failed to convert redirected value #%d from type `%s' "
+              "to type `%s'.\");\n"
+              "}\n",
+              TypeConv::get_conv_func(redir_type, ref_type, mod).c_str(), (int)i,
+              subrefs_str, opt_suffix, (int)(i + 1), redir_type->get_typename().c_str(),
+              ref_type->get_typename().c_str());
           }
-          set_values_str = mputprintf(set_values_str,
-            "ptr_%d->decode(%s_descr_, buff_%d, TTCN_EncDec::CT_%s);\n"
-            "if (buff_%d.get_read_len() != 0) {\n"
-            "TTCN_error(\"Value redirect #%d failed, because the buffer was "
-            "not empty after decoding. Remaining octets: %%d.\", "
-            "(int)buff_%d.get_read_len());\n"
-            "}\n",
-            (int)i, member_type->get_genname_typedescriptor(scope).c_str(), (int)i,
-            member_type->get_coding(false).c_str(), (int)i, (int)(i + 1), (int)i);
-          if (use_decmatch_result) {
-            set_values_str = mputstr(set_values_str, "}\n");
+          else {
+            set_values_str = mputprintf(set_values_str, "*ptr_%d = par%s%s;\n",
+              (int)i, subrefs_str, opt_suffix);
           }
         }
-      }
-      else {
-        // if the variable reference and the received value (or its specified field)
-        // are not of the same type, then a type conversion is needed (RT2 only)
-        if (use_runtime_2 && !ref_type->is_identical(redir_type)) {
-          Common::Module* mod = scope->get_scope_mod();
-          mod->add_type_conv(new TypeConv(redir_type, ref_type, false));
-          set_values_str = mputprintf(set_values_str,
-            "if (!%s(*ptr_%d, par%s%s)) {\n"
-            "TTCN_error(\"Failed to convert redirected value #%d from type `%s' "
-            "to type `%s'.\");\n"
-            "}\n",
-            TypeConv::get_conv_func(redir_type, ref_type, mod).c_str(), (int)i,
-            subrefs_str, opt_suffix, (int)(i + 1), redir_type->get_typename().c_str(),
-            ref_type->get_typename().c_str());
-        }
-        else {
-          set_values_str = mputprintf(set_values_str, "*ptr_%d = par%s%s;\n",
-            (int)i, subrefs_str, opt_suffix);
+        if (subrefs_expr.postamble != NULL) {
+          set_values_str = mputstr(set_values_str, subrefs_expr.postamble);
         }
+        Code::free_expr(&subrefs_expr);
       }
-      if (subrefs_expr.postamble != NULL) {
-        set_values_str = mputstr(set_values_str, subrefs_expr.postamble);
-      }
-      Code::free_expr(&subrefs_expr);
-    }
-    expr->expr = mputc(expr->expr, ')');
-    if (!base_class_prefix.empty()) {
-      base_class_prefix += "::";
+      expr->expr = mputc(expr->expr, ')');
+      if (!base_class_prefix.empty()) {
+        base_class_prefix += "::";
+      }
+      // generate the new class with the gathered data
+      expr->preamble = mputprintf(expr->preamble,
+        "class Value_Redirect_%s : public %s%s_Redirect_Interface {\n"
+        // member declarations; one for each variable reference
+        "%s"
+        "public:\n"
+        // constructor:
+        // stores the pointers to the target variables in the class' members
+        "Value_Redirect_%s(%s)\n"
+        ": %s { }\n"
+        // set_values function: assigns the whole value or a part of it to each
+        // variable; the redirects marked with the '@decoded' modifier are decoded
+        // here before they are assigned
+        "void set_values(const %s& par)\n"
+        "{\n"
+        "%s"
+        "}\n"
+        "};\n", tmp_id.c_str(),
+        base_class_prefix.empty() ? "" : base_class_prefix.c_str(),
+        value_type->get_genname_value(value_type->get_my_scope()).c_str(),
+        members_str, tmp_id.c_str(), constr_params_str, constr_init_list_str,
+        value_type->get_genname_value(scope).c_str(), set_values_str);
+      Free(members_str);
+      Free(constr_params_str);
+      Free(constr_init_list_str);
+      Free(set_values_str);
+    }
+    else { // RT1
+      // in this case only the address of the one variable needs to be generated
+      expr->expr = mputstr(expr->expr, "&(");
+      v[0]->get_var_ref()->generate_code(expr);
+      expr->expr = mputc(expr->expr, ')');
     }
-    // generate the new class with the gathered data
-    expr->preamble = mputprintf(expr->preamble,
-      "class Value_Redirect_%s : public %s%s_Redirect_Interface {\n"
-      // member declarations; one for each variable reference
-      "%s"
-      "public:\n"
-      // constructor:
-      // stores the pointers to the target variables in the class' members
-      "Value_Redirect_%s(%s)\n"
-      ": %s { }\n"
-      // set_values function: assigns the whole value or a part of it to each
-      // variable; the redirects marked with the '@decoded' modifier are decoded
-      // here before they are assigned
-      "void set_values(const %s& par)\n"
-      "{\n"
-      "%s"
-      "}\n"
-      "};\n", tmp_id.c_str(),
-      base_class_prefix.empty() ? "" : base_class_prefix.c_str(),
-      value_type->get_genname_value(value_type->get_my_scope()).c_str(),
-      members_str, tmp_id.c_str(), constr_params_str, constr_init_list_str,
-      value_type->get_genname_value(scope).c_str(), set_values_str);
-    Free(members_str);
-    Free(constr_params_str);
-    Free(constr_init_list_str);
-    Free(set_values_str);
   }
   
   bool ValueRedirect::has_decoded_modifier() const
diff --git a/compiler2/ttcn3/Statement.hh b/compiler2/ttcn3/Statement.hh
index 96b0f23bb..43466c0bc 100644
--- a/compiler2/ttcn3/Statement.hh
+++ b/compiler2/ttcn3/Statement.hh
@@ -1116,6 +1116,8 @@ namespace Ttcn {
       * If multiple whole-value-redirects of separate types are found, then an
       * error is displayed. */
     Type* get_type() const;
+    /** Checks Runtime1 restrictions and returns false if they are not met. */
+    bool chk_RT1_restrictions() const;
     /** Performs semantic analysis on the value redirect without knowing the
       * type of the redirected value. Called when the value's type cannot be
       * determined or is erroneous. */
diff --git a/compiler2/ttcn3/port.c b/compiler2/ttcn3/port.c
index 175fdb6aa..7611bc5c9 100644
--- a/compiler2/ttcn3/port.c
+++ b/compiler2/ttcn3/port.c
@@ -565,12 +565,13 @@ static void generate_receive(char **def_ptr, char **src_ptr,
   }
 
   def = mputprintf(def, "alt_status %s(const %s_template& value_template, "
-    "%s_Redirect_Interface *value_redirect, const %s_template& sender_template, %s "
+    "%s%s *value_redirect, const %s_template& sender_template, %s "
     "*sender_ptr);\n", function_name, message_type->name,
-    message_type->name_w_no_prefix, sender_type, sender_type);
+    use_runtime_2 ? message_type->name_w_no_prefix : message_type->name,
+    use_runtime_2 ? "_Redirect_Interface" : "", sender_type, sender_type);
 
   src = mputprintf(src, "alt_status %s::%s(const %s_template& "
-    "value_template, %s_Redirect_Interface *value_redirect, const %s_template& "
+    "value_template, %s%s *value_redirect, const %s_template& "
     "sender_template, %s *sender_ptr)\n"
     "{\n"
     "if (value_template.get_selection() == ANY_OR_OMIT) "
@@ -585,7 +586,9 @@ static void generate_receive(char **def_ptr, char **src_ptr,
     "return ALT_NO;\n"
     "}\n"
     "} else ", class_name, function_name, message_type->name,
-    message_type->name_w_no_prefix, sender_type, sender_type, operation_name);
+    use_runtime_2 ? message_type->name_w_no_prefix : message_type->name,
+    use_runtime_2 ? "_Redirect_Interface" : "", sender_type, sender_type,
+    operation_name);
   if (is_address) {
     src = mputprintf(src, "if (my_head->sender_component != "
       "SYSTEM_COMPREF) {\n"
@@ -660,13 +663,20 @@ static void generate_receive(char **def_ptr, char **src_ptr,
   if (is_trigger) src = mputstr(src, "remove_msg_queue_head();\n");
   src = mputprintf(src, "return %s;\n"
     "} else {\n"
-    "if (value_redirect != NULL) {\n"
-    "value_redirect->set_values(*my_head->message_%lu);\n"
-    "delete value_redirect;\n"
+    "if (value_redirect != NULL) {\n", failed_status);
+  if (use_runtime_2) {
+    src = mputprintf(src,
+      "value_redirect->set_values(*my_head->message_%lu);\n"
+      "delete value_redirect;\n", (unsigned long) message_index);
+  }
+  else {
+    src = mputprintf(src,
+      "*value_redirect = *my_head->message_%lu;\n", (unsigned long) message_index);
+  }
+  src = mputprintf(src,
     "}\n"
     "if (sender_ptr != NULL) *sender_ptr = %smy_head->%s;\n",
-    failed_status, (unsigned long) message_index, is_address ? "*" : "",
-      is_address ? "sender_address" : "sender_component");
+    is_address ? "*" : "", is_address ? "sender_address" : "sender_component");
 
   if (is_address) {
     src = mputprintf(src,
@@ -1577,7 +1587,7 @@ void defPortClass(const port_def* pdef, output_struct* output)
   def = mputstr(def, "public:\n");
   
   /* value redirect base classes (interfaces) */
-  if (has_msg_queue) {
+  if (use_runtime_2 && has_msg_queue) {
     for (i = 0; i < pdef->msg_in.nElements; ++i) {
       def = mputprintf(def, 
         "class %s_Redirect_Interface {\n"
diff --git a/compiler2/ttcn3/signature.c b/compiler2/ttcn3/signature.c
index 70f57338f..a19f4f142 100644
--- a/compiler2/ttcn3/signature.c
+++ b/compiler2/ttcn3/signature.c
@@ -330,7 +330,7 @@ void defSignatureClasses(const signature_def *sdef, output_struct *output)
     /* class definition */
     def = mputprintf(def, "class %s_reply_redirect {\n", name);
     
-    if (sdef->return_type != NULL) {
+    if (use_runtime_2 && sdef->return_type != NULL) {
       /* value redirect base class (interface) for the return value */
       def = mputprintf(def, 
         "public:\n"
@@ -345,8 +345,9 @@ void defSignatureClasses(const signature_def *sdef, output_struct *output)
 
     /* parameter pointers */
     if (sdef->return_type != NULL) {
-      def = mputprintf(def, "%s_Redirect_Interface *ret_val_redir;\n",
-        sdef->return_type_w_no_prefix);
+      def = mputprintf(def, "%s%s *ret_val_redir;\n",
+        use_runtime_2 ? sdef->return_type_w_no_prefix : sdef->return_type,
+        use_runtime_2 ? "_Redirect_Interface" : "");
     }
     for (i = 0; i < sdef->parameters.nElements; i++) {
       if (sdef->parameters.elements[i].direction != PAR_IN) {
@@ -363,8 +364,9 @@ void defSignatureClasses(const signature_def *sdef, output_struct *output)
       /* constructor */
       def = mputprintf(def, "%s_reply_redirect(", name);
       if (sdef->return_type != NULL) {
-        def = mputprintf(def, "%s_Redirect_Interface *return_redirect",
-          sdef->return_type_w_no_prefix);
+        def = mputprintf(def, "%s%s *return_redirect",
+          use_runtime_2 ? sdef->return_type_w_no_prefix : sdef->return_type,
+          use_runtime_2 ? "_Redirect_Interface" : "");
         first_param = FALSE;
       }
       for (i = 0; i < sdef->parameters.nElements; i++) {
@@ -396,7 +398,7 @@ void defSignatureClasses(const signature_def *sdef, output_struct *output)
     }
     /* otherwise constructor is not needed */
     
-    if (sdef->return_type != NULL) {
+    if (use_runtime_2 && sdef->return_type != NULL) {
       /* destructor (only the return redirect object needs to be deleted) */
       def = mputprintf(def, "~%s_reply_redirect() { "
         "if (ret_val_redir != NULL) delete ret_val_redir; }\n", name);
@@ -420,8 +422,13 @@ void defSignatureClasses(const signature_def *sdef, output_struct *output)
         }
       }
       if (sdef->return_type!=NULL) {
-        src = mputstr(src, "if (ret_val_redir != NULL) "
-          "ret_val_redir->set_values(reply_par.return_value());\n");
+        src = mputstr(src, "if (ret_val_redir != NULL) ");
+        if (use_runtime_2) {
+          src = mputstr(src, "ret_val_redir->set_values(reply_par.return_value());\n");
+        }
+        else {
+          src = mputstr(src, "*ret_val_redir = reply_par.return_value();\n");
+        }
       }
       src = mputstr(src, "}\n\n");
     }
@@ -686,16 +693,18 @@ void defSignatureClasses(const signature_def *sdef, output_struct *output)
       "class %s_exception_template {\n"
       "public:\n", name);
     
-    /* value redirect base classes (interfaces) */
-    for (i = 0; i < sdef->exceptions.nElements; i++) {
-      def = mputprintf(def,
-        "class %s_Redirect_Interface {\n"
-        "public:\n"
-        "virtual void set_values(const %s&) = 0;\n"
-        "virtual ~%s_Redirect_Interface() { }\n"
-        "};\n", sdef->exceptions.elements[i].name_w_no_prefix,
-        sdef->exceptions.elements[i].name,
-        sdef->exceptions.elements[i].name_w_no_prefix);
+    if (use_runtime_2) {
+      /* value redirect base classes (interfaces) */
+      for (i = 0; i < sdef->exceptions.nElements; i++) {
+        def = mputprintf(def,
+          "class %s_Redirect_Interface {\n"
+          "public:\n"
+          "virtual void set_values(const %s&) = 0;\n"
+          "virtual ~%s_Redirect_Interface() { }\n"
+          "};\n", sdef->exceptions.elements[i].name_w_no_prefix,
+          sdef->exceptions.elements[i].name,
+          sdef->exceptions.elements[i].name_w_no_prefix);
+      }
     }
 
     /* data members */
@@ -714,8 +723,10 @@ void defSignatureClasses(const signature_def *sdef, output_struct *output)
     /* union of all possible value redirect objects */
     def = mputstr(def, "union {\n");
     for (i = 0; i < sdef->exceptions.nElements; i++) {
-      def = mputprintf(def, "%s_Redirect_Interface *%s_redir;\n",
-        sdef->exceptions.elements[i].name_w_no_prefix,
+      def = mputprintf(def, "%s%s *%s_redir;\n",
+        use_runtime_2 ? sdef->exceptions.elements[i].name_w_no_prefix :
+        sdef->exceptions.elements[i].name,
+        use_runtime_2 ? "_Redirect_Interface" : "",
         sdef->exceptions.elements[i].altname);
     }
     def = mputstr(def, "};\n"
@@ -723,42 +734,48 @@ void defSignatureClasses(const signature_def *sdef, output_struct *output)
     /* constructors (for all possible template + redirect object pairs) */
     for (i = 0; i < sdef->exceptions.nElements; i++) {
       def = mputprintf(def, "%s_exception_template(const %s_template& "
-        "init_template, %s_Redirect_Interface *value_redirect = NULL);\n", name,
+        "init_template, %s%s *value_redirect = NULL);\n", name,
         sdef->exceptions.elements[i].name,
-        sdef->exceptions.elements[i].name_w_no_prefix);
+        use_runtime_2 ? sdef->exceptions.elements[i].name_w_no_prefix :
+        sdef->exceptions.elements[i].name,
+        use_runtime_2 ? "_Redirect_Interface" : "");
       src = mputprintf(src, "%s_exception_template::%s_exception_template"
-        "(const %s_template& init_template, %s_Redirect_Interface *value_redirect)\n"
+        "(const %s_template& init_template, %s%s *value_redirect)\n"
         "{\n"
         "exception_selection = %s_%s;\n"
         "field_%s = &init_template;\n"
         "%s_redir = value_redirect;\n"
         "}\n\n", name, name, sdef->exceptions.elements[i].name,
-        sdef->exceptions.elements[i].name_w_no_prefix, selection_prefix,
+        use_runtime_2 ? sdef->exceptions.elements[i].name_w_no_prefix :
+        sdef->exceptions.elements[i].name,
+        use_runtime_2 ? "_Redirect_Interface" : "", selection_prefix,
         sdef->exceptions.elements[i].altname,
         sdef->exceptions.elements[i].altname,
         sdef->exceptions.elements[i].altname);
     }
     
-    /* destructor */
-    def = mputprintf(def, "~%s_exception_template();\n", name);
-    src = mputprintf(src, 
-      "%s_exception_template::~%s_exception_template()\n"
-      "{\n"
-      "switch (exception_selection) {\n", name, name);
-    for (i = 0; i < sdef->exceptions.nElements; i++) {
+    if (use_runtime_2) {
+      /* destructor, RT2 only */
+      def = mputprintf(def, "~%s_exception_template();\n", name);
+      src = mputprintf(src, 
+        "%s_exception_template::~%s_exception_template()\n"
+        "{\n"
+        "switch (exception_selection) {\n", name, name);
+      for (i = 0; i < sdef->exceptions.nElements; i++) {
+        src = mputprintf(src,
+          "case %s_%s:\n"
+          "if (%s_redir != NULL) delete %s_redir;\n"
+          "break;", selection_prefix, sdef->exceptions.elements[i].altname,
+          sdef->exceptions.elements[i].altname,
+          sdef->exceptions.elements[i].altname);
+      }
       src = mputprintf(src,
-        "case %s_%s:\n"
-        "if (%s_redir != NULL) delete %s_redir;\n"
-        "break;", selection_prefix, sdef->exceptions.elements[i].altname,
-        sdef->exceptions.elements[i].altname,
-        sdef->exceptions.elements[i].altname);
+        "default:\n"
+        "TTCN_error(\"Internal error: Invalid selector when deleting exception "
+        "object for signature %s.\");\n"
+        "}\n"
+        "}\n\n", dispname);
     }
-    src = mputprintf(src,
-      "default:\n"
-      "TTCN_error(\"Internal error: Invalid selector when deleting exception "
-      "object for signature %s.\");\n"
-      "}\n"
-      "}\n\n", dispname);
 
     /* match function */
     def = mputprintf(def, "boolean match(const %s_exception& other_value,"
@@ -837,12 +854,20 @@ void defSignatureClasses(const signature_def *sdef, output_struct *output)
       "switch (exception_selection) {\n", name, name);
     for (i = 0; i < sdef->exceptions.nElements; i++) {
       src = mputprintf(src, "case %s_%s:\n"
-        "if (%s_redir != NULL) %s_redir->set_values(source_value.%s_field());\n"
-        "return;\n", selection_prefix,
-        sdef->exceptions.elements[i].altname,
-        sdef->exceptions.elements[i].altname,
+        "if (%s_redir != NULL) ", selection_prefix,
         sdef->exceptions.elements[i].altname,
         sdef->exceptions.elements[i].altname);
+      if (use_runtime_2) {
+        src = mputprintf(src, "%s_redir->set_values(source_value.%s_field());\n",
+          sdef->exceptions.elements[i].altname,
+          sdef->exceptions.elements[i].altname);
+      }
+      else {
+        src = mputprintf(src, "*%s_redir = source_value.%s_field();\n",
+          sdef->exceptions.elements[i].altname,
+          sdef->exceptions.elements[i].altname);
+      }
+      src = mputstr(src, "return;\n");
     }
     src = mputprintf(src, "default:\n"
       "break;\n"
diff --git a/regression_test/commMessage/Makefile b/regression_test/commMessage/Makefile
index a9eaba960..ddb1f1a9b 100644
--- a/regression_test/commMessage/Makefile
+++ b/regression_test/commMessage/Makefile
@@ -29,6 +29,10 @@ TTCN3_LIB_SINGLE = ttcn3$(RT2_SUFFIX)$(DYNAMIC_SUFFIX)
 
 TTCN3_MODULES = TcommMessage.ttcn HS41022.ttcn
 
+ifdef RT2
+TTCN3_MODULES += TmultipleRedirects.ttcn
+endif
+
 ASN1_MODULES = ImplMsgEncData.asn
 
 GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
@@ -70,9 +74,9 @@ dep: $(GENERATED_SOURCES)
 
 run: run-single run-parallel
 
-run-single: $(TARGET_SINGLE) config.cfg
+run-single: $(TARGET_SINGLE) config$(RT2_SUFFIX).cfg
 	./$^
 
 run-parallel: $(TARGET)
-	$(TTCN3_DIR)/bin/ttcn3_start $(TARGET) config_parallel.cfg
+	$(TTCN3_DIR)/bin/ttcn3_start $(TARGET) config_parallel$(RT2_SUFFIX).cfg
 
diff --git a/regression_test/commMessage/TcommMessage.ttcn b/regression_test/commMessage/TcommMessage.ttcn
index ace360bbd..7b45f557a 100644
--- a/regression_test/commMessage/TcommMessage.ttcn
+++ b/regression_test/commMessage/TcommMessage.ttcn
@@ -1474,141 +1474,6 @@ testcase commMessageDualFacedPorts2() runs on ImplicitMessageEncodingComponent {
   rc.stop;
 }
 
-// test for value redirect with multiple variable references and field assignments
-testcase commMessageMultiValueRedirect() runs on commMessage_comp3 {
-  connect(mtc:Port3, mtc:Port3);
-  var commMessage_trecord rec_val := { x1 := 3, x2 := -1.0 };
-  Port3.send(rec_val);
-  var commMessage_trecord redir_rec;
-  var integer redir_int;
-  var float redir_float;
-  timer tmr := 1.0;
-  tmr.start;
-  alt {
-    [] Port3.receive(rec_val) -> value (redir_rec, redir_int := x1, redir_float := x2) {
-      if (redir_rec != rec_val) { setverdict(fail, "Invalid record value: ", redir_rec); }
-      if (redir_int != rec_val.x1) { setverdict(fail, "Invalid integer value: ", redir_int); }
-      if (redir_float != rec_val.x2) { setverdict(fail, "Invalid float value: ", redir_float); }
-    }
-    [] Port3.receive(commMessage_trecord:?) { setverdict(fail, "Incorrect value received."); }
-    [] tmr.timeout { setverdict(fail, "Timeout."); }
-  }
-  setverdict(pass);
-}
-
-type record commMessage_tPayloadRecord {
-  bitstring bs optional,
-  hexstring hs optional,
-  octetstring os optional,
-  charstring cs optional,
-  universal charstring ucs optional
-}
-
-type record commMessage_tDecoded {
-  integer num,
-  charstring str
-}
-with {
-  encode "JSON";
-}
-
-type port commMessage_port_dec message {
-  inout commMessage_tPayloadRecord
-}
-with { extension "internal" };
-
-type component commMessage_comp_dec {
-  port commMessage_port_dec pt
-}
-
-// test for decoded value redirect
-testcase commMessageDecodedValueRedirect() runs on commMessage_comp_dec {
-  connect(mtc:pt, mtc:pt);
-  var commMessage_tDecoded val := { num := 10, str := "abc" };
-  var bitstring bs_val := encvalue(val);
-  var hexstring hs_val := bit2hex(encvalue(val));
-  var octetstring os_val := bit2oct(encvalue(val));
-  var charstring cs_val := oct2char(bit2oct(encvalue(val)));
-  var universal charstring ucs_val := encvalue_unichar(val, "UTF-8");
-  pt.send(commMessage_tPayloadRecord: { bs_val, omit,   omit,   omit,   omit    });
-  pt.send(commMessage_tPayloadRecord: { omit,   hs_val, omit,   omit,   omit    });
-  pt.send(commMessage_tPayloadRecord: { omit,   omit,   os_val, omit,   omit    });
-  pt.send(commMessage_tPayloadRecord: { omit,   omit,   omit,   cs_val, omit    });
-  pt.send(commMessage_tPayloadRecord: { omit,   omit,   omit,   omit,   ucs_val });
-  timer tmr;
-  var commMessage_tDecoded redir[5];
-  tmr.start(1.0);
-  alt {
-    [] pt.receive(commMessage_tPayloadRecord: { decmatch val, *, *, *, * }) -> value (redir[0] := @decoded bs) {
-      if (redir[0] != val) { setverdict(fail, "Bitstring test - redirect failed: ", redir[0]); }
-    }
-    [] pt.receive(commMessage_tPayloadRecord: { bs_val, *, *, *, * }) {
-      setverdict(fail, "Bitstring test - decmatch failed.");
-    }
-    [] pt.receive(commMessage_tPayloadRecord:?) {
-      setverdict(fail, "Bitstring test - incorrect record received.");
-    }
-    [] tmr.timeout { setverdict(fail, "Bitstring test - timeout."); }
-  }
-  tmr.stop;
-  tmr.start(1.0);
-  alt {
-    [] pt.receive(commMessage_tPayloadRecord: { *, decmatch val, *, *, * }) -> value (redir[1] := @decoded hs) {
-      if (redir[1] != val) { setverdict(fail, "Hexstring test - redirect failed: ", redir[1]); }
-    }
-    [] pt.receive(commMessage_tPayloadRecord: { *, hs_val, *, *, * }) {
-      setverdict(fail, "Hexstring test - decmatch failed.");
-    }
-    [] pt.receive(commMessage_tPayloadRecord:?) {
-      setverdict(fail, "Hexstring test - incorrect record received.");
-    }
-    [] tmr.timeout { setverdict(fail, "Hexstring test - timeout."); }
-  }
-  tmr.stop;
-  tmr.start(1.0);
-  alt {
-    [] pt.receive(commMessage_tPayloadRecord: { *, *, decmatch val, *, * }) -> value (redir[2] := @decoded os) {
-      if (redir[2] != val) { setverdict(fail, "Octetstring test - redirect failed: ", redir[2]); }
-    }
-    [] pt.receive(commMessage_tPayloadRecord: { *, *, os_val, *, * }) {
-      setverdict(fail, "Octetstring test - decmatch failed.");
-    }
-    [] pt.receive(commMessage_tPayloadRecord:?) {
-      setverdict(fail, "Octetstring test - incorrect record received.");
-    }
-    [] tmr.timeout { setverdict(fail, "Octetstring test - timeout."); }
-  }
-  tmr.stop;
-  tmr.start(1.0);
-  alt {
-    [] pt.receive(commMessage_tPayloadRecord: { *, *, *, decmatch val, * }) -> value (redir[3] := @decoded cs) {
-      if (redir[3] != val) { setverdict(fail, "Charstring test - redirect failed: ", redir[3]); }
-    }
-    [] pt.receive(commMessage_tPayloadRecord: { *, *, *, cs_val, * }) {
-      setverdict(fail, "Charstring test - decmatch failed.");
-    }
-    [] pt.receive(commMessage_tPayloadRecord:?) {
-      setverdict(fail, "Charstring test - incorrect record received.");
-    }
-    [] tmr.timeout { setverdict(fail, "Charstring test - timeout."); }
-  }
-  tmr.stop;
-  tmr.start(1.0);
-  alt {
-    [] pt.receive(commMessage_tPayloadRecord: { *, *, *, *, decmatch("UTF-8") val }) -> value (redir[4] := @decoded("UTF-8") ucs) {
-      if (redir[4] != val) { setverdict(fail, "Universal charstring test - redirect failed: ", redir[4]); }
-    }
-    [] pt.receive(commMessage_tPayloadRecord: { *, *, *, *, ucs_val }) {
-      setverdict(fail, "Universal charstring test - decmatch failed.");
-    }
-    [] pt.receive(commMessage_tPayloadRecord:?) {
-      setverdict(fail, "Universal charstring test - incorrect record received.");
-    }
-    [] tmr.timeout { setverdict(fail, "Universal charstring test - timeout."); }
-  }
-  setverdict(pass);
-}
-
 // '*' is not allowed as a matching template in receive operations
 testcase commMessageReceiveAnyOrOmit() runs on commMessage_comp1 {
   connect(self:Port1, self:Port1);
@@ -1688,8 +1553,6 @@ control {
  execute(commMessageInterPTCLocalConnection2());
  execute(commMessageDualFacedPorts1());
  execute(commMessageDualFacedPorts2());
- execute(commMessageMultiValueRedirect());
- execute(commMessageDecodedValueRedirect());
  execute(commMessageReceiveAnyOrOmit());
 }
 }
diff --git a/regression_test/commMessage/TmultipleRedirects.ttcn b/regression_test/commMessage/TmultipleRedirects.ttcn
new file mode 100644
index 000000000..1a17fd673
--- /dev/null
+++ b/regression_test/commMessage/TmultipleRedirects.ttcn
@@ -0,0 +1,156 @@
+/******************************************************************************
+ * 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
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   Baranyi, Botond – initial implementation
+ *
+ ******************************************************************************/
+module TmultipleRedirects {
+
+import from TcommMessage all;
+
+// test for value redirect with multiple variable references and field assignments
+testcase commMessageMultiValueRedirect() runs on commMessage_comp3 {
+  connect(mtc:Port3, mtc:Port3);
+  var commMessage_trecord rec_val := { x1 := 3, x2 := -1.0 };
+  Port3.send(rec_val);
+  var commMessage_trecord redir_rec;
+  var integer redir_int;
+  var float redir_float;
+  timer tmr := 1.0;
+  tmr.start;
+  alt {
+    [] Port3.receive(rec_val) -> value (redir_rec, redir_int := x1, redir_float := x2) {
+      if (redir_rec != rec_val) { setverdict(fail, "Invalid record value: ", redir_rec); }
+      if (redir_int != rec_val.x1) { setverdict(fail, "Invalid integer value: ", redir_int); }
+      if (redir_float != rec_val.x2) { setverdict(fail, "Invalid float value: ", redir_float); }
+    }
+    [] Port3.receive(commMessage_trecord:?) { setverdict(fail, "Incorrect value received."); }
+    [] tmr.timeout { setverdict(fail, "Timeout."); }
+  }
+  setverdict(pass);
+}
+
+type record commMessage_tPayloadRecord {
+  bitstring bs optional,
+  hexstring hs optional,
+  octetstring os optional,
+  charstring cs optional,
+  universal charstring ucs optional
+}
+
+type record commMessage_tDecoded {
+  integer num,
+  charstring str
+}
+with {
+  encode "JSON";
+}
+
+type port commMessage_port_dec message {
+  inout commMessage_tPayloadRecord
+}
+with { extension "internal" };
+
+type component commMessage_comp_dec {
+  port commMessage_port_dec pt
+}
+
+// test for decoded value redirect
+testcase commMessageDecodedValueRedirect() runs on commMessage_comp_dec {
+  connect(mtc:pt, mtc:pt);
+  var commMessage_tDecoded val := { num := 10, str := "abc" };
+  var bitstring bs_val := encvalue(val);
+  var hexstring hs_val := bit2hex(encvalue(val));
+  var octetstring os_val := bit2oct(encvalue(val));
+  var charstring cs_val := oct2char(bit2oct(encvalue(val)));
+  var universal charstring ucs_val := encvalue_unichar(val, "UTF-8");
+  pt.send(commMessage_tPayloadRecord: { bs_val, omit,   omit,   omit,   omit    });
+  pt.send(commMessage_tPayloadRecord: { omit,   hs_val, omit,   omit,   omit    });
+  pt.send(commMessage_tPayloadRecord: { omit,   omit,   os_val, omit,   omit    });
+  pt.send(commMessage_tPayloadRecord: { omit,   omit,   omit,   cs_val, omit    });
+  pt.send(commMessage_tPayloadRecord: { omit,   omit,   omit,   omit,   ucs_val });
+  timer tmr;
+  var commMessage_tDecoded redir[5];
+  tmr.start(1.0);
+  alt {
+    [] pt.receive(commMessage_tPayloadRecord: { decmatch val, *, *, *, * }) -> value (redir[0] := @decoded bs) {
+      if (redir[0] != val) { setverdict(fail, "Bitstring test - redirect failed: ", redir[0]); }
+    }
+    [] pt.receive(commMessage_tPayloadRecord: { bs_val, *, *, *, * }) {
+      setverdict(fail, "Bitstring test - decmatch failed.");
+    }
+    [] pt.receive(commMessage_tPayloadRecord:?) {
+      setverdict(fail, "Bitstring test - incorrect record received.");
+    }
+    [] tmr.timeout { setverdict(fail, "Bitstring test - timeout."); }
+  }
+  tmr.stop;
+  tmr.start(1.0);
+  alt {
+    [] pt.receive(commMessage_tPayloadRecord: { *, decmatch val, *, *, * }) -> value (redir[1] := @decoded hs) {
+      if (redir[1] != val) { setverdict(fail, "Hexstring test - redirect failed: ", redir[1]); }
+    }
+    [] pt.receive(commMessage_tPayloadRecord: { *, hs_val, *, *, * }) {
+      setverdict(fail, "Hexstring test - decmatch failed.");
+    }
+    [] pt.receive(commMessage_tPayloadRecord:?) {
+      setverdict(fail, "Hexstring test - incorrect record received.");
+    }
+    [] tmr.timeout { setverdict(fail, "Hexstring test - timeout."); }
+  }
+  tmr.stop;
+  tmr.start(1.0);
+  alt {
+    [] pt.receive(commMessage_tPayloadRecord: { *, *, decmatch val, *, * }) -> value (redir[2] := @decoded os) {
+      if (redir[2] != val) { setverdict(fail, "Octetstring test - redirect failed: ", redir[2]); }
+    }
+    [] pt.receive(commMessage_tPayloadRecord: { *, *, os_val, *, * }) {
+      setverdict(fail, "Octetstring test - decmatch failed.");
+    }
+    [] pt.receive(commMessage_tPayloadRecord:?) {
+      setverdict(fail, "Octetstring test - incorrect record received.");
+    }
+    [] tmr.timeout { setverdict(fail, "Octetstring test - timeout."); }
+  }
+  tmr.stop;
+  tmr.start(1.0);
+  alt {
+    [] pt.receive(commMessage_tPayloadRecord: { *, *, *, decmatch val, * }) -> value (redir[3] := @decoded cs) {
+      if (redir[3] != val) { setverdict(fail, "Charstring test - redirect failed: ", redir[3]); }
+    }
+    [] pt.receive(commMessage_tPayloadRecord: { *, *, *, cs_val, * }) {
+      setverdict(fail, "Charstring test - decmatch failed.");
+    }
+    [] pt.receive(commMessage_tPayloadRecord:?) {
+      setverdict(fail, "Charstring test - incorrect record received.");
+    }
+    [] tmr.timeout { setverdict(fail, "Charstring test - timeout."); }
+  }
+  tmr.stop;
+  tmr.start(1.0);
+  alt {
+    [] pt.receive(commMessage_tPayloadRecord: { *, *, *, *, decmatch("UTF-8") val }) -> value (redir[4] := @decoded("UTF-8") ucs) {
+      if (redir[4] != val) { setverdict(fail, "Universal charstring test - redirect failed: ", redir[4]); }
+    }
+    [] pt.receive(commMessage_tPayloadRecord: { *, *, *, *, ucs_val }) {
+      setverdict(fail, "Universal charstring test - decmatch failed.");
+    }
+    [] pt.receive(commMessage_tPayloadRecord:?) {
+      setverdict(fail, "Universal charstring test - incorrect record received.");
+    }
+    [] tmr.timeout { setverdict(fail, "Universal charstring test - timeout."); }
+  }
+  setverdict(pass);
+}
+
+control {
+  execute(commMessageMultiValueRedirect());
+  execute(commMessageDecodedValueRedirect());
+}
+
+}
diff --git a/regression_test/commMessage/config-rt2.cfg b/regression_test/commMessage/config-rt2.cfg
new file mode 100644
index 000000000..64b54d60f
--- /dev/null
+++ b/regression_test/commMessage/config-rt2.cfg
@@ -0,0 +1,23 @@
+###############################################################################
+# 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
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#   Balasko, Jeno
+#   Baranyi, Botond
+#   Dimitrov, Peter
+#
+###############################################################################
+[LOGGING]
+LogFile := "TcommMessage_single.log"
+FileMask := LOG_ALL
+ConsoleMask := TTCN_ERROR | TTCN_TESTCASE | TTCN_STATISTICS
+
+[EXECUTE]
+TcommMessage.commMessageInterPTCLocalConnection1
+TcommMessage.commMessageInterPTCLocalConnection2
+TmultipleRedirects.control
+
diff --git a/regression_test/commMessage/config_parallel-rt2.cfg b/regression_test/commMessage/config_parallel-rt2.cfg
new file mode 100644
index 000000000..d9202831f
--- /dev/null
+++ b/regression_test/commMessage/config_parallel-rt2.cfg
@@ -0,0 +1,22 @@
+###############################################################################
+# 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
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#   Balasko, Jeno
+#   Baranyi, Botond
+#
+###############################################################################
+[LOGGING]
+LogFile := "TcommMessage_parallel_%r.log"
+FileMask := LOG_ALL
+ConsoleMask := TTCN_ERROR | TTCN_TESTCASE | TTCN_STATISTICS
+
+[EXECUTE]
+TcommMessage.control
+HS41022.control
+TmultipleRedirects.control
+
diff --git a/regression_test/commProcedure/AdvancedRedirects.ttcn b/regression_test/commProcedure/AdvancedRedirects.ttcn
new file mode 100644
index 000000000..ef82c150f
--- /dev/null
+++ b/regression_test/commProcedure/AdvancedRedirects.ttcn
@@ -0,0 +1,417 @@
+/******************************************************************************
+* 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
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*
+* Contributors:
+*   Baranyi, Botond – initial implementation
+*
+******************************************************************************/
+module AdvancedRedirects {
+
+import from ProcPort all;
+
+// test for return value and exception redirects with multiple variable references and field assignments
+testcase tc_MultiValueRedirect() runs on ProcComponent4 {
+  connect(mtc:Port4, mtc:Port4);
+  var MyRecord2 rec_val := { num := 12, str := "xyz" };
+  Port4.reply(MyProc7: { "" } value rec_val);
+  Port4.raise(MyProc7, rec_val);
+  timer tmr;
+  var MyRecord2 redir_rec[2];
+  var integer redir_int[2];
+  var universal charstring redir_str[2];
+  tmr.start(1.0);
+  alt {
+    [] Port4.getreply(MyProc7: { ? } value rec_val) -> value (redir_rec[0], redir_int[0] := num, redir_str[0] := str) {
+      if (redir_rec[0] != rec_val) { setverdict(fail, "Invalid record return value: ", redir_rec[0]); }
+      if (redir_int[0] != rec_val.num) { setverdict(fail, "Invalid integer return value: ", redir_int[0]); }
+      if (redir_str[0] != rec_val.str) { setverdict(fail, "Invalid charstring return value: ", redir_str[0]); }
+    }
+    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) { setverdict(fail, "Return value test - invalid return value."); }
+    [] Port4.catch(MyProc7, MyRecord2: ?) { setverdict(fail, "Return value test - exception caught."); }
+    [] tmr.timeout { setverdict(fail, "Return value test - timeout"); }
+  }
+  tmr.stop;
+  tmr.start(1.0);
+  alt {
+    [] Port4.catch(MyProc7, rec_val) -> value (redir_rec[1], redir_int[1] := num, redir_str[1] := str) {
+      if (redir_rec[1] != rec_val) { setverdict(fail, "Invalid record exception: ", redir_rec[1]); }
+      if (redir_int[1] != rec_val.num) { setverdict(fail, "Invalid integer exception: ", redir_int[1]); }
+      if (redir_str[1] != rec_val.str) { setverdict(fail, "Invalid charstring exception: ", redir_str[1]); }
+    }
+    [] Port4.catch(MyProc7, MyRecord2: ?) { setverdict(fail, "Exception test - invalid exception."); }
+    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) { setverdict(fail, "Exception test - reply received."); }
+    [] tmr.timeout { setverdict(fail, "Exception test - timeout"); }
+  }
+  setverdict(pass);
+}
+
+// tests for decoded parameter and value redirects
+// (in these tests the received parameters and values are not matched with a 'decmatch' template)
+function DecodedRedirect_behav(in MyRecord2 val, in universal charstring reply_val) runs on ProcComponent4 {
+  timer tmr := 1.0;
+  var universal charstring val_enc := encvalue_unichar(val);
+  var MyRecord2 redir;
+  
+  // testing parameter redirect in getcall:
+  tmr.start;
+  alt {
+    [] Port4.getcall(MyProc7: { val_enc }) -> param (redir := @decoded x) {
+      if (redir != val) { setverdict(fail, "Getcall parameter redirect failed: ", redir); }
+      else {
+        var MyRecord2 reply_rec := { num := -1, str := reply_val };
+        Port4.reply(MyProc7: { reply_val } value reply_rec);
+        Port4.raise(MyProc7, reply_rec);
+      }
+    }
+    [] Port4.getcall(MyProc7: { ? }) { setverdict(fail, "Invalid getcall parameter."); }
+    [] tmr.timeout { setverdict(fail, "Getcall timed out."); }
+  }
+}
+
+testcase tc_DecodedRedirect() runs on ProcComponent4 {
+  var ProcComponent4 ct := ProcComponent4.create;
+  connect(ct:Port4, mtc:Port4);
+  var MyRecord2 val := { num := 4, str := "stuff" };
+  // use this string instead of an actual encoded value for reply/getreply and raise/catch,
+  // because finding a value that can be encoded with UTF-16 or UTF-32 is difficult
+  // (after this string is decoded into an octetstring, only the octetstring's length is matched)
+  var universal charstring reply_val := "payload";
+  ct.start(DecodedRedirect_behav(val, reply_val));
+  var universal charstring val_enc := encvalue_unichar(val);
+  var MyOctetstring redir[3];
+  // these encoding strings are not known at compile-time (the code generated for them is different)
+  var charstring str_enc8 := "UTF-8", str_enc16 := "UTF-16", str_enc32 := "UTF-32LE";
+  
+  // testing parameter and (return) value redirect in getreply:
+  Port4.call(MyProc7: { val_enc }, 1.0) {
+    [] Port4.getreply(MyProc7: { reply_val }
+                      value MyRecord2: { num := ?, str := reply_val })
+                      -> value (redir[0] := @decoded("UTF-8") str)
+                      param (redir[1] := @decoded(str_enc16) x) {
+      if (redir[0] != unichar2oct(reply_val, "UTF-8")) {
+        setverdict(fail, "Getreply parameter redirect failed: ", redir[0]);
+      }
+      if (redir[1] != unichar2oct(reply_val, str_enc16)) {
+        setverdict(fail, "Getreply value redirect failed: ", redir[1]);
+      }
+    }
+    [] Port4.getreply(MyProc7: { decmatch(str_enc16) MyOctetstring: ? length (16) } value MyRecord2: ?) {
+      setverdict(fail, "Invalid getreply return value.");
+    }
+    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) {
+      setverdict(fail, "Invalid getreply parameter.");
+    }
+    [] Port4.catch(MyProc7, MyRecord2: ?) {
+      setverdict(fail, "Exception (MyRecord2) caught in getreply test.");
+    }
+    [] Port4.catch(MyProc7, MyRecord3: ?) {
+      setverdict(fail, "Exception (MyRecord3) caught in getreply test.");
+    }
+    [] Port4.catch(timeout) { setverdict(fail, "Getreply test timed out."); }
+  }
+  
+  // testing (exception) value redirect in catch:
+  timer tmr := 1.0;
+  tmr.start;
+  alt {
+    [] Port4.catch(MyProc7, MyRecord2: { num := ?, str := reply_val })
+                   -> value (redir[2] := @decoded(str_enc32) str) {
+      if (redir[2] != unichar2oct(reply_val, str_enc32)) {
+        setverdict(fail, "Exception value redirect failed: ", redir[2]);
+      }
+    }
+    [] Port4.catch(MyProc7, MyRecord2: ?) {
+      setverdict(fail, "Invalid exception value caught.");
+    }
+    [] Port4.catch(MyProc7, MyRecord3: ?) {
+      setverdict(fail, "Invalid type of exception caught.");
+    }
+    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) {
+      setverdict(fail, "Reply received in exception test.");
+    }
+    [] tmr.timeout { setverdict(fail, "Exception test timed out."); }
+  }
+  setverdict(pass);
+}
+
+// additional tests for decoded parameter and value redirects
+// (in these tests the value and parameter redirects with the '@decoded' modifier
+// are optimized to reuse the decoding result in the 'decmatch' template instead of
+// decoding the same string twice)
+function DecodedRedirect2_behav(in MyRecord2 val, in universal charstring reply_val) runs on ProcComponent4 {
+  timer tmr := 1.0;
+  var MyRecord2 redir;
+  
+  // testing parameter redirect in getcall:
+  tmr.start;
+  alt {
+    [] Port4.getcall(MyProc7: { decmatch("UTF-8") MyRecord2: val }) -> param (redir := @decoded x) {
+      if (redir != val) { setverdict(fail, "Getcall parameter redirect failed: ", redir); }
+      else {
+        var MyRecord2 reply_rec := { num := -1, str := reply_val };
+        Port4.reply(MyProc7: { reply_val } value reply_rec);
+        Port4.raise(MyProc7, reply_rec);
+      }
+    }
+    [] Port4.getcall(MyProc7: { ? }) { setverdict(fail, "Invalid getcall parameter."); }
+    [] tmr.timeout { setverdict(fail, "Getcall timed out."); }
+  }
+}
+
+testcase tc_DecodedRedirect2() runs on ProcComponent4 {
+  var ProcComponent4 ct := ProcComponent4.create;
+  connect(ct:Port4, mtc:Port4);
+  var MyRecord2 val := { num := 4, str := "stuff" };
+  // use this string instead of an actual encoded value for reply/getreply and raise/catch,
+  // because finding a value that can be encoded with UTF-16 or UTF-32 is difficult
+  // (after this string is decoded into an octetstring, only the octetstring's length is matched)
+  var universal charstring reply_val := "payload";
+  ct.start(DecodedRedirect2_behav(val, reply_val));
+  var universal charstring val_enc := encvalue_unichar(val);
+  var MyOctetstring redir[3];
+  // these encoding strings are not known at compile-time (the code generated for them is different)
+  var charstring str_enc8 := "UTF-8", str_enc16 := "UTF-16", str_enc32 := "UTF-32LE";
+  
+  // testing parameter and (return) value redirect in getreply:
+  Port4.call(MyProc7: { val_enc }, 1.0) {
+    [] Port4.getreply(MyProc7: { decmatch(str_enc16) MyOctetstring: ? length (16) }
+                      value MyRecord2: { num := ?, str := decmatch(str_enc8) MyOctetstring: ? length (7) })
+                      -> value (redir[0] := @decoded("UTF-8") str)
+                      param (redir[1] := @decoded(str_enc16) x) {
+      if (redir[0] != unichar2oct(reply_val, "UTF-8")) {
+        setverdict(fail, "Getreply parameter redirect failed: ", redir[0]);
+      }
+      if (redir[1] != unichar2oct(reply_val, str_enc16)) {
+        setverdict(fail, "Getreply value redirect failed: ", redir[1]);
+      }
+    }
+    [] Port4.getreply(MyProc7: { decmatch(str_enc16) MyOctetstring: ? length (16) } value MyRecord2: ?) {
+      setverdict(fail, "Invalid getreply return value.");
+    }
+    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) {
+      setverdict(fail, "Invalid getreply parameter.");
+    }
+    [] Port4.catch(MyProc7, MyRecord2: ?) {
+      setverdict(fail, "Exception (MyRecord2) caught in getreply test.");
+    }
+    [] Port4.catch(MyProc7, MyRecord3: ?) {
+      setverdict(fail, "Exception (MyRecord3) caught in getreply test.");
+    }
+    [] Port4.catch(timeout) { setverdict(fail, "Getreply test timed out."); }
+  }
+  
+  // testing (exception) value redirect in catch:
+  timer tmr := 1.0;
+  tmr.start;
+  alt {
+    [] Port4.catch(MyProc7, MyRecord2: { num := ?, str := decmatch("UTF-32LE") MyOctetstring: ? length(32) })
+                   -> value (redir[2] := @decoded(str_enc32) str) {
+      if (redir[2] != unichar2oct(reply_val, str_enc32)) {
+        setverdict(fail, "Exception value redirect failed: ", redir[2]);
+      }
+    }
+    [] Port4.catch(MyProc7, MyRecord2: ?) {
+      setverdict(fail, "Invalid exception value caught.");
+    }
+    [] Port4.catch(MyProc7, MyRecord3: ?) {
+      setverdict(fail, "Invalid type of exception caught.");
+    }
+    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) {
+      setverdict(fail, "Reply received in exception test.");
+    }
+    [] tmr.timeout { setverdict(fail, "Exception test timed out."); }
+  }
+  setverdict(pass);
+}
+
+// further tests for decoded parameter and value redirects
+// (in these tests the 'decmatch' templates cannot be identified at compile-time,
+// so the decision of whether to decode the redirected value again or use the
+// decoding result in the matched template is made at runtime)
+function DecodedRedirect3_behav(in MyRecord2 val) runs on ProcComponent4 {
+  timer tmr := 1.0;
+  var MyRecord2 redir;
+  var template MyProc7 vt_proc7 := { x := decmatch MyRecord2: val };
+  
+  // testing parameter redirect in getcall:
+  tmr.start;
+  alt {
+    [] Port4.getcall(vt_proc7) -> param (redir := @decoded x) {
+      if (redir != val) { setverdict(fail, "Getcall parameter redirect failed: ", redir); }
+      else {
+        var universal charstring val_enc := encvalue_unichar(val);
+        var MyRecord2 reply_val := { num := val.num, str := val_enc };
+        var MyRecord3 raise_val := { elems := { reply_val } };
+        Port4.reply(MyProc7: { val_enc } value reply_val);
+        Port4.raise(MyProc7, raise_val);
+      }
+    }
+    [] Port4.getcall(MyProc7: { ? }) { setverdict(fail, "Invalid getcall parameter."); }
+    [] tmr.timeout { setverdict(fail, "Getcall timed out."); }
+  }
+}
+
+testcase tc_DecodedRedirect3() runs on ProcComponent4 {
+  var ProcComponent4 ct := ProcComponent4.create;
+  connect(ct:Port4, mtc:Port4);
+  var MyRecord2 val := { num := 4, str := "stuff" };
+  ct.start(DecodedRedirect3_behav(val));
+  var universal charstring val_enc := encvalue_unichar(val);
+  var MyRecord2 redir[3];
+  var template MyRecord2 vt_rec2 := { num := ?, str := decmatch MyRecord2: val };
+  var charstring str_enc8 := "UTF-8";
+  
+  // testing parameter and (return) value redirect in getreply:
+  Port4.call(MyProc7: { val_enc }, 1.0) {
+    [] Port4.getreply(MyProc7TemplatePard(decmatch MyRecord2: val)
+                      value modifies vt_rec2 := { num := val.num })
+                      -> value (redir[0] := @decoded str)
+                      param (redir[1] := @decoded(str_enc8) x) {
+      if (redir[0] != val) {
+        setverdict(fail, "Getreply parameter redirect failed: ", redir[0]);
+      }
+      if (redir[1] != val) {
+        setverdict(fail, "Getreply value redirect failed: ", redir[1]);
+      }
+    }
+    [] Port4.getreply(MyProc7TemplatePard(decmatch MyRecord2: val) value MyRecord2: ?) {
+      setverdict(fail, "Invalid getreply return value.");
+    }
+    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) {
+      setverdict(fail, "Invalid getreply parameter.");
+    }
+    [] Port4.catch(MyProc7, MyRecord2: ?) {
+      setverdict(fail, "Exception (MyRecord2) caught in getreply test.");
+    }
+    [] Port4.catch(MyProc7, MyRecord3: ?) {
+      setverdict(fail, "Exception (MyRecord3) caught in getreply test.");
+    }
+    [] Port4.catch(timeout) { setverdict(fail, "Getreply test timed out."); }
+  }
+  
+  // testing (exception) value redirect in catch:
+  timer tmr := 1.0;
+  tmr.start;
+  alt {
+    [] Port4.catch(MyProc7, MyRecord3: { elems := { vt_rec2 } })
+                   -> value (redir[2] := @decoded(str_enc8) elems[0].str) {
+      if (redir[2] != val) {
+        setverdict(fail, "Exception value redirect failed: ", redir[2]);
+      }
+    }
+    [] Port4.catch(MyProc7, MyRecord3: ?) {
+      setverdict(fail, "Invalid exception value caught.");
+    }
+    [] Port4.catch(MyProc7, MyRecord2: ?) {
+      setverdict(fail, "Invalid type of exception caught.");
+    }
+    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) {
+      setverdict(fail, "Reply received in exception test.");
+    }
+    [] tmr.timeout { setverdict(fail, "Exception test timed out."); }
+  }
+  setverdict(pass);
+}
+
+// even more tests for decoded parameter and value redirects
+// (in these tests the sent/received strings are decoded into 2 different types:
+// the matching 'decmatch' templates decode the strings into MyRecord2, while the
+// value and parameter redirects decode the string into MyRecord4)
+function DecodedRedirect4_behav(in MyRecord2 val2, in MyRecord4 val4) runs on ProcComponent4 {
+  timer tmr := 1.0;
+  var MyRecord4 redir;
+  
+  // testing parameter redirect in getcall:
+  tmr.start;
+  alt {
+    [] Port4.getcall(MyProc7: { decmatch MyRecord2: val2 }) -> param (redir := @decoded x) {
+      if (redir != val4) { 
+        setverdict(fail, "Getcall parameter redirect failed: ", redir);
+      }
+      else {
+        var universal charstring val_enc := encvalue_unichar(val2);
+        var MyRecord2 reply_val := { num := val2.num, str := val_enc };
+        var MyRecord3 raise_val := { elems := { reply_val } };
+        Port4.reply(MyProc7: { val_enc } value reply_val);
+        Port4.raise(MyProc7, raise_val);
+      }
+    }
+    [] Port4.getcall(MyProc7: { ? }) { setverdict(fail, "Invalid getcall parameter."); }
+    [] tmr.timeout { setverdict(fail, "Getcall timed out."); }
+  }
+}
+
+testcase tc_DecodedRedirect4() runs on ProcComponent4 {
+  var ProcComponent4 ct := ProcComponent4.create;
+  connect(ct:Port4, mtc:Port4);
+  var MyRecord2 val2 := { num := 4, str := "ADDC" };
+  var MyRecord4 val4 := { attr := "4", val := 'ADDC'O };
+  ct.start(DecodedRedirect4_behav(val2, val4));
+  var universal charstring val_enc := encvalue_unichar(val2);
+  var MyRecord4 redir[3];
+  
+  // testing parameter and (return) value redirect in getreply:
+  Port4.call(MyProc7: { val_enc }, 1.0) {
+    [] Port4.getreply(MyProc7TemplatePard(decmatch MyRecord2: val2)
+                      value MyRecord2: { num := ?, str := decmatch MyRecord2: val2 })
+                      -> value (redir[0] := @decoded str)
+                      param (redir[1] := @decoded x) {
+      if (redir[0] != val4) {
+        setverdict(fail, "Getreply parameter redirect failed: ", redir[0]);
+      }
+      if (redir[1] != val4) {
+        setverdict(fail, "Getreply value redirect failed: ", redir[1]);
+      }
+    }
+    [] Port4.getreply(MyProc7TemplatePard(decmatch MyRecord2: val2) value MyRecord2: ?) {
+      setverdict(fail, "Invalid getreply return value.");
+    }
+    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) {
+      setverdict(fail, "Invalid getreply parameter.");
+    }
+    [] Port4.catch(MyProc7, MyRecord2: ?) {
+      setverdict(fail, "Exception (MyRecord2) caught in getreply test.");
+    }
+    [] Port4.catch(MyProc7, MyRecord3: ?) {
+      setverdict(fail, "Exception (MyRecord3) caught in getreply test.");
+    }
+    [] Port4.catch(timeout) { setverdict(fail, "Getreply test timed out."); }
+  }
+  
+  // testing (exception) value redirect in catch:
+  var template MyRecord3 vt_rec3 := { elems := { { num := ?, str := decmatch MyRecord2: val2 } } };
+  timer tmr := 1.0;
+  tmr.start;
+  alt {
+    [] Port4.catch(MyProc7, vt_rec3) -> value (redir[2] := @decoded elems[0].str) {
+      if (redir[2] != val4) {
+        setverdict(fail, "Exception value redirect failed: ", redir[2]);
+      }
+    }
+    [] Port4.catch(MyProc7, MyRecord3: ?) {
+      setverdict(fail, "Invalid exception value caught.");
+    }
+    [] Port4.catch(MyProc7, MyRecord2: ?) {
+      setverdict(fail, "Invalid type of exception caught.");
+    }
+    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) {
+      setverdict(fail, "Reply received in exception test.");
+    }
+    [] tmr.timeout { setverdict(fail, "Exception test timed out."); }
+  }
+  setverdict(pass);
+}
+
+control {
+  execute(tc_MultiValueRedirect());
+  execute(tc_DecodedRedirect());
+  execute(tc_DecodedRedirect2());
+  execute(tc_DecodedRedirect3());
+  execute(tc_DecodedRedirect4());
+}
+
+}
diff --git a/regression_test/commProcedure/Makefile b/regression_test/commProcedure/Makefile
index 4e61d4422..66a907e6f 100644
--- a/regression_test/commProcedure/Makefile
+++ b/regression_test/commProcedure/Makefile
@@ -7,6 +7,7 @@
 #
 # Contributors:
 #   Balasko, Jeno
+#   Baranyi, Botond
 #   Delic, Adam
 #   Kovacs, Ferenc
 #   Raduly, Csaba
@@ -26,6 +27,10 @@ TTCN3_LIB := ttcn3$(RT2_SUFFIX)-parallel$(DYNAMIC_SUFFIX)
 
 TTCN3_MODULES := ProcPort.ttcn
 
+ifdef RT2
+TTCN3_MODULES += AdvancedRedirects.ttcn
+endif
+
 GENERATED_SOURCES := $(TTCN3_MODULES:.ttcn=.cc)
 GENERATED_HEADERS := $(GENERATED_SOURCES:.cc=.hh)
 ifdef CODE_SPLIT
@@ -75,7 +80,7 @@ dep: $(GENERATED_SOURCES)
 	makedepend $(CPPFLAGS) $(USER_SOURCES) $(GENERATED_SOURCES)
 
 run: $(TARGET)
-	$(TTCN3_DIR)/bin/ttcn3_start $(TARGET)
+	$(TTCN3_DIR)/bin/ttcn3_start $(TARGET) config$(RT2_SUFFIX).cfg
 
 
 ExtProcPort.o: ExtProcPort.hh ProcPort.hh
diff --git a/regression_test/commProcedure/ProcPort.ttcn b/regression_test/commProcedure/ProcPort.ttcn
index c01431f85..fe80f22bc 100644
--- a/regression_test/commProcedure/ProcPort.ttcn
+++ b/regression_test/commProcedure/ProcPort.ttcn
@@ -706,399 +706,6 @@ testcase tc_GetReplyParameters() runs on ProcComponent3 {
   c.done;
 }
 
-// test for return value and exception redirects with multiple variable references and field assignments
-testcase tc_MultiValueRedirect() runs on ProcComponent4 {
-  connect(mtc:Port4, mtc:Port4);
-  var MyRecord2 rec_val := { num := 12, str := "xyz" };
-  Port4.reply(MyProc7: { "" } value rec_val);
-  Port4.raise(MyProc7, rec_val);
-  timer tmr;
-  var MyRecord2 redir_rec[2];
-  var integer redir_int[2];
-  var universal charstring redir_str[2];
-  tmr.start(1.0);
-  alt {
-    [] Port4.getreply(MyProc7: { ? } value rec_val) -> value (redir_rec[0], redir_int[0] := num, redir_str[0] := str) {
-      if (redir_rec[0] != rec_val) { setverdict(fail, "Invalid record return value: ", redir_rec[0]); }
-      if (redir_int[0] != rec_val.num) { setverdict(fail, "Invalid integer return value: ", redir_int[0]); }
-      if (redir_str[0] != rec_val.str) { setverdict(fail, "Invalid charstring return value: ", redir_str[0]); }
-    }
-    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) { setverdict(fail, "Return value test - invalid return value."); }
-    [] Port4.catch(MyProc7, MyRecord2: ?) { setverdict(fail, "Return value test - exception caught."); }
-    [] tmr.timeout { setverdict(fail, "Return value test - timeout"); }
-  }
-  tmr.stop;
-  tmr.start(1.0);
-  alt {
-    [] Port4.catch(MyProc7, rec_val) -> value (redir_rec[1], redir_int[1] := num, redir_str[1] := str) {
-      if (redir_rec[1] != rec_val) { setverdict(fail, "Invalid record exception: ", redir_rec[1]); }
-      if (redir_int[1] != rec_val.num) { setverdict(fail, "Invalid integer exception: ", redir_int[1]); }
-      if (redir_str[1] != rec_val.str) { setverdict(fail, "Invalid charstring exception: ", redir_str[1]); }
-    }
-    [] Port4.catch(MyProc7, MyRecord2: ?) { setverdict(fail, "Exception test - invalid exception."); }
-    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) { setverdict(fail, "Exception test - reply received."); }
-    [] tmr.timeout { setverdict(fail, "Exception test - timeout"); }
-  }
-  setverdict(pass);
-}
-
-// tests for decoded parameter and value redirects
-// (in these tests the received parameters and values are not matched with a 'decmatch' template)
-function DecodedRedirect_behav(in MyRecord2 val, in universal charstring reply_val) runs on ProcComponent4 {
-  timer tmr := 1.0;
-  var universal charstring val_enc := encvalue_unichar(val);
-  var MyRecord2 redir;
-  
-  // testing parameter redirect in getcall:
-  tmr.start;
-  alt {
-    [] Port4.getcall(MyProc7: { val_enc }) -> param (redir := @decoded x) {
-      if (redir != val) { setverdict(fail, "Getcall parameter redirect failed: ", redir); }
-      else {
-        var MyRecord2 reply_rec := { num := -1, str := reply_val };
-        Port4.reply(MyProc7: { reply_val } value reply_rec);
-        Port4.raise(MyProc7, reply_rec);
-      }
-    }
-    [] Port4.getcall(MyProc7: { ? }) { setverdict(fail, "Invalid getcall parameter."); }
-    [] tmr.timeout { setverdict(fail, "Getcall timed out."); }
-  }
-}
-
-testcase tc_DecodedRedirect() runs on ProcComponent4 {
-  var ProcComponent4 ct := ProcComponent4.create;
-  connect(ct:Port4, mtc:Port4);
-  var MyRecord2 val := { num := 4, str := "stuff" };
-  // use this string instead of an actual encoded value for reply/getreply and raise/catch,
-  // because finding a value that can be encoded with UTF-16 or UTF-32 is difficult
-  // (after this string is decoded into an octetstring, only the octetstring's length is matched)
-  var universal charstring reply_val := "payload";
-  ct.start(DecodedRedirect_behav(val, reply_val));
-  var universal charstring val_enc := encvalue_unichar(val);
-  var MyOctetstring redir[3];
-  // these encoding strings are not known at compile-time (the code generated for them is different)
-  var charstring str_enc8 := "UTF-8", str_enc16 := "UTF-16", str_enc32 := "UTF-32LE";
-  
-  // testing parameter and (return) value redirect in getreply:
-  Port4.call(MyProc7: { val_enc }, 1.0) {
-    [] Port4.getreply(MyProc7: { reply_val }
-                      value MyRecord2: { num := ?, str := reply_val })
-                      -> value (redir[0] := @decoded("UTF-8") str)
-                      param (redir[1] := @decoded(str_enc16) x) {
-      if (redir[0] != unichar2oct(reply_val, "UTF-8")) {
-        setverdict(fail, "Getreply parameter redirect failed: ", redir[0]);
-      }
-      if (redir[1] != unichar2oct(reply_val, str_enc16)) {
-        setverdict(fail, "Getreply value redirect failed: ", redir[1]);
-      }
-    }
-    [] Port4.getreply(MyProc7: { decmatch(str_enc16) MyOctetstring: ? length (16) } value MyRecord2: ?) {
-      setverdict(fail, "Invalid getreply return value.");
-    }
-    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) {
-      setverdict(fail, "Invalid getreply parameter.");
-    }
-    [] Port4.catch(MyProc7, MyRecord2: ?) {
-      setverdict(fail, "Exception (MyRecord2) caught in getreply test.");
-    }
-    [] Port4.catch(MyProc7, MyRecord3: ?) {
-      setverdict(fail, "Exception (MyRecord3) caught in getreply test.");
-    }
-    [] Port4.catch(timeout) { setverdict(fail, "Getreply test timed out."); }
-  }
-  
-  // testing (exception) value redirect in catch:
-  timer tmr := 1.0;
-  tmr.start;
-  alt {
-    [] Port4.catch(MyProc7, MyRecord2: { num := ?, str := reply_val })
-                   -> value (redir[2] := @decoded(str_enc32) str) {
-      if (redir[2] != unichar2oct(reply_val, str_enc32)) {
-        setverdict(fail, "Exception value redirect failed: ", redir[2]);
-      }
-    }
-    [] Port4.catch(MyProc7, MyRecord2: ?) {
-      setverdict(fail, "Invalid exception value caught.");
-    }
-    [] Port4.catch(MyProc7, MyRecord3: ?) {
-      setverdict(fail, "Invalid type of exception caught.");
-    }
-    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) {
-      setverdict(fail, "Reply received in exception test.");
-    }
-    [] tmr.timeout { setverdict(fail, "Exception test timed out."); }
-  }
-  setverdict(pass);
-}
-
-// additional tests for decoded parameter and value redirects
-// (in these tests the value and parameter redirects with the '@decoded' modifier
-// are optimized to reuse the decoding result in the 'decmatch' template instead of
-// decoding the same string twice)
-function DecodedRedirect2_behav(in MyRecord2 val, in universal charstring reply_val) runs on ProcComponent4 {
-  timer tmr := 1.0;
-  var MyRecord2 redir;
-  
-  // testing parameter redirect in getcall:
-  tmr.start;
-  alt {
-    [] Port4.getcall(MyProc7: { decmatch("UTF-8") MyRecord2: val }) -> param (redir := @decoded x) {
-      if (redir != val) { setverdict(fail, "Getcall parameter redirect failed: ", redir); }
-      else {
-        var MyRecord2 reply_rec := { num := -1, str := reply_val };
-        Port4.reply(MyProc7: { reply_val } value reply_rec);
-        Port4.raise(MyProc7, reply_rec);
-      }
-    }
-    [] Port4.getcall(MyProc7: { ? }) { setverdict(fail, "Invalid getcall parameter."); }
-    [] tmr.timeout { setverdict(fail, "Getcall timed out."); }
-  }
-}
-
-testcase tc_DecodedRedirect2() runs on ProcComponent4 {
-  var ProcComponent4 ct := ProcComponent4.create;
-  connect(ct:Port4, mtc:Port4);
-  var MyRecord2 val := { num := 4, str := "stuff" };
-  // use this string instead of an actual encoded value for reply/getreply and raise/catch,
-  // because finding a value that can be encoded with UTF-16 or UTF-32 is difficult
-  // (after this string is decoded into an octetstring, only the octetstring's length is matched)
-  var universal charstring reply_val := "payload";
-  ct.start(DecodedRedirect2_behav(val, reply_val));
-  var universal charstring val_enc := encvalue_unichar(val);
-  var MyOctetstring redir[3];
-  // these encoding strings are not known at compile-time (the code generated for them is different)
-  var charstring str_enc8 := "UTF-8", str_enc16 := "UTF-16", str_enc32 := "UTF-32LE";
-  
-  // testing parameter and (return) value redirect in getreply:
-  Port4.call(MyProc7: { val_enc }, 1.0) {
-    [] Port4.getreply(MyProc7: { decmatch(str_enc16) MyOctetstring: ? length (16) }
-                      value MyRecord2: { num := ?, str := decmatch(str_enc8) MyOctetstring: ? length (7) })
-                      -> value (redir[0] := @decoded("UTF-8") str)
-                      param (redir[1] := @decoded(str_enc16) x) {
-      if (redir[0] != unichar2oct(reply_val, "UTF-8")) {
-        setverdict(fail, "Getreply parameter redirect failed: ", redir[0]);
-      }
-      if (redir[1] != unichar2oct(reply_val, str_enc16)) {
-        setverdict(fail, "Getreply value redirect failed: ", redir[1]);
-      }
-    }
-    [] Port4.getreply(MyProc7: { decmatch(str_enc16) MyOctetstring: ? length (16) } value MyRecord2: ?) {
-      setverdict(fail, "Invalid getreply return value.");
-    }
-    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) {
-      setverdict(fail, "Invalid getreply parameter.");
-    }
-    [] Port4.catch(MyProc7, MyRecord2: ?) {
-      setverdict(fail, "Exception (MyRecord2) caught in getreply test.");
-    }
-    [] Port4.catch(MyProc7, MyRecord3: ?) {
-      setverdict(fail, "Exception (MyRecord3) caught in getreply test.");
-    }
-    [] Port4.catch(timeout) { setverdict(fail, "Getreply test timed out."); }
-  }
-  
-  // testing (exception) value redirect in catch:
-  timer tmr := 1.0;
-  tmr.start;
-  alt {
-    [] Port4.catch(MyProc7, MyRecord2: { num := ?, str := decmatch("UTF-32LE") MyOctetstring: ? length(32) })
-                   -> value (redir[2] := @decoded(str_enc32) str) {
-      if (redir[2] != unichar2oct(reply_val, str_enc32)) {
-        setverdict(fail, "Exception value redirect failed: ", redir[2]);
-      }
-    }
-    [] Port4.catch(MyProc7, MyRecord2: ?) {
-      setverdict(fail, "Invalid exception value caught.");
-    }
-    [] Port4.catch(MyProc7, MyRecord3: ?) {
-      setverdict(fail, "Invalid type of exception caught.");
-    }
-    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) {
-      setverdict(fail, "Reply received in exception test.");
-    }
-    [] tmr.timeout { setverdict(fail, "Exception test timed out."); }
-  }
-  setverdict(pass);
-}
-
-// further tests for decoded parameter and value redirects
-// (in these tests the 'decmatch' templates cannot be identified at compile-time,
-// so the decision of whether to decode the redirected value again or use the
-// decoding result in the matched template is made at runtime)
-function DecodedRedirect3_behav(in MyRecord2 val) runs on ProcComponent4 {
-  timer tmr := 1.0;
-  var MyRecord2 redir;
-  var template MyProc7 vt_proc7 := { x := decmatch MyRecord2: val };
-  
-  // testing parameter redirect in getcall:
-  tmr.start;
-  alt {
-    [] Port4.getcall(vt_proc7) -> param (redir := @decoded x) {
-      if (redir != val) { setverdict(fail, "Getcall parameter redirect failed: ", redir); }
-      else {
-        var universal charstring val_enc := encvalue_unichar(val);
-        var MyRecord2 reply_val := { num := val.num, str := val_enc };
-        var MyRecord3 raise_val := { elems := { reply_val } };
-        Port4.reply(MyProc7: { val_enc } value reply_val);
-        Port4.raise(MyProc7, raise_val);
-      }
-    }
-    [] Port4.getcall(MyProc7: { ? }) { setverdict(fail, "Invalid getcall parameter."); }
-    [] tmr.timeout { setverdict(fail, "Getcall timed out."); }
-  }
-}
-
-testcase tc_DecodedRedirect3() runs on ProcComponent4 {
-  var ProcComponent4 ct := ProcComponent4.create;
-  connect(ct:Port4, mtc:Port4);
-  var MyRecord2 val := { num := 4, str := "stuff" };
-  ct.start(DecodedRedirect3_behav(val));
-  var universal charstring val_enc := encvalue_unichar(val);
-  var MyRecord2 redir[3];
-  var template MyRecord2 vt_rec2 := { num := ?, str := decmatch MyRecord2: val };
-  var charstring str_enc8 := "UTF-8";
-  
-  // testing parameter and (return) value redirect in getreply:
-  Port4.call(MyProc7: { val_enc }, 1.0) {
-    [] Port4.getreply(MyProc7TemplatePard(decmatch MyRecord2: val)
-                      value modifies vt_rec2 := { num := val.num })
-                      -> value (redir[0] := @decoded str)
-                      param (redir[1] := @decoded(str_enc8) x) {
-      if (redir[0] != val) {
-        setverdict(fail, "Getreply parameter redirect failed: ", redir[0]);
-      }
-      if (redir[1] != val) {
-        setverdict(fail, "Getreply value redirect failed: ", redir[1]);
-      }
-    }
-    [] Port4.getreply(MyProc7TemplatePard(decmatch MyRecord2: val) value MyRecord2: ?) {
-      setverdict(fail, "Invalid getreply return value.");
-    }
-    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) {
-      setverdict(fail, "Invalid getreply parameter.");
-    }
-    [] Port4.catch(MyProc7, MyRecord2: ?) {
-      setverdict(fail, "Exception (MyRecord2) caught in getreply test.");
-    }
-    [] Port4.catch(MyProc7, MyRecord3: ?) {
-      setverdict(fail, "Exception (MyRecord3) caught in getreply test.");
-    }
-    [] Port4.catch(timeout) { setverdict(fail, "Getreply test timed out."); }
-  }
-  
-  // testing (exception) value redirect in catch:
-  timer tmr := 1.0;
-  tmr.start;
-  alt {
-    [] Port4.catch(MyProc7, MyRecord3: { elems := { vt_rec2 } })
-                   -> value (redir[2] := @decoded(str_enc8) elems[0].str) {
-      if (redir[2] != val) {
-        setverdict(fail, "Exception value redirect failed: ", redir[2]);
-      }
-    }
-    [] Port4.catch(MyProc7, MyRecord3: ?) {
-      setverdict(fail, "Invalid exception value caught.");
-    }
-    [] Port4.catch(MyProc7, MyRecord2: ?) {
-      setverdict(fail, "Invalid type of exception caught.");
-    }
-    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) {
-      setverdict(fail, "Reply received in exception test.");
-    }
-    [] tmr.timeout { setverdict(fail, "Exception test timed out."); }
-  }
-  setverdict(pass);
-}
-
-// even more tests for decoded parameter and value redirects
-// (in these tests the sent/received strings are decoded into 2 different types:
-// the matching 'decmatch' templates decode the strings into MyRecord2, while the
-// value and parameter redirects decode the string into MyRecord4)
-function DecodedRedirect4_behav(in MyRecord2 val2, in MyRecord4 val4) runs on ProcComponent4 {
-  timer tmr := 1.0;
-  var MyRecord4 redir;
-  
-  // testing parameter redirect in getcall:
-  tmr.start;
-  alt {
-    [] Port4.getcall(MyProc7: { decmatch MyRecord2: val2 }) -> param (redir := @decoded x) {
-      if (redir != val4) { 
-        setverdict(fail, "Getcall parameter redirect failed: ", redir);
-      }
-      else {
-        var universal charstring val_enc := encvalue_unichar(val2);
-        var MyRecord2 reply_val := { num := val2.num, str := val_enc };
-        var MyRecord3 raise_val := { elems := { reply_val } };
-        Port4.reply(MyProc7: { val_enc } value reply_val);
-        Port4.raise(MyProc7, raise_val);
-      }
-    }
-    [] Port4.getcall(MyProc7: { ? }) { setverdict(fail, "Invalid getcall parameter."); }
-    [] tmr.timeout { setverdict(fail, "Getcall timed out."); }
-  }
-}
-
-testcase tc_DecodedRedirect4() runs on ProcComponent4 {
-  var ProcComponent4 ct := ProcComponent4.create;
-  connect(ct:Port4, mtc:Port4);
-  var MyRecord2 val2 := { num := 4, str := "ADDC" };
-  var MyRecord4 val4 := { attr := "4", val := 'ADDC'O };
-  ct.start(DecodedRedirect4_behav(val2, val4));
-  var universal charstring val_enc := encvalue_unichar(val2);
-  var MyRecord4 redir[3];
-  
-  // testing parameter and (return) value redirect in getreply:
-  Port4.call(MyProc7: { val_enc }, 1.0) {
-    [] Port4.getreply(MyProc7TemplatePard(decmatch MyRecord2: val2)
-                      value MyRecord2: { num := ?, str := decmatch MyRecord2: val2 })
-                      -> value (redir[0] := @decoded str)
-                      param (redir[1] := @decoded x) {
-      if (redir[0] != val4) {
-        setverdict(fail, "Getreply parameter redirect failed: ", redir[0]);
-      }
-      if (redir[1] != val4) {
-        setverdict(fail, "Getreply value redirect failed: ", redir[1]);
-      }
-    }
-    [] Port4.getreply(MyProc7TemplatePard(decmatch MyRecord2: val2) value MyRecord2: ?) {
-      setverdict(fail, "Invalid getreply return value.");
-    }
-    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) {
-      setverdict(fail, "Invalid getreply parameter.");
-    }
-    [] Port4.catch(MyProc7, MyRecord2: ?) {
-      setverdict(fail, "Exception (MyRecord2) caught in getreply test.");
-    }
-    [] Port4.catch(MyProc7, MyRecord3: ?) {
-      setverdict(fail, "Exception (MyRecord3) caught in getreply test.");
-    }
-    [] Port4.catch(timeout) { setverdict(fail, "Getreply test timed out."); }
-  }
-  
-  // testing (exception) value redirect in catch:
-  var template MyRecord3 vt_rec3 := { elems := { { num := ?, str := decmatch MyRecord2: val2 } } };
-  timer tmr := 1.0;
-  tmr.start;
-  alt {
-    [] Port4.catch(MyProc7, vt_rec3) -> value (redir[2] := @decoded elems[0].str) {
-      if (redir[2] != val4) {
-        setverdict(fail, "Exception value redirect failed: ", redir[2]);
-      }
-    }
-    [] Port4.catch(MyProc7, MyRecord3: ?) {
-      setverdict(fail, "Invalid exception value caught.");
-    }
-    [] Port4.catch(MyProc7, MyRecord2: ?) {
-      setverdict(fail, "Invalid type of exception caught.");
-    }
-    [] Port4.getreply(MyProc7: { ? } value MyRecord2: ?) {
-      setverdict(fail, "Reply received in exception test.");
-    }
-    [] tmr.timeout { setverdict(fail, "Exception test timed out."); }
-  }
-  setverdict(pass);
-}
-
 // '*' is not allowed as a matching template for the return value
 // in getreply operations or for the exception in catch operations
 testcase tc_MatchingWithAnyOrOmit() runs on ProcComponent5 {
@@ -1189,11 +796,6 @@ control {
   execute(tc_PortAddress_external_usage1());
   execute(tc_PortAddress_external_usage2());
   execute(tc_GetReplyParameters());
-  execute(tc_MultiValueRedirect());
-  execute(tc_DecodedRedirect());
-  execute(tc_DecodedRedirect2());
-  execute(tc_DecodedRedirect3());
-  execute(tc_DecodedRedirect4());
   execute(tc_MatchingWithAnyOrOmit());
 }
 }
diff --git a/regression_test/commProcedure/config-rt2.cfg b/regression_test/commProcedure/config-rt2.cfg
new file mode 100644
index 000000000..8b7799938
--- /dev/null
+++ b/regression_test/commProcedure/config-rt2.cfg
@@ -0,0 +1,14 @@
+###############################################################################
+# 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
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#   Baranyi, Botond
+#
+###############################################################################
+[EXECUTE]
+ProcPort
+AdvancedRedirects
diff --git a/regression_test/commProcedure/config.cfg b/regression_test/commProcedure/config.cfg
new file mode 100644
index 000000000..c9d10a0db
--- /dev/null
+++ b/regression_test/commProcedure/config.cfg
@@ -0,0 +1,13 @@
+###############################################################################
+# 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
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#   Baranyi, Botond
+#
+###############################################################################
+[EXECUTE]
+ProcPort
diff --git a/usrguide/referenceguide.doc b/usrguide/referenceguide.doc
index b59bc15c0d7ad0dd19ec9c7e706702660face78e..8ea53900bc2bd194e7a98164c167d141472662ad 100644
GIT binary patch
delta 141472
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
D8v?o!

delta 126042
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

-- 
GitLab