multimediacommsengine/mmcesrv/mmceserver/src/mcestateoffering.cpp
changeset 12 966b25fd74b5
parent 0 1bce908db942
child 11 2a28ef775f15
child 30 4c9e1ec7a69e
equal deleted inserted replaced
0:1bce908db942 12:966b25fd74b5
    32 #include "mcesip.h"
    32 #include "mcesip.h"
    33 #include "mcesipsession.h"
    33 #include "mcesipsession.h"
    34 #include "mcenatmacros.h"
    34 #include "mcenatmacros.h"
    35 #include "mcesdpsession.h"
    35 #include "mcesdpsession.h"
    36 #include "mcesrvlogs.h"
    36 #include "mcesrvlogs.h"
       
    37 #include "mcemediastate.h"
       
    38 #include "mcemediadefs.h"
       
    39 #include "mcemediamanager.h"
    37 
    40 
    38 // -----------------------------------------------------------------------------
    41 // -----------------------------------------------------------------------------
    39 // CMceStateOffering::CMceStateOffering
    42 // CMceStateOffering::CMceStateOffering
    40 // -----------------------------------------------------------------------------
    43 // -----------------------------------------------------------------------------
    41 //
    44 //
   269     
   272     
   270     TBool IsFork = EFalse;
   273     TBool IsFork = EFalse;
   271     if ( MceSip::ResponseCode( session.Response() ) == KMceSipSessionProgress && 
   274     if ( MceSip::ResponseCode( session.Response() ) == KMceSipSessionProgress && 
   272     	   session.ForkedDialogsCount() ) 
   275     	   session.ForkedDialogsCount() ) 
   273         {
   276         {
       
   277         if( session.ActiveBody().NegotiationState().Id() == KMceMediaNegotiated ||
       
   278         	 session.ActiveBody().NegotiationState().Id() == KMceOfferingMedia )
       
   279         	{
   274         IsFork = ETrue;
   280         IsFork = ETrue;
       
   281         	}
       
   282         else
       
   283         	{
       
   284         	session.ResetCurrentDialog();
       
   285         	}
   275   	    }
   286   	    }
   276     if ( session.Actions().NeedToProcessL( aEvent ) || IsFork )
   287     if ( session.Actions().NeedToProcessL( aEvent ) || IsFork )
   277         {
   288         {
   278         if ( MCE_NEED_TO_SEND( session, NULL ) || IsFork )
   289         if ( MCE_NEED_TO_SEND( session, NULL ) || IsFork )
   279             {
   290             {
   482             }
   493             }
   483 	    else // no content
   494 	    else // no content
   484     	    {
   495     	    {
   485     	    if  ( !MCE_NEED_TO_RECEIVE( session ) )
   496     	    if  ( !MCE_NEED_TO_RECEIVE( session ) )
   486     	        {
   497     	        {
       
   498     	        if ( session.ActiveBody().SecureSession())
       
   499     	            {
       
   500     	            if( session.ForkedDialogsCount() )
       
   501     	            	{
       
   502     	            	session.ForceUpdateStreamL();
       
   503     	            	}
       
   504     	            }
   487                 status = session.Actions().UpdateL();
   505                 status = session.Actions().UpdateL();
   488     	        // SDP answer was received before
   506     	        // SDP answer was received before
   489     	        // go to established state
   507     	        // go to established state
   490     	        session.Actions().StateChanged( KMceStateEstablished );
   508     	        session.Actions().StateChanged( KMceStateEstablished );
   491                 //session.Actions().ClientStateChangedL( CMceSession::EEstablished,
   509                 //session.Actions().ClientStateChangedL( CMceSession::EEstablished,