--- a/callcontinuity/rom/vcc.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/callcontinuity/rom/vcc.iby Thu Aug 19 09:45:22 2010 +0300
@@ -22,9 +22,9 @@
#include <data_caging_paths_for_iby.hrh>
-file=ABI_DIR\BUILD_DIR\vccutils.dll SHARED_LIB_DIR\vccutils.dll
+file=ABI_DIR/BUILD_DIR/vccutils.dll SHARED_LIB_DIR/vccutils.dll
// Stub sis
-data=ZSYSTEM\install\vcc_stub.sis System\Install\vcc_stub.sis
+data=ZSYSTEM/install/vcc_stub.sis System/Install/vcc_stub.sis
// wpvccprovisioning
ECOM_PLUGIN(wpvccadapter.dll,wpvccadapter.rsc)
@@ -33,10 +33,10 @@
ECOM_PLUGIN(nsmldmvccadapter.dll,nsmldmvccadapter.rsc)
// vcchotrigger
-file=ABI_DIR\BUILD_DIR\vcchotrigger.dll SHARED_LIB_DIR\vcchotrigger.dll
+file=ABI_DIR/BUILD_DIR/vcchotrigger.dll SHARED_LIB_DIR/vcchotrigger.dll
ECOM_PLUGIN( vccperformer.dll, vccperformer.rsc )
-file=ABI_DIR\BUILD_DIR\vccuipropertyhandler.dll SHARED_LIB_DIR\vccuipropertyhandler.dll
+file=ABI_DIR/BUILD_DIR/vccuipropertyhandler.dll SHARED_LIB_DIR/vccuipropertyhandler.dll
#endif // VCC_IBY
--- a/callcontinuity/rom/vccresources.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/callcontinuity/rom/vccresources.iby Thu Aug 19 09:45:22 2010 +0300
@@ -20,6 +20,6 @@
#define VCCRESOURCES_IBY
// wpvccprovisioning
-data=DATAZ_\RESOURCE_FILES_DIR\wpvccadapterrsc.rsc RESOURCE_FILES_DIR\wpvccadapterrsc.rsc
+data=DATAZ_/RESOURCE_FILES_DIR/wpvccadapterrsc.rsc RESOURCE_FILES_DIR/wpvccadapterrsc.rsc
#endif // VCCRESOURCES_IBY
\ No newline at end of file
--- a/commsconfig/cscapplicationui/data/csc.rss Mon Jun 21 15:29:21 2010 +0300
+++ b/commsconfig/cscapplicationui/data/csc.rss Thu Aug 19 09:45:22 2010 +0300
@@ -307,10 +307,10 @@
caption = qtn_set_folder_conn_service_configurator;
#ifdef __SCALABLE_ICONS
number_of_icons = 1;
- icon_file = "\\resource\\apps\\csc_aif.mif";
+ icon_file = "//resource//apps//csc_aif.mif";
#else
number_of_icons = 2;
- icon_file = "\\resource\\apps\\csc_aif.mbm";
+ icon_file = "//resource//apps//csc_aif.mbm";
#endif // __SCALABLE_ICONS
};
}
--- a/commsconfig/cscengine/src/cscengcchhandler.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/commsconfig/cscengine/src/cscengcchhandler.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -140,9 +140,10 @@
EXPORT_C void CCSCEngCCHHandler::SupportedSubServicesL(
TInt aServiceId, TSupportedSubServices& aSupSubServices )
{
+ // Create new cch client for access the latest service info data.
CCchService* service =
- iCchClientApi->GetService( aServiceId );
-
+ CCch::NewLC()->GetService( aServiceId );
+
TBool supported( EFalse );
if ( service )
@@ -159,7 +160,9 @@
service->IsSupported( ECCHVMBxSub, supported );
aSupSubServices.iVmbx = supported;
}
-
+
+ CleanupStack::PopAndDestroy(); // cch
+
CSCENGDEBUG2(
"CCSCEngCCHHandler::SupportedSubServicesL VoIP=%d",
aSupSubServices.iVoIP );
--- a/commsconfig/cscsettingsui/inc/cscsettingsuimaincontainer.h Mon Jun 21 15:29:21 2010 +0300
+++ b/commsconfig/cscsettingsui/inc/cscsettingsuimaincontainer.h Thu Aug 19 09:45:22 2010 +0300
@@ -133,7 +133,7 @@
*
* @since S60 v5.2
*/
- void DeleteServiceL();
+ TBool DeleteServiceL();
/**
* Launches cleanup plugin to remove settings.
--- a/commsconfig/cscsettingsui/inc/cscsettingsuimainview.h Mon Jun 21 15:29:21 2010 +0300
+++ b/commsconfig/cscsettingsui/inc/cscsettingsuimainview.h Thu Aug 19 09:45:22 2010 +0300
@@ -178,7 +178,7 @@
*
* @since S60 v5.0
*/
- void HandleReturnToPreviousViewL();
+ void HandleReturnToPreviousViewL( TBool aViewBack = ETrue );
/**
* Handles exist from settingsui.
--- a/commsconfig/cscsettingsui/src/cscsettingsuimaincontainer.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/commsconfig/cscsettingsui/src/cscsettingsuimaincontainer.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -872,12 +872,13 @@
// Deletes service.
// ---------------------------------------------------------------------------
//
-void CCSCSettingsUiMainContainer::DeleteServiceL()
+TBool CCSCSettingsUiMainContainer::DeleteServiceL()
{
CSCSETUIDEBUG( "CCSCSettingsUiMainContainer::DeleteServiceL - begin" );
// Show confirmation query for service deletion.
// Create confirmation query dialog.
+ TBool isDelete( EFalse );
HBufC* string = NULL;
CAknQueryDialog* query =
new( ELeave ) CAknQueryDialog( CAknQueryDialog::ENoTone );
@@ -902,9 +903,11 @@
iModel.SettingsHandler().DeleteServiceL(
iModel.CurrentSPEntryId() );
}
+ isDelete = ETrue;
}
CSCSETUIDEBUG( "CCSCSettingsUiMainContainer::DeleteServiceL - end" );
+ return isDelete;
}
// ---------------------------------------------------------------------------
--- a/commsconfig/cscsettingsui/src/cscsettingsuimainview.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/commsconfig/cscsettingsui/src/cscsettingsuimainview.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -139,7 +139,7 @@
// ---------------------------------------------------------------------------
// CCSCSettingsUiMainView::UpdateSoftkeysL
-// Processes situation when it´s notified that softkeys need to be changed.
+// Processes situation when it�s notified that softkeys need to be changed.
// ---------------------------------------------------------------------------
//
void CCSCSettingsUiMainView::UpdateSoftkeysL( )
@@ -261,9 +261,8 @@
case ECSCSettingsUiDelete:
{
CSCSETUIDEBUG( " HandleCommandL - delete service" );
- iContainer->DeleteServiceL();
- iDeleted = ETrue;
- HandleReturnToPreviousViewL();
+ iDeleted = iContainer->DeleteServiceL();
+ HandleReturnToPreviousViewL( EFalse );
break;
}
case EEikCmdExit:
@@ -873,7 +872,7 @@
// Handles returning to previous view where settingsui was launced.
// ---------------------------------------------------------------------------
//
-void CCSCSettingsUiMainView::HandleReturnToPreviousViewL()
+void CCSCSettingsUiMainView::HandleReturnToPreviousViewL( TBool aViewBack )
{
CSCSETUIDEBUG(
"CCSCSettingsUiMainView::HandleReturnToPreviousViewL - IN" );
@@ -887,14 +886,9 @@
tabview.iUid = iModel.SettingsHandler().ServiceTabViewIdL(
iModel.CurrentSPEntryId() ) )
- if ( iDeleted && KCSCServiceViewId != iModel.ReturnViewId() )
- {
- TVwsViewId idleId;
- AknDef::GetPhoneIdleViewId( idleId );
- ActivateViewL( idleId );
- AppUi()->HandleCommandL( EEikCmdExit );
- }
- else if ( tabview.iUid == iModel.ReturnViewId().iUid )
+ // Launched from phonebookview.
+ // Press Back button, return PhoneBookTabView.
+ if ( aViewBack && tabview.iUid == iModel.ReturnViewId().iUid )
{
RxSPViewServices viewServices;
TInt err = viewServices.Activate(
@@ -905,10 +899,34 @@
AppUi()->HandleCommandL( EEikCmdExit );
}
+
+ if ( iDeleted && KCSCServiceViewId != iModel.ReturnViewId() )
+ {
+ // Launched from phonebookview.
+ // Press Ok button, return homescreen.
+ TVwsViewId idleId;
+ AknDef::GetPhoneIdleViewId( idleId );
+ ActivateViewL( idleId );
+ AppUi()->HandleCommandL( EEikCmdExit );
+ }
+ else if( !iDeleted && KCSCServiceViewId != iModel.ReturnViewId() )
+ {
+ // Launched from phonebookview.
+ // Press cancel button, return current view.
+ TUid curview = Id();
+ AppUi()->ActivateLocalViewL( curview );
+ }
+ else if( !aViewBack && !iDeleted && KCSCServiceViewId == iModel.ReturnViewId() )
+ {
+ // Launched from service view.
+ // Press cancel button, return current view.
+ TUid curview = Id();
+ AppUi()->ActivateLocalViewL( curview );
+ }
else
{
- // Not deleted or launched from service tab,
- // activate previous view.
+ // Launched from service view.
+ // Press Back button or Press Delete button, activate previous view.
AppUi()->ActivateLocalViewL( iModel.ReturnViewId() );
}
}
Binary file commsconfig/help/data/xhtml.zip has changed
--- a/commsconfig/help/rom/cscapplicationuihelps_variant.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/commsconfig/help/rom/cscapplicationuihelps_variant.iby Thu Aug 19 09:45:22 2010 +0300
@@ -2,10 +2,10 @@
#define __CSCHELPS_VARIANT_IBY__
#if defined(FF_S60_HELPS_IN_USE)
- data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x1020E566\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x1020E566\contents.zip)
- data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x1020E566\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x1020E566\index.xml)
- data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x1020E566\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x1020E566\keywords.xml)
- data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x1020E566\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x1020E566\meta.xml)
+ data=LOCALISE(DATAZ_/resource/xhtml/%02d/0x1020E566/contents.zip, RESOURCE_FILES_DIR/xhtml/%02d/0x1020E566/contents.zip)
+ data=LOCALISE(DATAZ_/resource/xhtml/%02d/0x1020E566/index.xml, RESOURCE_FILES_DIR/xhtml/%02d/0x1020E566/index.xml)
+ data=LOCALISE(DATAZ_/resource/xhtml/%02d/0x1020E566/keywords.xml, RESOURCE_FILES_DIR/xhtml/%02d/0x1020E566/keywords.xml)
+ data=LOCALISE(DATAZ_/resource/xhtml/%02d/0x1020E566/meta.xml, RESOURCE_FILES_DIR/xhtml/%02d/0x1020E566/meta.xml)
#endif
#endif
\ No newline at end of file
--- a/commsconfig/rom/csc.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/commsconfig/rom/csc.iby Thu Aug 19 09:45:22 2010 +0300
@@ -22,15 +22,15 @@
#define CSC_IBY__
- file=ABI_DIR\BUILD_DIR\cscengine.dll SHARED_LIB_DIR\cscengine.dll
- file=ABI_DIR\BUILD_DIR\cscsettingsui.dll SHARED_LIB_DIR\cscsettingsui.dll
+ file=ABI_DIR/BUILD_DIR/cscengine.dll SHARED_LIB_DIR/cscengine.dll
+ file=ABI_DIR/BUILD_DIR/cscsettingsui.dll SHARED_LIB_DIR/cscsettingsui.dll
- DATA=DATAZ_\RESOURCE_FILES_DIR\cscengine.rsc RESOURCE_FILES_DIR\cscengine.rsc
+ DATA=DATAZ_/RESOURCE_FILES_DIR/cscengine.rsc RESOURCE_FILES_DIR/cscengine.rsc
ECOM_PLUGIN( cscgsplugin.dll,2001E639.rsc )
// stub SIS, provides support for SIS upgrading
- data=ZSYSTEM\install\commsconfig_stub.sis System\Install\commsconfig_stub.sis
+ data=ZSYSTEM/install/commsconfig_stub.sis System/Install/commsconfig_stub.sis
ECOM_PLUGIN( cscsipvoipcleanupplugin.dll,2000B007.rsc )
SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,CSC)
--- a/commsconfig/rom/cscresources.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/commsconfig/rom/cscresources.iby Thu Aug 19 09:45:22 2010 +0300
@@ -22,8 +22,8 @@
#define CSCRESOURCES_IBY
-DATA=DATAZ_\RESOURCE_FILES_DIR\cscsettingsui.rsc RESOURCE_FILES_DIR\cscsettingsui.rsc
-DATA=DATAZ_\RESOURCE_FILES_DIR\cscgspluginrsc.rsc RESOURCE_FILES_DIR\cscgspluginrsc.rsc
+DATA=DATAZ_/RESOURCE_FILES_DIR/cscsettingsui.rsc RESOURCE_FILES_DIR/cscsettingsui.rsc
+DATA=DATAZ_/RESOURCE_FILES_DIR/cscgspluginrsc.rsc RESOURCE_FILES_DIR/cscgspluginrsc.rsc
S60_APP_RESOURCE(CSC)
S60_APP_CAPTION(CSC)
--- a/convergedconnectionhandler/cchclientapi/cchuinotif/group/cchuinotif.mmp Mon Jun 21 15:29:21 2010 +0300
+++ b/convergedconnectionhandler/cchclientapi/cchuinotif/group/cchuinotif.mmp Thu Aug 19 09:45:22 2010 +0300
@@ -69,6 +69,7 @@
LIBRARY bsclient.lib
LIBRARY cmmanager.lib
LIBRARY commonengine.lib
+LIBRARY sipprofilecli.lib
LIBRARY centralrepository.lib
LIBRARY aknnotifierwrapper.lib
LIBRARY serviceprovidersettings.lib
--- a/convergedconnectionhandler/cchclientapi/cchuinotif/inc/cchuinotifierimpl.h Mon Jun 21 15:29:21 2010 +0300
+++ b/convergedconnectionhandler/cchclientapi/cchuinotif/inc/cchuinotifierimpl.h Thu Aug 19 09:45:22 2010 +0300
@@ -21,11 +21,14 @@
#include <cchuiobserver.h> // for dialog types
#include <AknQueryDialog.h>
+#include <sipprofileregistryobserver.h>
#include "cchuinotifier.h" // Base class
#include "cchuicommon.hrh"
#include "cchuicallstateobserver.h"
+class CSIPManagedProfile;
+class CSIPManagedProfileRegistry;
class CCchUiPluginBrandingHandler;
class CCchUiCallStateListener;
@@ -40,7 +43,8 @@
* @since S60 5.0
*/
NONSHARABLE_CLASS( CCCHUiNotifierImpl ): public CCCHUiNotifierBase,
- public MCchUiCallStateObserver
+ public MCchUiCallStateObserver,
+ public MSIPProfileRegistryObserver
{
public:
@@ -285,6 +289,14 @@
*/
TUint32 InternetGprsApsMissingFromServiceSnapL(
CDesCArray& aIaps, RArray<TUint32>& aIapIds ) const;
+
+ /**
+ * For deleting RPointerArray in case of leave.
+ *
+ * @since S60 5.0
+ * @param aPointerArray for pointer array to be deleted
+ */
+ static void ResetAndDestroy( TAny* aPointerArray );
// from base class CCCHUiNotifierBase
@@ -328,6 +340,34 @@
*/
void RunL();
+
+ // from base class MSIPProfileRegistryObserver
+
+ /**
+ * From MSIPProfileRegistryObserver
+ * SIP profile information event.
+ *
+ * @since S60 v3.0
+ * @param aProfileId is id for profile
+ * @param aEvent type of information event
+ */
+ void ProfileRegistryEventOccurred(
+ TUint32 aSIPProfileId,
+ TEvent aEvent );
+
+
+ /**
+ * From MSIPProfileRegistryObserver
+ * An asynchronous error has occurred related to SIP profile.
+ *
+ * @since S60 v3.0
+ * @param aSIPProfileId the id of failed profile
+ * @param aError a error code
+ */
+ void ProfileRegistryErrorOccurred(
+ TUint32 aSIPProfileId,
+ TInt aError );
+
public:
// from base class MCchUiCallStateObserver
@@ -373,6 +413,12 @@
* Current connection IAP ID.
*/
TUint iCurrentConnectionIapId;
+
+ /*
+ * Handle to SIP managed profile registry.
+ * Own.
+ */
+ CSIPManagedProfileRegistry* iSipProfileRegistry;
CCHUI_UNIT_TEST( T_CchUiNotifierImpl )
};
--- a/convergedconnectionhandler/cchclientapi/cchuinotif/src/cchuinotifierimpl.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/convergedconnectionhandler/cchclientapi/cchuinotif/src/cchuinotifierimpl.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -26,6 +26,8 @@
#include <cenrepnotifyhandler.h>
#include <ctsydomainpskeys.h>
#include <crcseprofileregistry.h>
+#include <sipprofile.h>
+#include <sipmanagedprofileregistry.h>
#include <AknNotiferAppServerApplication.h> // Application Key enable/disable
#include "cchuilogger.h"
@@ -35,6 +37,7 @@
#include "cchuinotifconnectionhandler.h"
#include "cchuicallstatelistener.h"
+const TUint32 KBearerSettingWlanOnly = 1;
// ======== MEMBER FUNCTIONS ========
@@ -55,6 +58,7 @@
{
CCCHUiNotifierBase::ConstructL();
iCallStateListener = CCchUiCallStateListener::NewL( *this );
+ iSipProfileRegistry = CSIPManagedProfileRegistry::NewL( *this );
}
CCCHUiNotifierImpl::~CCCHUiNotifierImpl()
@@ -1104,21 +1108,69 @@
{
CCHUIDEBUG( "CCCHUiNotifierImpl::IsVoIPOverWCDMAAllowed - IN" );
+ TBool allowed( EFalse );
CRCSEProfileRegistry* cRCSEProfileRegistry;
cRCSEProfileRegistry = CRCSEProfileRegistry::NewLC();
- TBool ret = EFalse;
+
RPointerArray<CRCSEProfileEntry> entries;
+
+ CleanupStack::PushL( TCleanupItem ( ResetAndDestroy, &entries ) ); //CS
+
cRCSEProfileRegistry->FindByServiceIdL( iServiceId, entries );
if( entries.Count() )
{
- ret = CRCSEProfileEntry::EOn == entries[ 0 ]->iAllowVoIPoverWCDMA;
+ RArray<TSettingIds> settingIdArray;
+ CleanupClosePushL( settingIdArray ); // CS 3
+ settingIdArray = entries[ 0 ]->iIds;
+ TInt sipProfileId( KErrNotFound );
+ for ( TUint i( 0 ) ; i < settingIdArray.Count() ; i++ )
+ {
+ if ( settingIdArray[ i ].iProfileType ==
+ CRCSEProfileEntry::EProtocolSIP )
+ {
+ sipProfileId = settingIdArray[ i ].iProfileId;
+ }
+ }
+ TUint32 bearerSetting( KErrNone );
+ if ( KErrNotFound != sipProfileId )
+ {
+ CSIPProfile* profile =
+ iSipProfileRegistry->ProfileL( sipProfileId );
+ CleanupStack::PushL( profile ); // CS 4
+ User::LeaveIfError(
+ profile->GetParameter( KBearerType, bearerSetting ) );
+ if ( KBearerSettingWlanOnly != bearerSetting )
+ {
+ allowed = ETrue;
+ }
+ CleanupStack::PopAndDestroy( profile ); // CS 3
+ }
+ CleanupStack::Pop( &settingIdArray ); // CS 2
}
- entries.ResetAndDestroy();
- entries.Close();
- CleanupStack::PopAndDestroy(); //cRCSEProfileRegistry
+ CleanupStack::PopAndDestroy( &entries ); // clItem CS 1
+
+ CleanupStack::PopAndDestroy(); //cRCSEProfileRegistry CS 0
- return ret;
+ return allowed;
+ }
+
+// ---------------------------------------------------------------------------
+// For deleting RPointerArray in case of leave
+// ---------------------------------------------------------------------------
+//
+void CCCHUiNotifierImpl::ResetAndDestroy( TAny* aPointerArray )
+ {
+ CCHUIDEBUG( "CCCHUiNotifierImpl::ResetAndDestroy - IN" );
+ if ( aPointerArray )
+ {
+ RPointerArray<CRCSEProfileEntry>* array =
+ reinterpret_cast<RPointerArray<CRCSEProfileEntry>*>( aPointerArray );
+ TInt i = array->Count();
+ array->ResetAndDestroy();
+ array->Close();
+ }
+ CCHUIDEBUG( "CCCHUiNotifierImpl::ResetAndDestroy - OUT" );
}
// ---------------------------------------------------------------------------
@@ -1272,3 +1324,24 @@
CCHUIDEBUG( "CCCHUiNotifierImpl::CallStateChangedL - End" );
}
+
+// ---------------------------------------------------------------------------
+// From class MSIPProfileRegistryObserver.
+// ---------------------------------------------------------------------------
+//
+void CCCHUiNotifierImpl::ProfileRegistryEventOccurred(
+ TUint32 /*aSIPProfileId*/,
+ TEvent /*aEvent*/ )
+ {
+ }
+
+
+// ---------------------------------------------------------------------------
+// From class MSIPProfileRegistryObserver.
+// ---------------------------------------------------------------------------
+//
+void CCCHUiNotifierImpl::ProfileRegistryErrorOccurred(
+ TUint32 /*aSIPProfileId*/,
+ TInt /*aError*/ )
+ {
+ }
--- a/convergedconnectionhandler/rom/cch.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/convergedconnectionhandler/rom/cch.iby Thu Aug 19 09:45:22 2010 +0300
@@ -21,15 +21,15 @@
//Server EXE
-file=ABI_DIR\BUILD_DIR\CCHServer.exe PROGRAMS_DIR\CCHServer.exe
+file=ABI_DIR/BUILD_DIR/CCHServer.exe PROGRAMS_DIR/CCHServer.exe
//Client DLL
-file=ABI_DIR\BUILD_DIR\CCHClient.dll SHARED_LIB_DIR\CCHClient.dll
+file=ABI_DIR/BUILD_DIR/CCHClient.dll SHARED_LIB_DIR/CCHClient.dll
-file=ABI_DIR\BUILD_DIR\cch.dll SHARED_LIB_DIR\cch.dll
+file=ABI_DIR/BUILD_DIR/cch.dll SHARED_LIB_DIR/cch.dll
// CCH UI components
ECOM_PLUGIN(cchuinotifwrapper.dll, 1020E567.RSC)
-file=ABI_DIR\BUILD_DIR\cchuinotif.dll SHARED_LIB_DIR\cchuinotif.dll
+file=ABI_DIR/BUILD_DIR/cchuinotif.dll SHARED_LIB_DIR/cchuinotif.dll
#endif // CCH_IBY
--- a/convergedconnectionhandler/rom/cchresources.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/convergedconnectionhandler/rom/cchresources.iby Thu Aug 19 09:45:22 2010 +0300
@@ -19,9 +19,9 @@
#ifndef CCHRESOURCES_IBY
#define CCHRESOURCES_IBY
-data=\epoc32\data\Z\Resource\apps\cch.RSC resource\apps\cch.RSC
+data=/epoc32/data/Z/Resource/apps/cch.RSC resource/apps/cch.RSC
// CCH UI localized resources
-data=\epoc32\data\Z\Resource\apps\cchuinotif.rsc resource\apps\cchuinotif.rsc
+data=/epoc32/data/Z/Resource/apps/cchuinotif.rsc resource/apps/cchuinotif.rsc
#endif // CCHRESOURCES_IBY
\ No newline at end of file
--- a/iptel_plat/cch_client_api/inc/cchclient.h Mon Jun 21 15:29:21 2010 +0300
+++ b/iptel_plat/cch_client_api/inc/cchclient.h Thu Aug 19 09:45:22 2010 +0300
@@ -23,8 +23,8 @@
#include <e32std.h>
#include <e32base.h>
-#include "CCHServer.h"
-#include "CCHClientServer.h"
+#include "cchserver.h"
+#include "cchclientserver.h"
// CONSTANTS
// None
--- a/iptel_plat/cch_client_api/inc/cchclientserver.h Mon Jun 21 15:29:21 2010 +0300
+++ b/iptel_plat/cch_client_api/inc/cchclientserver.h Thu Aug 19 09:45:22 2010 +0300
@@ -22,7 +22,7 @@
// INCLUDES
#include <e32base.h>
-#include <CchError.h>
+#include <ccherror.h>
#include <cchtypes.h>
// CONSTANTS
const TUint KCCHMaxServiceNameLength = 64;
@@ -203,7 +203,7 @@
TFixedArray<TCCHSubservice, KCCHMaxSubservicesCount> iSubservices;
};
-#include "CCHClientServer.inl"
+#include "cchclientserver.inl"
#endif // T_CCHCLIENTSERVER_H
--- a/iptel_plat/cch_server_api/inc/cchservice.h Mon Jun 21 15:29:21 2010 +0300
+++ b/iptel_plat/cch_server_api/inc/cchservice.h Thu Aug 19 09:45:22 2010 +0300
@@ -25,7 +25,7 @@
#include <ecom/ecom.h>
#include <cchclientserver.h>
-#include "CCHServiceObserver.h"
+#include "cchserviceobserver.h"
// CONSTANTS
@@ -235,7 +235,7 @@
};
-#include "CCHService.inl"
+#include "cchservice.inl"
#endif // C_CCHSERVICE_H
--- a/iptel_plat/cch_server_api/inc/cchservice.inl Mon Jun 21 15:29:21 2010 +0300
+++ b/iptel_plat/cch_server_api/inc/cchservice.inl Thu Aug 19 09:45:22 2010 +0300
@@ -20,7 +20,7 @@
#define CCHSERVICE_INL
//INCLUDES
-#include "CCHServiceObserver.h"
+#include "cchserviceobserver.h"
// ---------------------------------------------------------------------------
// CCchService::CCchService
--- a/richcallsettingsengine/rcse2/rom/rcse2.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/richcallsettingsengine/rcse2/rom/rcse2.iby Thu Aug 19 09:45:22 2010 +0300
@@ -20,9 +20,9 @@
#define RCSE_IBY
-file=ABI_DIR\BUILD_DIR\RCSE.dll SHARED_LIB_DIR\RCSE.dll
-data=ZPRIVATE\100012a5\policy\10202869.SPD PRIVATE\100012a5\policy\10202869.SPD
-data=ZPRIVATE\10202869\backup_registration.xml private\10202869\backup_registration.xml
+file=ABI_DIR/BUILD_DIR/RCSE.dll SHARED_LIB_DIR/RCSE.dll
+data=ZPRIVATE/100012a5/policy/10202869.SPD PRIVATE/100012a5/policy/10202869.SPD
+data=ZPRIVATE/10202869/backup_registration.xml private/10202869/backup_registration.xml
#endif // RCSE_IBY
--- a/richcallsettingsengine/rcse2/src/crcseaudiocodecentry.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/richcallsettingsengine/rcse2/src/crcseaudiocodecentry.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -268,7 +268,7 @@
iJitterBufferSize = KRCSEDefaultJitterBufferSize;
iOctetAlign = EOff;
iModeSet.Reset();
- iModeChangePeriod = 2;
+ iModeChangePeriod = KNotSet;
iModeChangeNeighbor = EOn;
iPtime = 20;
iMaxptime = KRCSEDefaultMaxptime;
--- a/sipvoipprovider/inc/svpconsts.h Mon Jun 21 15:29:21 2010 +0300
+++ b/sipvoipprovider/inc/svpconsts.h Thu Aug 19 09:45:22 2010 +0300
@@ -116,6 +116,7 @@
_LIT( KSVPRightBracketMark2, ">" );
_LIT8( KSVPAuthidentity, "?X-Sipx-Authidentity=");
_LIT8( KSVPAuthidentity2, "?X-sipX-Authidentity=");
+_LIT8( KSVPAuthidentity3, "&X-sipX-Authidentity=");
// uri length
const TUint KSVPMaxUriLength = 100;
@@ -222,7 +223,7 @@
_LIT8( KSVPSubsStateTerminated, "Subscription-State: terminated;reason=noresource");
_LIT( KSVPS60,"S60" );
-_LIT( KSVPCopyright, "©" );
+_LIT( KSVPCopyright, "?" );
_LIT(KSVPSalesModelFileName, "\\resource\\versions\\model.txt");
// Emergency constants
--- a/sipvoipprovider/src/svpcontroller.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/sipvoipprovider/src/svpcontroller.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -1401,7 +1401,7 @@
// disable rtp source and speaker sink so that audio is not on
// before session is up signalling-wise
- for ( TInt i = 0; i < streams.Count(); i++ )
+ for ( TInt i = 0; i < streams.Count(); )
{
SVPDEBUG1( "CSVPController::IncomingSessionHandlerL disabling" );
@@ -1428,6 +1428,8 @@
SVPAudioUtility::DisableSpeakerSinkL( stream1->Sinks() );
SVPAudioUtility::DisableMicSourceL( *stream1 );
+ //remove all streams that not audio stream
+ i++;
}
}
--- a/sipvoipprovider/src/svpsessionbase.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/sipvoipprovider/src/svpsessionbase.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -1524,7 +1524,8 @@
TBool bothStreamsDisabled ( ETrue );
TRAP_IGNORE( bothStreamsDisabled = IsBothStreamsDisabledL() );
if ( bothStreamsDisabled &&
- CMceSession::EEstablished == aStream.Session()->State() )
+ CMceSession::EEstablished == aStream.Session()->State() &&
+ IsErrorInULandDLFirstTime() )
{
SetErrorInULandDLFirstTime( EFalse );
TRAP_IGNORE( StartTimerL( KSVPICMPErrorTime, KSVPICMPErrorTimerExpired ) )
@@ -3103,6 +3104,15 @@
SVPDEBUG1( "CSVPSessionBase::UpdateFailed In" )
SVPDEBUG2( "CSVPSessionBase::UpdateFailed aStatusCode=%d", aStatusCode )
+ // Check if MCE Session has changed
+ if ( &Session() != &aSession )
+ {
+ // And if, then update to the current session
+ SVPDEBUG1( "CSVPSessionBase::UpdateFailed - update MCE Session" )
+ delete iSession;
+ iSession = &aSession;
+ }
+
if ( iHoldController )
{
iHoldController->RequestFailed( aSession, aStatusCode, *this );
--- a/sipvoipprovider/src/svpsslogcall.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/sipvoipprovider/src/svpsslogcall.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -321,9 +321,11 @@
TTime eventTime;
eventTime.UniversalTime();
iLogEvent->SetTime(eventTime);
- iLogClient->AddEvent(*iLogEvent, iStatus);
-
- SetActive();
+ if( !IsActive() )
+ {
+ iLogClient->AddEvent(*iLogEvent, iStatus);
+ SetActive();
+ }
SVPDEBUG1("CSVPSSLogCall::HandleCallLoggingL, Exit");
}
--- a/sipvoipprovider/svphold/src/svpholdcontroller.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/sipvoipprovider/svphold/src/svpholdcontroller.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2006-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -372,6 +372,17 @@
iContext->CrossOver( EFalse );
}
}
+
+ if ( 0 == aStatusCode && ESVPEstablishing == HoldState() )
+ {
+ SVPDEBUG1( "CSVPHoldController::RequestFailed - status 0 received" )
+
+ iReinviteCrossover = EFalse;
+ iContext->CrossOver( EFalse );
+
+ SVPDEBUG1( "CSVPHoldController::RequestFailed - set status code 400" )
+ aStatusCode = KSVPBadRequestVal;
+ }
TInt err = KErrNone;
if ( iReinviteCrossover )
--- a/sipvoipprovider/svptransfer/src/svptransferstatecontext.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/sipvoipprovider/svptransfer/src/svptransferstatecontext.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -436,6 +436,16 @@
CleanupStack::Pop( 1 ); // string, ReAlloc possible
CleanupStack::PushL( string );
}
+ // Check "?X-Sipx-Authidentity=" and remove text after it if exists
+ position = CheckAuthidentity( *string );
+
+ if ( KErrNotFound != position )
+ {
+ // "?X-Sipx-Authidentity=" found
+ CutStringFromPosition( string, position );
+ CleanupStack::Pop( 1 ); // string, ReAlloc possible
+ CleanupStack::PushL( string );
+ }
// Check ">" and remove text after it if exists
position = CheckRightBracket( *string );
@@ -759,6 +769,11 @@
returnValue = aUri.Find( KSVPAuthidentity2 );
SVPDEBUG2( "CSVPTransferStateContext::CheckAuthidentity second return: %d", returnValue )
}
+ if ( returnValue == KErrNotFound )
+ {
+ returnValue = aUri.Find( KSVPAuthidentity3 );
+ SVPDEBUG2( "CSVPTransferStateContext::CheckAuthidentity third return: %d", returnValue )
+ }
return returnValue;
}
--- a/voipplugins/accountcreationplugin/engine/src/acphttphandler.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/accountcreationplugin/engine/src/acphttphandler.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -495,7 +495,7 @@
iConnectionOpen = EFalse;
iSession.Close();
iConnection.Close();
-
+ iSocketServer.Close();
// Reopen session.
iSession.OpenL();
}
@@ -521,7 +521,7 @@
iConnectionOpen = EFalse;
iSession.Close();
iConnection.Close();
-
+ iSocketServer.Close();
// Reopen session.
TRAP_IGNORE( iSession.OpenL() );
--- a/voipplugins/accountcreationplugin/rom/accountcreationplugin.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/accountcreationplugin/rom/accountcreationplugin.iby Thu Aug 19 09:45:22 2010 +0300
@@ -19,8 +19,8 @@
#ifndef ACCOUNTCREATIONPLUGIN_IBY
#define ACCOUNTCREATIONPLUGIN_IBY
-file=ABI_DIR\BUILD_DIR\accountcreationengine.dll SHARED_LIB_DIR\accountcreationengine.dll
+file=ABI_DIR/BUILD_DIR/accountcreationengine.dll SHARED_LIB_DIR/accountcreationengine.dll
ECOM_PLUGIN( accountcreationplugin.dll, 1020E56D.rsc )
-data=DATAZ_\APP_BITMAP_DIR\acpicons.mif APP_BITMAP_DIR\acpicons.mif
+data=DATAZ_/APP_BITMAP_DIR/acpicons.mif APP_BITMAP_DIR/acpicons.mif
#endif ACCOUNTCREATIONPLUGIN_IBY
--- a/voipplugins/accountcreationplugin/rom/accountcreationpluginresources.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/accountcreationplugin/rom/accountcreationpluginresources.iby Thu Aug 19 09:45:22 2010 +0300
@@ -20,6 +20,6 @@
#include <bldvariant.hrh>
-data=DATAZ_\RESOURCE_FILES_DIR\accountcreationplugin.rsc RESOURCE_FILES_DIR\accountcreationplugin.rsc
+data=DATAZ_/RESOURCE_FILES_DIR/accountcreationplugin.rsc RESOURCE_FILES_DIR/accountcreationplugin.rsc
#endif // ACCOUNTCREATIONPLUGINRESOURCES_IBY
--- a/voipplugins/ipapputils/rom/ipapputils.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/ipapputils/rom/ipapputils.iby Thu Aug 19 09:45:22 2010 +0300
@@ -19,7 +19,7 @@
#ifndef IPAPPUTILS_IBY
#define IPAPPUTILS_IBY
-file=ABI_DIR\BUILD_DIR\ipapputils.dll SHARED_LIB_DIR\ipapputils.dll
+file=ABI_DIR/BUILD_DIR/ipapputils.dll SHARED_LIB_DIR/ipapputils.dll
#endif // IPAPPUTILS_IBY
--- a/voipplugins/ipapputils/voipeventlog/rom/voipeventlog.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/ipapputils/voipeventlog/rom/voipeventlog.iby Thu Aug 19 09:45:22 2010 +0300
@@ -19,7 +19,7 @@
#ifndef VOIPEVENTLOG_IBY
#define VOIPEVENTLOG_IBY
-file=ABI_DIR\BUILD_DIR\voipeventlog.dll SHARED_LIB_DIR\voipeventlog.dll
+file=ABI_DIR/BUILD_DIR/voipeventlog.dll SHARED_LIB_DIR/voipeventlog.dll
#endif // VOIPEVENTLOG_IBY
--- a/voipplugins/sipconnectionprovider/inc/scpdefs.h Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/sipconnectionprovider/inc/scpdefs.h Thu Aug 19 09:45:22 2010 +0300
@@ -31,11 +31,9 @@
EScpDeregistered, // = CSIPProfileRegistry::EventOccurred(EDeregistered)
EScpRegistrationFailed, // = CSIPProfileRegistry::ErrorOccurred(-34)
EScpInvalidSettings, // = CSIPProfileRegistry::ErrorOccurred(-6)
- EScpBandwidthLimited, // = ENWNetworkModeGsm
EScpAuthenticationFailed, // = KErrSIPForbidden
EScpRoaming, // = MSipProfileAlrObserver::EMigrationStarted
EScpRegistrationCanceled, // = CSIPProfileRegistry::ErrorOccurred(-3)
- EScpBearerNotSupported, // = RCSE parameter iAllowVoIPoverWCDMA
EScpRegistrationPending // = XIMP Bind / VMBX Subscribe(-11)
};
--- a/voipplugins/sipconnectionprovider/inc/scpsettinghandler.h Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/sipconnectionprovider/inc/scpsettinghandler.h Thu Aug 19 09:45:22 2010 +0300
@@ -139,14 +139,7 @@
* @return TInt length of free string.
*/
TInt UahStringLengthL( TUint32 aServiceId ) const;
-
- /**
- * Checks is service's VoIP subservice allowed to use WCDMA.
- * @param aServiceId service id
- * @return ETrue if allowed to use VoIP over 3G, otherwise EFalse.
- */
- TBool IsVoIPOverWcdmaAllowedL( TUint32 aServiceId ) const;
-
+
private:
/**
--- a/voipplugins/sipconnectionprovider/inc/scpsipconnection.h Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/sipconnectionprovider/inc/scpsipconnection.h Thu Aug 19 09:45:22 2010 +0300
@@ -266,6 +266,17 @@
* @return ETrue if available
*/
TBool IsIapConnectionAvailable( TInt aIapId ) const;
+
+ /**
+ * Gets bearer filttering setting used by sip profile.
+ * 0 --> Not Specified.
+ * 1 --> WLAN Bearer Only.
+ * 2 --> Cellular Data Bearer Only.
+ * @param aBearerFilttering bearer filttering setting
+ *
+ * @return KErrNone if succeed.
+ */
+ TInt BearerFiltteringSetting( TUint32& aBearerFilttering ) const;
#ifdef _DEBUG
void GetInfo( TDes& aInfo ) const;
--- a/voipplugins/sipconnectionprovider/inc/scpsubservicestate.h Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/sipconnectionprovider/inc/scpsubservicestate.h Thu Aug 19 09:45:22 2010 +0300
@@ -99,12 +99,6 @@
virtual void ServiceDisconnected( CScpSubService& aSubService ) const;
/**
- * Bandwidth limited
- * @param aSubService Sub service
- */
- virtual void BandwidthLimited( CScpSubService& aSubService ) const;
-
- /**
* Authentication failed
* @param aSubService Sub service
*/
@@ -123,12 +117,6 @@
virtual void ServiceConnectionCanceled( CScpSubService& aSubService ) const;
/**
- * Bearer is not supported
- * @param aSubService Sub service
- */
- virtual void BearerNotSupported( CScpSubService& aSubService ) const;
-
- /**
* Registration pending
* @param aSubService Sub service
*/
--- a/voipplugins/sipconnectionprovider/ipvoicemailengine/rom/ipvoicemailengine.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/sipconnectionprovider/ipvoicemailengine/rom/ipvoicemailengine.iby Thu Aug 19 09:45:22 2010 +0300
@@ -21,6 +21,6 @@
#include <data_caging_paths_for_iby.hrh>
-file=ABI_DIR\BUILD_DIR\ipvoicemailengine.dll SHARED_LIB_DIR\ipvoicemailengine.dll
+file=ABI_DIR/BUILD_DIR/ipvoicemailengine.dll SHARED_LIB_DIR/ipvoicemailengine.dll
#endif // IPVOICEMAILENGINE_IBY
--- a/voipplugins/sipconnectionprovider/ipvoicemailengine/rom/ipvoicemailengine_resources.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/sipconnectionprovider/ipvoicemailengine/rom/ipvoicemailengine_resources.iby Thu Aug 19 09:45:22 2010 +0300
@@ -21,6 +21,6 @@
#include <data_caging_paths_for_iby.hrh>
-data=DATAZ_\RESOURCE_FILES_DIR\ipvoicemailengine.rsc RESOURCE_FILES_DIR\ipvoicemailengine.rsc
+data=DATAZ_/RESOURCE_FILES_DIR/ipvoicemailengine.rsc RESOURCE_FILES_DIR/ipvoicemailengine.rsc
#endif // IPVOICEMAILENGINE_RESOURCES_IBY
--- a/voipplugins/sipconnectionprovider/rom/sipconnectionprovider.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/sipconnectionprovider/rom/sipconnectionprovider.iby Thu Aug 19 09:45:22 2010 +0300
@@ -22,6 +22,6 @@
#define __SIPCONNECTIONPROVIDER_IBY__
ECOM_PLUGIN( sipconnectionprovider.dll, 1027545B.rsc )
-//data=ZSYSTEM\install\sipconnectionprovider_stub.sis System\Install\sipconnectionprovider_stub.sis
+//data=ZSYSTEM/install/sipconnectionprovider_stub.sis System/Install/sipconnectionprovider_stub.sis
#endif // __SIPCONNECTIONPROVIDER_IBY__
--- a/voipplugins/sipconnectionprovider/src/scppresencehandler.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/sipconnectionprovider/src/scppresencehandler.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -244,6 +244,17 @@
if ( iSubService.SipProfileId() == aProfileId &&
iSubService.EnableRequestedState() != CScpSubService::EScpNoRequest )
{
+ if ( EScpDeregistered == aEvent &&
+ iSubService.EnableRequestedState() == CScpSubService::EScpEnabled )
+ {
+ SCPLOGSTRING( "CScpPresenceHandler - EScpDeregistered -> unbind" );
+ TRAPD( err, HandleDeregistrationL( EFalse ) );
+ if ( KErrNotReady == err )
+ {
+ SCPLOGSTRING( "CScpPresenceHandler - EScpDeregistered -> not ready: unbind" );
+ TRAP_IGNORE( ServerUnBindL() );
+ }
+ }
//if network lost, unbind context
if ( EScpNetworkLost == aEvent )
{
--- a/voipplugins/sipconnectionprovider/src/scpservicemanager.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/sipconnectionprovider/src/scpservicemanager.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -36,6 +36,8 @@
const TInt KDomainMaxLength = 255;
const TInt KTempBufMaxLength = 255;
+const TUint32 KBearerWlanOnly = 1;
+
#ifdef _DEBUG
const TInt KDebugInfoMaxLength = 255;
#endif
@@ -1022,21 +1024,25 @@
//
void CScpServiceManager::CheckRestrictedConnectionsL( TUint aServiceId )
{
- if ( !iSettingHandler->IsVoIPOverWcdmaAllowedL( aServiceId ) )
- {
- SCPLOGSTRING( "CScpServiceManager::CheckRestrictedConnectionsL WCDMA not allowed" );
-
- TBool sipConnectionCreated( EFalse );
- CScpSipConnection* sipConnection = GetSipConnectionL(
+ TBool sipConnectionCreated( EFalse );
+ CScpSipConnection* sipConnection = GetSipConnectionL(
aServiceId,
ECCHVoIPSub,
sipConnectionCreated );
- if( sipConnectionCreated )
- {
- CleanupStack::PushL( sipConnection );
- }
+ if( sipConnectionCreated )
+ {
+ CleanupStack::PushL( sipConnection );
+ }
+ // Check bearer filttering setting from sip
+ TUint32 bearerFilttering( 0 );
+ TInt err = sipConnection->BearerFiltteringSetting( bearerFilttering );
+ SCPLOGSTRING2( "CScpServiceManager::CheckAvailableConnectionsL bearerFilttering = %d", bearerFilttering );
+
+ if ( ( KErrNone == err ) && ( KBearerWlanOnly == bearerFilttering ) )
+ {
+ SCPLOGSTRING( "CScpServiceManager::CheckAvailableConnectionsL WLAN only" );
TUint32 snapId( KErrNone );
sipConnection->GetSnap( snapId );
@@ -1089,10 +1095,7 @@
CleanupStack::PopAndDestroy( &cmm );
CleanupStack::PopAndDestroy( &iaps );
- if( sipConnectionCreated )
- {
- CleanupStack::PopAndDestroy( sipConnection );
- }
+
if ( !available && wlanIapFound )
{
@@ -1103,6 +1106,11 @@
{
User::Leave( KCCHErrorAccessPointNotDefined );
}
+ }
+
+ if( sipConnectionCreated )
+ {
+ CleanupStack::PopAndDestroy( sipConnection );
}
}
--- a/voipplugins/sipconnectionprovider/src/scpsettinghandler.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/sipconnectionprovider/src/scpsettinghandler.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -22,8 +22,8 @@
#include <spproperty.h>
#include <spsettingsvoiputils.h>
#include <pressettingsapi.h>
-#include <xdmsettingsapi.h>
-#include <xdmsettingscollection.h>
+#include <XdmSettingsApi.h>
+#include <XdmSettingsCollection.h>
#include "scpsettinghandler.h"
#include "scpservice.h"
@@ -1010,41 +1010,6 @@
}
// -----------------------------------------------------------------------------
-// CScpSettingHandler::IsVoIPOverWcdmaAllowedL
-// -----------------------------------------------------------------------------
-//
-TBool CScpSettingHandler::IsVoIPOverWcdmaAllowedL(
- TUint32 aServiceId ) const
- {
- SCPLOGSTRING( "CScpSettingHandler::IsVoIPOverWcdmaAllowedL IN" );
-
- TBool response( EFalse );
- RPointerArray<CRCSEProfileEntry> entries;
-
- // Push entries to cleanup stack
- CleanupStack::PushL( TCleanupItem( TScpUtility::ResetAndDestroyEntries,
- &entries ) );
-
- iRcseProfileRegistry->FindByServiceIdL( aServiceId, entries );
-
- if ( entries.Count() )
- {
- response = CRCSEProfileEntry::EOn == entries[ 0 ]->iAllowVoIPoverWCDMA;
- }
- else
- {
- User::Leave( KErrNotFound );
- }
-
- CleanupStack::PopAndDestroy( &entries );
-
- SCPLOGSTRING2(
- "CScpSettingHandler::IsVoIPOverWcdmaAllowedL : allowed : %d OUT",
- response );
- return response;
- }
-
-// -----------------------------------------------------------------------------
// CScpSettingHandler::UpdateImSettingsL
// -----------------------------------------------------------------------------
//
--- a/voipplugins/sipconnectionprovider/src/scpsipconnection.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/sipconnectionprovider/src/scpsipconnection.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -1103,6 +1103,17 @@
}
// -----------------------------------------------------------------------------
+// CScpSipConnection::BearerFiltteringSetting
+// -----------------------------------------------------------------------------
+//
+TInt CScpSipConnection::BearerFiltteringSetting(
+ TUint32& aBearerFilttering ) const
+ {
+ SCPLOGSTRING2( "CScpSipConnection[0x%x]::BearerFiltteringSetting - IN", this );
+ return iSipProfile->GetParameter( KBearerType, aBearerFilttering );
+ }
+
+// -----------------------------------------------------------------------------
// CScpSipConnection::ConnectionStateChanged
// -----------------------------------------------------------------------------
//
--- a/voipplugins/sipconnectionprovider/src/scpsubservice.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/sipconnectionprovider/src/scpsubservice.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -647,12 +647,6 @@
}
break;
- case EScpBandwidthLimited:
- {
- iSubServiceState->BandwidthLimited( *this );
- }
- break;
-
case EScpAuthenticationFailed:
{
iSubServiceState->AuthenticationFailed( *this );
@@ -671,13 +665,7 @@
iSubServiceState->ServiceConnectionCanceled( *this );
}
break;
-
- case EScpBearerNotSupported:
- {
- iSubServiceState->BearerNotSupported( *this );
- }
- break;
-
+
case EScpRegistrationPending:
{
iSubServiceState->RegistrationPending( *this );
--- a/voipplugins/sipconnectionprovider/src/scpsubservicestate.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/sipconnectionprovider/src/scpsubservicestate.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -125,15 +125,6 @@
}
// -----------------------------------------------------------------------------
-// TScpSubServiceState::BandwidthLimited
-// -----------------------------------------------------------------------------
-//
-void TScpSubServiceState::BandwidthLimited( CScpSubService& /*aSubService*/ ) const
- {
- SCPLOGSTRING( "TScpSubServiceState::BandwidthLimited" );
- }
-
-// -----------------------------------------------------------------------------
// TScpSubServiceState::AuthenticationFailed
// -----------------------------------------------------------------------------
//
@@ -161,15 +152,6 @@
}
// -----------------------------------------------------------------------------
-// TScpSubServiceState::BearerNotSupported
-// -----------------------------------------------------------------------------
-//
-void TScpSubServiceState::BearerNotSupported( CScpSubService& /*aSubService*/ ) const
- {
- SCPLOGSTRING( "TScpSubServiceState::BearerNotSupported" );
- }
-
-// -----------------------------------------------------------------------------
// TScpSubServiceState::RegistrationPending
// -----------------------------------------------------------------------------
//
--- a/voipplugins/sipconnectionprovider/src/scpvoiphandler.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/sipconnectionprovider/src/scpvoiphandler.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -17,7 +17,6 @@
#include <e32property.h>
-#include <networkhandlingdomainpskeys.h>
#include <spdefinitions.h>
#include "scpvoiphandler.h"
#include "scpprofilehandler.h"
@@ -27,7 +26,6 @@
#include "scpsettinghandler.h"
#include "scpsipconnection.h"
#include "scputility.h"
-#include "scppropertynotifier.h"
#include "csipclientresolverutils.h"
// : These need to be in some common header
@@ -53,8 +51,6 @@
SCPLOGSTRING2( "CScpVoipHandler[0x%x]::ConstructL", this );
BaseConstructL();
- iNetworkMode = CScpPropertyNotifier::NewL( KPSUidNetworkInfo,
- KNWTelephonyNetworkMode, *this ) ;
iSipClientResolver = CSipClientResolverUtils::NewL();
}
@@ -82,7 +78,6 @@
{
SCPLOGSTRING2( "CScpVoipHandler[0x%x]::~CScpVoipHandler", this );
delete iSipClientResolver;
- delete iNetworkMode;
}
// -----------------------------------------------------------------------------
@@ -198,13 +193,11 @@
TScpConnectionEvent aEvent )
{
SCPLOGSTRING4( "CScpVoipHandler[0x%x]::HandleSipConnectionEvent id: %d event: %d",
- this, aProfileId, aEvent );
+ this, aProfileId, aEvent );
if( iSubService.SipProfileId() == aProfileId &&
iSubService.EnableRequestedState() != CScpSubService::EScpNoRequest )
{
- // When in 2G mode with GPRS iap we are enabled but can't
- // create or receive any VoIP calls
if( aEvent == EScpRegistered &&
iSubService.EnableRequestedState() == CScpSubService::EScpEnabled )
{
@@ -212,40 +205,11 @@
contactHeaderUser.CleanupClosePushL();
GetSipProfileContactHeaderUserL( contactHeaderUser );
- HBufC* string = HBufC::NewLC(contactHeaderUser.Length());
- string->Des().Copy(contactHeaderUser);
-
- SCPLOGSTRING2( "CScpVoipHandler::HandleSipConnectionEventL(), contactHeaderUser %S", string );
+ SCPLOGSTRING( "HandleSipConnectionEventL -> register client" );
- CleanupStack::PopAndDestroy(string);
-
- TInt networkMode = KErrNotFound;
- TInt result = iNetworkMode->GetValue( networkMode );
-
- if( result == KErrNone &&
- networkMode == ENWNetworkModeGsm &&
- iSubService.GetIapType() == EScpGprs )
- {
- aEvent = EScpBandwidthLimited;
- iSipClientResolver->UnRegisterClientWithUserL(
- GetCallProviderImplementationUidL(), contactHeaderUser );
- }
- else if ( KErrNone == result &&
- EScpGprs == iSubService.GetIapType() &&
- !iSubService.ServiceStorage().SettingsHandler().IsVoIPOverWcdmaAllowedL( iSubService.SubServiceId() ) )
- {
- aEvent = EScpBearerNotSupported;
- SCPLOGSTRING( "CScpVoipHandler::HandleSipConnectionEventL(), VoIP over 3G not allowed" );
- iSipClientResolver->UnRegisterClientWithUserL(
- GetCallProviderImplementationUidL(), contactHeaderUser );
- }
- else
- {
- iSipClientResolver->RegisterClientWithUserL(
- GetCallProviderImplementationUidL(), contactHeaderUser, KResolver );
- SCPLOGSTRING( "CScpVoipHandler::HandleSipConnectionEventL(), client resolver" );
- }
-
+ iSipClientResolver->RegisterClientWithUserL(
+ GetCallProviderImplementationUidL(), contactHeaderUser, KResolver );
+
CleanupStack::PopAndDestroy( &contactHeaderUser );
}
--- a/voipplugins/voipadapters/cpgenvoipsettings/rom/wpgeneralvoipsettingsadapterresources.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/voipadapters/cpgenvoipsettings/rom/wpgeneralvoipsettingsadapterresources.iby Thu Aug 19 09:45:22 2010 +0300
@@ -21,6 +21,6 @@
#include <bldvariant.hrh>
-data=DATAZ_\RESOURCE_FILES_DIR\wpgeneralvoipsettingsadapter.rsc RESOURCE_FILES_DIR\wpgeneralvoipsettingsadapter.rsc
+data=DATAZ_/RESOURCE_FILES_DIR/wpgeneralvoipsettingsadapter.rsc RESOURCE_FILES_DIR/wpgeneralvoipsettingsadapter.rsc
#endif // __WPGENERALVOIPSETTINGSADAPTERRESOURCES_IBY__
--- a/voipplugins/voipadapters/cpgenvoipsettings/src/cwpgeneralvoipsettingsadapter.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/voipadapters/cpgenvoipsettings/src/cwpgeneralvoipsettingsadapter.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -20,7 +20,7 @@
#include <CWPAdapter.h>
#include <CWPCharacteristic.h>
#include <CWPParameter.h>
-#include <WPGeneralVoIPSettingsAdapter.rsg>
+#include <wpgeneralvoipsettingsadapter.rsg>
#include <bldvariant.hrh>
#include <commdb.h>
#include <e32des8.h>
--- a/voipplugins/voipadapters/cpvoipadapter/rom/wpvoipadapterresources.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/voipadapters/cpvoipadapter/rom/wpvoipadapterresources.iby Thu Aug 19 09:45:22 2010 +0300
@@ -21,6 +21,6 @@
#include <bldvariant.hrh>
-data=DATAZ_\RESOURCE_FILES_DIR\wpvoipadapter.rsc RESOURCE_FILES_DIR\wpvoipadapter.rsc
+data=DATAZ_/RESOURCE_FILES_DIR/wpvoipadapter.rsc RESOURCE_FILES_DIR/wpvoipadapter.rsc
#endif // __WPVOIPADAPTERRESOURCES_IBY__
--- a/voipplugins/voipadapters/cpvoipadapter/src/CWPVoIPAdapter.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/voipadapters/cpvoipadapter/src/CWPVoIPAdapter.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -21,7 +21,7 @@
#include <CWPAdapter.h>
#include <CWPCharacteristic.h>
#include <CWPParameter.h>
-#include <WPVoIPAdapter.rsg>
+#include <wpvoipadapter.rsg>
#include <WPAdapterUtil.h> // Adapter utils
#include <s32mem.h> // RDesWriteStream
#include <s32strm.h>
--- a/voipplugins/voipadapters/cpvoipadapter/src/CWPVoIPItem.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/voipadapters/cpvoipadapter/src/CWPVoIPItem.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -18,7 +18,7 @@
// INCLUDE FILES
#include <e32std.h>
-#include <WPVoIPAdapter.rsg>
+#include <wpvoipadapter.rsg>
#include <charconv.h>
#include <in_sock.h> // TInetAddr, TSockAddr
#include <crcseprofileentry.h>
@@ -73,6 +73,11 @@
const TUint32 KIMLaunchUid = 0x200255D0;
const TInt KIMSettingsId = 1;
+// Bearer related constants
+const TUint32 KBearerNotSpecified = 0;
+const TUint32 KBearerWlanOnly = 1;
+const TUint32 KBearerCellularOnly = 2;
+
// Following lines are for enabling debug prints.
#ifdef _DEBUG
#define DBG_PRINT(p) RDebug::Print(_L(p))
@@ -877,9 +882,22 @@
priorityArray.Append( iCodecs[codecIndex]->iPriorityIndex );
}
priorityArray.Sort();
+
+ //delete possible duplicate priority index
+ for ( TInt index = 0; index < priorityArray.Count()-1; ++index )
+ {
+ TInt tmpIndex = index + 1;
+ while ( tmpIndex < priorityArray.Count() &&
+ priorityArray[tmpIndex] == priorityArray[index] )
+ {
+ priorityArray.Remove( tmpIndex );
+ }
+ }
+
RPointerArray<CWPVoIPCodec> tmpArray;
- for ( TInt priorityIndex = 0; priorityIndex < numberOfCodecs;
+ TInt numberOfPriority = priorityArray.Count();
+ for ( TInt priorityIndex = 0; priorityIndex < numberOfPriority;
priorityIndex++ )
{
for ( TInt codecIndex = 0; codecIndex < numberOfCodecs;
@@ -992,13 +1010,6 @@
cRCSEProfileEntry->iVoIPPluginUID = iVoIPPluginUid;
}
- // AllowVoIPOverWCDMA
- if ( KNotSet != iAllowVoIPOverWCDMA )
- {
- cRCSEProfileEntry->iAllowVoIPoverWCDMA =
- static_cast<VoIPProfileEntry::TOnOff>( iAllowVoIPOverWCDMA );
- }
-
// VoIPDigits
if ( KNotSet != iVoIPDigits )
{
@@ -1569,6 +1580,7 @@
CleanupStack::PushL( sipManagedProf ); // CS:4
sipManagedProf->SetParameter( KSIPSnapId, iSnapId );
sipManagedProf->SetParameter( KSIPAccessPointId, (TUint32)0 );
+ DBG_PRINT2( "CWPVoIPItem::SavingFinalizedL - SNAP ID (1): %d", iSnapId );
sipReg->SaveL( *sipManagedProf );
CleanupStack::PopAndDestroy( sipManagedProf ); // CS:3
CleanupStack::Pop( sipProf ); // CS:2
@@ -1718,6 +1730,7 @@
// Update sip profile to use default snap
sipManagedProf->SetParameter( KSIPAccessPointId, (TUint32)0 );
sipManagedProf->SetParameter( KSIPSnapId, iSnapId );
+ DBG_PRINT2( "CWPVoIPItem::SavingFinalizedL - SNAP ID (2): %d", iSnapId );
sipReg->SaveL( *sipManagedProf );
}
}
@@ -1727,6 +1740,7 @@
sipProf = NULL;
// sipReg, sipObs
CleanupStack::PopAndDestroy( 2, sipObs ); // CS:0
+ sipReg = NULL;
}
if ( iSnapIdSet )
@@ -1772,6 +1786,51 @@
DBG_PRINT( "CWPVoIPItem::SavingFinalizedL - \
Service provider entry updated" );
+ DBG_PRINT2( "CWPVoIPItem::SavingFinalizedL - \
+ set allow VoIP over wcdma iAlowVoIPOverWCDMA=%d", iAllowVoIPOverWCDMA );
+
+ //***********************
+ // Allow VoIP over WCDMA
+ //***********************
+ CSIPProfileRegistryObserver* sipObs =
+ CSIPProfileRegistryObserver::NewLC(); // CS:1
+ CSIPManagedProfileRegistry* sipReg =
+ CSIPManagedProfileRegistry::NewLC( *sipObs ); // CS:2
+ CSIPProfile* sipProf = NULL;
+ sipProf = sipReg->ProfileL( iSipId );
+ CleanupStack::PushL( sipProf ); // CS:3
+ CSIPManagedProfile* sipManagedProf =
+ static_cast<CSIPManagedProfile*>( sipProf );
+ CleanupStack::PushL( sipManagedProf ); // CS:4
+
+ if ( iAllowVoIPOverWCDMA == 1 )
+ {
+ DBG_PRINT( "CWPVoIPItem::SavingFinalizedL - \
+ set bearer not specified" );
+
+ // If VoIP is allowed over wcdma set bearer type to sip as
+ // not specified.
+ sipManagedProf->SetParameter( KBearerType, KBearerNotSpecified );
+ }
+ else
+ {
+ DBG_PRINT( "CWPVoIPItem::SavingFinalizedL - \
+ set bearer setting wlan only" );
+
+ // If not allowed set bearer type to sip as wlan only
+ sipManagedProf->SetParameter( KBearerType, KBearerWlanOnly );
+ }
+
+ sipReg->SaveL( *sipManagedProf );
+ CleanupStack::PopAndDestroy( sipManagedProf ); // CS:3
+ CleanupStack::Pop( sipProf ); // CS:2
+ sipProf = NULL;
+ // sipReg, sipObs
+ CleanupStack::PopAndDestroy( 2, sipObs ); // CS:0
+
+ DBG_PRINT( "CWPVoIPItem::SavingFinalizedL - \
+ bearer settings set" );
+
// property, spEntry spSettings, cRCSEProfileEntry, cRCSEProfileRegistry
CleanupStack::PopAndDestroy( 5, cRCSEProfileRegistry ); // CS:0
iSipIdSet = EFalse;
--- a/voipplugins/voipadapters/dmvoipadapter/inc/nsmldmvoipadapter.h Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/voipadapters/dmvoipadapter/inc/nsmldmvoipadapter.h Thu Aug 19 09:45:22 2010 +0300
@@ -623,6 +623,22 @@
* Array for service provider settings.
*/
RPointerArray<CDMVoIPSPSettings> iSPSettings;
+
+ /**
+ * the temporary string used to fetch profile id
+ */
+ HBufC8* iTempProfileIdObject;
+
+ /**
+ * flag which indicates whether the profile type is set or not
+ */
+ TBool iIsProfileTypeSet;
+
+ /**
+ * flag which indicates whether the AllowVoIPOverWCDMA flag is
+ * modified or not
+ */
+ TBool iAllowVoIPOverWCDMAModified;
};
#endif // __NSMLDMVOIPADAPTER_H__
--- a/voipplugins/voipadapters/dmvoipadapter/src/nsmldmvoipadapter.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/voipadapters/dmvoipadapter/src/nsmldmvoipadapter.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -242,6 +242,11 @@
// Default IM message tone
_LIT( KDefaultTone, "Message 2.aac" );
+// Bearer related constants
+const TUint32 KBearerNotSpecified = 0;
+const TUint32 KBearerWlanOnly = 1;
+const TUint32 KBearerCellularOnly = 2;
+
// ---------------------------------------------------------------------------
// CNSmlDmVoIPAdapter::ConstructL
// Symbian 2nd phase constructor can leave.
@@ -302,7 +307,7 @@
{
delete iCRCSEProfile;
}
-
+ delete iTempProfileIdObject;
iProfileModifs.Close();
iCodecModifs.Close();
@@ -1268,6 +1273,7 @@
{
retValue = CSmlDmAdapter::EInvalidObject;
}
+ iAllowVoIPOverWCDMAModified = ETrue;
}
// VoIP/x/VoIPDigits
else if ( KNSmlDMVoIPVoIPDigits() == uriSeg )
@@ -1831,11 +1837,56 @@
{
iProfileEntries[iProfileID]->iIds[DesToInt(
LastURISeg( aLUID ).Right( 10 ))].iProfileType = 0;
+ // If the profile id is not saved and the string to fetch it is only temporaly stored,
+ // the profile id will be fetched from previously-stored member value and set as well
+ // when saveing the profiletype.
+ if( iTempProfileIdObject )
+ {
+ TUint32 profileId = SetSipRefL( *iTempProfileIdObject );
+ if ( profileId > 0 )
+ {
+ // Set profileId to settingsids.
+ iProfileEntries[iProfileID]->
+ iIds[DesToInt( LastURISeg( aLUID ).Right( 10 ))].
+ iProfileId = profileId;
+ retValue = CSmlDmAdapter::EOk;
+ }
+ else
+ {
+ retValue = CSmlDmAdapter::EInvalidObject;
+ }
+ }
+ iIsProfileTypeSet = ETrue;
+ delete iTempProfileIdObject;
+ iTempProfileIdObject = NULL;
}
else if ( KNSmlDMVoIPProfileTypeSCCP() == aObject )
{
iProfileEntries[iProfileID]->iIds[DesToInt(
LastURISeg( aLUID ).Right( 10 ))].iProfileType = 1;
+ // If the profile id is not saved and the string to fetch it is only temporaly stored,
+ // the profile id will be fetched from previously-stored member value and set as well
+ // when saveing the profiletype.
+ if( iTempProfileIdObject )
+ {
+ TUint32 profileId = SetSccpRefL( *iTempProfileIdObject );
+ // profileId can be zero
+ if ( profileId > 0 || 0 == profileId )
+ {
+ // set profileId to settingsids
+ iProfileEntries[iProfileID]->iIds[DesToInt(
+ LastURISeg( aLUID ).Right( 10 ))].
+ iProfileId = profileId;
+ retValue = CSmlDmAdapter::EOk;
+ }
+ else
+ {
+ retValue = CSmlDmAdapter::EInvalidObject;
+ }
+ }
+ iIsProfileTypeSet = ETrue;
+ delete iTempProfileIdObject;
+ iTempProfileIdObject = NULL;
}
else
{
@@ -1883,6 +1934,17 @@
retValue = CSmlDmAdapter::EInvalidObject;
}
}
+ // If the ProfileType has not been set yet,
+ // the string used to fetch ProfileId temporarily is stored to a member value.
+ else if ( !iIsProfileTypeSet )
+ {
+ if( iTempProfileIdObject )
+ {
+ delete iTempProfileIdObject;
+ iTempProfileIdObject = NULL;
+ }
+ iTempProfileIdObject = aObject.AllocL();
+ }
else
{
// no SCCP or SIP type found
@@ -2275,21 +2337,45 @@
// VoIP/x/AllowVoIPOverWCDMA
else if ( KNSmlDMVoIPAllowVoIPOverWCDMA() == uriSeg )
{
- if ( Entry::EOONotSet == iProfileEntries[iProfileID]->
- iAllowVoIPoverWCDMA )
+ TInt sipProfileId(0);
+ TUint32 bearerFilttering(0);
+
+ for ( TInt index = 0; index < iProfileEntries[iProfileID]->
+ iIds.Count(); index++ )
{
- segmentResult.Copy( KNSmlDMVoIPValueNotSet );
+ if ( iProfileEntries[iProfileID]->iIds[index].iProfileType == 0 )
+ {
+ sipProfileId = iProfileEntries[iProfileID]->
+ iIds[index].iProfileId;
+ break;
+ }
}
- if ( Entry::EOn == iProfileEntries[iProfileID]->
- iAllowVoIPoverWCDMA )
+
+ CSIPProfile* sipProf = NULL;
+ CSIPProfileRegistryObserver* sipRegObs =
+ CSIPProfileRegistryObserver::NewLC(); // CS:1
+ CSIPManagedProfileRegistry* sipProfReg =
+ CSIPManagedProfileRegistry::NewLC( *sipRegObs ); // CS:2
+ TRAPD( err, ( sipProf = sipProfReg->ProfileL( sipProfileId ) ) );
+
+ if ( KErrNone == err )
+ {
+ User::LeaveIfError( sipProf->GetParameter(
+ KBearerType, bearerFilttering ) );
+ }
+
+ CleanupStack::PopAndDestroy( sipProfReg ); // CS:1
+ CleanupStack::PopAndDestroy( sipRegObs ); // CS:0
+
+ if ( bearerFilttering == KBearerWlanOnly )
+ {
+ segmentResult.Copy( KNSmlDMVoIPValueFalse );
+ }
+
+ else if ( bearerFilttering == KBearerNotSpecified )
{
segmentResult.Copy( KNSmlDMVoIPValueTrue );
}
- if ( Entry::EOff == iProfileEntries[iProfileID]->
- iAllowVoIPoverWCDMA )
- {
- segmentResult.Copy( KNSmlDMVoIPValueFalse );
- }
}
// VoIP/x/VoIPDigits
else if ( KNSmlDMVoIPVoIPDigits() == uriSeg )
@@ -4288,13 +4374,14 @@
if ( ( 0 == iProfileEntries[counter]->
iIds[index].iProfileType )
&& iProfileEntries[counter]->
- iIds[index].iProfileId > 1
+ iIds[index].iProfileId > 0
&& ( iProfileEntries[counter]->
iSIPVoIPUAHTerminalType ||
iProfileEntries[counter]->
iSIPVoIPUAHeaderWLANMAC ||
iProfileEntries[counter]->
- iSIPVoIPUAHeaderString.Length() > 0 ) )
+ iSIPVoIPUAHeaderString.Length() > 0 ||
+ iAllowVoIPOverWCDMAModified ) )
{
// Create objects that allow the creation of
// CSIPManagedProfile object.
@@ -4356,6 +4443,27 @@
sipManProf->SetParameter(
KSIPHeaders, *uahArray ) );
}
+
+ if ( iAllowVoIPOverWCDMAModified )
+ {
+ if ( iProfileEntries[iProfileID]->
+ iAllowVoIPoverWCDMA ==
+ CRCSEProfileEntry::EOn )
+ {
+ User::LeaveIfError(
+ sipManProf->SetParameter(
+ KBearerType, KBearerNotSpecified ) );
+ }
+ else if ( iProfileEntries[iProfileID]->
+ iAllowVoIPoverWCDMA ==
+ CRCSEProfileEntry::EOff )
+ {
+ User::LeaveIfError(
+ sipManProf->SetParameter(
+ KBearerType, KBearerWlanOnly ) );
+ }
+ iAllowVoIPOverWCDMAModified = EFalse;
+ }
sipProfReg->SaveL( *sipManProf );
uahArray->Reset();
--- a/voipplugins/voipadapters/provisioningfile/rom/provisioningfile.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/voipadapters/provisioningfile/rom/provisioningfile.iby Thu Aug 19 09:45:22 2010 +0300
@@ -20,7 +20,7 @@
#define PROVISIONINGFILE_IBY
// File provisioning
-file=ABI_DIR\BUILD_DIR\ProvisioningFile.dll SHARED_LIB_DIR\ProvisioningFile.dll
+file=ABI_DIR/BUILD_DIR/ProvisioningFile.dll SHARED_LIB_DIR/ProvisioningFile.dll
#endif // PROVISIONINGFILE_IBY
--- a/voipplugins/voipadapters/voipxmlprovisioning/provisioningappui/Src/VoIPProvisioningAppUi.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/voipadapters/voipxmlprovisioning/provisioningappui/Src/VoIPProvisioningAppUi.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -20,7 +20,7 @@
#include <eikdoc.h>
#include <StringLoader.h>
#include <AknQueryDialog.h>
-#include <VoIPProvisioningApp.rsg>
+#include <voipprovisioningapp.rsg>
#include <aknnotewrappers.h>
#include <apgcli.h> // RApaLsSession
#include <bautils.h>
--- a/voipplugins/voipadapters/voipxmlprovisioning/rom/voipxmlprovisioning.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/voipadapters/voipxmlprovisioning/rom/voipxmlprovisioning.iby Thu Aug 19 09:45:22 2010 +0300
@@ -22,7 +22,7 @@
#include <data_caging_paths_for_iby.hrh>
- file=ABI_DIR\BUILD_DIR\voipxmlprocessor.dll SHARED_LIB_DIR\voipxmlprocessor.dll
+ file=ABI_DIR/BUILD_DIR/voipxmlprocessor.dll SHARED_LIB_DIR/voipxmlprocessor.dll
ECOM_PLUGIN( voipprovrec.dll, 20026FE1.rsc )
--- a/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/inc/voipxmlprocessordefaults.h Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/inc/voipxmlprocessordefaults.h Thu Aug 19 09:45:22 2010 +0300
@@ -131,6 +131,8 @@
// Other.
const TInt KMaxNodeNameLength = 32;
+const TInt KMaxDestinationNameLength = 32;
+const TInt KSpaceForParenthesis = 4;
const TInt KMaxNodeValueLength = 256;
const TInt KMaxProfileNameAppendLength = 4; // e.g. (10) as in Provider(10)
const TInt KMaxProfileNames = 99;
@@ -161,6 +163,7 @@
_LIT8( KColon, ":" );
_LIT8( KTcp, "TCP" );
_LIT8( KUdp, "UDP" );
+_LIT8( KTls, "TLS" );
_LIT8( KUserAgent, "User-Agent" );
_LIT8( KSpace, " " );
const TInt KMaxTerminalTypeLength = 64;
--- a/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/inc/voipxmlsiphandler.h Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/inc/voipxmlsiphandler.h Thu Aug 19 09:45:22 2010 +0300
@@ -48,7 +48,8 @@
{
EAutomatic = 0,
EUdp,
- ETcp
+ ETcp,
+ ETls
};
public:
--- a/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/rom/provisioningapi.iby Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/rom/provisioningapi.iby Thu Aug 19 09:45:22 2010 +0300
@@ -21,7 +21,7 @@
#include <data_caging_paths_for_iby.hrh>
#ifdef __VOIP
- file=ABI_DIR\BUILD_DIR\provisioningapi.dll SHARED_LIB_DIR\provisioningapi.dll
+ file=ABI_DIR/BUILD_DIR/provisioningapi.dll SHARED_LIB_DIR/provisioningapi.dll
#endif // __VOIP
#endif // PROVISIONINGAPI_IBY
--- a/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmliaphandler.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmliaphandler.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -522,9 +522,16 @@
// Get destination ID's for checking if name to be set is reserved.
CleanupClosePushL( destinationIds ); // CS:3
cmm.AllDestinationsL( destinationIds );
- HBufC* newName = HBufC::NewLC( KMaxNodeNameLength ); // CS:4
- newName->Des().Copy( iDestinationName->Des() );
-
+ HBufC* newName = HBufC::NewLC( KMaxDestinationNameLength + KSpaceForParenthesis ); // CS:4
+ if( iDestinationName->Des().Length() >= KMaxDestinationNameLength )
+ {
+ newName->Des().Copy( iDestinationName->Left( KMaxDestinationNameLength ) );
+ }
+ else
+ {
+ newName->Des().Copy( iDestinationName->Des() );
+ }
+
// Check that name is unique.
const TInt destinationCount = destinationIds.Count();
for ( TInt counter = 0; counter < destinationCount; counter++ )
@@ -538,7 +545,14 @@
{
// If the name is changed we need to begin the comparison
// again from the first profile.
- newName->Des().Copy( iDestinationName->Des() );
+ if ( iDestinationName->Des().Length() >= KMaxDestinationNameLength )
+ {
+ newName->Des().Copy( iDestinationName->Left( KMaxDestinationNameLength ) );
+ }
+ else
+ {
+ newName->Des().Copy( iDestinationName->Des() );
+ }
newName->Des().Append( KOpenParenthesis() );
newName->Des().AppendNum( i );
newName->Des().Append( KClosedParenthesis() );
@@ -571,6 +585,37 @@
// &newDestination, newName, &destinationIds
CleanupStack::PopAndDestroy( 3, &destinationIds ); // CS:2
}
+
+ // no destination name is defined.
+ else
+ {
+ RArray<TUint32> destinationIds;
+ CleanupClosePushL( destinationIds ); // CS:3
+ cmm.AllDestinationsL( destinationIds );
+ const TInt count = destinationIds.Count();
+ for (TInt counter = 0; counter < count ; counter ++)
+ {
+ RCmDestinationExt destination = cmm.DestinationL( destinationIds[counter] );
+ CleanupClosePushL( destination ); // CS:4
+ if ( destination.MetadataL(
+ CMManager::ESnapMetadataPurpose) == CMManager::ESnapPurposeInternet )
+ {
+ const TInt cmCount = iapIds.Count();
+ for ( TInt i = 0; i < cmCount; i++ )
+ {
+ RCmConnectionMethodExt connection = cmm.ConnectionMethodL(iapIds[i] );
+ CleanupClosePushL( connection );
+ destination.AddConnectionMethodL(connection );
+ CleanupStack::PopAndDestroy( &connection );
+ }
+ }
+ destination.UpdateL();
+ CleanupStack::PopAndDestroy( &destination ); // CS:3
+ CleanupStack::PopAndDestroy( &destinationIds ); // CS:2
+ break;
+ }
+ }
+
// &iapIds, &cmm
CleanupStack::PopAndDestroy( 2, &cmm ); // CS:0
}
--- a/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlsiphandler.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlsiphandler.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -383,6 +383,11 @@
tempBuf.Append( KTransport() );
tempBuf.Append( KTcp() );
}
+ else if ( ETls == iProxyTransport )
+ {
+ tempBuf.Append( KTransport() );
+ tempBuf.Append( KTls() );
+ }
if ( iLr )
{
tempBuf.Append( KLr() );
@@ -417,6 +422,11 @@
tempBuf.Append( KTransport() );
tempBuf.Append( KTcp() );
}
+ else if ( ETls == iProxyTransport )
+ {
+ tempBuf.Append( KTransport() );
+ tempBuf.Append( KTls() );
+ }
if ( iRegistrarUri->Des().MaxLength() >=
( iRegistrarUri->Des().Length() + tempBuf.Length() ) )
{
@@ -587,6 +597,10 @@
{
return ETcp;
}
+ else if ( 0 == value.Compare( KTls() ) )
+ {
+ return ETls;
+ }
else
{
return EAutomatic;