Revision: 201032 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 15:35:13 +0300
branchRCL_3
changeset 19 3f7c7e6eea8a
parent 18 817c922b90eb
child 20 4da1f672912e
Revision: 201032 Kit: 201035
ipappsrv_info/ipappsrv_metadata/ipappsrv_metadata.mrp
multimediacommscontroller/mmcccontroller/src/mccscreen.cpp
multimediacommscontroller/mmccvideosourcesink/group/videosourcesink.mmp
multimediacommscontroller/mmccvideosourcesink/src/mccredrawhandler.cpp
multimediacommsengine/mmceshared/src/mcecomamrwbcodec.cpp
multimediacommsengine/mmcesrv/mmcemediamanager/inc/mcesecuredesstream.h
multimediacommsengine/mmcesrv/mmcemediamanager/inc/mcesecuremediasession.h
multimediacommsengine/mmcesrv/mmcemediamanager/src/mcemediamanager.cpp
multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesdpsession.cpp
multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesecuredesstream.cpp
multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesecuremediasession.cpp
multimediacommsengine/mmcesrv/mmcemediamanager/tsrc/ut_mediamanager/src/UT_CMceSecureDesStream.cpp
multimediacommsengine/mmcesrv/mmceserver/inc/mcenatsipsession.h
multimediacommsengine/mmcesrv/mmceserver/inc/mcenatsipstatemachine.h
multimediacommsengine/mmcesrv/mmceserver/src/mcenatsipsession.cpp
multimediacommsengine/mmcesrv/mmceserver/src/mcenatsipstatemachine.cpp
multimediacommsengine/mmcesrv/mmceserver/src/mcesipsession.cpp
multimediacommsengine/mmcesrv/mmceserver/src/mcestateoffering.cpp
multimediacommsengine/mmcesrv/mmceserver/src/mcestateupdating.cpp
multimediacommsengine/mmcesrv/mmceserver/tsrc/ut_server/src/UT_CMCESIPConnection.cpp
multimediacommsengine/mmcesrv/mmceserver/tsrc/ut_server/src/UT_CMCEStateOffering.cpp
multimediacommsengine/mmcesrv/mmceserver/tsrc/ut_server/stubs/src/sipprofile.cpp
package_definition.xml
--- a/ipappsrv_info/ipappsrv_metadata/ipappsrv_metadata.mrp	Thu Aug 19 10:18:22 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-component           ipappsrv_metadata
-source   \sf\mw\ipappsrv\ipappsrv_info\ipappsrv_metadata 
-source   \sf\mw\ipappsrv\package_definition.xml
-source   \sf\mw\ipappsrv\distribution.policy.s60
-notes_source      \component_defs\release.src
-ipr T 
--- a/multimediacommscontroller/mmcccontroller/src/mccscreen.cpp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommscontroller/mmcccontroller/src/mccscreen.cpp	Tue Aug 31 15:35:13 2010 +0300
@@ -203,7 +203,6 @@
     iRwGroup->SetName( KMccWindowGroupName );
     
     iRwGroup->SetOrdinalPosition( iWindowOrdinalPosition, iWindowOrdinalPriority );
-    iRwGroup->AutoForeground( EFalse );
          
     // Create screen device
     iDev = new (ELeave) CWsScreenDevice( iRwSession );
@@ -795,7 +794,6 @@
         iRw->Invalidate( vfRect );
         iRw->BeginRedraw( vfRect );
         iGraphicsContext->CancelClippingRect();
-        iGraphicsContext->SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha );
         iGraphicsContext->SetBrushStyle( CGraphicsContext::ESolidBrush );
         iGraphicsContext->SetBrushColor( TRgb( 255, 255, 255, 0 ) );
         iGraphicsContext->DrawRect( vfRect );
--- a/multimediacommscontroller/mmccvideosourcesink/group/videosourcesink.mmp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommscontroller/mmccvideosourcesink/group/videosourcesink.mmp	Tue Aug 31 15:35:13 2010 +0300
@@ -27,6 +27,8 @@
 
 UID             0x10009D8D 0x102747CC
 
+STDCPP
+
 SOURCEPATH      ../src
 SOURCE          mccvideosourcesinkfactory.cpp
 SOURCE          mccvideosink.cpp
@@ -92,7 +94,7 @@
 
 #if (defined WINS)
 LIBRARY         camc3gpsink.lib
-LIBRARY         esock.lib
+LIBRARY         esock.lib libstdcppv5.lib
 
 MACRO MCC_VIDEO_SOURCE_FOR_EMU
 
--- a/multimediacommscontroller/mmccvideosourcesink/src/mccredrawhandler.cpp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommscontroller/mmccvideosourcesink/src/mccredrawhandler.cpp	Tue Aug 31 15:35:13 2010 +0300
@@ -61,6 +61,7 @@
     __V_SOURCESINK_CONTROLL_INT1( "CMccRedrawHandler::BlackDrawingL, enabled:", 
                                   aIsEnabled )
     
+    iDrawBlack = aIsEnabled;
     
     if ( DoRedrawing() )
         {
@@ -115,7 +116,8 @@
     CActive( CActive::EPriorityStandard ),
     iWsSession( aWsSession ),
     iWindow( aWindow ),
-    iGc( aGc )
+    iGc( aGc ),
+    iDrawBlack( EFalse )
     {
     CActiveScheduler::Add( this );
     }
@@ -148,7 +150,14 @@
     iWindow.Invalidate( aRect );
     iWindow.BeginRedraw( aRect );
 
-    if ( iWindow.DisplayMode() >= EColor16MA )
+    if ( iDrawBlack )
+        {
+        iGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
+        iGc.SetBrushColor( KRgbBlack );
+        iGc.Clear( aRect );
+        iDrawBlack = EFalse;
+        }
+    else if ( iWindow.DisplayMode() >= EColor16MA )
         { 
         // Need to set alpha mode, otherwise video cannot be seen
     	iGc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha );
@@ -173,7 +182,7 @@
 //
 TBool CMccRedrawHandler::DoRedrawing() const
     {
-    return ( iWindow.DisplayMode() >= EColor16MA );
+    return ( iDrawBlack || iWindow.DisplayMode() >= EColor16MA );
     }
 
 // -----------------------------------------------------------------------------
--- a/multimediacommsengine/mmceshared/src/mcecomamrwbcodec.cpp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmceshared/src/mcecomamrwbcodec.cpp	Tue Aug 31 15:35:13 2010 +0300
@@ -300,8 +300,24 @@
 //
 CMceComCodec* CMceComAMRWbCodec::DoMccValidateL( CMccCodecInformation& aMccCodec,
                                                CMceSrvStream& /*aStream*/,
-                                               TMceNegotiationRole /*aRole */)
+                                               TMceNegotiationRole aRole )
     {
+    //if answerer mcc codec represents the received offer and codec the answer
+    //if offerer codec represents the sent offer and mcc codec the answer
+    
+    // Bitrates field contains also additional information, mask it away
+	/*
+    TUint mccBitrates = ( aMccCodec.AllowedBitrates() & KMceAllowedAmrWbBitrateAll );
+    TUint mceBitrates = ( iAllowedBitrates & KMceAllowedAmrWbBitrateAll );
+    
+    TBool notValid = aRole == EMceRoleAnswerer ?
+                  ( mceBitrates && mccBitrates == 0 ||
+	                mceBitrates > mccBitrates ) :
+                  ( mceBitrates && mccBitrates == 0 ||
+	                mceBitrates < mccBitrates );
+	                
+	*/
+//	User::LeaveIfError( notValid ? KErrNotSupported : KErrNone );
 	if ( aMccCodec.CodecMode() != (TCodecMode)iCodecMode )
 		{
 		// codec-mode was different, fail.
--- a/multimediacommsengine/mmcesrv/mmcemediamanager/inc/mcesecuredesstream.h	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmcemediamanager/inc/mcesecuredesstream.h	Tue Aug 31 15:35:13 2010 +0300
@@ -213,12 +213,13 @@
        	void ForceUpdateStreamL();
     
    private:     
-       	/**
-       	* * Set Crypto Context to MCC after Encode/Decode SDP are done
-       	* @return void
-       	*/
-       	void SetCryptoContextL( TBool aAnswer = ETrue );
-    
+    	/**
+        * Set Crypto Context to MCC after Encode/Decode SDP are done
+        * @return void
+        */
+ 		void SetCryptoContextL( );
+ 		
+        
 		/**
         * Base64 encoding
         * @since    Series 60 3.0 
@@ -400,7 +401,6 @@
 		TMceSecureCryptoInfo iCryptoOut;
     	TMceSecureCryptoInfo iCryptoIn;
     	TBool iGnoreSdpMsg;
-    	TBool iWaitingBinding;
     	
     private://data
     
@@ -421,9 +421,8 @@
     	CSdpMediaField* iMediaField;
 
     	TBool iIsSAVP;
-    	
-    	TBool iRemoteChangeKey;
-    	
+
+    	TBool iWaitingBinding;
 
     	TUint32 iCryptoContextOutId;
 
--- a/multimediacommsengine/mmcesrv/mmcemediamanager/inc/mcesecuremediasession.h	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmcemediamanager/inc/mcesecuremediasession.h	Tue Aug 31 15:35:13 2010 +0300
@@ -207,7 +207,6 @@
         TBool iKeyNeedUpdated;
         TBool iCryptoContextUpdate;
         TBool iLSReadyToBind;
-        TBool iNatBind;
 
     private:
         
--- a/multimediacommsengine/mmcesrv/mmcemediamanager/src/mcemediamanager.cpp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmcemediamanager/src/mcemediamanager.cpp	Tue Aug 31 15:35:13 2010 +0300
@@ -307,11 +307,6 @@
     aSession.NegotiationState().UpdateL();
     status = !aSession.NegotiationState().CallbackAllowed() ? 
              KMceReady : KMceAsync;
-    if ( aSession.SecureSession() && negotationStateId ==
-    	 KMceOfferingMedia && aSession.SecureSession()->iLSReadyToBind )
-    	{
-        aSession.SecureSession()->BindStreamCrypto();
-    	}
     MCEMM_DEBUG("CMceMediaManager::UpdateL(), Exit ");
     return status;
     }
--- a/multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesdpsession.cpp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesdpsession.cpp	Tue Aug 31 15:35:13 2010 +0300
@@ -183,13 +183,6 @@
         }
     else
         {
-		if( aSession.SecureSession() )
-			{
-			if( aSession.SecureSession()->iKeyNeedUpdated )
-				{
-			    aSession.SecureSession()->iKeyNeedUpdated = EFalse;
-				}
-			}
         sdpDocument = iSdpDocument;
         CleanSessionParams( *iSdpDocument );
         }
@@ -654,11 +647,6 @@
     
     TOfferType type = !Backup() ? EFirst : EUpdate;
     
-    if( type == EUpdate && aSession.SecureSession() )
-    	{
-		aSession.SecureSession()->iLSReadyToBind = ETrue;
-    	}
-    
     CleanSessionParams( *iSdpDocument );
 
     EncodeSessionParamsL( aSession, *iSdpDocument, type );
--- a/multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesecuredesstream.cpp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesecuredesstream.cpp	Tue Aug 31 15:35:13 2010 +0300
@@ -83,12 +83,12 @@
 											CMccSecureInterface& aSecureInterface,
         									CMceComMediaStream& aMediaStream
         									):
-	iWaitingBinding(EFalse),
+	
 	iSecureSession(aSecureSession),
 	iSecInf(aSecureInterface),
 	iMediaStream(aMediaStream),
 	iIsSAVP(ETrue),
-	iRemoteChangeKey(EFalse),
+	iWaitingBinding(EFalse),
 	iCryptoContextOutId(0),
 	iCryptoContextInId(0),
 	iOldLocalMediaPort(0)
@@ -337,11 +337,6 @@
     	MCEMM_DEBUG(" Set Multiple Client Cryptoto")
     	User::LeaveIfError ( CountCryptoInOffer( aMediaField ) );
     	Session().iIsSecureSession =  !iGnoreSdpMsg ? ETrue : EFalse;
-    	if( iSecureSession.iNatBind )
-    		{
-			SetCryptoContextL( ETrue );
-			iSecureSession.iNatBind = EFalse;
-    		}
     	}
     MCEMM_DEBUG("CMceSecureDesStream::DecodeSecureSdpL(), Exit")      
     MSG_IGNORE_RETURN()
@@ -382,8 +377,7 @@
 				}
 			if ( iSecureSession.iLSReadyToBind )
 				{
-				SetCryptoContextL( EFalse );
-				iRemoteChangeKey = EFalse;
+				SetCryptoContextL();
 				}
 			MSG_IGNORE_RETURN()
 			if ( !iCryptoIn.iCryptoSuite.Length() )
@@ -444,10 +438,9 @@
 // Sets crypto context to MCC
 // -----------------------------------------------------------------------------
 //
-void CMceSecureDesStream::SetCryptoContextL( TBool aAnswer )
+void CMceSecureDesStream::SetCryptoContextL( )
     {
-    MCEMM_DEBUG("SetCryptoContext(), Entry") 
-    TBool bindContext = ETrue;
+    MCEMM_DEBUG("SetCryptoContext(), Entry")   
     TBool storedIgnoreSdpMsg = EFalse;
     //Check state first if the crypto has been set
     if ( !iCryptoIn.iIfCryptoContextIdSet && 
@@ -462,12 +455,6 @@
     	CreateCryptoContextL( iCryptoOut ); 
     	MCEMM_DEBUG_DVALUE( "iCryptoContextOutId", iCryptoIn.iCryptoContextId )
 		MCEMM_DEBUG_DVALUE( "iCryptoContextInId", iCryptoOut.iCryptoContextId )
-    	
-    	if( !aAnswer )
-    		{
-			bindContext = EFalse;
-    	    MCEMM_DEBUG("delay to bind!");
-    		}
 
     	iCryptoOuts->Reset();
     	
@@ -486,7 +473,7 @@
 			}
 		MCEMM_DEBUG_DVALUE( "Updated iCryptoContextOutId", iCryptoIn.iCryptoContextId )
 		MCEMM_DEBUG_DVALUE( "Updated iCryptoContextInId", iCryptoOut.iCryptoContextId )
-    	if ( iSecureSession.iKeyNeedUpdated  || iRemoteChangeKey )
+    	if ( iSecureSession.iKeyNeedUpdated )
     		{
     		UpdateCryptoContextL( iCryptoIn ); 
     		storedIgnoreSdpMsg = iGnoreSdpMsg;
@@ -502,7 +489,7 @@
     iGnoreSdpMsg = (iCryptoIn.iIfCryptoContextIdSet && 
     				iCryptoOut.iIfCryptoContextIdSet ) &&
     				!iGnoreSdpMsg ? EFalse : ETrue;		
-    if ( iWaitingBinding && bindContext )
+    if ( iWaitingBinding )
     	{
     	iSecureSession.BindStreamCrypto();
     	}
@@ -857,13 +844,6 @@
         	}
         else
         	{
-			if( iRemoteChangeKey )
-				{
-				MCEMM_DEBUG("Update CryptoIn" )
-				TBool tmpSet = iCryptoIn.iIfCryptoContextIdSet;
-				iCryptoIn.Copy( iCryptoIns->At( 0 ) );
-				iCryptoIn.iIfCryptoContextIdSet = tmpSet;
-				}
         	if(iOldLocalMediaPort != iMediaStream.iLocalMediaPort)
         		{
         	    GenerateRandomKeys( iCryptoOut );
@@ -877,8 +857,7 @@
         MSG_IGNORE_RETURN()
       	if ( iSecureSession.iLSReadyToBind )
       		{
-      		SetCryptoContextL( ETrue );
-      		iRemoteChangeKey = EFalse;
+      		SetCryptoContextL();
       		}
         MSG_IGNORE_RETURN()
         }
@@ -1228,14 +1207,13 @@
 	        	}
     
 	    TPtrC8 keyInfo = aSecDec.Mid(keyInfoPos, keyInfoLen);
-	    	
+	    if ( iSecureSession.iKeyNeedUpdated )
+	    	{
 	    	
-		TBool valid = ValidateSecurityDescriptions( keyInfo );
-		if ( valid )
-	   		{
-		    iRemoteChangeKey = iCryptoIn.iEncodedKey.Compare( keyInfo ) != 0;
-	   		if( iSecureSession.iKeyNeedUpdated || iRemoteChangeKey ) 
+		    TBool valid = ValidateSecurityDescriptions( keyInfo );
+	   		if ( valid )
 	   			{
+	   			
 		    	// check keyInfo 
 			    if (iCryptoOut.iEncodedKey.Compare( keyInfo ) == 0)
 			    	{
@@ -1249,11 +1227,11 @@
 				iCryptoIn.iEncodedKey = keyInfo;
 				StoreKeys(iCryptoIn.iEncodedKey);
 	   			}
-	   		}
-		else
-	   		{
-		    User::Leave( KErrArgument );
-	   		}
+	   		else
+	   			{
+	   			User::Leave( KErrArgument );
+	   			}
+	    	}
 	   	}
  	else
  		{
@@ -1308,12 +1286,7 @@
         
         if ( valid )
         	{
-        	if( !iSecureSession.iKeyNeedUpdated && 
-        			iCryptoIn.iEncodedKey.Compare( keyInfo ) != 0 )
-        		{
-        	    MCEMM_DEBUG("Remote change the key");
-        	    iRemoteChangeKey = ETrue;
-        		}
+        	
             //check keyinfo mki 
 		     DecodeMKIValueL( aSecDec, EFalse, crypto );   
 		     MSG_IGNORE_RETURN()
--- a/multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesecuremediasession.cpp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesecuremediasession.cpp	Tue Aug 31 15:35:13 2010 +0300
@@ -49,8 +49,8 @@
             iSession( aSession ),
             iSecureInterface(aSecureInterface),
             iKeyNeedUpdated( ETrue ),
-            iCryptoContextUpdate (EFalse ),
-            iLSReadyToBind ( EFalse ),
+            iCryptoContextUpdate (EFalse),
+            iLSReadyToBind ( ETrue ),
             iStringTable( NULL )
     {
     
@@ -451,10 +451,8 @@
 					   stream->Data().iLinkedStream->Id() == secureStream->MediaStream().Id() ) ) 
 					{
 					//bind
-				    if( secureStream->iWaitingBinding )
-				    	{
-						secureStream->BindCrypto(*stream);
-				    	}
+					secureStream->BindCrypto(*stream);
+					
 					}
 				}
 			}
--- a/multimediacommsengine/mmcesrv/mmcemediamanager/tsrc/ut_mediamanager/src/UT_CMceSecureDesStream.cpp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmcemediamanager/tsrc/ut_mediamanager/src/UT_CMceSecureDesStream.cpp	Tue Aug 31 15:35:13 2010 +0300
@@ -658,7 +658,7 @@
     CleanupStack::PushL( mediaAnswer2 );
     //iCryptoOut crypto is not set
     iSecureStream->DecodeSecureSdpAnswerL(*mediaAnswer2);
-    EUNIT_ASSERT( iSecureStream->Session().iIsSecureSession );
+    EUNIT_ASSERT( !iSecureStream->Session().iIsSecureSession );
     EUNIT_ASSERT( iSecureStream->iCryptoIn.iMKLifeTime == 32 );
     EUNIT_ASSERT( iSecureStream->iCryptoOut.iMKLifeTime == KDefalutMaterKeysLifeTime );
     CleanupStack::PopAndDestroy(mediaAnswer2);
@@ -670,7 +670,7 @@
     CleanupStack::PushL( mediaOffer );	
     iSecureSession->iCryptoContextUpdate = ETrue;
     iSecureStream->EncodeSecureSdpL(*mediaOffer, EFalse );
-    EUNIT_ASSERT( iSecureStream->Session().iIsSecureSession );
+    EUNIT_ASSERT( !iSecureStream->Session().iIsSecureSession );
 	
     CSdpMediaField* mediaAnswer3 = CSdpMediaField::DecodeL( KMceTestMeidaCryptoMultiple );
     CleanupStack::PushL( mediaAnswer3 );
--- a/multimediacommsengine/mmcesrv/mmceserver/inc/mcenatsipsession.h	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmceserver/inc/mcenatsipsession.h	Tue Aug 31 15:35:13 2010 +0300
@@ -252,8 +252,6 @@
 	void SetReservationStatus(TMceReturnStatus aStatus);
 
 	void ResumeNatUpdated();
-	
-	void StateRollBack();
 
 private: // Constructors
 
--- a/multimediacommsengine/mmcesrv/mmceserver/inc/mcenatsipstatemachine.h	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmceserver/inc/mcenatsipstatemachine.h	Tue Aug 31 15:35:13 2010 +0300
@@ -87,11 +87,6 @@
 	*/
     void ErrorOccurred();
     
-	/**
-	* Sets current Nat state.
-	*/
-    void SetCurrentNatState(TMceNatStateIndex aStatus);
-    
 private:
 
 	CMceNatSipStateMachine();
--- a/multimediacommsengine/mmcesrv/mmceserver/src/mcenatsipsession.cpp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmceserver/src/mcenatsipsession.cpp	Tue Aug 31 15:35:13 2010 +0300
@@ -873,9 +873,4 @@
 	MCESRV_DEBUG( "*** CMceNatSipSession::ResumeNatUpdated, Exit" )
 	}
 
-void CMceNatSipSession::StateRollBack()
-	{
-	iNatStateMachine->SetCurrentNatState( KMceNatStateConnected );
-	}
-
 // End of File
--- a/multimediacommsengine/mmcesrv/mmceserver/src/mcenatsipstatemachine.cpp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmceserver/src/mcenatsipstatemachine.cpp	Tue Aug 31 15:35:13 2010 +0300
@@ -188,12 +188,3 @@
     {
     iCurrentState = KMceNatStateIdle;
     }
-
-// -----------------------------------------------------------------------------
-// CMceNatSipStateMachine::SetCurrentNatState
-// -----------------------------------------------------------------------------
-//
-void CMceNatSipStateMachine::SetCurrentNatState(TMceNatStateIndex aStatus)
-    {
-    iCurrentState = aStatus;
-    }
--- a/multimediacommsengine/mmcesrv/mmceserver/src/mcesipsession.cpp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmceserver/src/mcesipsession.cpp	Tue Aug 31 15:35:13 2010 +0300
@@ -2046,11 +2046,9 @@
     {
     MCESRV_DEBUG("CMceSipSession::Updated, Entry");
     
-    
-    __ASSERT_ALWAYS( &aSession == &( ActiveBody() ) || &aSession == iNewBodyCandidate, 
+    __ASSERT_ALWAYS( &aSession == iBody || &aSession == iNewBodyCandidate, 
         User::Panic( KMceServerPanic, KErrArgument ) );
-		
-		    
+    
     TMceStateTransitionEvent event( *this, EMceMediaUpdated );
     TRAPD( error, iStateMachine->ProcessL( event ) );
     if ( error != KErrNone )
--- a/multimediacommsengine/mmcesrv/mmceserver/src/mcestateoffering.cpp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmceserver/src/mcestateoffering.cpp	Tue Aug 31 15:35:13 2010 +0300
@@ -31,7 +31,6 @@
 #include "mceclientserver.h"
 #include "mcesip.h"
 #include "mcesipsession.h"
-#include "mcenatsipsession.h"
 #include "mcenatmacros.h"
 #include "mcesdpsession.h"
 #include "mcesrvlogs.h"
@@ -657,11 +656,6 @@
          else
             {
             session.Actions().UpdateFailed(); 
-            if(session.IsNatSession()) 
-            	{
-				CMceNatSipSession* natsession = static_cast <CMceNatSipSession*>( &session );
-				natsession->StateRollBack();
-            	}
             session.Actions().StateChanged( KMceStateEstablished );
             session.Actions().ClientStateChangedL( CMceSession::EEstablished, 
                                                    *session.Body(),
--- a/multimediacommsengine/mmcesrv/mmceserver/src/mcestateupdating.cpp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmceserver/src/mcestateupdating.cpp	Tue Aug 31 15:35:13 2010 +0300
@@ -135,17 +135,6 @@
 	                        session.Actions().StateChanged( 
 	                            KMceStateAcknowledgementRequired );
 	                        }
-	    	            else
-	    	            	{
-							if ( session.ActiveBody().SecureSession() )
-								{
-							    if( session.IsNatSession() )
-							    	{
-							        session.ActiveBody().SecureSession()->iNatBind = ETrue;
-							    	}
-							    session.ActiveBody().SecureSession()->iLSReadyToBind = ETrue;
-								}
-	    	            	}
 	    	            }
 	                else
 	                    {
--- a/multimediacommsengine/mmcesrv/mmceserver/tsrc/ut_server/src/UT_CMCESIPConnection.cpp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmceserver/tsrc/ut_server/src/UT_CMCESIPConnection.cpp	Tue Aug 31 15:35:13 2010 +0300
@@ -617,31 +617,7 @@
   	iConnection->ConnectionStateChanged( CSIPConnection::EUnavailable );
     EUNIT_ASSERT( !iSipSession->Body()->iIsConnectionActive );
   	
-    //cleanup orphan session test
-    CMceSipManager& manager = iServerCore->Manager();
-    iIds.iProfileID = 1;
-    iIds.iManagerType = KMceCSSIPSession;
-    iIds.iDialogType = KMceDlgTypeInvite;
-    
-    CDesC8ArrayFlat* params = new (ELeave) CDesC8ArrayFlat( KMceArrayGranularity );
-    CleanupStack::PushL( params );
-    params->AppendL( _L8("User <user2@host>") );
-    params->AppendL( _L8("User <user@host>") );
-
-    iConnection->Connection().SetState( CSIPConnection::EActive );
-    CMceCsSubSession* subsession = 
-    		manager.CreateSubSessionL( *iSession, iIds, *params );
-    CleanupStack::PushL( subsession );
-    
-    manager.AddOrphanSubSessionL(subsession);
-    CleanupStack::Pop( subsession );
-    EUNIT_ASSERT ( manager.OrphanSubSessionCount() == 1 );
-
-    iConnection->Connection().SetState( CSIPConnection::EInactive );
-  	iConnection->ConnectionStateChanged( CSIPConnection::EInactive );
-    EUNIT_ASSERT ( manager.OrphanSubSessionCount() == 0 );
-    
-    CleanupStack::PopAndDestroy();
+  	
     }
     
     
--- a/multimediacommsengine/mmcesrv/mmceserver/tsrc/ut_server/src/UT_CMCEStateOffering.cpp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmceserver/tsrc/ut_server/src/UT_CMCEStateOffering.cpp	Tue Aug 31 15:35:13 2010 +0300
@@ -397,7 +397,7 @@
     EUNIT_ASSERT ( iSipSession->WaitingMediaCallback() );
     MCE_RESET_STUBS();
     
-    // 200 OK while waiting for media callback non early media
+    // 200 OK while waiting for media callback
     iSipSession->iSubState = CMceSipSession::EOffering;
     iStorage->iMediaManagerUpdateStatus = KMceAsync;
     
@@ -416,31 +416,6 @@
     EUNIT_ASSERT ( iSipSession->WaitingMediaCallback() );
     MCE_RESET_STUBS();
     
-    // 200 OK while waiting for media callback with early media
-    iSipSession->iSubState = CMceSipSession::EOffering;
-    iStorage->iMediaManagerUpdateStatus = KMceAsync;
-    iState->iLastResponse = KMceSipRinging;
-    MCETestHelper::SetResponseL( 
-            *iSipSession->iResponse, 
-            KMceSipOK, 
-            SipStrConsts::EPhraseOk, 
-            ETrue, ETrue, 1 );
-
-    TMceStateTransitionEvent event2_2( *iSipSession, EMceResponse );
-    iState->EntryL( event2_2 );
-    MCE_ENTRYL_POSTCONDITION
-        
-    MCE_ASSERT_STUBS( CMCETls::ENone /*mmaction*/, 
-                      CMCETls::ENone /*mmsdpaction*/, 
-                      SipStrConsts::EEmpty /*sentMethod*/, 
-                      KErrNotFound /*sentResponse*/);
-        
-    EUNIT_ASSERT ( iStorage->iAckSent == EFalse );
-    EUNIT_ASSERT ( event2_1.Code() == EMceResponse );
-    EUNIT_ASSERT ( iSipSession->PendingTransactions().Count() == 1 );
-    EUNIT_ASSERT ( iSipSession->WaitingMediaCallback() );
-    MCE_RESET_STUBS();
-    
     // 200 OK with wrong SDP
     iSipSession->iSubState = CMceSipSession::EOffering;
     iSipSession->SetWaitingMediaCallback( EFalse );
@@ -637,26 +612,6 @@
     EUNIT_ASSERT ( iSipSession->PendingTransactions().Count() == 4 );
     MCE_RESET_STUBS();
     
-    // KMceSipRequestPending updating
-    iSipSession->iSubState = CMceSipSession::EUpdating;
-    iStorage->iMediaManagerUpdateStatus = KMceAsync;
-    
-    MCETestHelper::ChangeResponseTypeL( 
-        *iSipSession->iResponse->ResponseElements(),
-        KMceSipRequestPending,
-        SipStrConsts:: EPhraseBusyHere);
-    
-    TMceStateTransitionEvent event3_4( *iSipSession, EMceErrorResponse );
-    iState->EntryL( event3_4 );
-    MCE_ENTRYL_POSTCONDITION_2
-    MCE_ASSERT_STUBS( CMCETls::ECloseSession /*mmaction*/, 
-                      CMCETls::ENone /*mmsdpaction*/, 
-                      SipStrConsts::EBye /*sentMethod*/, 
-                      KErrNotFound /*sentResponse*/);
-    
-    EUNIT_ASSERT ( event3_4.Code() == EMceErrorResponse );
-    MCE_RESET_STUBS();
-    
     // KMceSipSessionIntervalTooSmall && dialog state ETerminated
     iSipSession->Dialog()->Dialog().iState = CSIPDialog::ETerminated;
     iSipSession->iSubState = CMceSipSession::EOffering;
@@ -1030,20 +985,8 @@
 	
 	TMceStateTransitionEvent event15( *iSipSession, EMceResponse );
     iState->ExitL( event15 );
-    EUNIT_ASSERT ( iSipSession->CurrentState().Id() == KMceStateOffering );  
-    
-    // EMceResponse with early media & waiting media call back
-    CSIPClientTransaction* clitransaction1_1 = 
-    MCETestHelper::ClientTransactionLC( SipStrConsts::EInfo, KMceSipOK, 
-        								SipStrConsts::EPhraseOk, ETrue );
-    iSipSession->SetPendingTransactionL( clitransaction1_1 );
-    CleanupStack::Pop( clitransaction1_1 );
-    iSipSession->iResponse = clitransaction1_1;
-    	
-    TMceStateTransitionEvent event15_1( *iSipSession, EMceResponse );
-    iState->iReadyToSendACK = EFalse;
-    iState->ExitL( event15_1 );
-    EUNIT_ASSERT ( iSipSession->CurrentState().Id() == KMceStateOffering );  
+    EUNIT_ASSERT ( iSipSession->CurrentState().Id() == KMceStateOffering );   
+
 
 	//EMceRedirectionResponse
 	CSIPClientTransaction* clitransaction2 = 
--- a/multimediacommsengine/mmcesrv/mmceserver/tsrc/ut_server/stubs/src/sipprofile.cpp	Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommsengine/mmcesrv/mmceserver/tsrc/ut_server/stubs/src/sipprofile.cpp	Tue Aug 31 15:35:13 2010 +0300
@@ -270,7 +270,7 @@
 // -----------------------------------------------------------------------------
 //	
 CSIPProfile::CSIPProfile(CSIPProfileRegistryBase* aRegistry):
-	iSIPProfileRegistry(aRegistry), iEnabled(EFalse), iContextId(1)
+	iSIPProfileRegistry(aRegistry), iEnabled(EFalse)
 	{
 	}
 
--- a/package_definition.xml	Thu Aug 19 10:18:22 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,214 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
-  <package id="ipappsrv" name="IP App Services" levels="framework generic server conn plugin">
-    <collection id="multimediacommscontroller" name="Multimedia Comms Controller" level="conn">
-      <component id="mmccinterface" filter="s60" name="MMCC Interface">
-        <!-- <unit bldFile="multimediacommscontroller/mmccinterface/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccinterface/tsrc/ut_interface/group"/> -->
-      </component>
-      <component id="mmccjitterbuffer" filter="s60" name="Jitter Buffer">
-        <!-- <unit bldFile="multimediacommscontroller/mmccjitterbuffer/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccjitterbuffer/tsrc/ut_jitterbuffer/group"/> -->
-      </component>
-      <component id="mmccqoscontroller" filter="s60" name="QoS Controller">
-        <!-- <unit bldFile="multimediacommscontroller/mmccqoscontroller/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccqoscontroller/tsrc/ut_qoscontroller/group"/> -->
-      </component>
-      <component id="mmccmultiplexer" filter="s60" name="MMCC Multiplexer">
-        <!-- <unit bldFile="multimediacommscontroller/mmccmultiplexer/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccmultiplexer/tsrc/ut_multiplexer/group"/> -->
-      </component>
-      <component id="mmccsubcontroller" filter="s60" name="MMCC Subcontroller">
-        <!-- <unit bldFile="multimediacommscontroller/mmccsubcontroller/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccsubcontroller/tsrc/ut_rtpmediaclock/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccsubcontroller/tsrc/ut_subcontroller/group"/> -->
-      </component>
-      <component id="mmcccontroller" filter="s60" name="MMCC Controller" class="plugin">
-        <!-- <unit bldFile="multimediacommscontroller/mmcccontroller/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmcccontroller/tsrc/ut_controller/group"/> -->
-      </component>
-      <component id="mmccredpayloadformat" filter="s60" name="Redundancy Payload Format" class="plugin">
-        <!-- <unit bldFile="multimediacommscontroller/mmccredpayloadformat/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccredpayloadformat/tsrc/ut_redpayloadformat/group"/> -->
-      </component>
-      <component id="mmccamrpayloadformat" filter="s60" name="AMR Payload Format" class="plugin">
-        <!-- <unit bldFile="multimediacommscontroller/mmccamrpayloadformat/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccamrpayloadformat/tsrc/ut_amrpayloadformat/group"/> -->
-      </component>
-      <component id="mmccg711payloadformat" filter="s60" name="G711 Payload Format" class="plugin">
-        <!-- <unit bldFile="multimediacommscontroller/mmccg711payloadformat/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccg711payloadformat/tsrc/ut_g711payloadformat/group"/> -->
-      </component>
-      <component id="mmccg729payloadformat" filter="s60" name="G729 Payload Format" class="plugin">
-        <!-- <unit bldFile="multimediacommscontroller/mmccg729payloadformat/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccg729payloadformat/tsrc/ut_g729payloadformat/group"/> -->
-      </component>
-      <component id="mmccilbcpayloadformat" filter="s60" name="ILBC Payload Format" class="plugin">
-        <!-- <unit bldFile="multimediacommscontroller/mmccilbcpayloadformat/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccilbcpayloadformat/tsrc/ut_ilbcpayloadformat/group"/> -->
-      </component>
-      <component id="mmccdtmfpayloadformat" filter="s60" name="DTMF Payload Format" class="plugin">
-        <!-- <unit bldFile="multimediacommscontroller/mmccdtmfpayloadformat/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccdtmfpayloadformat/tsrc/ut_dtmfpayloadformat/group"/> -->
-      </component>
-      <component id="mmccrtpsourcesink" filter="s60" name="RTP Source Sink" class="plugin">
-        <!-- <unit bldFile="multimediacommscontroller/mmccrtpsourcesink/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccrtpsourcesink/tsrc/ut_rtpsourcesink/group"/> -->
-      </component>
-      <component id="mmccvideosourcesink" filter="s60" name="Video Source Sink" class="plugin">
-        <!-- <unit bldFile="multimediacommscontroller/mmccvideosourcesink/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccvideosourcesink/tsrc/ut_videosourcesink/group"/> -->
-      </component>
-      <component id="mmcch263payloadformat" filter="s60" name="H263 Payload Format" class="plugin">
-        <!-- <unit bldFile="multimediacommscontroller/mmcch263payloadformat/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmcch263payloadformat/tsrc/ut_h263payloadformat/group"/> -->
-      </component>
-      <component id="mmccanypayloadformat" filter="s60" name="Any Payload Format" class="plugin">
-        <!-- <unit bldFile="multimediacommscontroller/mmccanypayloadformat/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccanypayloadformat/tsrc/ut_anypayloadformat/group"/> -->
-      </component>
-      <component id="mmccfilesourcesink" filter="s60" name="MMCC File Source Sink" class="plugin">
-        <!-- <unit bldFile="multimediacommscontroller/mmccfilesourcesink/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccfilesourcesink/tsrc/ut_filesourcesink/group"/> -->
-      </component>
-      <component id="mmccanysourcesink" filter="s60" name="Any Source Sink" class="plugin">
-        <!-- <unit bldFile="multimediacommscontroller/mmccanysourcesink/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccanysourcesink/tsrc/ut_anysourcesink/group"/> -->
-      </component>
-      <component id="mmccavcpayloadformat" filter="s60" name="AVC Payload Format" class="plugin">
-        <!-- <unit bldFile="multimediacommscontroller/mmccavcpayloadformat/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/mmccavcpayloadformat/tsrc/ut_avcpayloadformat/group"/> -->
-      </component>
-      <component id="multimediacommscontroller_build" filter="s60" name="Multimedia Comms Controller Build">
-              <!-- contents of this component need to be distributed out to the other commented-out bld.infs or the other components need to be collapsed into one -->
-        <unit bldFile="multimediacommscontroller/group"/>
-      </component>
-      <component id="multimediacommscontroller_test" filter="s60" name="Multimedia Comms Controller Test" purpose="development">
-        <!-- <unit bldFile="multimediacommscontroller/tsrc/testconsoles/mcpsubthreads/dptests/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/tsrc/testconsoles/mcpsubthreads/clienttests/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/tsrc/componenttests/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/tsrc/subcontrollerstub/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/tsrc/testconsoles/jitterbuffertestconsole/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/tsrc/testconsoles/rtpsourcesink/group"/> -->
-        <!-- <unit bldFile="multimediacommscontroller/tsrc/testconsoles/mcpconsole/group"/> -->
-      </component>
-    </collection>
-    <collection id="multimediacommsengine" name="Multimedia Comms Engine" level="generic">
-      <component id="mmcesrv" filter="s60" name="Multimedia Comms Engine Server">
-        <!-- <unit bldFile="multimediacommsengine/mmcesrv/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/mmcesrv/mmceevent/tsrc/ut_event/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/mmcesrv/mmceevent/tsrc/ut_event/sip_stub/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/mmcesrv/mmcemediamanager/tsrc/ut_mediamanager/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/mmcesrv/mmceserver/tsrc/ut_server/group"/> -->
-      </component>
-      <component id="mmcecli" filter="s60" name="Multimedia Comms Engine Client">
-        <!-- <unit bldFile="multimediacommsengine/mmcecli/group"/> -->
-      </component>
-      <component id="mmcefloorctrlengine" filter="s60" name="MCE Floor Control Engine">
-        <!-- <unit bldFile="multimediacommsengine/mmcefloorctrlengine/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/mmcefloorctrlengine/tsrc/ut_floorctrlengine/fctestpplugin/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/mmcefloorctrlengine/tsrc/ut_floorctrlengine/fctestpplugin2/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/mmcefloorctrlengine/tsrc/ut_floorctrlengine/group"/> -->
-      </component>
-      <component id="mmcefloorctrlplugin" filter="s60" name="MCE Floor Control Plugin" class="plugin">
-        <!-- <unit bldFile="multimediacommsengine/mmcefloorctrlplugin/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/mmcefloorctrlplugin/tsrc/ut_floorctrlplugin/group"/> -->
-      </component>
-      <component id="multimediacommsengine_build" filter="s60" name="Multimedia Comms Engine Build">
-              <!-- contents of this component need to be distributed out to the other commented-out bld.infs or the other components need to be collapsed into one -->
-        <unit bldFile="multimediacommsengine/group"/>
-      </component>
-      <component id="multimediacommsengine_test" filter="s60" name="Multimedia Comms Engine Test" purpose="development">
-        <!-- <unit bldFile="multimediacommsengine/tsrc/mcetestui/mcetestuiplugin/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/tsrc/mcetestui/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/tsrc/testdriver/siptester/ttcnresolverplugin/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/tsrc/mmctestdriver/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/tsrc/mmctestdriver/mcetester/iceplugin_stub/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/tsrc/mmctestdriver/mcetester/ttcnresolverplugin/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/tsrc/testdriver/siptester/ttcnresolverplugin2/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/tsrc/mcetestui/mcetestuiengine/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/tsrc/testdriver/group/s60_public_sdk"/> -->
-        <!-- <unit bldFile="multimediacommsengine/tsrc/mmctestdriver/mcetester/iceplugin_stub/tsrc/test/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/tsrc/testdriver/group"/> -->
-        <!-- <unit bldFile="multimediacommsengine/tsrc/mmctestdriver/mcetester/voipplugin/group"/> -->
-      </component>
-    </collection>
-    <collection id="natfw" name="NAT Framework" level="framework">
-      <component id="natfwsettings" filter="s60" name="NAT Framework Settings" introduced="^2">
-        <!-- <unit bldFile="natfw/natfwsettings/group"/> -->
-        <!-- <unit bldFile="natfw/natfwsettings/tsrc/ut_cnatfwnatsettings/group"/> -->
-      </component>
-      <component id="natfwconnectionmultiplexer" filter="s60" name="NAT Framework Connection Multiplexer" introduced="^2">
-        <!-- <unit bldFile="natfw/natfwconnectionmultiplexer/group"/> -->
-        <!-- <unit bldFile="natfw/natfwconnectionmultiplexer/tsrc/muxtestconsole/group"/> -->
-        <!-- <unit bldFile="natfw/natfwconnectionmultiplexer/tsrc/ut_connectionmultiplexer/group"/> -->
-      </component>
-      <component id="natfwclient" filter="s60" name="NAT Framework Client" introduced="^2">
-        <!-- <unit bldFile="natfw/natfwclient/group"/> -->
-        <!-- <unit bldFile="natfw/natfwclient/tsrc/ut_natfwclient/group"/> -->
-      </component>
-      <component id="natfwsocketmediaconnwrapper" filter="s60" name="Socket Media Connection Wrapper" introduced="^2">
-        <!-- <unit bldFile="natfw/natfwsocketmediaconnwrapper/group"/> -->
-        <!-- <unit bldFile="natfw/natfwsocketmediaconnwrapper/tsrc/ut_socketmediaconnwrapper/group"/> -->
-      </component>
-      <component id="natfwunsaf_protocols" filter="s60" name="UNSAF Protocols" introduced="^2">
-          <!-- consider expanding name to UNilateral Self- Address Fixing Protocols -->
-        <!-- <unit bldFile="natfw/natfwunsaf_protocols/group"/> -->
-        <!-- <unit bldFile="natfw/natfwunsaf_protocols/tsrc/ut_unsaf_codec/group"/> -->
-        <!-- <unit bldFile="natfw/natfwunsaf_protocols/tsrc/ut_unsaf_transport/group"/> -->
-      </component>
-      <component id="natfwstunturnclient" filter="s60" name="STUN TURN Client" introduced="^2">
-        <!-- <unit bldFile="natfw/natfwstunturnclient/group"/> -->
-        <!-- <unit bldFile="natfw/natfwstunturnclient/tsrc/ut_stunturnclient/group"/> -->
-      </component>
-      <component id="natfwstunserver" filter="s60" name="STUN Server" introduced="^2">
-        <!-- <unit bldFile="natfw/natfwstunserver/group"/> -->
-        <!-- <unit bldFile="natfw/natfwstunserver/tsrc/ut_cnatfwstunsrv/group"/> -->
-      </component>
-      <component id="natfwicecandidatehandler" filter="s60" name="ICE Candidate Handler" class="plugin" introduced="^2">
-        <!-- <unit bldFile="natfw/natfwicecandidatehandler/group"/> -->
-        <!-- <unit bldFile="natfw/natfwicecandidatehandler/tsrc/ut_icecandidatehandler/group"/> -->
-      </component>
-      <component id="natfwstunplugin" filter="s60" name="STUN Plugin" class="plugin" introduced="^2">
-        <!-- <unit bldFile="natfw/natfwstunplugin/group"/> -->
-        <!-- <unit bldFile="natfw/natfwstunplugin/tsrc/ut_cnatfwstunplugin/group"/> -->
-      </component>
-      <component id="natfwturnplugin" filter="s60" name="TURN Plugin" class="plugin" introduced="^2">
-        <!-- <unit bldFile="natfw/natfwturnplugin/group"/> -->
-        <!-- <unit bldFile="natfw/natfwturnplugin/tsrc/ut_cnatfwturnplugin/group"/> -->
-      </component>
-      <component id="natfw_build" filter="s60" name="NAT Framework Build" introduced="^2">
-              <!-- contents of this component need to be distributed out to the other commented-out bld.infs or the other components need to be collapsed into one -->
-        <unit bldFile="natfw/group"/>
-      </component>
-      <component id="natfw_test" filter="s60" name="NAT Framework Test" purpose="development" introduced="^2">
-        <!-- <unit bldFile="natfw/tsrc/natfwtestconsoles/natfwtestconsole/group"/> -->
-      </component>
-    </collection>
-    <collection id="natplugins" name="NAT Plugins" level="plugin">
-         <!-- are the extra test units in here needed at all? Either incorperate into main unit as test projects or remove-->
-      <component id="natpcliprovisioningnatfwadapter" filter="s60" name="Client Provisioning NAT Framework Traversal Adapter" class="plugin" introduced="^2">
-        <unit bldFile="natplugins/natpcliprovisioningnatfwadapter/group"/>
-        <!-- <unit bldFile="natplugins/natpcliprovisioningnatfwadapter/tsrc/t_natfwtraversaladapter/group"/> -->
-      </component>
-      <component id="natpdevmgmtnatfwadapter" filter="s60" name="Device Management NAT Framework Traversal Adapter" class="plugin">
-        <unit bldFile="natplugins/natpdevmgmtnatfwadapter/group"/>
-        <!-- <unit bldFile="natplugins/natpdevmgmtnatfwadapter/tsrc/ut_cnsmldmnatfwtraversaladapter/group"/> -->
-      </component>
-      <component id="natptraversalcontroller" filter="s60" name="NAT Traversal Controller" class="plugin">
-        <unit bldFile="natplugins/natptraversalcontroller/group"/>
-        <!-- <unit bldFile="natplugins/natptraversalcontroller/tsrc/ut_nattraversalcontroller/group"/> -->
-      </component>
-      <component id="natpnatfwsdpprovider" filter="s60" name="NAT Framework SDP Provider" class="plugin">
-        <unit bldFile="natplugins/natpnatfwsdpprovider/group"/>
-        <!-- <unit bldFile="natplugins/natpnatfwsdpprovider/tsrc/testconsole/group"/> -->
-        <!-- <unit bldFile="natplugins/natpnatfwsdpprovider/tsrc/ut_natfwsdpprovider/group"/> -->
-      </component>
-    </collection>
-    <collection id="ipappsrv_info" name="IP App Services Info" level="plugin">
-      <component id="ipappsrv_metadata" name="IP App Services Metadata" class="config" introduced="^2" purpose="development" target="desktop">
-        <unit mrp="ipappsrv_info/ipappsrv_metadata/ipappsrv_metadata.mrp"/>
-      </component>
-    </collection>
-  </package>
-</SystemDefinition>