--- 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;
- }
-
-