diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index e9ff326587c412aebcf02c47d4e7ba7690d47d5b..73935272ecf4b20bb6ee41f90d86b84d5d13ad9a 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -1357,7 +1357,7 @@ module OneM2M_Functions {
 					vc_ae2.start(f_cse_createAccessControlPolicyAux("SubscriptionVerificationAcp",{"all"}, int63));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
 					
-					vc_ae2.start(f_cse_createResource_withAcpAux(int2, m_createAe(PX_TS_AE2.appId, -, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, {f_getCompletePoA(PX_TS_AE2.mcaPortIn, "")}), -1)); // AE2 is registred
+					vc_ae2.start(f_cse_createResource_withAcpAux(int2, m_createAe(PX_TS_AE2.appId, -, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, {f_getLocalPoA(PX_TS_AE2.mcaPortIn, "")}), -1)); // AE2 is registred
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
 					
 					p_ae2Index := f_getResourceFromAeSimu(vc_ae2);
@@ -2559,7 +2559,7 @@ module OneM2M_Functions {
 				 * @param p_expectedResourceIndex Expected target parent resource of the announcemnet
 				 * @verdict 
 				 */
-				function f_cse_announcementProcedure_createHandler(template RequestPrimitive p_requestprimitive := mw_createAnnc, in ResponseStatusCode p_responseStatusCode := int2001, template (omit) integer p_expectedParentResourceIndex := vc_localRemoteCseIndex) runs on CseSimu return integer{
+				function f_cse_announcementProcedure_createHandler(template RequestPrimitive p_requestPrimitive := mw_createAnnc, in ResponseStatusCode p_responseStatusCode := int2001, template (omit) integer p_expectedParentResourceIndex := vc_localRemoteCseIndex) runs on CseSimu return integer{
 					// Local variables
 					var integer v_announcedResourceIndex;
 				
@@ -2568,7 +2568,7 @@ module OneM2M_Functions {
 				
 					tc_ac.start;
 					alt {
-						[] mccPortIn.receive(mw_request(p_requestprimitive)) -> value vc_request {
+						[] mccPortIn.receive(mw_request(p_requestPrimitive)) -> value vc_request {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ":INFO: Expected Announcement received");
 							v_announcedResourceIndex := f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive, p_responseStatusCode, p_expectedParentResourceIndex);
@@ -2577,7 +2577,7 @@ module OneM2M_Functions {
 								setverdict(fail, __SCOPE__ & ":ERROR: Wrong target resource address");
 									}	
 									}
-						[] mccPortIn.receive(mw_request(?)) -> value vc_request {
+						[] mccPortIn.receive(mw_request(mw_createAnnc)) -> value vc_request {
 							tc_ac.stop;
 							setverdict(fail, __SCOPE__ & ":ERROR:  Request received with unexpected parameters");
 							v_announcedResourceIndex := f_processCreateRequestPrimitive(vc_request.primitive.requestPrimitive, int4000);
@@ -3234,7 +3234,7 @@ module OneM2M_Functions {
 						v_response.primitiveContent.remoteCSE := vc_localResourcesList[vc_localRemoteCseIndex].resource.remoteCSE;
 						f_send(e_mccPortIn, m_response(v_response));
 						
-						vc_remoteCseIndex := f_setResource(valueof(m_primitiveContentRemoteCSE(m_contentMyRemoteCSEResource(f_getCompletePoA(vc_cseSimuDesc.mcaPortIn, "")))), int16, -1, true);
+						vc_remoteCseIndex := f_setResource(valueof(m_primitiveContentRemoteCSE(m_contentMyRemoteCSEResource(f_getLocalPoA(vc_cseSimuDesc.mcaPortIn, "")))), int16, -1, true);
 						v_resourceIndex := vc_remoteCseIndex;
 						v_remoteCSERegistered:=true;
 						tc_ac.start(10.0);
@@ -5273,44 +5273,79 @@ module OneM2M_Functions {
 		}
 		
 		/**
-		 * @desc Resolution of the announcement target CSE PoA
-		 * @param p_protocolBinding	Protocol Binding
-		 * @param p_announcementTargetAddress	Announcement Target Address
-		 * @param p_announcementTargetResource Announcement Target Resource
-		 * @return p_annoucementTargetPoA Announcemenet Target PoA
+		 * @desc Resolution of the test system PoA for a given port
+		 * @param p_portDesc			Description of port from where PoA will be built
+		 * @param p_additionalContext	Additional context
+		 * @return PoA for the given port
 		 */
-		function f_getCompletePoA(in PortDesc p_portDesc := PX_TS_CSE1.mccPortIn, charstring p_announcementTargetResource := "") return charstring {
-      var charstring v_poa;
-      
-      log(">>> f_getCompletePoA: ", p_portDesc);
+		function f_getLocalPoA(in PortDesc p_portDesc := PX_TS_CSE1.mccPortIn, charstring p_additionalContext := "") return charstring {
+			var charstring v_poa;
+  
+  			log(">>> f_getLocalPoA: ", p_portDesc);
+  
+			if (ischosen(p_portDesc.binding.httpBindingDesc)) {
+				v_poa := "http://" & p_portDesc.binding.httpBindingDesc.bindingDesc.tsAddress;
+				if (ispresent(p_portDesc.binding.httpBindingDesc.bindingDesc.localPort)) {
+			    	v_poa := v_poa & ":" & int2str(p_portDesc.binding.httpBindingDesc.bindingDesc.localPort);
+			    }
+			} else if (ischosen(p_portDesc.binding.coapBindingDesc)) {
+			    v_poa := "coap://" & p_portDesc.binding.coapBindingDesc.bindingDesc.tsAddress;
+			    if (ispresent(p_portDesc.binding.coapBindingDesc.bindingDesc.localPort)) {
+			        v_poa := v_poa & ":" & int2str(p_portDesc.binding.coapBindingDesc.bindingDesc.localPort);
+			    }
+			} else if (ischosen(p_portDesc.binding.mqttBindingDesc)) {
+			    v_poa := "mqtt://" & p_portDesc.binding.mqttBindingDesc.bindingDesc.tsAddress;
+			    if (ispresent(p_portDesc.binding.mqttBindingDesc.bindingDesc.localPort)) {
+			        v_poa := v_poa & ":" & int2str(p_portDesc.binding.mqttBindingDesc.bindingDesc.localPort);
+			    }
+			} else {
+			    v_poa := "ws://" & p_portDesc.binding.wsBindingDesc.bindingDesc.tsAddress;
+			    if (ispresent(p_portDesc.binding.wsBindingDesc.bindingDesc.localPort)) {
+			        v_poa := v_poa & ":" & int2str(p_portDesc.binding.wsBindingDesc.bindingDesc.localPort);
+			    }
+			}
+			v_poa := v_poa & "/" & p_additionalContext;
       
-      if (ischosen(p_portDesc.binding.httpBindingDesc)) {
-        v_poa := "http://" & p_portDesc.binding.httpBindingDesc.bindingDesc.tsAddress;
-        if (ispresent(p_portDesc.binding.httpBindingDesc.bindingDesc.localPort)) {
-            v_poa := v_poa & ":" & int2str(p_portDesc.binding.httpBindingDesc.bindingDesc.localPort);
-        }
-      } else if (ischosen(p_portDesc.binding.coapBindingDesc)) {
-        v_poa := "coap://" & p_portDesc.binding.coapBindingDesc.bindingDesc.tsAddress;
-        if (ispresent(p_portDesc.binding.coapBindingDesc.bindingDesc.localPort)) {
-            v_poa := v_poa & ":" & int2str(p_portDesc.binding.coapBindingDesc.bindingDesc.localPort);
-        }
-      } else if (ischosen(p_portDesc.binding.mqttBindingDesc)) {
-        v_poa := "mqtt://" & p_portDesc.binding.mqttBindingDesc.bindingDesc.tsAddress;
-        if (ispresent(p_portDesc.binding.mqttBindingDesc.bindingDesc.localPort)) {
-            v_poa := v_poa & ":" & int2str(p_portDesc.binding.mqttBindingDesc.bindingDesc.localPort);
-        }
-      } else {
-        v_poa := "ws://" & p_portDesc.binding.wsBindingDesc.bindingDesc.tsAddress;
-        if (ispresent(p_portDesc.binding.wsBindingDesc.bindingDesc.localPort)) {
-            v_poa := v_poa & ":" & int2str(p_portDesc.binding.wsBindingDesc.bindingDesc.localPort);
-        }
-      }
-      if(p_announcementTargetResource != "") {
-			v_poa := v_poa & "/" & p_announcementTargetResource;
-      }
-			return v_poa;
+            return v_poa;
 		}
 		
+		/**
+		 * @desc Resolution of the IUT PoA for a given port
+		 * @param p_portDesc			Description of port from where PoA will be built
+		 * @param p_additionalContext	Additional context
+		 * @return PoA for the given port
+		 */
+		function f_getPoA(in PortDesc p_portDesc := PX_TS_AE1.mcaPort, charstring p_additionalContext := "") return charstring {
+			var charstring v_poa;
+  
+  			log(">>> f_getPoA: ", p_portDesc);
+  
+			if (ischosen(p_portDesc.binding.httpBindingDesc)) {
+				v_poa := "http://" & p_portDesc.binding.httpBindingDesc.bindingDesc.sutAddress;
+				if (ispresent(p_portDesc.binding.httpBindingDesc.bindingDesc.remotePort)) {
+			    	v_poa := v_poa & ":" & int2str(p_portDesc.binding.httpBindingDesc.bindingDesc.remotePort);
+			    }
+			} else if (ischosen(p_portDesc.binding.coapBindingDesc)) {
+			    v_poa := "coap://" & p_portDesc.binding.coapBindingDesc.bindingDesc.sutAddress;
+			    if (ispresent(p_portDesc.binding.coapBindingDesc.bindingDesc.remotePort)) {
+			        v_poa := v_poa & ":" & int2str(p_portDesc.binding.coapBindingDesc.bindingDesc.remotePort);
+			    }
+			} else if (ischosen(p_portDesc.binding.mqttBindingDesc)) {
+			    v_poa := "mqtt://" & p_portDesc.binding.mqttBindingDesc.bindingDesc.sutAddress;
+			    if (ispresent(p_portDesc.binding.mqttBindingDesc.bindingDesc.remotePort)) {
+			        v_poa := v_poa & ":" & int2str(p_portDesc.binding.mqttBindingDesc.bindingDesc.remotePort);
+			    }
+			} else {
+			    v_poa := "ws://" & p_portDesc.binding.wsBindingDesc.bindingDesc.sutAddress;
+			    if (ispresent(p_portDesc.binding.wsBindingDesc.bindingDesc.remotePort)) {
+			        v_poa := v_poa & ":" & int2str(p_portDesc.binding.wsBindingDesc.bindingDesc.remotePort);
+			    }
+			}
+			v_poa := v_poa & "/" & p_additionalContext;
+			
+			return v_poa;
+		}
+
 		/**
 		 * @desc Resolution of the local resource index for a given resource address (URI)
 		 * @param p_address	Resource URI (can be structured/unstructured cseRelative/spRelative/absolute)
diff --git a/LibOneM2M/OneM2M_Pixits.ttcn b/LibOneM2M/OneM2M_Pixits.ttcn
index 7d65be93bdfaafb4072689cafaf577b8e29d8304..8dffa35bca890205f34910a67ec75ddf0b6c4fc0 100644
--- a/LibOneM2M/OneM2M_Pixits.ttcn
+++ b/LibOneM2M/OneM2M_Pixits.ttcn
@@ -43,17 +43,17 @@ module OneM2M_Pixits {
 			/**
 			 * @desc IUT CSE Name
 			 */	
-			modulepar XSD.ID PX_CSE_NAME := "cse-in";
+			modulepar XSD.ID PX_CSE_NAME := "CSE-NAME";
 		
 			/**
 			 * @desc IUT CSE-ID with SP-relative-CSE-ID format (relative) according to TS-0001-7.2-1
 			 */		
-			modulepar XSD.ID PX_CSE_ID := "/id-in";
+			modulepar XSD.ID PX_CSE_ID := "/CSE-ID";
 			
 			/**
 			 * @desc IUT CSE resource ID with Unstructured-CSE-relative-Resource-ID (relative) format according to TS-0001-7.2-1
 			 */			
-			modulepar XSD.ID PX_CSE_RESOURCE_ID	:= "id-in";
+			modulepar XSD.ID PX_CSE_RESOURCE_ID	:= "CSE-ID";
 			 
 			/**
 			 * @desc IUT M2M-SP-ID with M2M-SP-ID format (absolute) according to TS-0001-7.2-1 Unstructured-CSE-relative -Resource-ID
@@ -63,7 +63,7 @@ module OneM2M_Pixits {
 			/**
 			 * @desc AE-ID with privileges to CREATE at the IUT CSEBase with AE-ID-Stem format (relative) according to TS-0001-7.2-1
 			 */	
-			modulepar XSD.ID PX_SUPER_AE_ID				:= "CAdmin";
+			modulepar XSD.ID PX_SUPER_AE_ID				:= "admin:admin";
 	
 			/**
 			 * @desc CSE-ID with privileges to CREATE at the IUT CSEBase with SP-relative-CSE-ID format (relative) according to TS-0001-7.2-1
@@ -133,6 +133,13 @@ module OneM2M_Pixits {
 			 */			
 			modulepar float PX_TCONFIG_IUT					:= 10.0;
 						
+			/**
+			 * @desc Release version of IUT to be used. Any available release backwards from actual ATS release till 2a
+			 */			
+			modulepar ReleaseVersion PX_RELEASE_VERSION		:= "3";
+			
+			modulepar ResourceTypeList_1 PX_SRT := {int1, int2, int3, int4};
+			
 			group flexContainerContainerDefinitions {
 				/**
 				 * @desc These contain the identifier reference (URI) to the <flexContainer> schema definition which is used by the CSE to validate the syntax of the <flexContainer> resource 
@@ -170,7 +177,7 @@ module OneM2M_Pixits {
 								}
 						}
 					},
-					serialization := "json"
+					serialization := "xml"
 				},
 				mcaPortIn := {
 					binding := {
@@ -184,7 +191,7 @@ module OneM2M_Pixits {
 							}
 						}
 					},
-					serialization := "json"
+					serialization := "xml"
 				}
 			};
 			modulepar AeSimuComponentDesc PX_TS_AE2 := { // AE2 component settings
@@ -202,7 +209,7 @@ module OneM2M_Pixits {
 								}
 						}
 					},
-					serialization := "json"
+					serialization := "xml"
 				},
 				mcaPortIn := {
 					binding := {
@@ -216,7 +223,7 @@ module OneM2M_Pixits {
 							}
 						}
 					},
-					serialization := "json"
+					serialization := "xml"
 				}
 			};
 			modulepar CseSimuComponentDesc PX_TS_CSE1 := { // CSE1 component settings
@@ -237,7 +244,7 @@ module OneM2M_Pixits {
 							}
 						}
 					},
-					serialization := "json"
+					serialization := "xml"
 				},
 				mcaPortIn := {
 					binding := {
@@ -251,7 +258,7 @@ module OneM2M_Pixits {
 							}
 						}
 					},
-					serialization := "json"
+					serialization := "xml"
 				},
 				mccPort := {
 					binding := {
@@ -265,7 +272,7 @@ module OneM2M_Pixits {
 							}
 						}
 					},
-					serialization := "json"
+					serialization := "xml"
 				},
 				mccPortIn := {
 					binding := {
@@ -279,7 +286,7 @@ module OneM2M_Pixits {
 							}
 						}
 					},
-					serialization := "json"
+					serialization := "xml"
 				}
 			};
 			modulepar CseSimuComponentDesc PX_TS_CSE2 := { // CSE2 component settings
@@ -416,8 +423,6 @@ module OneM2M_Pixits {
 	modulepar Labels PX_LABELS := {"VALUE_1"}; 	
 	modulepar boolean PX_IS_LOC_CONTAINER	:= false;//default //set it to true when the container is created to store location information
 	
-	modulepar PoaList PX_POA := {""};
-	modulepar ResourceTypeList_1 PX_SRT := {int1, int2, int3, int4};
 	
 }  // end of module
 
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 1cffd0cc0b2175baa8aaa32dcc6b7ff596a72952..58ced2c0a040e2f43e3e1648bda9c6a7b986df27 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -17,8 +17,7 @@ module OneM2M_Templates {
 	import from OneM2M_Types all;
 	import from OneM2M_TypesAndValues all;
 	import from OneM2M_Pixits all;
-    import from OneM2M_Functions all;
-
+	import from OneM2M_Functions all;
 		
 	/**
 	 * @desc Get a converted to string random number 
@@ -129,7 +128,7 @@ module OneM2M_Templates {
 				authorSigns := omit,
 				authorRelIndicator := omit,
 				semanticQueryIndicator := omit,
-				releaseVersionIndicator := "3",
+				releaseVersionIndicator := PX_RELEASE_VERSION,
 				vendorInformation := omit
 			};
         	
@@ -244,7 +243,7 @@ module OneM2M_Templates {
 				authorSigns := omit,
 				authorRelIndicator := omit,
 				semanticQueryIndicator := omit,
-				releaseVersionIndicator := "3",
+				releaseVersionIndicator := PX_RELEASE_VERSION,
 				vendorInformation := omit
         	};
         	
@@ -283,7 +282,7 @@ module OneM2M_Templates {
 				authorSigns := omit,
 				authorRelIndicator := omit,
 				semanticQueryIndicator := omit,
-				releaseVersionIndicator := "3",
+				releaseVersionIndicator := PX_RELEASE_VERSION,
 				vendorInformation := omit
 			};
 			
@@ -550,7 +549,7 @@ module OneM2M_Templates {
 				authorSigns := omit,
 				authorRelIndicator := omit,
 				semanticQueryIndicator := omit,
-				releaseVersionIndicator := "3",
+				releaseVersionIndicator := PX_RELEASE_VERSION,
 				vendorInformation := omit
 			};
         	
@@ -841,7 +840,7 @@ module OneM2M_Templates {
 				authorSigns := omit,
 				authorRelIndicator := omit,
 				semanticQueryIndicator := omit,
-				releaseVersionIndicator := "3",
+				releaseVersionIndicator := PX_RELEASE_VERSION,
 				vendorInformation := omit
 
 			};
@@ -2079,7 +2078,7 @@ module OneM2M_Templates {
 				authorSigns := omit,
 				authorRelIndicator := omit,
 				semanticQueryIndicator := omit,
-				releaseVersionIndicator := "3",
+				releaseVersionIndicator := PX_RELEASE_VERSION,
 				vendorInformation := omit
 			};
 
@@ -2160,7 +2159,7 @@ module OneM2M_Templates {
 				authorSigns := omit,
 				authorRelIndicator := omit,
 				semanticQueryIndicator := omit,
-				releaseVersionIndicator := "3",
+				releaseVersionIndicator := PX_RELEASE_VERSION,
 				vendorInformation := omit
 			};
 			
@@ -2212,7 +2211,7 @@ module OneM2M_Templates {
 				authorSigns := omit,
 				authorRelIndicator := omit,
 				semanticQueryIndicator := omit,
-				releaseVersionIndicator := "3",
+				releaseVersionIndicator := PX_RELEASE_VERSION,
 				vendorInformation := omit
 			};
     		
@@ -2501,7 +2500,7 @@ module OneM2M_Templates {
     		contentSerialization := omit,//O
 			e2eSecInfo := omit, //O
 			m2M_Ext_ID := omit, //O
-			supportedReleaseVersions := {"3"}, //M
+			supportedReleaseVersions := {"1", "2", "2a", "3"}, //M
 			registrationStatus := omit, //O
 			trackRegistrationPoints := omit, //O
 			sessionCapabilities := omit, //O
@@ -2671,12 +2670,12 @@ module OneM2M_Templates {
 			cseType := omit,
 			cSE_ID := p_componentDesc.cseId,
 			supportedResourceType := p_componentDesc.supportedResourceType,
-			pointOfAccess := {f_getCompletePoA(p_componentDesc.mccPortIn, "")},
+			pointOfAccess := {f_getLocalPoA(p_componentDesc.mccPortIn, "")},
 			nodeLink := omit,
 			dynamicAuthorizationConsultationIDs := omit,
 			contentSerialization := omit,
 			e2eSecInfo := omit, 
-			supportedReleaseVersions := {"3"},
+			supportedReleaseVersions := {"1", "2", "2a", "3"},
 			choice := omit
 		};
 
@@ -2701,7 +2700,7 @@ module OneM2M_Templates {
 			dynamicAuthorizationConsultationIDs := omit,
 			contentSerialization := omit,
 			e2eSecInfo := omit, 
-			supportedReleaseVersions := {"3"},
+			supportedReleaseVersions := {"1", "2", "2a", "3"},
 			choice := omit
 		};
 		
@@ -3846,7 +3845,7 @@ module OneM2M_Templates {
 			contentSerialization := omit,//O
 			e2eSecInfo := omit,//O
 			descendantCSEs := omit,//O
-			supportedReleaseVersions := {"3"}, //M
+			supportedReleaseVersions := {"1", "2", "2a", "3"}, //M
 			multicastCapability := omit,//O
 			externalGroupID := omit,//O
 			triggerEnable := omit,//O
@@ -3883,7 +3882,7 @@ module OneM2M_Templates {
 			contentSerialization := omit,//O
 			e2eSecInfo := omit,//O
 			descendantCSEs := omit,//O
-			supportedReleaseVersions := {"3"}, //M
+			supportedReleaseVersions := {"1", "2", "2a", "3"}, //M
 			multicastCapability := omit,//O
 			externalGroupID := omit,//O
 			triggerEnable := omit,//O
@@ -3919,7 +3918,7 @@ module OneM2M_Templates {
 			contentSerialization := *,//O
 			e2eSecInfo := *,//O
 			descendantCSEs := *,//O
-			supportedReleaseVersions := {"3"}, //M
+			supportedReleaseVersions := {"1", "2", "2a", "3"}, //M
 			multicastCapability := *,//O
 			externalGroupID := *,//O
 			triggerEnable := *,//O
@@ -3952,7 +3951,7 @@ module OneM2M_Templates {
 			contentSerialization := omit,//OA O
 			e2eSecInfo := omit,//MA M
 			descendantCSEs := omit,//OA O
-			supportedReleaseVersions := {"3"}, //MA M
+			supportedReleaseVersions := {"1", "2", "2a", "3"}, //MA M
 			multicastCapability := omit,//OA O
 			externalGroupID := omit,//OA O
 			triggerEnable := omit,//OA O
@@ -5287,6 +5286,20 @@ module OneM2M_Templates {
 			choice := omit //NP
 		};	
     	
+		/**
+		 * @desc Base reception primitiveContent for UPDATE operation for AE resource
+		 */
+		template AE_optional mw_contentUpdateAe modifies mw_contentAe_any := {
+			resourceName := omit,//NP
+			resourceType := omit,//NP
+			resourceID := omit,//NP
+			parentID := omit,//NP
+			creationTime := omit,//NP
+			lastModifiedTime := omit,//NP
+			app_ID := omit,//NP
+			aE_ID := omit//NP
+		};
+
 		/**
 		 * @desc Base primitiveContent for UPDATE operation for AccessControlPolicy resource
 		 */
@@ -5904,38 +5917,6 @@ module OneM2M_Templates {
 				
 	} //end group ContentDelete
 
-	group RequestContent {
-		
-		group CreateRequest {
-		
-		}
-		
-		group UpdateRequest {
-		
-			template AE_optional mw_contentAeUpdateRequest modifies mw_contentAe_any := {
-				resourceName := omit,//NP
-				resourceType := omit,//NP
-				resourceID := omit,//NP
-				parentID := omit,//NP
-				creationTime := omit,//NP
-				lastModifiedTime := omit,//NP
-				app_ID := omit,//NP
-				aE_ID := omit//NP
-			};
-            
-            template Container_optional mw_contentContainerUpdateRequest modifies mw_contentContainer_any := {
-				resourceName := omit,//NP
-				resourceType := omit,//NP
-				resourceID := omit,//NP
-				parentID := omit,//NP
-				creationTime := omit,//NP
-				lastModifiedTime := omit//NP
-			};
-			
-		}//End of group UpdateRequest
-		
-	 }//end of group RequestContent
-	
 	group ResponseContent {
 		
 		template AE_optional mw_contentAeBase := {
@@ -7574,70 +7555,6 @@ module OneM2M_Templates {
 	
 	group SpecialContents {
 
-		template (value) AE_optional m_contentCreateAe_Invalid  := {
-			resourceName := omit,//O
-			resourceType := omit,//NP
-			resourceID := omit,//NP
-			parentID := omit,//NP
-			creationTime := omit,//NP
-			lastModifiedTime := omit,//NP
-			labels := omit,//O
-			accessControlPolicyIDs := omit,//O
-			expirationTime := omit,//O
-			dynamicAuthorizationConsultationIDs := omit, //O
-			announceTo := omit,//O
-			announcedAttribute := omit,//O
-			appName := omit,//O
-			app_ID := omit,//M
-			aE_ID := omit,//NP
-			pointOfAccess := omit, //O
-			ontologyRef := omit,//O
-			nodeLink := omit,//NP
-			requestReachability := omit,//M
-			contentSerialization := omit,//O
-			e2eSecInfo:= omit, //O
-			m2M_Ext_ID := omit, //O
-			supportedReleaseVersions := {"3"}, //M
-			registrationStatus := omit, //O
-			trackRegistrationPoints := omit, //O
-			sessionCapabilities := omit, //O
-			triggerEnable := omit, //O
-			activityPatternElements := omit, //O
-			choice := omit//O
-		};	
-        
-        template  AE_optional mw_contentCreateAe_invalid  := {
-			resourceName := *,//O
-			resourceType := *,//NP
-			resourceID := *,//NP
-			parentID := *,//NP
-			creationTime := *,//NP
-			lastModifiedTime := *,//NP
-			labels := *,//O
-			accessControlPolicyIDs := *,//O
-			expirationTime := *,//O
-			dynamicAuthorizationConsultationIDs := *, //O
-			announceTo := *,//O
-			announcedAttribute := *,//O
-			appName := *,//O
-			app_ID := omit,//M
-			aE_ID := *,//NP
-			pointOfAccess := *, //O
-			ontologyRef := *,//O
-			nodeLink := *,//NP
-			requestReachability := omit,//M
-			contentSerialization := *,//O
-			e2eSecInfo:= *, //O
-			m2M_Ext_ID := omit, //O
-			supportedReleaseVersions := {"3"}, //M
-			registrationStatus := omit, //O
-			trackRegistrationPoints := omit, //O
-			sessionCapabilities := omit, //O
-			triggerEnable := omit, //O
-			activityPatternElements := omit, //O
-			choice := *//O
-		};	
-
 		/**
 		 * @desc Base primitiveContent for CREATE operation for GenericInterworkingService resource
 		 * @param p_accessControlPolicyIds ACP IDs for the PollingChannel
@@ -7881,7 +7798,7 @@ module OneM2M_Templates {
 			assignedTokenIdentifiers := omit,
 			tokenRequestInformation := omit,
 			authorSignReqInfo := omit,
-			releaseVersionIndicator := "3",
+			releaseVersionIndicator := PX_RELEASE_VERSION,
 			vendorInformation := omit
 		};
 		
@@ -8022,7 +7939,7 @@ module OneM2M_Templates {
 			assignedTokenIdentifiers := omit,
 			tokenRequestInformation := omit,
 			authorSignReqInfo := omit,
-			releaseVersionIndicator := "3",
+			releaseVersionIndicator := PX_RELEASE_VERSION,
 			vendorInformation := omit
 		};
 		
@@ -8177,7 +8094,7 @@ module OneM2M_Templates {
 				authorSigns := omit,
 				authorRelIndicator := omit,
 				semanticQueryIndicator := omit,
-				releaseVersionIndicator := "3",//FIXME
+				releaseVersionIndicator := PX_RELEASE_VERSION,
 				vendorInformation := omit
 			}, 
 			forcedFields := omit
@@ -8261,7 +8178,7 @@ module OneM2M_Templates {
 				authorSigns := omit,
 				authorRelIndicator := omit,
 				semanticQueryIndicator := omit,
-				releaseVersionIndicator := "3",//FIXME
+				releaseVersionIndicator := PX_RELEASE_VERSION,
 				vendorInformation := omit
 			}, 
 			forcedFields := omit
@@ -8313,7 +8230,7 @@ module OneM2M_Templates {
 				authorSigns := omit,
 				authorRelIndicator := omit,
 				semanticQueryIndicator := omit,
-				releaseVersionIndicator := "3",//FIXME
+				releaseVersionIndicator := PX_RELEASE_VERSION,
 				vendorInformation := omit
 			}, 
 			forcedFields := omit
@@ -8365,7 +8282,7 @@ module OneM2M_Templates {
 				authorSigns := omit,
 				authorRelIndicator := omit,
 				semanticQueryIndicator := omit,
-				releaseVersionIndicator := "3",//FIXME
+				releaseVersionIndicator := PX_RELEASE_VERSION,
 				vendorInformation := omit
 			}, 
 			forcedFields := omit
@@ -8594,7 +8511,7 @@ module OneM2M_Templates {
 				authorSigns := omit,
 				authorRelIndicator := omit,
 				semanticQueryIndicator := omit,
-				releaseVersionIndicator := "3",
+				releaseVersionIndicator := PX_RELEASE_VERSION,
 				vendorInformation := omit
 			}, 
 			forcedFields := omit
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index 105580b59882a4aa3413cc292d7689b6c3f6a258..ecebd2dd216af9236e0a61624a791cc735e596a8 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -1923,13 +1923,13 @@ with {
 };
 
 
-type XSD.String ReleaseVersion (pattern "3")
+type XSD.String ReleaseVersion (pattern "(2a|3)") //FIXME  All available releases backwards till 2a. XSD will define it as this
 with {
   variant "name as uncapitalized";
 };
 
 
-type XSD.String ApplicableReleaseVersion (pattern "3")
+type XSD.String ApplicableReleaseVersion (pattern "(1|2|2a|3)") //FIXME All available release backwards. XSD will define it as this
 with {
   variant "name as uncapitalized";
 };
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index fa8668605313df64b2908d6424827c265b3200fd..9567380e2fabfe183b620c19b5d10687e31909c9 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -2603,7 +2603,7 @@ module OneM2M_PermutationFunctions {
 
 				// Preamble
 				
-				v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA(vc_cseSimuDesc.mccPortIn)}));
+				v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA(vc_cseSimuDesc.mccPortIn)}));
 				
 				vc_ae1.start(f_cse_preamble_registerAe());				
 				f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
@@ -2693,7 +2693,7 @@ module OneM2M_PermutationFunctions {
 				
 				v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 
-				vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+				vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 				f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 				
 				v_aeIndex := f_cse_preamble_registerAe();				
@@ -2862,7 +2862,7 @@ module OneM2M_PermutationFunctions {
 						var integer v_parentIndex := -1;
 						var integer v_resourceIndex := -1;
 						var integer v_ae1Index := -1;
-						var PoaList v_poaList := { f_getCompletePoA(PX_TS_AE1.mcaPortIn) };
+						var PoaList v_poaList := { f_getLocalPoA(PX_TS_AE1.mcaPortIn) };
 										   
 						// Test control
 				
@@ -4045,7 +4045,7 @@ module OneM2M_PermutationFunctions {
 						// Test adapter configuration
     				
 						// Preamble
-						vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+						vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 						f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);						
 						
 						vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -)));
@@ -4092,7 +4092,7 @@ module OneM2M_PermutationFunctions {
 	
 						// Preamble
 						
-						vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+						vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 				  		f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);						
 						
 						vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -)));
@@ -5595,7 +5595,7 @@ module OneM2M_PermutationFunctions {
 						//Preamble
 						v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 						//Register the CSE
-						vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+						vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 						f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 	
 						v_remoteCSEIndex := f_getLatestResourceIndex(vc_cse1);
@@ -6444,7 +6444,7 @@ module OneM2M_PermutationFunctions {
 
 						 // Preamble
 						if(p_resourceType != int2) {
-						 	v_aeIndex := f_cse_preamble_registerAe(-, {f_getCompletePoA(vc_aeSimuDesc.mcaPortIn, "")});//c_CRUDNDi);
+						 	v_aeIndex := f_cse_preamble_registerAe(-, {f_getLocalPoA(vc_aeSimuDesc.mcaPortIn, "")});//c_CRUDNDi);
 						}
 						
 						if(p_resourceType != int1) {
@@ -6477,7 +6477,7 @@ module OneM2M_PermutationFunctions {
 						}
 						
 						if(p_resourceType == int9) {
-							vc_ae2.start(f_cse_createResource_withAcpAux(int2, m_createAe(PX_TS_AE2.appId, {vc_resourcesList[vc_acpIndex].resource.accessControlPolicy.resourceID}, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, {f_getCompletePoA(PX_TS_AE2.mcaPortIn, "")}), -1)); // AE2 is registred
+							vc_ae2.start(f_cse_createResource_withAcpAux(int2, m_createAe(PX_TS_AE2.appId, {vc_resourcesList[vc_acpIndex].resource.accessControlPolicy.resourceID}, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, {f_getLocalPoA(PX_TS_AE2.mcaPortIn, "")}), -1)); // AE2 is registred
 							f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
 					
 							v_ae2Index := f_getResourceFromAeSimu(vc_ae2);
@@ -9348,7 +9348,7 @@ module OneM2M_PermutationFunctions {
 							v_createRequest.primitiveContent.accessControlPolicy.privileges.accessControlRule_list := {v_accessControlRule};
 							vc_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource
 							
-							v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, {f_getCompletePoA(vc_aeSimuDesc.mcaPortIn)});
+							v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, {f_getLocalPoA(vc_aeSimuDesc.mcaPortIn)});
 			
 							// Test Body
 							p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
@@ -9409,7 +9409,7 @@ module OneM2M_PermutationFunctions {
 							v_createRequest.primitiveContent.accessControlPolicy.privileges.accessControlRule_list := {v_accessControlRule};
 							vc_acpIndex := f_cse_createResource(int1, v_createRequest); // CSE child resource
 							
-							v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, {f_getCompletePoA(vc_aeSimuDesc.mcaPortIn)});
+							v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, {f_getLocalPoA(vc_aeSimuDesc.mcaPortIn)});
 			
 							// Test Body
 							p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
@@ -9730,7 +9730,7 @@ module OneM2M_PermutationFunctions {
 					// Test adapter configuration
 			
 					//Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					
 					//remoteCSE is by default the parent for an announced resource
@@ -9814,7 +9814,7 @@ module OneM2M_PermutationFunctions {
 				  f_cf02Up();
 
 				  //Register the CSE
-				  vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+				  vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 				  
 				  f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
@@ -9840,7 +9840,7 @@ module OneM2M_PermutationFunctions {
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex := -1;
 					var XSD.AnyURI v_remoteCSEAnncAddress;
-					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(PX_TS_CSE1.cseId, -, -, -, -, {f_getCompletePoA()});
+					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(PX_TS_CSE1.cseId, -, -, -, -, {f_getLocalPoA()});
 					var template RequestPrimitive v_updateRemoteCse := mw_updateRemoteCSE;
 					//v_createRemoteCse.primitiveContent.remoteCSE.descendantCSEs := {PX_TS_CSE2.cseId};
 					
@@ -9904,7 +9904,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -9935,7 +9935,7 @@ module OneM2M_PermutationFunctions {
 					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
 					var template RequestPrimitive v_createContainer := m_createContainerBase;
 					var template RequestPrimitive v_createContainerAnnc := mw_createContainerAnnc;
-					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(PX_TS_CSE1.cseId, -, -, -, -, {f_getCompletePoA()});
+					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(PX_TS_CSE1.cseId, -, -, -, -, {f_getLocalPoA()});
 					var template RequestPrimitive v_updateRemoteCse := mw_updateRemoteCSE;
 					//v_createRemoteCse.primitiveContent.remoteCSE.descendantCSEs := {PX_TS_CSE2.cseId};
 					
@@ -10000,7 +10000,7 @@ module OneM2M_PermutationFunctions {
 
 					// Test adapter configuration
 					// Register the CSE
-					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
+					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -10028,7 +10028,7 @@ module OneM2M_PermutationFunctions {
 					var integer v_aeIndex := -1;
 					var XSD.AnyURI v_remoteCSEAnncAddress;
 					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
-					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(PX_TS_CSE1.cseId, -, -, -, -, {f_getCompletePoA()});
+					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(PX_TS_CSE1.cseId, -, -, -, -, {f_getLocalPoA()});
 					var template RequestPrimitive v_updateRemoteCse := mw_updateRemoteCSE;
 					//v_createRemoteCse.primitiveContent.remoteCSE.descendantCSEs := {PX_TS_CSE2.cseId};
 					
@@ -10084,7 +10084,7 @@ module OneM2M_PermutationFunctions {
 					
 					//Test adapter configuration
 					// Register the CSE
-					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
+					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					f_checkCseSimuStatus();
 					
@@ -10122,7 +10122,7 @@ module OneM2M_PermutationFunctions {
 	
 					//Test adapter configuration
 					// Register the CSE
-					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
+					vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					f_checkCseSimuStatus();
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -10171,7 +10171,7 @@ module OneM2M_PermutationFunctions {
 					//Preamble
 					v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					//Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 				    f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
 					v_remoteCSEIndex := f_getLatestResourceIndex(vc_cse1);
@@ -10251,7 +10251,7 @@ module OneM2M_PermutationFunctions {
 					//Preamble
 					v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					//Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
 					v_remoteCSEIndex := f_getLatestResourceIndex(vc_cse1);
@@ -10334,7 +10334,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -10400,7 +10400,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -10461,7 +10461,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					v_localRemoteCseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
@@ -10537,7 +10537,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					v_localRemoteCseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
@@ -10604,7 +10604,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -10661,7 +10661,7 @@ module OneM2M_PermutationFunctions {
 					var XSD.AnyURI v_remoteCSEAnncAddress;
 					var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
 					var template RequestPrimitive v_createRequestRemoteCseAnnc := m_createRemoteCSEAnncBase;
-					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(PX_TS_CSE1.cseId, -, -, -, -, {f_getCompletePoA()});
+					var template RequestPrimitive v_createRemoteCse := m_createRemoteCSE_poa(PX_TS_CSE1.cseId, -, -, -, -, {f_getLocalPoA()});
 					var template RequestPrimitive v_updateRemoteCse := mw_updateRemoteCSE;
 					//v_createRemoteCse.primitiveContent.remoteCSE.descendantCSEs := {PX_TS_CSE2.cseId};
 
@@ -10722,7 +10722,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -10786,7 +10786,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					v_localRemoteCseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
@@ -10850,7 +10850,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -10911,7 +10911,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -10972,7 +10972,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -11031,7 +11031,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					//Preamble
 					vc_ae1.start(f_cse_createResource(int2,v_create));
@@ -11093,7 +11093,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					v_localRemoteCseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
@@ -11161,7 +11161,7 @@ module OneM2M_PermutationFunctions {
 					
 					// Test adapter configuration
 					// Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					v_localRemoteCseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 					
@@ -11225,7 +11225,7 @@ module OneM2M_PermutationFunctions {
 				  	f_cf02Up();
 
 				  	//Register the CSE
-				  	vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));	
+				  	vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));	
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
 				  	//Preamble
@@ -11288,7 +11288,7 @@ module OneM2M_PermutationFunctions {
 
 					// Test adapter configuration
 					// Register the CSE
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));	
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));	
 	
 					//Preamble
 					
@@ -11911,7 +11911,7 @@ module OneM2M_PermutationFunctions {
 
 					v_contentResponse.uRI := ?;
 
-						v_aeIndex := f_cse_preamble_registerAe(-,  {f_getCompletePoA(vc_aeSimuDesc.mcaPortIn, "")});//c_CRUDNDi);
+						v_aeIndex := f_cse_preamble_registerAe(-,  {f_getLocalPoA(vc_aeSimuDesc.mcaPortIn, "")});//c_CRUDNDi);
 					if(ispresent(p_parentRequestPrimitive)) {
 						v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
 						p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex);
@@ -11984,7 +11984,7 @@ module OneM2M_PermutationFunctions {
 
 					v_contentResponse.uRI := ?;
 
-						v_aeIndex := f_cse_preamble_registerAe(-,  {f_getCompletePoA(vc_aeSimuDesc.mcaPortIn, "")});//c_CRUDNDi);
+						v_aeIndex := f_cse_preamble_registerAe(-,  {f_getLocalPoA(vc_aeSimuDesc.mcaPortIn, "")});//c_CRUDNDi);
 
 					if(ispresent(p_parentRequestPrimitive)) {
 						v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex);	
@@ -12060,11 +12060,11 @@ module OneM2M_PermutationFunctions {
 
 					v_contentResponse.uRI := ?;
 
-						v_aeIndex := f_cse_preamble_registerAe(-,  {f_getCompletePoA(vc_aeSimuDesc.mcaPortIn, "")});//c_CRUDNDi);
+						v_aeIndex := f_cse_preamble_registerAe(-,  {f_getLocalPoA(vc_aeSimuDesc.mcaPortIn, "")});//c_CRUDNDi);
 
 					f_checkAeSimuStatus();
 					
-						vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, -, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, {f_getCompletePoA(PX_TS_AE2.mcaPortIn, "")}))); // AE2 is registred
+						vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, -, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, {f_getLocalPoA(PX_TS_AE2.mcaPortIn, "")}))); // AE2 is registred
 					
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2);
 					
diff --git a/OneM2M_Testcases_AE_Release_1.ttcn b/OneM2M_Testcases_AE_Release_1.ttcn
index 06a66b7412f0407c884a8328a3186c8b75f3d591..bfc286966b662afcb974b4141d0483eb032e599f 100644
--- a/OneM2M_Testcases_AE_Release_1.ttcn
+++ b/OneM2M_Testcases_AE_Release_1.ttcn
@@ -648,7 +648,7 @@ module OneM2M_Testcases_AE_Release_1 {
 						var template UtTriggerPrimitive v_utRequest := m_utCreateAe;
 						var template RequestPrimitive v_createAe := mw_createAe;
 						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid AE CREATE Registration Request containing attribute SupportedReleaseVersions";
-						v_utRequest.requestPrimitive.primitiveContent.aE.supportedReleaseVersions := {"3"};
+						v_utRequest.requestPrimitive.primitiveContent.aE.supportedReleaseVersions := {"1", "2", "2a", "3"};
 						v_utRequest.forcedFields := {{name := "supportedReleaseVersions", value_ := "UNINITIALIZED"}};
 						v_createAe.primitiveContent.aE.supportedReleaseVersions := ?;//Check value other than UNINITIALIZED, done by typing
 						v_cse1.start(f_AE_REG_CRE_002(v_utRequest,v_createAe,v_action));
@@ -1049,7 +1049,7 @@ module OneM2M_Testcases_AE_Release_1 {
 						
 						v_utRequest.requestPrimitive.primitiveContent.aE.expirationTime := "20301231T012345";
 						
-						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest;
+						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentUpdateAe;
 						v_expectedUpdateRequestAe.primitiveContent.aE.expirationTime := ?;
 												
 						v_cse1.start(f_AE_DMR_UPD_001(v_utRequest, v_action, v_expectedUpdateRequestAe));
@@ -1065,7 +1065,7 @@ module OneM2M_Testcases_AE_Release_1 {
 						
 						v_utRequest.requestPrimitive.primitiveContent.aE.labels := {"UNINITIALIZED"};
 						
-						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest;
+						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentUpdateAe;
 						v_expectedUpdateRequestAe.primitiveContent.aE.labels := complement({*,"UNINITIALIZED",*});
 					   
 						
@@ -1083,7 +1083,7 @@ module OneM2M_Testcases_AE_Release_1 {
 						
 						v_utRequest.requestPrimitive.primitiveContent.aE.appName := "UNINITIALIZED";
 
-						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest;
+						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentUpdateAe;
 						v_expectedUpdateRequestAe.primitiveContent.aE.appName := complement("UNINITIALIZED");
 						
 						v_cse1.start(f_AE_DMR_UPD_001(v_utRequest,v_action, v_expectedUpdateRequestAe));
@@ -1100,7 +1100,7 @@ module OneM2M_Testcases_AE_Release_1 {
 						
 						v_utRequest.requestPrimitive.primitiveContent.aE.pointOfAccess := {"UNINITIALIZED"};
 
-						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest;
+						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentUpdateAe;
 						v_expectedUpdateRequestAe.primitiveContent.aE.pointOfAccess := complement({*,"UNINITIALIZED", *});
 						
 						v_cse1.start(f_AE_DMR_UPD_001(v_utRequest,v_action, v_expectedUpdateRequestAe));
@@ -1116,7 +1116,7 @@ module OneM2M_Testcases_AE_Release_1 {
 						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for AE updating attribute ontologyRef to ";
 						v_utRequest.requestPrimitive.primitiveContent.aE.ontologyRef := "UNINITIALIZED";
 
-						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest;
+						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentUpdateAe;
 						v_expectedUpdateRequestAe.primitiveContent.aE.ontologyRef := complement("UNINITIALIZED");
 						
 						v_cse1.start(f_AE_DMR_UPD_001(v_utRequest,v_action, v_expectedUpdateRequestAe));
@@ -1132,7 +1132,7 @@ module OneM2M_Testcases_AE_Release_1 {
 						var universal charstring v_action :=  __SCOPE__ & ": Please, send a valid UPDATE Request for AE updating attribute nodeLink to ";
 						v_utRequest.requestPrimitive.primitiveContent.aE.nodeLink := "UNINITIALIZED";
 
-						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest;
+						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentUpdateAe;
 						v_expectedUpdateRequestAe.primitiveContent.aE.nodeLink := complement("UNINITIALIZED");
 						
 						v_cse1.start(f_AE_DMR_UPD_001(v_utRequest,v_action, v_expectedUpdateRequestAe));
@@ -1148,7 +1148,7 @@ module OneM2M_Testcases_AE_Release_1 {
 						v_utRequest.requestPrimitive.primitiveContent.aE.requestReachability := true;
 						v_utRequest.forcedFields := {{name := "requestReachability", value_ := "UNINITIALIZED"}};
 						
-						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest;
+						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentUpdateAe;
 						v_expectedUpdateRequestAe.primitiveContent.aE.requestReachability := ?;//Check value other than "UNINITIALIZED", done by typing
 						
 						v_cse1.start(f_AE_DMR_UPD_001(v_utRequest,v_action, v_expectedUpdateRequestAe));
@@ -1164,7 +1164,7 @@ module OneM2M_Testcases_AE_Release_1 {
 						v_utRequest.requestPrimitive.primitiveContent.aE.contentSerialization := {applicationxml};
 						v_utRequest.forcedFields := {{name := "contentSerialization", value_ := "UNINITIALIZED"}};
 						
-						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentAeUpdateRequest;
+						v_expectedUpdateRequestAe.primitiveContent.aE := mw_contentUpdateAe;
 						v_expectedUpdateRequestAe.primitiveContent.aE.contentSerialization := ?;//Check value other than "UNINITIALIZED", done by typing
 						
 						v_cse1.start(f_AE_DMR_UPD_001(v_utRequest,v_action, v_expectedUpdateRequestAe));
diff --git a/OneM2M_Testcases_AE_Release_3.ttcn b/OneM2M_Testcases_AE_Release_3.ttcn
index 0754347b80a16aa450ad0a02296c1ee6af19d603..d5d5a2e4f9cf37368691b8df173dd1943a25e3bb 100644
--- a/OneM2M_Testcases_AE_Release_3.ttcn
+++ b/OneM2M_Testcases_AE_Release_3.ttcn
@@ -1171,7 +1171,7 @@ module OneM2M_Testcases_AE_Release_3 {
 						
 						//Creating resource in Hosting CSE
 						var E2eSecInfo v_myE2eSecInfo := {{int11},omit,omit}; //sharedReceiverESPrimRandObject not present
-						v_poa:= f_getCompletePoA(PX_TS_CSE2.mccPortIn, "");
+						v_poa:= f_getLocalPoA(PX_TS_CSE2.mccPortIn, "");
 						v_receiverRemoteCSE := m_primitiveContentRemoteCSE(m_contentRemoteCSE_e2eSecInfo(v_myE2eSecInfo, v_poa, PX_TS_CSE2));
 						
 						vc_cse2.start(f_generateAndSetLocalResource(valueof(v_receiverRemoteCSE), -, int16));
@@ -1259,7 +1259,7 @@ module OneM2M_Testcases_AE_Release_3 {
 						var AbsRelTimestamp myAbsRelTimestamp;
 						myAbsRelTimestamp.alt_ := "20181231T012345";
 						var E2eSecInfo v_myE2eSecInfo := {{int11},omit,{"1","24",myAbsRelTimestamp,{int1},{int10}}}; //expired sharedReceiverESPrimRandObject 
-						v_poa:= f_getCompletePoA(PX_TS_CSE2.mccPortIn, "");
+						v_poa:= f_getLocalPoA(PX_TS_CSE2.mccPortIn, "");
 						v_receiverRemoteCSE := m_primitiveContentRemoteCSE(m_contentRemoteCSE_e2eSecInfo(v_myE2eSecInfo, v_poa, PX_TS_CSE2));
 					
 						vc_cse2.start(f_generateAndSetLocalResource(valueof(v_receiverRemoteCSE), -, int16));
@@ -1426,7 +1426,7 @@ module OneM2M_Testcases_AE_Release_3 {
 						var AbsRelTimestamp myAbsRelTimestamp;
 						myAbsRelTimestamp.alt_ := "20331231T012345";
 						var E2eSecInfo v_myE2eSecInfo := {{int11},omit,{"1","24",myAbsRelTimestamp,{int1},{int10}}}; //expired sharedReceiverESPrimRandObject 
-						v_poa:= f_getCompletePoA(vc_cseSimuDesc.mccPortIn, "");
+						v_poa:= f_getLocalPoA(vc_cseSimuDesc.mccPortIn, "");
 						v_receiverRemoteCseResource := m_primitiveContentRemoteCSE(m_contentRemoteCSE_e2eSecInfo(v_myE2eSecInfo, v_poa, vc_cseSimuDesc));
 						v_receiverRemoteCseIndex := f_generateAndSetLocalResource(valueof(v_receiverRemoteCseResource), -, int16);
 						
@@ -1520,7 +1520,7 @@ module OneM2M_Testcases_AE_Release_3 {
 							
 						//Creating resource in Hosting CSE
 						var E2eSecInfo v_myE2eSecInfo := {{int11},omit,omit}; //sharedReceiverESPrimRandObject not present
-						v_poa:= f_getCompletePoA(PX_TS_CSE2.mccPortIn, "");
+						v_poa:= f_getLocalPoA(PX_TS_CSE2.mccPortIn, "");
 						v_receiverRemoteCseResource := m_primitiveContentRemoteCSE(m_contentRemoteCSE_e2eSecInfo(v_myE2eSecInfo, v_poa, PX_TS_CSE2));
 						
 						vc_cse2.start(f_generateAndSetLocalResource(valueof(v_receiverRemoteCseResource), -, int16));
@@ -1610,7 +1610,7 @@ module OneM2M_Testcases_AE_Release_3 {
 						var AbsRelTimestamp myAbsRelTimestamp;
 						myAbsRelTimestamp.alt_ := "20181231T012345";
 						var E2eSecInfo v_myE2eSecInfo := {{int11},omit,{"1","24",myAbsRelTimestamp,{int1},{int10}}}; //expired sharedReceiverESPrimRandObject 
-						v_poa:= f_getCompletePoA(PX_TS_CSE2.mccPortIn, "");
+						v_poa:= f_getLocalPoA(PX_TS_CSE2.mccPortIn, "");
 						v_receiverRemoteCseResource := m_primitiveContentRemoteCSE(m_contentRemoteCSE_e2eSecInfo(v_myE2eSecInfo, v_poa, PX_TS_CSE2));
 						
 						vc_cse2.start(f_generateAndSetLocalResource(valueof(v_receiverRemoteCseResource), -, int16));
diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn
index 8f9f37cc564f46515b8bab6913f1edbf824ee2d7..ecd0b59fcbd175d3f6097648a030ffe174abb461 100644
--- a/OneM2M_Testcases_CSE_Release_1.ttcn
+++ b/OneM2M_Testcases_CSE_Release_1.ttcn
@@ -1123,7 +1123,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					testcase TC_CSE_REG_CRE_012_AE_POA() runs on Tester system CseSystem {
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, PX_TS_AE1.aeIdStem);
-						v_create.primitiveContent.aE.pointOfAccess := {f_getCompletePoA(PX_TS_AE1.mcaPortIn)};
+						v_create.primitiveContent.aE.pointOfAccess := {f_getLocalPoA(PX_TS_AE1.mcaPortIn)};
 						v_ae1.start(f_CSE_REG_CRE_012(v_create));
 						v_ae1.done;
 					}
@@ -1183,7 +1183,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 						const AttributeAux c_optionalAttribute := {"pointOfAccess", omit};
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 	
-						v_createRequest.primitiveContent.remoteCSE.pointOfAccess := {f_getCompletePoA(PX_TS_CSE1.mccPortIn)};
+						v_createRequest.primitiveContent.remoteCSE.pointOfAccess := {f_getLocalPoA(PX_TS_CSE1.mccPortIn)};
 	
 						v_cse1.start(f_CSE_REG_CRE_013(v_createRequest, c_optionalAttribute));
 						v_cse1.done;
@@ -1993,11 +1993,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 						
 						 v_request := valueof(m_createRemoteCSEBase);
 						 v_request.primitiveContent.remoteCSE.cseType := int2;	//MN_CSE
-						 v_request.primitiveContent.remoteCSE.pointOfAccess := {f_getCompletePoA(PX_TS_CSE1.mccPortIn)};
+						 v_request.primitiveContent.remoteCSE.pointOfAccess := {f_getLocalPoA(PX_TS_CSE1.mccPortIn)};
 		
 						 v_contentResponse.remoteCSE := mw_contentRemoteCSEBase;
 						 v_contentResponse.remoteCSE.cseType := int2;	//MN_CSE
-						 v_contentResponse.remoteCSE.pointOfAccess := {f_getCompletePoA(PX_TS_CSE1.mccPortIn)};
+						 v_contentResponse.remoteCSE.pointOfAccess := {f_getLocalPoA(PX_TS_CSE1.mccPortIn)};
 		
 						 v_cse1.start(f_CSE_REG_CRE_028(v_request, v_contentResponse));
 						 v_cse1.done;
@@ -2525,7 +2525,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 						 var template RequestPrimitive v_createRequest := m_createAe(PX_TS_AE1.appId, -, PX_TS_AE1.aeIdStem);
 						 var template PrimitiveContent v_contentResponse;
 						
-						 v_createRequest.primitiveContent.aE.pointOfAccess := {f_getCompletePoA(PX_TS_AE1.mcaPortIn)};
+						 v_createRequest.primitiveContent.aE.pointOfAccess := {f_getLocalPoA(PX_TS_AE1.mcaPortIn)};
 
 						 v_contentResponse.aE := mw_contentAeBase;
 						 v_contentResponse.aE.pointOfAccess := ?;
@@ -2731,7 +2731,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 						var template RequestPrimitive v_createRequest := m_createRemoteCSEBase;
 						var template PrimitiveContent v_contentResponse;
 						
-						v_createRequest.primitiveContent.remoteCSE.pointOfAccess := {f_getCompletePoA(PX_TS_CSE1.mccPortIn)};
+						v_createRequest.primitiveContent.remoteCSE.pointOfAccess := {f_getLocalPoA(PX_TS_CSE1.mccPortIn)};
 
 						v_contentResponse.remoteCSE := mw_contentRemoteCSEBase;
 						v_contentResponse.remoteCSE.pointOfAccess := ?;
@@ -2801,14 +2801,14 @@ module OneM2M_Testcases_CSE_Release_1 {
 							
 							if (v_response.primitive.responsePrimitive.primitiveContent.cSEBase.supportedResourceType == PX_SRT) {
 								setverdict(pass, __SCOPE__ & ": supportedResourceTypes attribute is set according to PX_SRT");
-							}else{
+							} else {
 								setverdict(fail, __SCOPE__ & ": supportedResourceTypes attribute is not set according to PX_SRT");
 							}
 							
-							if (v_response.primitive.responsePrimitive.primitiveContent.cSEBase.pointOfAccess==PX_POA){
-								setverdict(pass, __SCOPE__ & ": supportedResourceTypes attribute is set according to PX_POA");
-							}else{
-								setverdict(fail, __SCOPE__ & ": supportedResourceTypes attribute is not set according to PX_POA");
+							if (match(v_response.primitive.responsePrimitive.primitiveContent.cSEBase.pointOfAccess, {*, f_getPoA(), *})) {
+								setverdict(pass, __SCOPE__ & ": pointOfAccess attribute is set according settings");
+							} else {
+								setverdict(fail, __SCOPE__ & ": pointOfAccess attribute is not set according settings");
 							}
 			
 						}
@@ -3066,7 +3066,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 						var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase;	
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
     					
-						v_updateRequest.primitiveContent.remoteCSE.pointOfAccess := {f_getCompletePoA(PX_TS_CSE1.mccPortIn)};
+						v_updateRequest.primitiveContent.remoteCSE.pointOfAccess := {f_getLocalPoA(PX_TS_CSE1.mccPortIn)};
 	
 						v_cse1.start(f_CSE_REG_UPD_002(v_updateRequest));
 						v_cse1.done;
@@ -3113,7 +3113,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 						var AttributeList c_optionalAttribute;
 						var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
 						
-						v_updateRequest.primitiveContent.remoteCSE.pointOfAccess := {f_getCompletePoA(PX_TS_CSE1.mccPortIn)};
+						v_updateRequest.primitiveContent.remoteCSE.pointOfAccess := {f_getLocalPoA(PX_TS_CSE1.mccPortIn)};
 						c_optionalAttribute := {"pointofAccess"};
 
 						v_cse1.start(f_CSE_REG_UPD_003(v_updateRequest, c_optionalAttribute));
@@ -6809,7 +6809,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_015_CSR_POA() runs on Tester system CseSystem {
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-						var PoaList v_poaList := {f_getCompletePoA(PX_TS_AE2.mcaPortIn)};
+						var PoaList v_poaList := {f_getLocalPoA(PX_TS_AE2.mcaPortIn)};
 					   var template RequestPrimitive v_updateRequest := m_updateRemoteCSEBase;
 					   var ResponsePrimitive v_responsePrimitive;
 					   var PrimitiveContent v_primitiveContentRetrieveResource;
@@ -6973,7 +6973,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 					
 					testcase TC_CSE_DMR_UPD_015_AE_POA() runs on Tester system CseSystem {
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
-						var PoaList v_poaList := {f_getCompletePoA(PX_TS_AE2.mcaPortIn)};
+						var PoaList v_poaList := {f_getLocalPoA(PX_TS_AE2.mcaPortIn)};
 						var template RequestPrimitive v_updateRequest := m_updateAeBase;
 						var ResponsePrimitive v_responsePrimitive;
 						var PrimitiveContent v_primitiveContentRetrieveResource;
@@ -10623,7 +10623,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 				
 					v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
 
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 				
 					v_aeIndex := f_cse_preamble_registerAe();				
@@ -11188,7 +11188,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 
 					// Preamble
 				
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 				
 					v_aeIndex := f_cse_preamble_registerAe();				
diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn
index bdb63eec39845ccb389c58185ed5476623bd1921..1d5c8c87bddb4f57fe9a7957c79ed7456ded35c3 100644
--- a/OneM2M_Testcases_CSE_Release_2.ttcn
+++ b/OneM2M_Testcases_CSE_Release_2.ttcn
@@ -2380,7 +2380,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 					// Preamble
 					f_cse_createAccessControlPolicyAux("SubscriptionVerificationAcp",{"all"}, int63);
 					
-					v_ae1Index := f_cse_createResource_withAcpAux(int2, m_createAe(vc_aeSimuDesc.appId, -, vc_aeSimuDesc.aeIdStem, c_defaultAe1ResourceName, {f_getCompletePoA(vc_aeSimuDesc.mcaPortIn, "")}), -1); // AE1 is registred
+					v_ae1Index := f_cse_createResource_withAcpAux(int2, m_createAe(vc_aeSimuDesc.appId, -, vc_aeSimuDesc.aeIdStem, c_defaultAe1ResourceName, {f_getLocalPoA(vc_aeSimuDesc.mcaPortIn, "")}), -1); // AE1 is registred
 					
 					vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, -, PX_TS_AE2.aeIdStem, c_defaultAe2ResourceName, omit), -1)); // AE2 is registred
 					
diff --git a/OneM2M_Testcases_CSE_Release_3.ttcn b/OneM2M_Testcases_CSE_Release_3.ttcn
index 1e01a4ba13e77c45449d90e52ffc12f3f6bd5c2f..a401acc6ec1fba7f80b3e9dcb91637ebfc980cb5 100644
--- a/OneM2M_Testcases_CSE_Release_3.ttcn
+++ b/OneM2M_Testcases_CSE_Release_3.ttcn
@@ -1530,7 +1530,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
 	
 						
-						v_createRequest.primitiveContent.timeSeries.announceTo := {f_getCompletePoA()};
+						v_createRequest.primitiveContent.timeSeries.announceTo := {f_getLocalPoA()};
 	
 						v_ae1.start(f_CSE_DMR_CRE_022(int29, v_createRequest, mw_createTimeSeriesAnnc));//TimeSeries
 						v_ae1.done;
@@ -1542,7 +1542,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesInstanceBase;
 
 						
-						v_createRequest.primitiveContent.timeSeriesInstance.announceTo := {f_getCompletePoA()};
+						v_createRequest.primitiveContent.timeSeriesInstance.announceTo := {f_getLocalPoA()};
 
 						v_ae1.start(f_CSE_DMR_CRE_022(int30, v_createRequest, mw_createTimeSeriesInstanceAnnc));//TimeSeriesInstance
 						v_ae1.done;
@@ -3782,7 +3782,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						var PrimitiveContent v_primitiveContentRetrieveResource;
 						v_createRequest.primitiveContent.accessControlPolicy.labels := v_labels_1;//Attribute 3
 						v_updateRequest.primitiveContent.accessControlPolicy.privileges := v_privileges_2; //Attribute 1
-						v_updateRequest.primitiveContent.accessControlPolicy.announceTo := {f_getCompletePoA()};//Attribute 2
+						v_updateRequest.primitiveContent.accessControlPolicy.announceTo := {f_getLocalPoA()};//Attribute 2
 						v_updateRequest.primitiveContent.accessControlPolicy.labels := v_labels_2;//Attribute 3
 						
 						v_nullFields := {{"labels", omit}};
@@ -3843,7 +3843,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						
 						v_createRequest.primitiveContent.schedule.scheduleElement := {{"0 0 0,1,2 1 1 * *"}};//Attribute 1
 						v_updateRequest.primitiveContent.schedule.scheduleElement := {{"1 1 1,2 1 1 * *"}}; //Attribute 1
-						v_updateRequest.primitiveContent.schedule.announceTo := {f_getCompletePoA()};//Attribute 2
+						v_updateRequest.primitiveContent.schedule.announceTo := {f_getLocalPoA()};//Attribute 2
 						v_updateRequest.primitiveContent.schedule.labels := v_labels_1;//Attribute 3
                 						
 						v_nullFields := {{"labels", omit}};
@@ -8350,7 +8350,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						var AbsRelTimestamp myAbsRelTimestamp;
 						myAbsRelTimestamp.alt_ := "20331231T012345";
 						var E2eSecInfo v_myE2eSecInfo := {{int11},omit,{"1","24",myAbsRelTimestamp,{int1},{int10}}}; //expired sharedReceiverESPrimRandObject 
-						v_poa:= f_getCompletePoA(PX_TS_CSE2.mccPortIn, "");
+						v_poa:= f_getLocalPoA(PX_TS_CSE2.mccPortIn, "");
 						v_receiverRemoteCseResource := m_primitiveContentRemoteCSE(m_contentRemoteCSE_e2eSecInfo(v_myE2eSecInfo, v_poa, PX_TS_CSE2));
 						v_receiverRemoteCseIndex := f_generateAndSetLocalResource(valueof(v_receiverRemoteCseResource), -, int16);
 						
@@ -8442,7 +8442,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						
 						//Creating resource in Hosting CSE
 						var E2eSecInfo v_myE2eSecInfo := {{int11},omit,omit}; //sharedReceiverESPrimRandObject not present
-						v_poa:= f_getCompletePoA(PX_TS_CSE2.mccPortIn, "");
+						v_poa:= f_getLocalPoA(PX_TS_CSE2.mccPortIn, "");
 						v_receiverRemoteCseResource := m_primitiveContentRemoteCSE(m_contentRemoteCSE_e2eSecInfo(v_myE2eSecInfo, v_poa, PX_TS_CSE2));
 						
 						vc_cse2.start(f_generateAndSetLocalResource(valueof(v_receiverRemoteCseResource), -, int16));
@@ -8532,7 +8532,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						var AbsRelTimestamp myAbsRelTimestamp;
 						myAbsRelTimestamp.alt_ := "20181231T012345";
 						var E2eSecInfo v_myE2eSecInfo := {{int11},omit,{"1","24",myAbsRelTimestamp,{int1},{int10}}}; //expired sharedReceiverESPrimRandObject 
-						v_poa:= f_getCompletePoA(PX_TS_CSE2.mccPortIn, "");
+						v_poa:= f_getLocalPoA(PX_TS_CSE2.mccPortIn, "");
 						v_receiverRemoteCseResource := m_primitiveContentRemoteCSE(m_contentRemoteCSE_e2eSecInfo(v_myE2eSecInfo, v_poa, PX_TS_CSE2));
 					
 						vc_cse2.start(f_generateAndSetLocalResource(valueof(v_receiverRemoteCseResource), -, int16));
@@ -10203,7 +10203,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					// Test adapter configuration
 
 					//Register the CSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 				  
 				  	f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 	
@@ -13799,7 +13799,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_getLatestResource(vc_ae1);
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
 					// CSE registraion
-					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
+					f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 					
 					// Create ontology resource at CSE1
 					v_ontologyRepResourceIndex := f_generateAndSetLocalResource(valueof(m_primitiveContentOntologyRepository(m_contentCreateOntologyRepository)), vc_cSEBaseIndex, int38);
@@ -13874,7 +13874,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe();
 					v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
                     
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
 					vc_cse1.start(f_generateAndSetLocalResource(valueof(m_primitiveContentOntologyRepository(m_contentCreateOntologyRepository)), v_cseBaseIndex, int38));
@@ -14912,7 +14912,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					vc_ae1.start(f_cse_preamble_registerAe());				
 					vc_ae1.done;
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
-					v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
+					v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 										
 					// Test Body
 					v_aeIndex := f_getLatestResource(vc_ae1);
@@ -14992,7 +14992,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe();
 					v_cseBaseIndex := f_getLatestLocalResourceIndex(vc_cse1);
                     
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 
 					vc_cse1.start(f_generateAndSetLocalResource(valueof(m_primitiveContentOntologyRepository(m_contentCreateOntologyRepository)), v_cseBaseIndex, int38));
@@ -15086,7 +15086,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					vc_ae1.start(f_cse_preamble_registerAe());				
 					vc_ae1.done;
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
-					v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()}));
+					v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()}));
 										
 					// Test Body
 					v_aeIndex := f_getLatestResource(vc_ae1);
@@ -15169,7 +15169,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					v_aeIndex := f_cse_preamble_registerAe();
                     
                     // Preamble - register remoteCSE
-					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getCompletePoA()})));
+					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, -, {f_getLocalPoA()})));
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					
 					//Create ontology Repository and ontology resource in CSE
@@ -16040,7 +16040,7 @@ module OneM2M_Testcases_CSE_Release_3 {
                     vc_ae1.start(f_cse_preamble_registerAe());              
                     vc_ae1.done;
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
-                    v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
+                    v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
                                         
                     // Test Body
                     v_aeIndex := f_getLatestResource(vc_ae1);
@@ -16694,7 +16694,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 					vc_ae1.start(f_cse_preamble_registerAe());              
 					vc_ae1.done;
 					f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
-					v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getCompletePoA()}));
+					v_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSE_poa(vc_cseSimuDesc.cseId, -, -, -, -, {f_getLocalPoA()}));
 
 					// Create local <semanticMashupInstance> in remote CSE
 					v_semanticDescriptorCse1Index := f_generateAndSetLocalResource(valueof(m_primitiveContentSemanticMashupInstance(m_contentSemanticMashupInstance)), -, int24);