mmsharing/mmshavailability/src/musavacapabilitysipagent.cpp
branchRCL_3
changeset 22 73a1feb507fb
parent 21 33a5d2bbf6fc
child 23 bc78a40cd63c
equal deleted inserted replaced
21:33a5d2bbf6fc 22:73a1feb507fb
    28 #include <siprefresh.h>
    28 #include <siprefresh.h>
    29 #include <sipstrings.h>
    29 #include <sipstrings.h>
    30 #include <sipstrconsts.h>
    30 #include <sipstrconsts.h>
    31 #include <sipresponseelements.h>
    31 #include <sipresponseelements.h>
    32 
    32 
    33 #include "mussettings.h"
       
    34 #include "muslogger.h"
    33 #include "muslogger.h"
    35 #include "musavacapabilityexchange.h"
    34 #include "musavacapabilityexchange.h"
    36 #include "musavacapabilityquery.h"
    35 #include "musavacapabilityquery.h"
    37 #include "musavaterminal.h"
    36 #include "musavaterminal.h"
    38 #include "musavasharedobject.h"
    37 #include "musavasharedobject.h"
   163 TInt CMusAvaCapabilitySipAgent::IncomingRequest(
   162 TInt CMusAvaCapabilitySipAgent::IncomingRequest(
   164                                         CSIPServerTransaction* aTransaction )
   163                                         CSIPServerTransaction* aTransaction )
   165     {
   164     {
   166     MUS_LOG( "mus: [MUSAVA] -> CMusAvaCapabilitySipAgent::IncomingRequest" )
   165     MUS_LOG( "mus: [MUSAVA] -> CMusAvaCapabilitySipAgent::IncomingRequest" )
   167     TInt retval = KErrNone;
   166     TInt retval = KErrNone;
   168     MusSettingsKeys::TOperatorVariant variantValue = MusSettingsKeys::EStandard;
       
   169     TRAPD( error, variantValue = 
       
   170                   MultimediaSharingSettings::OperatorVariantSettingL() );
       
   171     if( error )
       
   172     	{
       
   173          MUS_LOG("CMusAvaCapabilitySipAgent::IncomingRequest\
       
   174         		  Get OperatorVariantSettingL worng");
       
   175     	}
       
   176     
       
   177     if ( aTransaction->Type() == 
   167     if ( aTransaction->Type() == 
   178                         SIPStrings::StringF( SipStrConsts::EOptions ) )
   168                         SIPStrings::StringF( SipStrConsts::EOptions ) )
   179         {  
   169         {  
   180         // Answer 200OK when CS call remain at Availability States
   170         // Answer 200OK only when CS call remain at Availability States
   181         //or at EMusAvaOptionNotAvailable State in operatorspecific mode
       
   182         if ( MMusAvaObserver::EMusAvaStatusNotExecuted <= 
   171         if ( MMusAvaObserver::EMusAvaStatusNotExecuted <= 
   183              iAvailabilityObserver.AvailabilityPluginState()  
   172              iAvailabilityObserver.AvailabilityPluginState() )
   184              ||( ( iAvailabilityObserver.AvailabilityPluginState() ==
       
   185               MMusAvaObserver::EMusAvaOptionNotAvailable ) 
       
   186               && ( variantValue == MusSettingsKeys::EOperatorSpecific  )))
       
   187             {
   173             {
   188             retval = 
   174             retval = 
   189              iCapabilityExchange.QueryObserver().CapabilityQueryAnswered() ?
   175              iCapabilityExchange.QueryObserver().CapabilityQueryAnswered() ?
   190              KErrNotFound : KErrNone;
   176              KErrNotFound : KErrNone;
   191         
   177