diff --git a/OneM2M_Testcases_CSE_Release_3.ttcn b/OneM2M_Testcases_CSE_Release_3.ttcn
index 4b559d7b36b25d4c6d9f12fb4baaf60e2373d513..3ed2a5ff6a1d0e8e7a3773523a5bbbf0b6ac6c7c 100644
--- a/OneM2M_Testcases_CSE_Release_3.ttcn
+++ b/OneM2M_Testcases_CSE_Release_3.ttcn
@@ -1533,29 +1533,19 @@ module OneM2M_Testcases_CSE_Release_3 {
 						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var template RequestPrimitive v_anncCreateRequest := mw_createContainerAnnc;
 						var RequestPrimitive v_requestPrimitive;
 						var XSD.NonNegativeInteger v_maxByteSize := 512;
 						
 						v_createRequest.primitiveContent.container.announceTo := {PX_TS_CSE1.cseId};
 						v_createRequest.primitiveContent.container.maxByteSize := v_maxByteSize;						
 						v_createRequest.primitiveContent.container.announcedAttribute := {"mbs"};
+						
+						v_anncCreateRequest.primitiveContent.containerAnnc.maxByteSize := ?;
 	
-						v_ae1.start(f_CSE_DMR_CRE_023(int3, v_createRequest, mw_createContainerAnnc()));//Container
+						v_ae1.start(f_CSE_DMR_CRE_023(int3, v_createRequest, v_anncCreateRequest));//Container
 						v_ae1.done -> value v_verdict;
 						
-						if(v_verdict == pass){ 
-							//Check if maxByteSize attribute has been announced
-							v_requestPrimitive := f_getRequestPrimitive(v_ae1);
-							if (ispresent(v_requestPrimitive.primitiveContent.containerAnnc.maxByteSize)){
-								if(v_requestPrimitive.primitiveContent.containerAnnc.maxByteSize != v_maxByteSize){
-									setverdict(fail, __SCOPE__ & ": Error: Value of maxByteSize has not been announced successfully");
-								}else{
-									setverdict(pass, __SCOPE__ & ": Value of maxByteSize has been announced successfully");
-								}
-							}else{
-								setverdict(fail, __SCOPE__ & ": Error: maxByteSize has not been announced");
-							}
-						}
 					}
 	
 					testcase TC_CSE_DMR_CRE_023_CIN() runs on Tester system CseSystem {
@@ -1563,29 +1553,19 @@ module OneM2M_Testcases_CSE_Release_3 {
 						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
 						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
+						var template RequestPrimitive v_anncCreateRequest := mw_createContentInstanceAnnc;
 						var RequestPrimitive v_requestPrimitive;
-						var XSD.NonNegativeInteger v_contentSize := 512;
+						var ContentInfo v_contentInfo := "application/text:1";
 						
 						v_createRequest.primitiveContent.contentInstance.announceTo := {PX_TS_CSE1.cseId};
-						v_createRequest.primitiveContent.contentInstance.contentSize := v_contentSize;						
-						v_createRequest.primitiveContent.contentInstance.announcedAttribute := {"cs"};
+						v_createRequest.primitiveContent.contentInstance.contentInfo := v_contentInfo;						
+						v_createRequest.primitiveContent.contentInstance.announcedAttribute := {"cnf"};
 		
-						v_ae1.start(f_CSE_DMR_CRE_023(int4, v_createRequest, mw_createContentInstanceAnnc()));//ContentInstance
+						v_anncCreateRequest.primitiveContent.contentInstanceAnnc.contentInfo := ?;
+	
+						v_ae1.start(f_CSE_DMR_CRE_023(int4, v_createRequest, v_anncCreateRequest));//ContentInstance
 						v_ae1.done -> value v_verdict;
 						
-						if(v_verdict == pass){ 
-							//Check if contentSize attribute has been announced
-							v_requestPrimitive := f_getRequestPrimitive(v_ae1);
-							if (ispresent(v_requestPrimitive.primitiveContent.contentInstanceAnnc.contentSize)){
-								if(v_requestPrimitive.primitiveContent.contentInstanceAnnc.contentSize != v_contentSize){
-									setverdict(fail, __SCOPE__ & ": Error: Value of contentSize has not been announced successfully");
-								}else{
-									setverdict(pass, __SCOPE__ & ": Value of contentSize has been announced successfully");
-								}
-							}else{
-								setverdict(fail, __SCOPE__ & ": Error: contentSize has not been announced");
-							}
-						}
 					}
 
 					testcase TC_CSE_DMR_CRE_023_GRP() runs on Tester system CseSystem {
@@ -1593,6 +1573,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
+						var template RequestPrimitive v_anncCreateRequest := mw_createGroupAnnc;
 						var RequestPrimitive v_requestPrimitive;
 						var XSD.PositiveInteger v_maxNrOfMembers := 10;
 						
@@ -1600,22 +1581,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_createRequest.primitiveContent.group_.maxNrOfMembers := v_maxNrOfMembers;
 						v_createRequest.primitiveContent.group_.announcedAttribute := {"mnm"};
 		
-						v_ae1.start(f_CSE_DMR_CRE_023(int9, v_createRequest, mw_createGroupAnnc()));//Group
+						v_anncCreateRequest.primitiveContent.groupAnnc.maxNrOfMembers := ?;
+	
+						v_ae1.start(f_CSE_DMR_CRE_023(int9, v_createRequest, v_anncCreateRequest));//Group
 						v_ae1.done -> value v_verdict;
 						
-						if(v_verdict == pass){ 
-							//Check if maxNrOfMembers attribute has been announced
-							v_requestPrimitive := f_getRequestPrimitive(v_ae1);
-							if (ispresent(v_requestPrimitive.primitiveContent.groupAnnc.maxNrOfMembers)){
-								if(v_requestPrimitive.primitiveContent.groupAnnc.maxNrOfMembers != v_maxNrOfMembers){
-									setverdict(fail, __SCOPE__ & ": Error: Value of maxNrOfMembers has not been announced successfully");
-								}else{
-									setverdict(pass, __SCOPE__ & ": Value of maxNrOfMembers has been announced successfully");
-								}
-							}else{
-								setverdict(fail, __SCOPE__ & ": Error: maxNrOfMembers has not been announced");
-							}
-						}
 					}
 	
 					testcase TC_CSE_DMR_CRE_023_LCP() runs on Tester system CseSystem {
@@ -1623,6 +1593,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
 						var template RequestPrimitive v_createRequest := m_createLocationPolicy(int1, omit, omit, omit, omit);
+						var template RequestPrimitive v_anncCreateRequest := mw_createLocationPolicyAnnc;
 						var RequestPrimitive v_requestPrimitive;
 						var LocationSource v_locationSource := int1;//Network-based
 						
@@ -1630,22 +1601,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_createRequest.primitiveContent.locationPolicy.locationSource := v_locationSource;
 						v_createRequest.primitiveContent.locationPolicy.announcedAttribute := {"los"};
 		
-						v_ae1.start(f_CSE_DMR_CRE_023(int10, v_createRequest, mw_createLocationPolicyAnnc()));//LocationPolicy
+						v_anncCreateRequest.primitiveContent.locationPolicyAnnc.locationSource := ?;
+						
+						v_ae1.start(f_CSE_DMR_CRE_023(int10, v_createRequest, v_anncCreateRequest));//LocationPolicy
 						v_ae1.done -> value v_verdict;
 						
-						if(v_verdict == pass){ 
-							//Check if locationSource attribute has been announced
-							v_requestPrimitive := f_getRequestPrimitive(v_ae1);
-							if (ispresent(v_requestPrimitive.primitiveContent.locationPolicyAnnc.locationSource)){
-								if(v_requestPrimitive.primitiveContent.locationPolicyAnnc.locationSource != v_locationSource){
-									setverdict(fail, __SCOPE__ & ": Error: Value of locationSource has not been announced successfully");
-								}else{
-									setverdict(pass, __SCOPE__ & ": Value of locationSource has been announced successfully");
-								}
-							}else{
-								setverdict(fail, __SCOPE__ & ": Error: locationSource has not been announced");
-							}
-						}
 					}
 	
 					testcase TC_CSE_DMR_CRE_023_SCH() runs on Tester system CseSystem {
@@ -1653,6 +1613,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;						
 						var template RequestPrimitive v_createRequest := m_createScheduleBase;
+						var template RequestPrimitive v_anncCreateRequest := mw_createScheduleAnnc;
 						var RequestPrimitive v_requestPrimitive;
 						var ScheduleEntries v_scheduleElement := {{"0 0 0,1,2 1 1 * *"}};
 						
@@ -1660,22 +1621,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_createRequest.primitiveContent.schedule.scheduleElement := v_scheduleElement;
 						v_createRequest.primitiveContent.schedule.announcedAttribute := {"se"};
 						
-						v_ae1.start(f_CSE_DMR_CRE_023(int18, v_createRequest, mw_createScheduleAnnc()));//Schedule
+						v_anncCreateRequest.primitiveContent.scheduleAnnc.scheduleElement := ?;
+						
+						v_ae1.start(f_CSE_DMR_CRE_023(int18, v_createRequest, v_anncCreateRequest));//Schedule
 						v_ae1.done -> value v_verdict;
 						
-						if(v_verdict == pass){ 
-							//Check if scheduleElement attribute has been announced
-							v_requestPrimitive := f_getRequestPrimitive(v_ae1);
-							if (ispresent(v_requestPrimitive.primitiveContent.scheduleAnnc.scheduleElement)){
-								if(v_requestPrimitive.primitiveContent.scheduleAnnc.scheduleElement != v_scheduleElement){
-									setverdict(fail, __SCOPE__ & ": Error: Value of scheduleElement has not been announced successfully");
-								}else{
-									setverdict(pass, __SCOPE__ & ": Value of scheduleElement has been announced successfully");
-								}
-							}else{
-								setverdict(fail, __SCOPE__ & ": Error: scheduleElement has not been announced");
-							}
-						}
 					}
 					
 					testcase TC_CSE_DMR_CRE_023_TS() runs on Tester system CseSystem {
@@ -1683,6 +1633,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesBase;
+						var template RequestPrimitive v_anncCreateRequest := mw_createTimeSeriesAnnc;
 						var RequestPrimitive v_requestPrimitive;
 						var XSD.NonNegativeInteger v_maxByteSize := 512;
 
@@ -1691,22 +1642,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_createRequest.primitiveContent.timeSeries.maxByteSize := v_maxByteSize;						
 						v_createRequest.primitiveContent.timeSeries.announcedAttribute := {"mbs"};
 
-						v_ae1.start(f_CSE_DMR_CRE_023(int29, v_createRequest, mw_createTimeSeriesAnnc()));//TimeSeries
+						v_anncCreateRequest.primitiveContent.timeSeriesAnnc.maxByteSize := ?;
+	
+						v_ae1.start(f_CSE_DMR_CRE_023(int29, v_createRequest, v_anncCreateRequest));//TimeSeries
 						v_ae1.done -> value v_verdict;
 	
-						if(v_verdict == pass){ 
-							//Check if maxByteSize attribute has been announced
-							v_requestPrimitive := f_getRequestPrimitive(v_ae1);
-							if (ispresent(v_requestPrimitive.primitiveContent.timeSeriesAnnc.maxByteSize)){
-								if(v_requestPrimitive.primitiveContent.timeSeriesAnnc.maxByteSize != v_maxByteSize){
-									setverdict(fail, __SCOPE__ & ": Error: Value of maxByteSize has not been announced successfully");
-								}else{
-									setverdict(pass, __SCOPE__ & ": Value of maxByteSize has been announced successfully");
-								}
-							}else{
-								setverdict(fail, __SCOPE__ & ": Error: maxByteSize has not been announced");
-							}
-						}
 					}
 					
 					testcase TC_CSE_DMR_CRE_023_TSI() runs on Tester system CseSystem {
@@ -1714,6 +1654,7 @@ module OneM2M_Testcases_CSE_Release_3 {
 						var verdicttype v_verdict;
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						var template RequestPrimitive v_createRequest := m_createTimeSeriesInstanceBase;
+						var template RequestPrimitive v_anncCreateRequest := mw_createTimeSeriesInstanceAnnc;
 						var RequestPrimitive v_requestPrimitive;
 						var XSD.NonNegativeInteger v_sequenceNr := 8;
 
@@ -1722,22 +1663,11 @@ module OneM2M_Testcases_CSE_Release_3 {
 						v_createRequest.primitiveContent.timeSeriesInstance.sequenceNr := v_sequenceNr;						
 						v_createRequest.primitiveContent.timeSeriesInstance.announcedAttribute := {"snr"};
 
-						v_ae1.start(f_CSE_DMR_CRE_023(int30, v_createRequest, mw_createTimeSeriesInstanceAnnc()));//TimeSeriesInstance
+						v_anncCreateRequest.primitiveContent.timeSeriesInstanceAnnc.sequenceNr := ?;
+	
+						v_ae1.start(f_CSE_DMR_CRE_023(int30, v_createRequest, v_anncCreateRequest));//TimeSeriesInstance
 						v_ae1.done -> value v_verdict;
 
-						if(v_verdict == pass){ 
-							//Check if maxByteSize attribute has been announced
-							v_requestPrimitive := f_getRequestPrimitive(v_ae1);
-							if (ispresent(v_requestPrimitive.primitiveContent.timeSeriesInstanceAnnc.sequenceNr)){
-								if(v_requestPrimitive.primitiveContent.timeSeriesInstanceAnnc.sequenceNr != v_sequenceNr){
-									setverdict(fail, __SCOPE__ & ": Error: Value of sequenceNr has not been announced successfully");
-								}else{
-									setverdict(pass, __SCOPE__ & ": Value of sequenceNr has been announced successfully");
-								}
-							}else{
-								setverdict(fail, __SCOPE__ & ": Error: sequenceNr has not been announced");
-							}
-						}
 					}
 
 				} // end g_CSE_DMR_CRE_023