# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1283449638 -10800 # Node ID 15965fe54016f3f8a5920bc73833e2246cc66a68 # Parent 7cdef8deefa0ed3541bd910124efb6c1b9465464 Revision: 201033 Kit: 201035 diff -r 7cdef8deefa0 -r 15965fe54016 realtimenetprots/rtp/shimrtp/bwins/rtpmu.def --- a/realtimenetprots/rtp/shimrtp/bwins/rtpmu.def Wed Aug 18 10:07:48 2010 +0300 +++ b/realtimenetprots/rtp/shimrtp/bwins/rtpmu.def Thu Sep 02 20:47:18 2010 +0300 @@ -112,4 +112,5 @@ ?SetPrePostProcessingRegisterCallback@RRtpSession_Internal@@QAEXPAVMPrePostProcessingCallback@@@Z @ 111 NONAME ; void RRtpSession_Internal::SetPrePostProcessingRegisterCallback(class MPrePostProcessingCallback *) ?RtcpStatistics@RRtpSession_Internal@@QAEHKAAVTRtcpStatistics@@@Z @ 112 NONAME ; int RRtpSession_Internal::RtcpStatistics(unsigned long, class TRtcpStatistics &) ?Close@RRtpSendPacket@@QAEXXZ @ 113 NONAME ; void RRtpSendPacket::Close(void) + ?SenderSSRC@RRtcpRRItem@@QBEIXZ @ 114 NONAME ; unsigned int RRtcpRRItem::SenderSSRC(void) const diff -r 7cdef8deefa0 -r 15965fe54016 realtimenetprots/sipfw/ProfileAgent/AlrMonitor/src/sipalrmonitor.cpp --- a/realtimenetprots/sipfw/ProfileAgent/AlrMonitor/src/sipalrmonitor.cpp Wed Aug 18 10:07:48 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/AlrMonitor/src/sipalrmonitor.cpp Thu Sep 02 20:47:18 2010 +0300 @@ -188,16 +188,20 @@ // void CSipAlrMonitor::FreeResources ( MSipAlrObserver& aObserver ) { + CSipAlrSnapMonitor* monitor= 0; for ( TInt i = iSnapMonitors.Count()-1; i >= 0; i-- ) { TBool last = iSnapMonitors[i]->DetachObserver ( aObserver ); if ( last ) { - delete iSnapMonitors[i]; - iSnapMonitors.Remove ( i ); + monitor = iSnapMonitors[i]; + iSnapMonitors.Remove(i); + delete monitor; + monitor = NULL; PROFILE_DEBUG1( "CSipAlrMonitor::FreeResources monitor deleted" ) } } + iSnapMonitors.Compress(); } // ----------------------------------------------------------------------------- diff -r 7cdef8deefa0 -r 15965fe54016 realtimenetprots/sipfw/ProfileAgent/AlrMonitor/src/sipalrsnapmonitor.cpp --- a/realtimenetprots/sipfw/ProfileAgent/AlrMonitor/src/sipalrsnapmonitor.cpp Wed Aug 18 10:07:48 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/AlrMonitor/src/sipalrsnapmonitor.cpp Thu Sep 02 20:47:18 2010 +0300 @@ -300,6 +300,7 @@ iObservers.Remove( i ); } } + iObservers.Compress(); return iObservers.Count() == 0; } @@ -485,7 +486,7 @@ DestroyMobilityAo(); Cancel(); - iConnection.Close(); +// iConnection.Close(); iMigrationAllowedByClient = EFalse; iConnectionActive = EFalse; iPreferredCarrierAvailableCalled = EFalse; diff -r 7cdef8deefa0 -r 15965fe54016 realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnconfigurationhandler.cpp --- a/realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnconfigurationhandler.cpp Wed Aug 18 10:07:48 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnconfigurationhandler.cpp Thu Sep 02 20:47:18 2010 +0300 @@ -312,6 +312,7 @@ iIsFailed = EFalse; iIsFatalFailure = EFalse; iCellularDataBlocked = EFalse; + iApnUseSecureAuthProposal = EFalse; } // ----------------------------------------------------------------------------- @@ -829,7 +830,7 @@ if ( aIsFailed ) { TRAP( err, SetApnL( - SecondaryApn(), ETrue, ETrue) ); + SecondaryApn(), EFalse, ETrue) ); } else if ( !iIsFatalFailure ) { diff -r 7cdef8deefa0 -r 15965fe54016 realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnmanager.cpp --- a/realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnmanager.cpp Wed Aug 18 10:07:48 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnmanager.cpp Thu Sep 02 20:47:18 2010 +0300 @@ -106,11 +106,8 @@ // CSIPApnManager::WriteApnL // ---------------------------------------------------------------------------- // -void CSIPApnManager::WriteApnL( TUint32 aIapId, TBool aIsPrimaryApn, const TDesC8* aApn ) +void CSIPApnManager::WriteApnL( TUint32 aIapId, TBool /*aIsPrimaryApn*/, const TDesC8* aApn ) { - PROFILE_DEBUG3( "CSIPApnManager::WriteApnL isPrimary", aIsPrimaryApn ) - TBool useSecureAuth = aIsPrimaryApn ? EFalse : ETrue; - CSIPApnConfigurationHandler* handler = FindIapIdHandler( aIapId ); if (!handler) { @@ -118,7 +115,7 @@ handler = FindIapIdHandler(aIapId); } - handler->SetApnL( *aApn, useSecureAuth, ETrue); + handler->SetApnL( *aApn, EFalse, ETrue); } // ---------------------------------------------------------------------------- diff -r 7cdef8deefa0 -r 15965fe54016 realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp --- a/realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp Wed Aug 18 10:07:48 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp Thu Sep 02 20:47:18 2010 +0300 @@ -94,8 +94,7 @@ LIBRARY commsdat.lib LIBRARY featmgr.lib LIBRARY commdb.lib -LIBRARY extendedconnpref.lib -LIBRARY netmeta.lib +LIBRARY extendedconnpref.lib VENDORID 0x70000001 diff -r 7cdef8deefa0 -r 15965fe54016 realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp --- a/realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp Wed Aug 18 10:07:48 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp Thu Sep 02 20:47:18 2010 +0300 @@ -491,7 +491,9 @@ // TBool CSIPIetfProfileContext::ShouldRetryRegistration( TInt aError ) { - return (aError == K503ServiceUnavailable || + return (iProfile && + AgentObserver().ProceedRegistration(*iProfile, aError) && + (aError == K503ServiceUnavailable || aError == K408TimeOut || aError == K500ServerInternalError || aError == KErrTimedOut || @@ -499,7 +501,7 @@ aError == KErrSIPTransportFailure || aError == KErrSIPICMPFailure || aError == KErrSIPOutboundProxyNotResponding ) && - iConnection.State() != CSIPConnection::ESuspended)); + iConnection.State() != CSIPConnection::ESuspended))); } // ----------------------------------------------------------------------------- diff -r 7cdef8deefa0 -r 15965fe54016 realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofilecontext.cpp --- a/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofilecontext.cpp Wed Aug 18 10:07:48 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofilecontext.cpp Thu Sep 02 20:47:18 2010 +0300 @@ -781,7 +781,9 @@ // TBool CSIPIMSProfileContext::ShouldRetryRegistration( TInt aError ) { - return (aError == K503ServiceUnavailable || + return (iProfile && + AgentObserver().ProceedRegistration(*iProfile, aError) && + (aError == K503ServiceUnavailable || aError == K408TimeOut || aError == K480TemporarilyUnavailable || aError == K500ServerInternalError || @@ -791,7 +793,7 @@ aError == KErrSIPTransportFailure || aError == KErrSIPICMPFailure || aError == KErrSIPOutboundProxyNotResponding ) && - iConnection.State() != CSIPConnection::ESuspended)); + iConnection.State() != CSIPConnection::ESuspended))); } // ----------------------------------------------------------------------------- diff -r 7cdef8deefa0 -r 15965fe54016 realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofileusimprovider.cpp --- a/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofileusimprovider.cpp Wed Aug 18 10:07:48 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofileusimprovider.cpp Thu Sep 02 20:47:18 2010 +0300 @@ -402,7 +402,10 @@ iObserver.UpdateRegistrationsL(); if (!iProfileSIMRecord.PrivateIdentity().Length()) { + if(iAuthorization) + { iAuthorization->RequestL(); + } } } diff -r 7cdef8deefa0 -r 15965fe54016 realtimenetprots/sipfw/ProfileAgent/PluginMgr/Src/Sipplugindirector.cpp --- a/realtimenetprots/sipfw/ProfileAgent/PluginMgr/Src/Sipplugindirector.cpp Wed Aug 18 10:07:48 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/PluginMgr/Src/Sipplugindirector.cpp Thu Sep 02 20:47:18 2010 +0300 @@ -305,6 +305,7 @@ }//if }//for + iSIPProfileAgents.Compress(); } // ----------------------------------------------------------------------------- diff -r 7cdef8deefa0 -r 15965fe54016 realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileCacheItem.h --- a/realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileCacheItem.h Wed Aug 18 10:07:48 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileCacheItem.h Thu Sep 02 20:47:18 2010 +0300 @@ -571,6 +571,8 @@ * Function returns the Bearer ID for the Profile. */ TUint32 BearerID(); + + TBool HasQueuedUpdate()const; private: /** diff -r 7cdef8deefa0 -r 15965fe54016 realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileCacheItem.cpp --- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileCacheItem.cpp Wed Aug 18 10:07:48 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileCacheItem.cpp Thu Sep 02 20:47:18 2010 +0300 @@ -366,6 +366,7 @@ if (index != KErrNotFound) { iObservers.Remove(index); + iObservers.Compress(); } RemoveFromPendingObservers(aObserver); @@ -402,6 +403,7 @@ if (index != KErrNotFound) { iUsers.Remove(index); + iUsers.Compress(); CheckProfileEnabledState(); } } @@ -1256,6 +1258,7 @@ if (index != KErrNotFound) { iObserversWaitedForPermission.Remove(index); + iObserversWaitedForPermission.Compress(); } } @@ -1416,3 +1419,14 @@ LatestProfile().ExtensionParameter(KBearerType , bearerId); return bearerId; } + +// ----------------------------------------------------------------------------- +// CSIPProfileCacheItem::HasQueuedUpdate +// This function will return true if profile updated and not yet processed +// false otherwise +// ----------------------------------------------------------------------------- +// +TBool CSIPProfileCacheItem::HasQueuedUpdate() const + { + return (iQueuedProfile != NULL); + } diff -r 7cdef8deefa0 -r 15965fe54016 realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp --- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp Wed Aug 18 10:07:48 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp Thu Sep 02 20:47:18 2010 +0300 @@ -396,7 +396,14 @@ { return EFalse; } - + + if((aError != KErrNone) && item->HasQueuedUpdate()) + { + PROFILE_DEBUG4("ProfileServerCore::ProceedRegistration HasQueuedUpdate, err", + item->HasQueuedUpdate(), aError) + return EFalse; + } + if ( ShouldChangeIap(item->UsedProfile(), aError) && !item->SnapRetryCountReached() ) { @@ -1546,6 +1553,7 @@ if (index != KErrNotFound) { iObservers.Remove(index); + iObservers.Compress(); } for (TInt i = 0; i < iProfileCache.Count(); i ++) @@ -1926,6 +1934,7 @@ if (index >= 0) { iProfileCache.Remove(index); + iProfileCache.Compress(); } } @@ -1942,7 +1951,9 @@ { CSipAlrMigrationController* unused = iMigrationControllers[i]; iMigrationControllers.Remove(i); + iMigrationControllers.Compress(); delete unused; + unused = NULL; } } } diff -r 7cdef8deefa0 -r 15965fe54016 realtimenetprots/sipfw/ProfileAgent/Server/Src/sipalrmigrationcontroller.cpp --- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/sipalrmigrationcontroller.cpp Wed Aug 18 10:07:48 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/sipalrmigrationcontroller.cpp Thu Sep 02 20:47:18 2010 +0300 @@ -178,6 +178,7 @@ if (index != KErrNotFound) { iObservers.Remove(index); + iObservers.Compress(); } if (iObservers.Count() == 0) diff -r 7cdef8deefa0 -r 15965fe54016 realtimenetprots/sipfw/SIP/ConnectionMgr/src/CSipConnection.cpp --- a/realtimenetprots/sipfw/SIP/ConnectionMgr/src/CSipConnection.cpp Wed Aug 18 10:07:48 2010 +0300 +++ b/realtimenetprots/sipfw/SIP/ConnectionMgr/src/CSipConnection.cpp Thu Sep 02 20:47:18 2010 +0300 @@ -622,7 +622,10 @@ //Message is response. Host part will be extracted from the top //Via header CSIPViaHeader* viaHeader = TopViaHeader( &aMessage ); - domainName = viaHeader->SentByHostPort().Host().AllocL(); + if(viaHeader) + { + domainName = viaHeader->SentByHostPort().Host().AllocL(); + } } transport = static_cast(FindTransport( aParams, SIPStrings::StringF( SipStrConsts::ETLS ), diff -r 7cdef8deefa0 -r 15965fe54016 sipproviderplugins/sipprovider/sipconnectionplugins/inc/SIP_subconevents.h --- a/sipproviderplugins/sipprovider/sipconnectionplugins/inc/SIP_subconevents.h Wed Aug 18 10:07:48 2010 +0300 +++ b/sipproviderplugins/sipprovider/sipconnectionplugins/inc/SIP_subconevents.h Thu Sep 02 20:47:18 2010 +0300 @@ -137,6 +137,6 @@ static CSubConNotificationEvent* NewL(TAny* aConstructionParameters); }; -#include "SIP_subconevents.inl" +#include "sip_subconevents.inl" #endif // SIPSCPR_SUBCONEVENTS_H diff -r 7cdef8deefa0 -r 15965fe54016 sipproviderplugins/sipprovider/sipconnectionplugins/inc/SIP_subconparams.h --- a/sipproviderplugins/sipprovider/sipconnectionplugins/inc/SIP_subconparams.h Wed Aug 18 10:07:48 2010 +0300 +++ b/sipproviderplugins/sipprovider/sipconnectionplugins/inc/SIP_subconparams.h Thu Sep 02 20:47:18 2010 +0300 @@ -272,6 +272,6 @@ static CSubConExtensionParameterSet* NewL(TAny* aConstructionParameters); }; -#include "SIP_subconparams.inl" +#include "sip_subconparams.inl" #endif // SIP_SUBCONPARAMS_H