diff --git a/src/Transport/EPTF_CLL_TransportIPL4_Functions.ttcn b/src/Transport/EPTF_CLL_TransportIPL4_Functions.ttcn
index b7714753de6e168b928571865dbace2d0f2457c5..e3a95a729770e22748760039829996bc1d61595e 100644
--- a/src/Transport/EPTF_CLL_TransportIPL4_Functions.ttcn
+++ b/src/Transport/EPTF_CLL_TransportIPL4_Functions.ttcn
@@ -659,21 +659,27 @@ return integer
 //  Parameters:
 //    param_name - *in* - *charstring* - parameter name to set
 //    param_value - *in* - *charstring* - parameter value to set
+//    pl_result - *out* - <Result> - result
 //
 //  Return Value:
-//    <Result> - the result of the operation
+//    *integer* - error code: -1 if errorCode is present in the pl_result, else 0
 //
 //  Errors:
 //    - None
 ///////////////////////////////////////////////////////////
 public function f_EPTF_Transport_port_settings(
     in charstring    param_name,
-    in charstring    param_value
+    in charstring    param_value,
+    out Result pl_result
 )
 runs on EPTF_TransportIPL4_CT
-return Result
+return integer
 {
-  return f_IPL4_port_settings(IPL4_PCO, param_name, param_value);
+  pl_result := f_IPL4_port_settings(IPL4_PCO, param_name, param_value);
+  if (ispresent(pl_result.errorCode)) {
+    return -1;
+  }
+  return 0;
 }
 
 ///////////////////////////////////////////////////////////
diff --git a/src/Transport/EPTF_CLL_Transport_Functions.ttcn b/src/Transport/EPTF_CLL_Transport_Functions.ttcn
index c0c780239e74c3c1f4f6f4965a20a61ef2235c53..5919648eeaecece48490dbe7a40dc1c2d17c59f0 100644
--- a/src/Transport/EPTF_CLL_Transport_Functions.ttcn
+++ b/src/Transport/EPTF_CLL_Transport_Functions.ttcn
@@ -53,6 +53,7 @@
 //      <f_EPTF_Transport_connect>
 //      <f_EPTF_Transport_listen>
 //      <f_EPTF_Transport_setOpt>
+//      <f_EPTF_Transport_port_settings>
 //      <f_EPTF_Transport_close>
 //      <f_EPTF_Transport_send>
 //      <f_EPTF_Transport_getLocalAddress>
@@ -655,6 +656,45 @@ return integer
   return vl_errorCode;
 }
 
+///////////////////////////////////////////////////////////
+//  Function: f_EPTF_Transport_port_settings
+//
+//  Purpose:
+//    Function to set the port settings of the underlying test port
+//
+//  Parameters:
+//    pl_transportType - *in* - <EPTF_Transport_TransportType> - Testport type
+//    param_name - *in* - <charstring> - parameter
+//    param_value - *in* <charstring> - value
+//    pl_result - *out* - <Result> - result
+//
+//  Return Value:
+//    *integer* - 0 if OK, or -1 on error
+//
+//  Errors:
+//    - invalid LGenType
+///////////////////////////////////////////////////////////
+public function f_EPTF_Transport_port_settings(
+  in EPTF_Transport_TransportType pl_transportType,
+  in charstring    pl_param_name,
+  in charstring    pl_param_value,
+  out Socket_API_Definitions.Result pl_result
+)
+runs on EPTF_Transport_CT
+return integer
+{
+  var integer vl_errorCode := -1;
+  select( pl_transportType ){
+    case ( IPL4 ){
+      vl_errorCode := EPTF_CLL_TransportIPL4_Functions.f_EPTF_Transport_port_settings(pl_param_name, pl_param_value, pl_result);
+    }
+    case else{
+      f_EPTF_Transport_testportTypeError(%definitionId,pl_transportType);
+    }
+  }
+  return vl_errorCode;
+}
+
 ///////////////////////////////////////////////////////////
 //  Function: f_EPTF_Transport_close
 //