mmsharing/mmshavailability/src/musavacapabilityquerybase.cpp
branchRCL_3
changeset 22 73a1feb507fb
parent 21 33a5d2bbf6fc
child 23 bc78a40cd63c
--- a/mmsharing/mmshavailability/src/musavacapabilityquerybase.cpp	Thu Aug 19 09:51:39 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavacapabilityquerybase.cpp	Tue Aug 31 15:12:07 2010 +0300
@@ -32,14 +32,13 @@
 #include <sipstrconsts.h>
 #include <sipresponseelements.h>
 #include <sipaddress.h>
-#include <sipfromheader.h>
 #include <sdpdocument.h>
 #include <sdporiginfield.h>
 #include <sdpconnectionfield.h>
 #include <sdpattributefield.h>
 #include <sdpmediafield.h>
 #include <e32math.h>
-#include <e32property.h>
+
 
 #include "mussettings.h"
 #include "muslogger.h"
@@ -49,14 +48,6 @@
 #include "musavaterminal.h"
 #include "musavacapabilitycontext.h"
 #include "musavasipheaderutil.h"
-#include "mussesseioninformationapi.h"
-
-_LIT8( KMusSipPrefix, "sip:" );
-_LIT8( KMusTelPrefix, "tel:" );
-_LIT8( KMusPlusSign, "+" );
-_LIT8( KMusAtSign, "@" );
-
-const TInt KMusMinDigitCountInTelNumber = 7;
 
 // --------------------------------------------------------------------------
 // C++ constructor
@@ -161,7 +152,6 @@
     CleanupStack::PopAndDestroy(sipAddress);        
     
     HBufC8* sipAddress8 = EscapeUtils::ConvertFromUnicodeToUtf8L( aSipAddress );
-    iRemoteUri.Copy( sipAddress8->Des() ) ;
     CleanupStack::PushL( sipAddress8 );
     iTerminal = &Capability().Exchange().TerminalL( sipAddress8->Des() );
     CleanupStack::PopAndDestroy( sipAddress8 ) ;
@@ -240,24 +230,7 @@
                                                iOriginator->Uri().UriDes());
             MUS_LOG( "mus: [MUSAVA]  AddPreferredIdentityHeaderL -> Success ")                         
             AddContactHeaderL( headers );
-            MUS_LOG( "mus: [MUSAVA]  AddContactHeaderL -> Success ")
-            
-            TBool usePrivacy = MultimediaSharingSettings::PrivacySetting();
-            if ( usePrivacy )
-                {
-                NMusSessionInformationApi::TMusClirSetting clir =
-                    NMusSessionInformationApi::ESendOwnNumber;
-                RProperty::Get( NMusSessionInformationApi::KCategoryUid,
-                                NMusSessionInformationApi::KMusClirSetting,
-                                reinterpret_cast<TInt&>( clir ) );
-                usePrivacy = ( clir == NMusSessionInformationApi::EDoNotSendOwnNumber );
-                }
-                    
-            if (usePrivacy)
-                {
-                CMusAvaSipheaderUtil::AddPrivacyHeaderL( headers );
-                MUS_LOG( "mus: [MUSAVA]  AddPrivacyHeaderL -> Success ")
-                }
+            MUS_LOG( "mus: [MUSAVA]  AddContactHeaderL -> Success ")             
             //terminal ID
             if ( Capability().Exchange().TerminalId().Length() > 0 )
                 {
@@ -278,16 +251,6 @@
             CleanupStack::Pop( remoteUri );
             CleanupStack::PushL( request );
             
-            if (usePrivacy)
-                {
-                _LIT8( KAnonymous,
-                       "\"Anonymous\" <sip:anonymous@anonymous.invalid>" );
-                CSIPFromHeader* from = CSIPFromHeader::DecodeL( KAnonymous );
-                CleanupStack::PushL( from );
-                request->SetFromHeaderL( from );
-                CleanupStack::Pop( from );
-                }
-            
             request->SetMethodL( 
                         SIPStrings::StringF( SipStrConsts::EOptions ) );
             
@@ -507,7 +470,7 @@
     //application
     CSdpAttributeField* application = CSdpAttributeField::NewLC(
        MusAvaCapabilityContext::SDPStringL( 
-            SdpCodecStringConstants::EMediaApplication ), 
+           SdpCodecStringConstants::EMediaApplication ), 
        KCapabilitySwisApplication );
                                       
     aResponseContent.AttributeFields().AppendL( application );
@@ -526,13 +489,16 @@
     aResponseContent.AttributeFields().AppendL( type );
     CleanupStack::Pop( type );
     
+    // Fast startup mode
+    CMusAvaCapability::AddFastModeL( aResponseContent );
+
     MUS_LOG( "mus: [MUSAVA] Adding media line to SDP" )
     //media line
-    CSdpMediaField* mediaLine=CSdpMediaField::NewLC( 
-                    MusAvaCapabilityContext::SDPStringL
+    CSdpMediaField* mediaLine = CSdpMediaField::NewLC( 
+    			MusAvaCapabilityContext::SDPStringL
     				(SdpCodecStringConstants::EMediaVideo ),
                      							       NULL,
-                     MusAvaCapabilityContext::SDPStringL
+                         MusAvaCapabilityContext::SDPStringL
                 (SdpCodecStringConstants::EProtocolRtpAvp ), 
                         KCapabilitySwisFormatListH263Only );
     
@@ -572,111 +538,7 @@
     aResponseContent.MediaFields().AppendL( mediaLine );
     CleanupStack::Pop( mediaLine );
 
-    
     MUS_LOG( "mus: [MUSAVA] <- CMusAvaCapabilityQueryBase::OtherSDPHeadersL" )
     }
 
-// --------------------------------------------------------------------------
-// CMusAvaCapabilityQueryBase::ValidateUri
-// --------------------------------------------------------------------------
-//
-TBool CMusAvaCapabilityQueryBase::ValidateUri()
-	{
-    MUS_LOG( "mus: [MUSAVA] -> CMusAvaCapabilityQueryBase::ValidateUri" )
-    		
-	TBool valid = ETrue;
-     
-    const TDesC8& originator = iOriginator->Uri().UriDes();
-    MUS_LOG_TDESC8( "mus: [MUSAVA]  originator uri: ", originator )
 
-    TBuf8<KMaxRemoteUriLength> sipUri;
-    TBuf8<KMaxRemoteUriLength> telUri;
-    
-    if ( iRemoteUri.FindF( KMusSipPrefix ) != KErrNotFound )
-        {
-        sipUri.Copy( iRemoteUri );
-        MUS_LOG_TDESC8( "mus: [MUSAVA]  sip uri: ", sipUri )
-        }
-    else if ( iRemoteUri.FindF( KMusTelPrefix ) != KErrNotFound )
-        {
-        telUri.Copy( iRemoteUri );
-        MUS_LOG_TDESC8( "mus: [MUSAVA]  tel uri: ", telUri )
-        }
-   
-    // Tel Uri case
-    if ( telUri.Length() > 0 )
-        {
-        telUri.Trim();
-        
-        // Remove prefix and plus sign from remote uri if there is
-        TPtrC8 telUriWithoutPrefix = 
-                telUri.Right( telUri.Length() - KMusTelPrefix().Length() );
-        MUS_LOG_TDESC8( "mus: [MUSAVA]  telUriWithoutPrefix: ", telUriWithoutPrefix )
-        
-        TPtrC8 numberPartOfTelUri = 
-                telUriWithoutPrefix.Find( KMusPlusSign ) == 0 ?
-                telUriWithoutPrefix.Right( telUriWithoutPrefix.Length() - 1 ) :
-                telUriWithoutPrefix;
-        MUS_LOG_TDESC8( "mus: [MUSAVA]  numberPartOfTelUri: ", numberPartOfTelUri )
-        
-        // Remove prefix and domain part from uri in profile
-        TPtrC8 originatorWithoutPrefix = 
-        		originator.Right( originator.Length() - KMusSipPrefix().Length() );
-        MUS_LOG_TDESC8( "mus: [MUSAVA]  originatorWithoutPrefix: ", originatorWithoutPrefix )
-        
-        TPtrC8 usernameOfOriginator = 
-        		originatorWithoutPrefix.Find( KMusPlusSign ) == 0 ?
-        		originatorWithoutPrefix.Right( originatorWithoutPrefix.Length() - 1 ) :
-                originatorWithoutPrefix;
-        
-        TInt posOfAtSign = originatorWithoutPrefix.Find( KMusAtSign );
-        
-        if ( posOfAtSign >= KMusMinDigitCountInTelNumber )
-        	{
-            usernameOfOriginator.Set( 
-            		originatorWithoutPrefix.Mid( (originatorWithoutPrefix.Find( KMusAtSign ) 
-        				- KMusMinDigitCountInTelNumber), KMusMinDigitCountInTelNumber ) );
-            MUS_LOG_TDESC8( "mus: [MUSAVA]  usernameOfOriginator: ", usernameOfOriginator )
-        	}
-        
-        else
-        	{
-            usernameOfOriginator.Set( originatorWithoutPrefix.Left( posOfAtSign ) );
-            MUS_LOG_TDESC8( "mus: [MUSAVA]  usernameOfOriginator: ", usernameOfOriginator )
-        	}
-        
-        if ( numberPartOfTelUri.Length() >= KMusMinDigitCountInTelNumber )
-        	{
-            numberPartOfTelUri.Set( numberPartOfTelUri.Right( KMusMinDigitCountInTelNumber ) );
-            MUS_LOG_TDESC8( "mus: [MUSAVA]  numberPartOfTelUri: ", numberPartOfTelUri )
-        	}
-        
-                
-        if  ( numberPartOfTelUri == usernameOfOriginator )
-            {
-            MUS_LOG( "mus: Recipient address is evaluated to be same as in profile.\
-            		We do not send OPTIONS")
-			valid = EFalse;
-            MUS_LOG( "mus: [MUSAVA] <- CMusAvaCapabilityQueryBase::ValidateUri" )
-            return valid;              
-            }
-        }
-    
-    // SIP Uri case
-    if ( sipUri.Length() > 0 )
-		{
-		if ( !originator.Compare( sipUri ) )
-			{
-		    MUS_LOG( "mus: Recipient address is evaluated to be same as in profile.\
-		            		We do not send OPTIONS")
-		    valid = EFalse;
-		    MUS_LOG( "mus: [MUSAVA] <- CMusAvaCapabilityQueryBase::ValidateUri" )
-		    return valid; 
-			}
-		}
-
-    MUS_LOG( "mus: [MUSAVA] <- CMusAvaCapabilityQueryBase::ValidateUri" )
-    return valid;
-	}
-
-