diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index db4c845d7bd7929070a1deddf7236e54ef44ba4d..092a6d77862ba0e011301a04f526817fd8f7013a 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -168,6 +168,7 @@ module OneM2M_Functions {
 			// Map
 			map(self:mcaPort, system:mcaPort);//TODO To be consistent, we should use mcaPortIn for AE testing
 			map(self:acPort, system:acPort);
+			map(self:utPort, system:utPort);
 			activate(a_default());
 			activate(a_ae_cf03());
 		
@@ -187,6 +188,7 @@ module OneM2M_Functions {
 	
 			// Map
 			map(self:mccPort, system:mccPort);
+			map(self:mccPortIn, system:mccPortIn);
 			map(self:acPort, system:acPort);
 			activate(a_default());
 			activate(a_cse_cf04());
@@ -247,6 +249,7 @@ module OneM2M_Functions {
 		function f_cf03Down() runs on CseSimu {
 			
 			unmap(self:mcaPort, system:mcaPort);
+			unmap(self:utPort, system:utPort);
 			unmap(self:acPort, system:acPort);
 		}
 		
@@ -256,6 +259,7 @@ module OneM2M_Functions {
 		function f_cf04Down() runs on CseSimu {
 	
 			unmap(self:mccPort, system:mccPort);
+			unmap(self:mccPortIn, system:mccPortIn);
 			unmap(self:acPort, system:acPort);
 		}
 
@@ -1599,7 +1603,7 @@ module OneM2M_Functions {
 						v_remoteCSEResource := f_cse_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, 1, int16);//TODO Get index from v_request.primitive.requestPrimitive.to_
 						v_localResourceIndex := f_setLocalResource(v_remoteCSEResource, int16, -1);
 						
-						v_response := m_responsePrimitive(int2001,v_request.primitive.requestPrimitive.requestIdentifier);
+						v_response := valueof(m_responsePrimitive(int2001,v_request.primitive.requestPrimitive.requestIdentifier));
 						v_response.from_ := PX_CSE1_ID;
 						v_response.to_ := v_request.primitive.requestPrimitive.from_;
 						v_response.primitiveContent.remoteCSE := vc_localResourcesList[v_localResourceIndex].resource.remoteCSE;
diff --git a/LibOneM2M/OneM2M_TestSystem.ttcn b/LibOneM2M/OneM2M_TestSystem.ttcn
index eeef3e74850ba891dc9d5952dede469a347d0086..0f8bea0e30a4f86c0effb6568adc638fbec3f0b4 100644
--- a/LibOneM2M/OneM2M_TestSystem.ttcn
+++ b/LibOneM2M/OneM2M_TestSystem.ttcn
@@ -77,6 +77,7 @@ module OneM2M_TestSystem {
 	type component AeSystem {
 		port OneM2MPort mcaPort;
 		port AdapterControlPort acPort;
+		port UpperTesterPort utPort;
 	}		
 	
 			
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index 71125c36ac2172260388f222752b50348c176062..3b4354e8e2ba904e780750d4a7a3ad4dac309c6b 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -4131,10 +4131,16 @@ module OneM2M_Types {
 			encode "adapter";
 		}
 		
-		type RequestPrimitive UtTriggerPrimitive;
+		type RequestPrimitive UtTriggerPrimitive
+		with {
+			encode "UpperTester"
+		}
+		
+		type ResponsePrimitive UtTriggerAckPrimitive
+		with {			
+			encode "UpperTester"
+		}
 		
-		type ResponsePrimitive UtTriggerAckPrimitive;
-	
 		type record AttributeAux {
 			XSD.NCName name,
 			charstring value_ optional