diff --git a/LibOneM2M/OneM2M_TypesAndValues.ttcn b/LibOneM2M/OneM2M_TypesAndValues.ttcn
index a0e809341d6f345d4fa297bdbc2da80903018e9e..d45df2f1845b2832c5ce23b0147034a75d1e3374 100644
--- a/LibOneM2M/OneM2M_TypesAndValues.ttcn
+++ b/LibOneM2M/OneM2M_TypesAndValues.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     oneM2M
  *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_TypesAndValues.ttcn $
- *              $Id: OneM2M_TypesAndValues.ttcn 306 2017-06-20 16:19:04Z reinaortega $
+ *              $Id: OneM2M_TypesAndValues.ttcn 324 2017-07-24 16:16:08Z reinaortega $
  *  @desc       Module containing types and values for oneM2M
  *
  */
@@ -41,6 +41,7 @@ module OneM2M_TypesAndValues {
 	const charstring c_invalid_location_update_period	:= "-PT30M10S" ;//duration set to invalid value  (minus value)
 	const XSD.ID c_resourceShortNameLatest := "la";		//<latest>
 	const XSD.ID c_resourceShortNameOldest := "ol";		//<oldest>
+	const XSD.ID c_resourceShortNameFanOutPoint := "fopt"; //<fanOutPoint>
 	
 	//AccessControlOperations
 	const XSD.Integer c_C   := 1;
diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn
index 6fdd55f3dd024abfbb418526c3f0e1ecf739fd32..1f0044cf5e8b2bb4c906edf8264d0c8c93433584 100644
--- a/OneM2M_Testcases.ttcn
+++ b/OneM2M_Testcases.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     oneM2M
  *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Testcases.ttcn $
- *              $Id: OneM2M_Testcases.ttcn 323 2017-07-18 07:32:04Z reinaortega $
+ *              $Id: OneM2M_Testcases.ttcn 324 2017-07-24 16:16:08Z reinaortega $
  *  @desc       Module containing test cases for oneM2M
  *
  */
@@ -10201,7 +10201,7 @@ module OneM2M_Testcases {
 					var RequestPrimitive v_request;
 					var template RequestPrimitive v_containerCreateRequest := m_createContainer_noResourceName;
 					var template RequestPrimitive v_updateRequest := m_updateGroupBase;
-					var template RequestPrimitive v_createAcp := m_createAcp("NotInitialized", "MyACP", -, int61); //c_CUDNDi
+					var template RequestPrimitive v_createAcp := m_createAcp("NotInitialized", "MyAcp", -, int61); //c_CUDNDi
                 
 					// Test control
 					if(not(PICS_ACP_SUPPORT)) {
@@ -10219,8 +10219,8 @@ module OneM2M_Testcases {
 					v_acpIndex := f_cse_createResource(int1, v_createAcp, v_aeIndex); // AE child resource
 					v_containerCreateRequest.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)};
 					v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource
-					v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource
-					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource)}, omit, int3), v_aeIndex);
+					v_containerIndex_2 := f_cse_createResource(int3, v_containerCreateRequest, v_aeIndex); // AE child resource
+					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource)}, omit, int3, -, - , -), v_aeIndex);
 					
 					v_updateRequest.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)};
 					v_request := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest);	// creating group
@@ -10426,7 +10426,7 @@ module OneM2M_Testcases {
                                 setverdict(fail, testcasename(), ": Error, memberType attribute not provided");
                             } 
                             else {
-                                if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberType != int0){  //Mixed is int0 in release 2 and int24 in release 1
+                                if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberType != int0){ 
                                     setverdict(fail, testcasename(), ": Error, memberType attribute not correct");
                                 }
                             }
@@ -10476,7 +10476,7 @@ module OneM2M_Testcases {
 					v_containerIndex := f_cse_createResource(int3, m_createContainer("NotInitialized", "MyContainer"), v_aeIndex);
 					v_groupIndex :=  f_cse_createResource(int9, m_createGroupBase, v_aeIndex);
 					v_memberIDs := {f_getResourceId(vc_resourcesList[v_groupIndex].resource), f_getResourceId(vc_resourcesList[v_containerIndex].resource)};
-					v_createRequest := valueof(m_createGroup(2, v_memberIDs, omit, int3, int2)); //Member type is set to container and consistencyStrategy is set to ABANDON GROUP
+					v_createRequest := valueof(m_createGroup(2, v_memberIDs, omit, int3, int2, -, -)); //Member type is set to container and consistencyStrategy is set to ABANDON GROUP
 					v_createRequest := f_getCreateRequestPrimitive(int9, v_createRequest, v_aeIndex);                                                       
                     
 					// Test Body
@@ -10537,7 +10537,7 @@ module OneM2M_Testcases {
 					v_containerIndex := f_cse_createResource(int3, m_createContainer("NotInitialized", "MyContainer"), v_aeIndex);
 					v_groupIndex :=  f_cse_createResource(int9, m_createGroupBase, v_aeIndex);
 					v_memberIDs := {f_getResourceId(vc_resourcesList[v_groupIndex].resource), f_getResourceId(vc_resourcesList[v_containerIndex].resource)};
-					v_createRequest := valueof(m_createGroup(2, v_memberIDs, omit, int3, omit)); //Member type is set to container and consistencyStrategy is set to ABANDON MEMBER (default value)
+					v_createRequest := valueof(m_createGroup(2, v_memberIDs, omit, int3, -, -, -)); //Member type is set to container and consistencyStrategy is set to ABANDON MEMBER (default value)
 					v_createRequest := f_getCreateRequestPrimitive(int9, v_createRequest, v_aeIndex);                                                       
                     
 					// Test Body               
@@ -10615,7 +10615,7 @@ module OneM2M_Testcases {
 					v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource
 					v_memberId_1 :=  f_getResourceId(vc_resourcesList[v_containerIndex_1].resource);
 					v_memberId_2 :=  f_getResourceId(vc_resourcesList[v_containerIndex_2].resource);
-					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {v_memberId_1, v_memberId_2}, omit, int3), v_aeIndex); // AE child resource
+					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {v_memberId_1, v_memberId_2}, omit, int3, -, -, -), v_aeIndex); // AE child resource
 					
 					v_updateRequest.primitiveContent.group_.memberIDs := {v_memberId_2, v_memberId_2}; 
 					v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest);
@@ -10641,6 +10641,10 @@ module OneM2M_Testcases {
 								}
 							}
 						 }
+						 [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+							tc_ac.stop;
+							setverdict(fail, testcasename() & ": Error update successful with wrong ResponseStatusCode");
+						 }
 						 [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
 							 tc_ac.stop;
 							 setverdict(fail, testcasename() & ": Error while updating resource");
@@ -10684,7 +10688,7 @@ module OneM2M_Testcases {
 					v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi
 					v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource
 					v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource
-					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource)}, omit, int3), v_aeIndex);
+					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource)}, omit, int3, -, -, -), v_aeIndex);
 					
 					v_updateRequest.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)};
 					v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest);
@@ -10706,13 +10710,17 @@ module OneM2M_Testcases {
                                 }
                              }
                         }
-                         [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
-                             tc_ac.stop;
-                             setverdict(fail, testcasename() & ": Error while updating resource");
-                         }
-                         [] tc_ac.timeout {
-                             setverdict(inconc, testcasename() & ": No answer while updating resource");
-                         }
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+						   tc_ac.stop;
+						   setverdict(fail, testcasename() & ": Error update successful with wrong ResponseStatusCode");
+						}
+                        [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+                            tc_ac.stop;
+                            setverdict(fail, testcasename() & ": Error while updating resource");
+                        }
+                        [] tc_ac.timeout {
+                            setverdict(inconc, testcasename() & ": No answer while updating resource");
+                        }
                      }
         
                     //Postamble
@@ -10753,7 +10761,7 @@ module OneM2M_Testcases {
 					v_subGroupIndex :=  f_cse_createResource(int9, m_createGroupBase, v_aeIndex);
 					v_memberId_1 := f_getResourceId(vc_resourcesList[v_containerIndex].resource);
 					v_memberId_2 := f_getResourceId(vc_resourcesList[v_subGroupIndex].resource);
-					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {v_memberId_1}, omit, int3, int3), v_aeIndex); //Member type is set to Container (int3) and consistencyStrategy is set to MIXED (int3)
+					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {v_memberId_1}, omit, int3, int3, -, -), v_aeIndex); //Member type is set to Container (int3) and consistencyStrategy is set to MIXED (int3)
                 	
 					v_updateRequest.primitiveContent.group_.memberIDs := {v_memberId_1, v_memberId_2};
 					v_updateRequest := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest);
@@ -10787,6 +10795,10 @@ module OneM2M_Testcases {
 							}
                                 
 						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+						   tc_ac.stop;
+						   setverdict(fail, testcasename() & ": Error update successful with wrong ResponseStatusCode");
+						}
 						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
 							tc_ac.stop;
 							setverdict(fail, testcasename() & ": Error while retrieving resource");
@@ -10871,13 +10883,17 @@ module OneM2M_Testcases {
 								}
 							}                                   
                         }
-                         [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
-                             tc_ac.stop;
-                             setverdict(fail, testcasename() & ": Error while updating resource");
-                         }
-                         [] tc_ac.timeout {
-                             setverdict(inconc, testcasename() & ": No answer while updating resource");
-                         }
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+						   tc_ac.stop;
+						   setverdict(fail, testcasename() & ": Error update successful with wrong ResponseStatusCode");
+						}
+                        [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+                            tc_ac.stop;
+                            setverdict(fail, testcasename() & ": Error while updating resource");
+                        }
+                        [] tc_ac.timeout {
+                            setverdict(inconc, testcasename() & ": No answer while updating resource");
+                        }
                      }
         
                     //Postamble
@@ -11006,13 +11022,17 @@ module OneM2M_Testcases {
                             tc_ac.stop;
                             setverdict(pass, testcasename() & ": operation is not allowed");                             
                         }
-                         [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
-                             tc_ac.stop;
-                             setverdict(fail, testcasename() & ": Error while retrieving resource");
-                         }
-                         [] tc_ac.timeout {
-                             setverdict(inconc, testcasename() & ": No answer while retrieving resource");
-                         }
+                        [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+                        	tc_ac.stop;
+                            setverdict(fail, testcasename() & ": Error while retrieving resource");
+                        }
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+							tc_ac.stop;
+							setverdict(fail, testcasename() & ": Error update successful while maxNrOfMembers has exceeded");
+						}
+                        [] tc_ac.timeout {
+                            setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+                        }
                      }
         
                     //Postamble
@@ -11715,11 +11735,13 @@ module OneM2M_Testcases {
 					
 				   // Local variables
 					var MsgIn v_response;
-					var integer v_aeIndex_1 := -1;
-					var integer v_aeIndex_2 := -1;
+					var integer v_aeIndex := -1;
+					var integer v_containerIndex_1 := -1;
+					var integer v_containerIndex_2 := -1;
 					var integer v_groupIndex := -1;
 					var ListOfURIs v_memberIDs;
 					var integer i;
+					var RequestPrimitive v_createRequest := valueof(m_createContentInstance("NotInitialized", "Value1"));
 					
 					// Test control
 
@@ -11729,13 +11751,14 @@ module OneM2M_Testcases {
 					// Test adapter configuration
 
 					// Preamble
-					v_aeIndex_1 := f_cse_preamble_registerAe(-, -); //c_CRUDNDi
-					v_aeIndex_2 := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", omit), -1); // AE2 is registred
-					v_memberIDs := {f_getResourceId(vc_resourcesList[v_aeIndex_1].resource), f_getResourceId(vc_resourcesList[v_aeIndex_2].resource)};
-					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int2), -1);
-   
+					v_aeIndex := f_cse_preamble_registerAe(-, -); //c_CRUDNDi
+					v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource
+					v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource
+					v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)};
+					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int3, -, -), v_aeIndex); // AE child resource
+					   
 					p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt";
-					p_requestPrimitive.from_ := f_getOriginator(v_aeIndex_1); //TODO see if it is correct or if we have to use PX_SUPER_ADMIN
+					p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); 
 
 					// Test Body
 
@@ -11771,6 +11794,31 @@ module OneM2M_Testcases {
 						}
 					}
 					
+					//Connerie
+					
+					
+					v_createRequest.to_ := f_getResourceAddress(v_groupIndex) & "/" & c_resourceShortNameFanOutPoint & "/" & c_defaultContainerResourceName;
+					v_createRequest.from_ := f_getOriginator(v_groupIndex); //TODO see if it is correct or if we have to use PX_SUPER_ADMIN
+
+					// Test Body
+
+					mcaPort.send(m_request(v_createRequest));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+							tc_ac.stop;
+							setverdict(pass, testcasename() & ": creation successfull by using fanOutPoint in group resource");
+              
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							tc_ac.stop;
+							setverdict(fail, testcasename() & ": Error while creating resource");
+						}
+						[] tc_ac.timeout {
+							setverdict(inconc, testcasename() & ": No answer while creating resource");
+						}
+					}
+
 					// Postamble
 					f_cse_postamble_deleteResources();
 
@@ -11818,14 +11866,14 @@ module OneM2M_Testcases {
 					v_aeIndex_1 := f_cse_preamble_registerAe(-, -); //c_CRUDNDi
 					v_aeIndex_2 := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", omit), -1); // AE2 is registred
 					v_acpIndex := f_cse_createResource(int1, v_createAcp, -1); // AE child resource
-					v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex_1); // AE1 child resource
-					v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex_2); // AE2 child resource
+					v_containerIndex_1 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex_1); // AE1 child resource
+					v_containerIndex_2 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex_2); // AE2 child resource
 					v_memberIDs := {f_getResourceId(vc_resourcesList[v_aeIndex_1].resource), f_getResourceId(vc_resourcesList[v_aeIndex_2].resource)};
 					v_membersAcpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)};
-					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int2, -, v_membersAcpIds), -1);
+					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int2, -, v_membersAcpIds, -), -);
    
-					v_createRequest.to_ := f_getResourceAddress(v_groupIndex) & "/fopt" & "/myCon";
-					v_createRequest.from_ := f_getOriginator(v_aeIndex_1); //TODO see if it is correct or if we have to use PX_SUPER_ADMIN
+					v_createRequest.to_ := f_getResourceAddress(v_groupIndex) & "/" & c_resourceShortNameFanOutPoint & "/" & c_defaultContainerResourceName;
+					v_createRequest.from_ := f_getOriginator(v_groupIndex); //TODO see if it is correct or if we have to use PX_SUPER_ADMIN
 
 					// Test Body
 
@@ -11883,7 +11931,7 @@ module OneM2M_Testcases {
 
 					// Local variables
 					var MsgIn v_response;
-					var integer v_aeIndex_1, v_aeIndex_2, v_acpIndex, v_containerIndex_1, v_containerIndex_2, v_groupIndex := -1;
+					var integer v_aeIndex_1, v_aeIndex_2, v_acpIndex, v_containerIndex_1, v_containerIndex_2, v_groupIndex, v_contentInstanceIndex_1, v_contentInstanceIndex_2 := -1;
 					var integer i;
 					var ListOfURIs v_memberIDs;
 					var ListOfURIs v_membersAcpIds;
@@ -11908,13 +11956,15 @@ module OneM2M_Testcases {
 					v_aeIndex_1 := f_cse_preamble_registerAe(-, -); //c_CRUDNDi
 					v_aeIndex_2 := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", omit), -1); // AE2 is registred
 					v_acpIndex := f_cse_createResource(int1, v_createAcp, -1); // AE child resource
-					v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex_1); // AE1 child resource
-					v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex_2); // AE2 child resource
+					v_containerIndex_1 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex_1); // AE1 child resource
+					v_containerIndex_2 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex_2); // AE2 child resource
+					v_contentInstanceIndex_1 := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex_1); // Container_1 child resource
+					v_contentInstanceIndex_2 := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex_2); // Container_2 child resource
 					v_memberIDs := {f_getResourceId(vc_resourcesList[v_aeIndex_1].resource), f_getResourceId(vc_resourcesList[v_aeIndex_2].resource)};
 					v_membersAcpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)};
 					v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int2, -, v_membersAcpIds), -1);
    
-					v_fanoutPointAddress := f_getResourceAddress(v_groupIndex) & "/fopt" & "/myCon" & "/la";
+					v_fanoutPointAddress := f_getResourceAddress(v_groupIndex) & "/" & c_resourceShortNameFanOutPoint & "/" & c_defaultContainerResourceName & "/" & c_resourceShortNameLatest;
 					
 					// Test Body
 					mcaPort.send(m_request(m_retrieveResource(v_fanoutPointAddress, f_getOriginator(v_aeIndex_1)))); //TODO see if it is correct or if we have to use PX_SUPER_ADMIN