diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 4ec80b9961fdd9a793ae09a02c8b0967bc3b7d46..e47f3556b95d8cd98ffb2426777bc2cc5fcb08e6 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -2016,7 +2016,7 @@ module OneM2M_Functions {
 					mccPort.send(f_getMsgOutPrimitive(m_request(valueof(p_requestPrimitive))));
 					tc_ac.start;
 					alt {
-						[] mccPort.receive(mw_response(mw_responsePrimitive(int2000, mw_primitiveContentNotification(mw_contentNotification_any)))) -> value vc_response {
+						[] mccPort.receive(mw_response(mw_responseNotify(int2000))) -> value vc_response {
 							tc_ac.stop;
 						}
 						[] mccPort.receive(mw_response(mw_responsePrimitiveKO)) {
@@ -3317,9 +3317,15 @@ module OneM2M_Functions {
 
 			if (p_resourceType == int1) {//AccessControlPolicy
 				
-			} 
-			
-			if (p_resourceType == int9) {//group
+			} else if (p_resourceType == int2) {//AE
+				if(ispresent(p_request.primitiveContent.aE.pointOfAccess)) {
+					p_request.primitiveContent.aE.requestReachability := true;
+				}
+			} else if (p_resourceType == int16) {//remoteCSE
+				if(ispresent(p_request.primitiveContent.remoteCSE.pointOfAccess)) {
+					p_request.primitiveContent.remoteCSE.requestReachability := true;
+				}
+			} else if (p_resourceType == int9) {//group
 				if(match(valueof(p_request.primitiveContent.group_.memberIDs), v_defaultListOfURIs )){
 					if ((p_parentIndex == -1) and (isbound(vc_aeAuxIndex))){
 						p_request.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[vc_aeAuxIndex].resource)};
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index abfc5cf85136a7cbadbb13181a99c12752818634..74e868b9b2ec497c3ce7ee00dfc6ec56263e5daf 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -1507,7 +1507,15 @@ module OneM2M_Templates {
 			 * @desc Base NOTIFY request primitive
 			 */
 			template RequestPrimitive m_notifyNotification(XSD.ID p_resourceAddress, Notification p_notification) modifies m_notify := {
-				primitiveContent := {notification := p_notification}
+				primitiveContent := {notification := p_notification},
+				requestExpirationTimestamp := {alt_1 := 10000}//Needed for polling
+			};
+			
+			/**
+			 * @desc Base NOTIFY request primitive carrying a responsePrimitive
+			 */
+			template RequestPrimitive m_notifyResponsePrimitive(XSD.ID p_resourceAddress, ResponsePrimitive p_responsePrimitive) modifies m_notify := {
+				primitiveContent := {responsePrimitive := p_responsePrimitive}
 			};
 			
 			/**
@@ -1621,6 +1629,10 @@ module OneM2M_Templates {
 		template PrimitiveContent m_primitiveContentRemoteCSE(template RemoteCSE_optional p_remoteCSE) := {
 			remoteCSE := p_remoteCSE
 		}
+		
+		template PrimitiveContent m_primitiveContentResponsePrimitive(template ResponsePrimitive p_responsePrimitive) := {
+			responsePrimitive := p_responsePrimitive
+		}		
 				
 		template PrimitiveContent mw_primitiveContent := ?;
 		
@@ -1653,7 +1665,7 @@ module OneM2M_Templates {
 			pointOfAccess := omit, //{"http://127.0.0.1:1400/monitor"},//O //{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
 			ontologyRef := omit,//O
 			nodeLink := p_nodeLink,//NP
-			requestReachability := true,//M
+			requestReachability := false,//M
 			contentSerialization := omit,//O
 			e2eSecInfo := omit, //O TODO Check whether it is optional or mandatory for create operation
 			supportedReleaseVersions := {"2a"}, //M
@@ -1747,7 +1759,7 @@ module OneM2M_Templates {
     		pointOfAccess := p_poaList, //O {"http://127.0.0.1:1400/monitor"},//{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
     		ontologyRef := omit,//O
     		nodeLink := omit,//NP
-    		requestReachability := true,//M
+    		requestReachability := false,//M
     		contentSerialization := omit,//O
 			e2eSecInfo := omit, //O
 			supportedReleaseVersions := {"2a"}, //M
@@ -2457,7 +2469,7 @@ module OneM2M_Templates {
 			cSE_ID := valueof(p_cSE_ID),//M
 			m2M_Ext_ID := omit,//O
 			trigger_Recipient_ID := omit,//O
-			requestReachability := true,//M
+			requestReachability := false,//M
 			nodeLink := omit,//O
 			triggerReferenceNumber := omit,//O
 			e2eSecInfo := omit,//O
@@ -5030,7 +5042,22 @@ module OneM2M_Templates {
 			vendorInformation := omit
 		};
 		
-		
+		template ResponsePrimitive mw_responseNotify(ResponseStatusCode p_statusCode) := {
+			responseStatusCode := p_statusCode,
+			requestIdentifier := ?,
+			primitiveContent := omit,
+			to_ := *,
+			from_ := *,
+			originatingTimestamp := *,
+			resultExpirationTimestamp := *,
+			eventCategory := *,
+			contentStatus := *,
+			contentOffset := *,
+			assignedTokenIdentifiers := *,
+			tokenRequestInformation := *,
+			releaseVersionIndicator := ?,
+			vendorInformation := *
+		};
     	
 		group InfoPortTemplates {
 		
diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index d80caf9828c6515bd5094a778a4d7daaec2e4e21..f22717ec0a97ac94822a7402a1849e30d5a5a885 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -9013,262 +9013,6 @@ module OneM2M_PermutationFunctions {
 		
 		group PollingChannel {
 			
-			function f_CSE_PCH_001() runs on AeSimu {
-				// Local variables
-				var integer v_aeIndex := -1;
-				var integer v_resourceIndex := -1;
-				var RequestPrimitive v_request;
-				var MsgIn v_response;
-				var RequestPrimitive v_requestNotify;
-	
-				// Test control
-
-				// Test component configuration
-				f_cf02Up();
-
-				// Test adapter configuration
-
-				// Preamble
-				vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));
-				vc_cse1.done;
-	
-				v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred;
-	
-				v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex);
-	
-				v_request := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
-				mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
-	
-				v_requestNotify := valueof(m_notify(f_getResourceAddress(v_aeIndex)));
-	
-				vc_cse1.start(f_cse_notifyProcedure_notify(v_requestNotify));
-	
-				tc_ac.start;
-				alt {
-					[] mcaPort.receive(mw_response(mw_responsePollingResponse(v_requestNotify))) -> value v_response {
-						tc_ac.stop;
-						setverdict(pass, __SCOPE__ & ": Polling response received");
-					}
-					[] mcaPort.receive(mw_response(mw_responsePollingResponse)) { 
-						tc_ac.stop;
-						setverdict(fail, __SCOPE__ & ": Content not carrying request targeting AE1");
-					}
-					[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { 
-						tc_ac.stop;
-						setverdict(fail, __SCOPE__ & ": Wrong status code");
-					}
-					[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
-						tc_ac.stop;
-						setverdict(fail, __SCOPE__ & ": Error while retrieving resource");
-					}
-					[] tc_ac.timeout {
-						setverdict(fail, __SCOPE__ & ": No answer while retrieving resource");
-					}
-				 }	
-					
-				// Postamble
-				f_cse_postamble_deleteResources();
-	
-				// Tear down
-				f_cf01Down();
-			} // end TC_CSE_PCH_001
-			
-			function f_CSE_PCH_002() runs on AeSimu {
-				// Local variables
-				var integer v_aeIndex := -1;
-				var integer v_resourceIndex := -1;
-				var RequestPrimitive v_request;
-				var MsgIn v_response;
-				var RequestPrimitive v_requestNotify;
-	
-				// Test control
-
-				// Test component configuration
-				f_cf02Up();
-
-				// Test adapter configuration
-
-				// Preamble
-				vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));
-				vc_cse1.done;
-	
-				v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred;
-	
-				v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex);
-	
-				v_requestNotify := valueof(m_notify(f_getResourceAddress(v_aeIndex)));
-	
-				vc_cse1.start(f_cse_notifyProcedure_notify(v_requestNotify));
-	
-				v_request := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
-				mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
-					
-				tc_ac.start;
-				alt {
-					[] mcaPort.receive(mw_response(mw_responsePollingResponse(v_requestNotify))) -> value v_response {
-						tc_ac.stop;
-						setverdict(pass, __SCOPE__ & ": Polling response received");
-					}
-					[] mcaPort.receive(mw_response(mw_responsePollingResponse)) { 
-						tc_ac.stop;
-						setverdict(fail, __SCOPE__ & ": Content not carrying request targeting AE1");
-					}
-					[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { 
-						tc_ac.stop;
-						setverdict(fail, __SCOPE__ & ": Wrong status code");
-					}
-					[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
-						tc_ac.stop;
-						setverdict(fail, __SCOPE__ & ": Error while retrieving resource");
-					}
-					[] tc_ac.timeout {
-						setverdict(fail, __SCOPE__ & ": No answer while retrieving resource");
-					}
-				 }	
-					
-				// Postamble
-				f_cse_postamble_deleteResources();
-	
-				// Tear down
-				f_cf01Down();
-			} // end TC_CSE_PCH_002
-			
-			function f_CSE_PCH_003() runs on AeSimu {
-				//Local variables
-				 var integer v_aeIndex := -1;
-				 var integer v_resourceIndex := -1;
-				 var RequestPrimitive v_request;
-				 var MsgIn v_response;
-				 var RequestPrimitive v_requestNotify;
-
-				 // Test control
-
-
-				 // Test component configuration
-				 f_cf02Up();
-
-				 // Test adapter configuration
-
-				 // Preamble
-				 vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));
-				 vc_cse1.done;
-
-				 v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred;
-
-				 v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex);
-	 
-				v_request := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
-				mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
-	
-				v_requestNotify := valueof(m_notify(f_getResourceAddress(v_aeIndex)));
-				vc_cse1.start(f_cse_notifyProcedure_notify(v_requestNotify));
-	
-				tc_ac.start;
-				alt {
-					[] mcaPort.receive(mw_response(mw_responsePollingResponse(v_requestNotify))) -> value v_response {
-						tc_ac.stop;
-						setverdict(pass, __SCOPE__ & ": Polling response received");
-					}
-					[] mcaPort.receive(mw_response(mw_responsePollingResponse)) { 
-						tc_ac.stop;
-						setverdict(fail, __SCOPE__ & ": Content not carrying request targeting AE1");
-					}
-					[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { 
-						tc_ac.stop;
-						setverdict(fail, __SCOPE__ & ": Wrong status code");
-					}
-					[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
-						tc_ac.stop;
-						setverdict(fail, __SCOPE__ & ": Error while retrieving resource");
-					}
-					[] tc_ac.timeout {
-						setverdict(fail, __SCOPE__ & ": No answer while retrieving resource");
-					}
-				 }
-	 
-				mcaPort.send(f_getMsgOutPrimitive(m_request(v_requestNotify)));
-	
-				//Postamble
-				f_cse_postamble_deleteResources();
-	
-				// Tear down
-				f_cf02Down();
-			}
-			
-			function f_CSE_PCH_004() runs on CseSimu {
-				//Local variables
-				var integer v_localResourceIndex := -1;
-				var MsgIn v_request_req1, v_request_req3;
-				var RequestPrimitive v_request_req2;
-				var ResponsePrimitive v_response_rsp1;
-				var template UtTriggerPrimitive v_utRequest1 := m_utCreatePollingChannel;
-				var template UtTriggerPrimitive v_utRequest2;
-				var charstring v_action1 := "Please, send a Polling Channel CREATE request";
-				var charstring v_action2 := "Please, send a Polling request (Retrieve PollingChannelURI request)";
-				var RequestPrimitive v_requestNotify;
-   
-				//Test control
-
-				 // Test component configuration
-				f_cf02UpCseSimuMaster();
-
-				// Test adapter configuration
-
-				 // Preamble
-				vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase);
-   
-				//send triggering primitive to SUT
-				v_localResourceIndex := f_cse_createLocalResource(v_utRequest1,v_action1);
- 
-				f_checkCseSimuStatus();
-   
-				//Trigger IUT for sending a polling request (req1)
-				v_utRequest2 := valueof(m_utRetrievePollingChannelUri(f_getLocalResourceAddress(v_localResourceIndex) & "/" & c_resourceShortNamePollingChannelUri));
-				f_sendUtPrimitive(v_utRequest2,v_action2);
-	
-				tc_ac.start;
-				alt {
-					[] mccPortIn.receive(mw_request(mw_retrieve(f_getResourceAddress(v_localResourceIndex) & "/" & c_resourceShortNamePollingChannelUri))) -> value v_request_req1 {
-						tc_ac.stop;
-						setverdict(pass, __SCOPE__&":INFO: Polling request received successfuly");
-						v_response_rsp1 := valueof(m_responsePrimitive(int2000,v_request_req1.primitive.requestPrimitive.requestIdentifier));
-						v_response_rsp1.from_ := PX_CSE1_ID;
-						v_response_rsp1.to_ := v_request_req1.primitive.requestPrimitive.from_;
-						//Put in the primitiveContent a Notify request (req2) (simulated) from another node CSE
-						v_request_req2 := valueof(m_notify(f_getResourceAddress(vc_remoteCseIndex)));
-						v_response_rsp1.primitiveContent := { requestPrimitive := v_request_req2 };
-						mccPortIn.send(f_getMsgOutPrimitive(m_response(v_response_rsp1)));
-				   }
-				   [] tc_ac.timeout {
-					   setverdict(inconc, __SCOPE__&":INFO: No request received for creating resource type Polling Channel");
-				   }
-				}
-				
-				f_checkCseSimuStatus();
-	
-				tc_ac.start;
-				alt {
-					[] mccPortIn.receive(mw_request(mw_notifyResponsePrimitive(?))) -> value v_request_req3 {
-						tc_ac.stop;
-						//Check that primitiveContent carries the response to req2 (resp2)
-						if(v_request_req3.primitive.requestPrimitive.primitiveContent.responsePrimitive.requestIdentifier == v_request_req2.requestIdentifier) {
-							setverdict(pass, __SCOPE__ & ": NOTIFY request received carrying response (rsp2) to the Notify request (req2)");
-						} else {
-							setverdict(fail, __SCOPE__ & ": NOTIFY request received not carryng the expected response (rsp2) to the Notify request (req2)");
-						}
-					}
-					[] tc_ac.timeout {
-						setverdict(fail, __SCOPE__ & ": No message while expecting NOTIFY request");
-					}
-				 }
-	
-				//Postamble
-				f_cse_postamble_deleteResourcesCSE();
-		
-				// Tear down
-				f_cf02DownCseSimuMaster();
-			}
-			
 			function f_CSE_PCH_005(template RequestPrimitive p_requestPrimitive) runs on AeSimu {
 		
 				//Local variables
diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn
index 150efa7df0c4e966f343d641358dff272ee8b09f..822112e038a2ce54cad359b6facac9bd152cd46a 100644
--- a/OneM2M_Testcases_CSE_Release_2.ttcn
+++ b/OneM2M_Testcases_CSE_Release_2.ttcn
@@ -12559,9 +12559,9 @@ module OneM2M_Testcases_CSE_Release_2 {
 				var integer v_aeIndex := -1;
 				var integer v_resourceIndex := -1;
 				var integer v_acpAuxIndex := -1;
-				var RequestPrimitive v_request;
-				var MsgIn v_response;
-				var RequestPrimitive v_requestNotify;
+				var RequestPrimitive v_req1;
+				var MsgIn v_resp1;
+				var RequestPrimitive v_req2;
 				
 				// Test control
 	
@@ -12580,16 +12580,16 @@ module OneM2M_Testcases_CSE_Release_2 {
 				
 				v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex);
 				
-				v_request := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
-				mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
+				v_req1 := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
+				mcaPort.send(f_getMsgOutPrimitive(m_request(v_req1)));
 				
-				v_requestNotify := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification));
+				v_req2 := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification));
 				
-				vc_cse1.start(f_cse_notifyProcedure_notify(v_requestNotify));
+				vc_cse1.start(f_cse_notifyProcedure_notify(v_req2));
 				
 				tc_ac.start;
 				alt {
-					[] mcaPort.receive(mw_response(mw_responsePollingResponse(v_requestNotify))) -> value v_response {
+					[] mcaPort.receive(mw_response(mw_responsePollingResponse(v_req2))) -> value v_resp1 {
 						tc_ac.stop;
 						setverdict(pass, __SCOPE__ & ": Polling response received");
 					}
@@ -12635,7 +12635,7 @@ module OneM2M_Testcases_CSE_Release_2 {
 									
 			function f_CSE_PCH_002() runs on AeSimu {
 				// Local variables
-				var integer v_aeIndex := -1;
+				var integer v_aeIndex, v_acpAuxIndex := -1;
 				var integer v_resourceIndex := -1;
 				var RequestPrimitive v_request;
 				var MsgIn v_response;
@@ -12652,11 +12652,13 @@ module OneM2M_Testcases_CSE_Release_2 {
 				vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));
 				vc_cse1.done;
 				
-				v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred;
+				v_acpAuxIndex := f_cse_preamble_createAcpAux();
+				
+				v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//AE1 is registred;
 				
 				v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex);
 				
-				v_requestNotify := valueof(m_notify(f_getResourceAddress(v_aeIndex)));
+				v_requestNotify := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification));
 				
 				vc_cse1.start(f_cse_notifyProcedure_notify(v_requestNotify));
 				
@@ -12710,37 +12712,44 @@ module OneM2M_Testcases_CSE_Release_2 {
 			
 			function f_CSE_PCH_003() runs on AeSimu {
 				//Local variables
-				 var integer v_aeIndex := -1;
-				 var integer v_resourceIndex := -1;
-				 var RequestPrimitive v_request;
-				 var MsgIn v_response;
-				 var RequestPrimitive v_requestNotify;
+				var integer v_aeIndex, v_acpAuxIndex := -1;
+				var integer v_resourceIndex := -1;
+				var RequestPrimitive v_req1;
+				var RequestPrimitive v_req2;
+				var RequestPrimitive v_req3;
+				var MsgIn v_resp1, v_resp3;
+				var ResponsePrimitive v_resp2;//Response to a Notify Request
 	
-				 // Test control
+				// Test control
 
 
-				 // Test component configuration
-				 f_cf02Up();
+				// Test component configuration
+				f_cf02Up();
 
-				 // Test adapter configuration
+				// Test adapter configuration
 
-				 // Preamble
-				 vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));
-				 vc_cse1.done;
-	
-				 v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred;
+				// Preamble
+				vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));
+				vc_cse1.done;
 	
-				 v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex);
+				v_acpAuxIndex := f_cse_preamble_createAcpAux();
+				
+			    v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//AE1 is registred;
+				
+				v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex);
 				 
-				v_request := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
-				mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
+				v_req1 := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
+				mcaPort.send(f_getMsgOutPrimitive(m_request(v_req1)));
 				
-				v_requestNotify := valueof(m_notify(f_getResourceAddress(v_aeIndex)));
-				vc_cse1.start(f_cse_notifyProcedure_notify(v_requestNotify));
+				//v_req2 := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification));
+				v_req2 := valueof(m_notify(f_getResourceAddress(v_aeIndex)));
+				v_req2.requestExpirationTimestamp := {alt_1 := 15000};
+				
+				vc_cse1.start(f_cse_notifyProcedure_notify(v_req2));
 				
 				tc_ac.start;
 				alt {
-					[] mcaPort.receive(mw_response(mw_responsePollingResponse(v_requestNotify))) -> value v_response {
+					[] mcaPort.receive(mw_response(mw_responsePollingResponse(v_req2))) -> value v_resp1 {
 						tc_ac.stop;
 						setverdict(pass, __SCOPE__ & ": Polling response received");
 					}
@@ -12759,9 +12768,37 @@ module OneM2M_Testcases_CSE_Release_2 {
 					[] tc_ac.timeout {
 						setverdict(fail, __SCOPE__ & ": No answer while retrieving resource");
 					}
-				 }
+				}
+				 
+				f_checkAeSimuStatus();
+				
+				//Send response in any case
+				v_resp2 := valueof(m_responseNotification(int2000, omit));
+				v_resp2.requestIdentifier := v_resp1.primitive.responsePrimitive.primitiveContent.requestPrimitive.requestIdentifier;
+				v_req3 := valueof(m_notifyResponsePrimitive(f_getResourceAddress(v_resourceIndex) & "/" & c_resourceShortNamePollingChannelUri, v_resp2));
+				v_req3.from_ := f_getOriginator(v_aeIndex);
+				mcaPort.send(f_getMsgOutPrimitive(m_request(v_req3)));
 				 
-				mcaPort.send(f_getMsgOutPrimitive(m_request(v_requestNotify)));
+				tc_ac.start;
+				alt {
+					[] mcaPort.receive(mw_response(mw_responseNotify(int2000))) -> value v_resp3 {
+						tc_ac.stop;
+						setverdict(pass, __SCOPE__ & ": Polling response received");
+					}
+					[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+						tc_ac.stop;
+						setverdict(fail, __SCOPE__&":INFO: Error while performing notification");
+					}
+					[] mcaPort.receive {
+						tc_ac.stop;
+						setverdict(fail, __SCOPE__&":INFO: Unexpected message received");
+					}
+					[] tc_ac.timeout {
+						setverdict(fail, __SCOPE__&":INFO: No answer while performing notification");
+					}
+				}
+				
+				f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 				
 				//Postamble
  			    f_cse_postamble_deleteResources();