Revision: 201031 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 19 Aug 2010 09:51:39 +0300
branchRCL_3
changeset 21 33a5d2bbf6fc
parent 20 2d2c7d1515f7
child 22 73a1feb507fb
Revision: 201031 Kit: 201033
inc/muscallmonitorobserver.h
inc/mussesseioninformationapi.h
mmsharing/inc/musavaobserver.h
mmsharing/mmshavailability/inc/musavaavailability.h
mmsharing/mmshavailability/inc/musavaavailabilityobserver.h
mmsharing/mmshavailability/inc/musavacapabilityquerybase.h
mmsharing/mmshavailability/inc/musavacontactavailability.h
mmsharing/mmshavailability/inc/musavadefaultimp.h
mmsharing/mmshavailability/inc/musavanetworkavailability.h
mmsharing/mmshavailability/inc/musavasettingsimp.h
mmsharing/mmshavailability/src/musavacalleventmonitor.cpp
mmsharing/mmshavailability/src/musavacapabilityquerybase.cpp
mmsharing/mmshavailability/src/musavacapabilitysipagent.cpp
mmsharing/mmshavailability/src/musavacontactavailability.cpp
mmsharing/mmshavailability/src/musavadefaultimp.cpp
mmsharing/mmshavailability/src/musavadefaultoptionhandler.cpp
mmsharing/mmshavailability/src/musavanetworkavailability.cpp
mmsharing/mmshavailability/src/musavanetworkmodestatus.cpp
mmsharing/mmshavailability/src/musavanetworkregistrationstatus.cpp
mmsharing/mmshavailability/src/musavaoptionhandler.cpp
mmsharing/mmshavailability/src/musavaregisteravailability.cpp
mmsharing/mmshavailability/src/musavasettingsimp.cpp
mmsharing/mmshavailability/src/musavaterminal.cpp
mmsharing/mmshavailability/tsrc/ut_availability/Stubs/inc/musavaavailabilityobserverimp.h
mmsharing/mmshavailability/tsrc/ut_availability/Stubs/inc/musavaobserverimp.h
mmsharing/mmshavailability/tsrc/ut_availability/Stubs/src/CMusAvaAvailabilityObserverImp.cpp
mmsharing/mmshavailability/tsrc/ut_availability/Stubs/src/musavaobserverimp.cpp
mmsharing/mmshavailability/tsrc/ut_availability/inc/UT_CMusAvaCapabilityQuery.h
mmsharing/mmshavailability/tsrc/ut_availability/inc/UT_CMusAvaSettingsImp.h
mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaCapabilityQuery.cpp
mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaNetworkAvailability.cpp
mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaSettingsImp.cpp
mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaTerminal.cpp
mmsharing/mmshengine/bwins/musengineu.def
mmsharing/mmshengine/eabi/musengineu.def
mmsharing/mmshengine/inc/musengsession.h
mmsharing/mmshengine/inc/musengtelephoneutils.h
mmsharing/mmshengine/src/musengsession.cpp
mmsharing/mmshengine/src/musengtelephoneutils.cpp
mmsharing/mmshengine/tsrc/ut_engine/BWINS/ut_musengineU.DEF
mmsharing/mmshengine/tsrc/ut_engine/eabi/ut_musengineu.def
mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengsession.h
mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengtelephoneutils.h
mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengsession.cpp
mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengtelephoneutils.cpp
mmsharing/mmshmanagercli/inc/musmanagerclientsession.h
mmsharing/mmshmanagercli/src/musmanagerclientsession.cpp
mmsharing/mmshmanagercli/src/musmanagerserverstarter.cpp
mmsharing/mmshmanagersrv/inc/musavailabilitypluginmanager.h
mmsharing/mmshmanagersrv/src/musavailabilitypluginmanager.cpp
mmsharing/mmshui/data/musui.rss
mmsharing/mmshui/inc/musui.hrh
mmsharing/mmshui/inc/musuieventcontroller.h
mmsharing/mmshui/src/musuiappui.cpp
mmsharing/mmshui/src/musuiclipsharingcontroller.cpp
mmsharing/mmshui/src/musuiclipsharingview.cpp
mmsharing/mmshui/src/musuieventcontroller.cpp
mmsharing/mmshui/src/musuilivesharingcontroller.cpp
mmsharing/mmshui/src/musuilivesharingview.cpp
mmsharing/mmshui/src/musuireceivecontroller.cpp
mmsharing/mmshui/src/musuireceiveview.cpp
mmsharing/mmshui/src/musuisendview.cpp
mmshplugins/mmshaoplugin/src/muscallconferenceeventmonitor.cpp
mmshplugins/mmshaoplugin/src/muscallmonitorbase.cpp
mmshplugins/mmshaoplugin/src/muspropertymonitor.cpp
mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muscallconferenceeventmonitor.cpp
mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muspropertymonitor.cpp
mmshplugins/mmshsettingsuiplugin/src/mussettingscontainer.cpp
--- a/inc/muscallmonitorobserver.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/inc/muscallmonitorobserver.h	Thu Aug 19 09:51:39 2010 +0300
@@ -40,6 +40,8 @@
     virtual void ConferenceCallL() = 0;
     
     virtual void NoActiveCallL() = 0;
+    
+    virtual void ConferenceCallLTerminated() = 0;
    
     /**
     *
--- a/inc/mussesseioninformationapi.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/inc/mussesseioninformationapi.h	Thu Aug 19 09:51:39 2010 +0300
@@ -51,7 +51,8 @@
         ENoCall,
         ECallConnected,
         ECallHold,       
-        EConferenceCall
+        EConferenceCall,
+        EConferenceTerminated
         };
 
     /**  Contains the call direction */
--- a/mmsharing/inc/musavaobserver.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/inc/musavaobserver.h	Thu Aug 19 09:51:39 2010 +0300
@@ -159,6 +159,8 @@
     virtual void AvailabilityError(
         TAvailabilityName aName,
         TAvailabilityStatus aStatus ) = 0;
+    
+    virtual void AvailabilitiesAbleToShowIndicator() = 0;
         
     };
 
--- a/mmsharing/mmshavailability/inc/musavaavailability.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/inc/musavaavailability.h	Thu Aug 19 09:51:39 2010 +0300
@@ -147,7 +147,16 @@
             }
         MUS_LOG( "mus: [MUSAVA]  <- CMusAvaAvailability::SetState" )
         }
-   
+
+	/**
+	* Calculate the availabilited to decide to show the toolbar or not.
+	*
+	*/
+    void AvailabilitiesAbleToShowIndicator()
+    	{
+    	iObserver.AvailabilitiesAbleToShowIndicator();
+    	}
+
    /**
 	* Returns specific availability state.
 	*
--- a/mmsharing/mmshavailability/inc/musavaavailabilityobserver.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/inc/musavaavailabilityobserver.h	Thu Aug 19 09:51:39 2010 +0300
@@ -57,6 +57,8 @@
         
     virtual MMusAvaObserver::TAvailabilityStatus 
     	AvailabilityPluginState() = 0;
+    
+    virtual void AvailabilitiesAbleToShowIndicator() = 0;
    
     };
 
--- a/mmsharing/mmshavailability/inc/musavacapabilityquerybase.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/inc/musavacapabilityquerybase.h	Thu Aug 19 09:51:39 2010 +0300
@@ -44,7 +44,7 @@
 const TInt KCapabilityCapabilitesReady = 1;
 const TInt KCapabilityCapabilitesNotFound = 2;
 const TInt KCapabilityCapabilitiesForbidden = 3;
-
+const TInt KMaxRemoteUriLength = 512;
 
 /**
  * Sent capability query (OPTIONS)
@@ -113,6 +113,12 @@
      */
     HBufC8* ContentLC();
 
+    /**
+     * Check if Recipient address is same as that in profile.
+     *     
+     */
+    TBool ValidateUri();
+
     
     
 public: // new functions
@@ -214,10 +220,18 @@
     CUri8* iRegisteredContact;
     CUri8* iOriginator;
     CSIPClientTransaction* iTrx;
+    TBuf8<KMaxRemoteUriLength> iRemoteUri;
     
 //for unit testing
     CAPABILITY_UT_DEFINITIONS
     
+private:    // Friend classes
+
+#ifdef EUNIT_TEST
+   friend class UT_CMusAvaCapabilityQuery;
+   friend class UT_CMusAvaCapabilityQueryBase;
+#endif
+    
     };
 
 
--- a/mmsharing/mmshavailability/inc/musavacontactavailability.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/inc/musavacontactavailability.h	Thu Aug 19 09:51:39 2010 +0300
@@ -131,6 +131,9 @@
     * @return
     */
     virtual void ConferenceCallL();
+    
+    
+    virtual void ConferenceCallLTerminated();
 
 private:
 
--- a/mmsharing/mmshavailability/inc/musavadefaultimp.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/inc/musavadefaultimp.h	Thu Aug 19 09:51:39 2010 +0300
@@ -189,6 +189,8 @@
         
     virtual MMusAvaObserver::TAvailabilityStatus AvailabilityPluginState();
     
+    virtual void AvailabilitiesAbleToShowIndicator();
+    
 
     private: // data
 
--- a/mmsharing/mmshavailability/inc/musavanetworkavailability.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/inc/musavanetworkavailability.h	Thu Aug 19 09:51:39 2010 +0300
@@ -21,6 +21,7 @@
 
 #include "musavaavailability.h"
 #include "muscallmonitorobserver.h"
+#include "musunittesting.h"
 #include <sipprofileregistryobserver.h>
 
 #include <e32base.h>
@@ -45,6 +46,8 @@
 class CMusAvaNetworkAvailability : public CMusAvaAvailability,
                                    public MMusCallMonitorObserver
 	{
+	MUS_UNITTEST( UT_CMusAvaNetworkAvailability )
+	
 public:
 	/**
      * Two-phased constructor
@@ -148,6 +151,15 @@
      * @return
      */
     virtual void ConferenceCallL();
+    
+    
+    /**
+     * Call on conf Terminated
+     *
+     * @since  S60 v3.2
+     * @return
+     */
+    virtual void ConferenceCallLTerminated();
 
 private: // data
 
@@ -165,6 +177,8 @@
     * Reference to availability settings object.
     */
     CMusAvaSettingsImp& iSettings;
+    
+    TBool iConfcall;
     };
 
 
--- a/mmsharing/mmshavailability/inc/musavasettingsimp.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/inc/musavasettingsimp.h	Thu Aug 19 09:51:39 2010 +0300
@@ -258,6 +258,13 @@
      * @return The SIP profile id.
      */   		
     CMusAvaSip& Sip();
+    
+    void SetOptionSentNumber( const TDesC& aTelNumber );
+    
+    const TDesC& OptionSentTelNumber() const;
+    
+    void ReleaseOptionSentNumber();
+    
 
      
      
@@ -290,6 +297,9 @@
      * Owns.
      */   
     HBufC* iTelNumber;
+    
+    HBufC* iOptionSentTelNumber;
+
 
 	/**
      * Current Call Direction
--- a/mmsharing/mmshavailability/src/musavacalleventmonitor.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavacalleventmonitor.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -288,6 +288,11 @@
                 iObserver.ConferenceCallL();
                 break;
                 }
+            case NMusSessionInformationApi::EConferenceTerminated:
+            	{
+            	iObserver.ConferenceCallLTerminated();
+            	break;
+            	}
 
             default:
                 {
--- a/mmsharing/mmshavailability/src/musavacapabilityquerybase.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavacapabilityquerybase.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -51,6 +51,13 @@
 #include "musavasipheaderutil.h"
 #include "mussesseioninformationapi.h"
 
+_LIT8( KMusSipPrefix, "sip:" );
+_LIT8( KMusTelPrefix, "tel:" );
+_LIT8( KMusPlusSign, "+" );
+_LIT8( KMusAtSign, "@" );
+
+const TInt KMusMinDigitCountInTelNumber = 7;
+
 // --------------------------------------------------------------------------
 // C++ constructor
 // --------------------------------------------------------------------------
@@ -154,6 +161,7 @@
     CleanupStack::PopAndDestroy(sipAddress);        
     
     HBufC8* sipAddress8 = EscapeUtils::ConvertFromUnicodeToUtf8L( aSipAddress );
+    iRemoteUri.Copy( sipAddress8->Des() ) ;
     CleanupStack::PushL( sipAddress8 );
     iTerminal = &Capability().Exchange().TerminalL( sipAddress8->Des() );
     CleanupStack::PopAndDestroy( sipAddress8 ) ;
@@ -568,4 +576,107 @@
     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;
+	}
+
+
--- a/mmsharing/mmshavailability/src/musavacapabilitysipagent.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavacapabilitysipagent.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -30,6 +30,7 @@
 #include <sipstrconsts.h>
 #include <sipresponseelements.h>
 
+#include "mussettings.h"
 #include "muslogger.h"
 #include "musavacapabilityexchange.h"
 #include "musavacapabilityquery.h"
@@ -164,12 +165,25 @@
     {
     MUS_LOG( "mus: [MUSAVA] -> CMusAvaCapabilitySipAgent::IncomingRequest" )
     TInt retval = KErrNone;
+    MusSettingsKeys::TOperatorVariant variantValue = MusSettingsKeys::EStandard;
+    TRAPD( error, variantValue = 
+                  MultimediaSharingSettings::OperatorVariantSettingL() );
+    if( error )
+    	{
+         MUS_LOG("CMusAvaCapabilitySipAgent::IncomingRequest\
+        		  Get OperatorVariantSettingL worng");
+    	}
+    
     if ( aTransaction->Type() == 
                         SIPStrings::StringF( SipStrConsts::EOptions ) )
         {  
-        // Answer 200OK only when CS call remain at Availability States
+        // Answer 200OK when CS call remain at Availability States
+        //or at EMusAvaOptionNotAvailable State in operatorspecific mode
         if ( MMusAvaObserver::EMusAvaStatusNotExecuted <= 
-             iAvailabilityObserver.AvailabilityPluginState() )
+             iAvailabilityObserver.AvailabilityPluginState()  
+             ||( ( iAvailabilityObserver.AvailabilityPluginState() ==
+              MMusAvaObserver::EMusAvaOptionNotAvailable ) 
+              && ( variantValue == MusSettingsKeys::EOperatorSpecific  )))
             {
             retval = 
              iCapabilityExchange.QueryObserver().CapabilityQueryAnswered() ?
--- a/mmsharing/mmshavailability/src/musavacontactavailability.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavacontactavailability.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -264,6 +264,11 @@
     {
     }
 
+
+void CMusAvaContactAvailability::ConferenceCallLTerminated ()
+	{	
+	}
+
 // -------------------------------------------------------------------------
 //
 // -------------------------------------------------------------------------
--- a/mmsharing/mmshavailability/src/musavadefaultimp.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavadefaultimp.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -368,6 +368,11 @@
     }
 
 
+void CMusAvaDefaultImp::AvailabilitiesAbleToShowIndicator()
+	{
+	iObserver->AvailabilitiesAbleToShowIndicator();
+	}
+
 // -----------------------------------------------------------------------------
 //  Availability error.
 // -----------------------------------------------------------------------------
--- a/mmsharing/mmshavailability/src/musavadefaultoptionhandler.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavadefaultoptionhandler.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -419,6 +419,9 @@
 	LocalHostL( aTransaction,localHost,hostType);
 	CSdpOriginField* originField = CreateOriginFieldL(localHost,hostType);
 	sdpDocument->SetOriginField(originField);
+	//session name
+	_LIT8(KSessionName, "-");
+	sdpDocument->SetSessionNameL(KSessionName);
 	// Connection field
 	CSdpConnectionField* connectionField =
         CSdpConnectionField::NewL( netType, hostType, localHost );
--- a/mmsharing/mmshavailability/src/musavanetworkavailability.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavanetworkavailability.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -74,7 +74,8 @@
     MMusAvaAvailabilityObserver& aObserver,
     CMusAvaSettingsImp& aSettings )
     :CMusAvaAvailability( aObserver ),
-    iSettings( aSettings )
+    iSettings( aSettings ),
+    iConfcall( EFalse )
     {
     }
 
@@ -151,12 +152,27 @@
     {
     MUS_LOG( "mus: [MUSAVA]  \
                 -> CMusAvaNetworkAvailability::CallConnectedL()" )
-    // try to resolve to contact information of the remote host
-
-    iSettings.SetTelNumberL( aTelNumber );
-    iSettings.SetCallDirection( iPhoneStatus->CallDirectionL() );
-    iSettings.SetCallPrivacy( iPhoneStatus->CallPrivacyL() );
-    SetState( MMusAvaObserver::EMusAvaStatusAvailable );
+                
+// try to resolve to contact information of the remote host	
+	iSettings.SetTelNumberL( aTelNumber );
+	iSettings.SetCallDirection( iPhoneStatus->CallDirectionL() );
+	iSettings.SetCallPrivacy( iPhoneStatus->CallPrivacyL() );
+   
+	//isn't the phone sent option successfully
+    if ( ( aTelNumber != iSettings.OptionSentTelNumber()  
+    	   || iSettings.OptionSentTelNumber() == KNullDesC() )
+    	   && iConfcall )
+   	    {
+        MUS_LOG("CMusAvaNetworkAvailability::CallConnectedL EMusAvaStatusInProgress");
+        iSettings.ReleaseOptionSentNumber();
+        SetState( MMusAvaObserver::EMusAvaStatusInProgress );         
+   	    }
+    else
+    	{
+	    SetState( MMusAvaObserver::EMusAvaStatusAvailable );
+	    MUS_LOG("CMusAvaNetworkAvailability::CallConnectedL EMusAvaStatusAvailable");
+			
+    	  }
 
     MUS_LOG( "mus: [MUSAVA]  \
                 <- CMusAvaNetworkAvailability::CallConnectedL()" )
@@ -173,6 +189,7 @@
     MUS_LOG( "mus: [MUSAVA]  \
             -> CMusAvaNetworkAvailability::ConferenceCallL()" )
     //Report line status
+    iConfcall = ETrue;
     SetState( MMusAvaObserver::EMusAvaStatusConferenceCall );
     MUS_LOG( "mus: [MUSAVA]  \
                 <- CMusAvaNetworkAvailability::ConferenceCallL()" )
@@ -212,3 +229,20 @@
 
     MUS_LOG( "mus: [MUSAVA]  <- CMusAvaNetworkAvailability::NoActiveCallL()" )
     }
+
+// -------------------------------------------------------------------------
+//This function is called when conference call terminted
+//
+// -------------------------------------------------------------------------
+//
+void CMusAvaNetworkAvailability::ConferenceCallLTerminated()
+	{
+    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaNetworkAvailability::ConferenceCallLTerminated()" )
+    if ( iConfcall )
+    	{
+        iConfcall = EFalse;
+    	}
+    AvailabilitiesAbleToShowIndicator();
+
+    MUS_LOG( "mus: [MUSAVA]  <- CMusAvaNetworkAvailability::ConferenceCallLTerminated()" )
+	}
--- a/mmsharing/mmshavailability/src/musavanetworkmodestatus.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavanetworkmodestatus.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -54,8 +54,11 @@
     iObserver.Reset();
     iObserver.Close();
     iPhone.Close();
-    iTelServer.UnloadPhoneModule( KMmTsyModuleName );
-    iTelServer.Close();
+    if( iTelServer.Handle() )
+    	{
+        iTelServer.UnloadPhoneModule( KMmTsyModuleName );
+        iTelServer.Close();
+    	}
     }
 
     
--- a/mmsharing/mmshavailability/src/musavanetworkregistrationstatus.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavanetworkregistrationstatus.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -51,8 +51,11 @@
     iObserver.Reset();
     iObserver.Close();
     iPhone.Close();
-    iTelServer.UnloadPhoneModule( KMmTsyModuleName );
-    iTelServer.Close();
+    if( iTelServer.Handle() )
+    	{
+        iTelServer.UnloadPhoneModule( KMmTsyModuleName );
+        iTelServer.Close();
+    	}
     }
 
     
--- a/mmsharing/mmshavailability/src/musavaoptionhandler.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavaoptionhandler.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -341,6 +341,8 @@
         {
         // tell the upper layer that
         // query was succesfull. VS is available
+        //record the number
+        iSettings.SetOptionSentNumber( iSettings.TelNumber() );
         SetState( MMusAvaObserver::EMusAvaStatusAvailable );
         }
     else if ( aSentQuery.Result() == KCapabilityCapabilitiesForbidden )
--- a/mmsharing/mmshavailability/src/musavaregisteravailability.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavaregisteravailability.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -5,7 +5,7 @@
 * under the terms of "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*  Version     : %version: 42.1.4.1.3 % << Don't touch! Updated by Synergy at check-out.
+*  Version     : %version: be1sipx1#42.1.4.1.4 % << Don't touch! Updated by Synergy at check-out.
 *
 * Initial Contributors:
 * Nokia Corporation - initial contribution.
@@ -120,7 +120,11 @@
     {
     MUS_LOG( "mus: [MUSAVA]  -> CMusAvaRegisterAvailability::DoExecuteL " )
     SetState( MMusAvaObserver::EMusAvaStatusInProgress );
-    RegisterL();
+    TRAPD( err, RegisterL() );
+    if( err != KErrNone )
+       {
+   		SetState( MMusAvaObserver::EMusAvaStatusNotRegistered );
+       }
     // TBD: SetState( MMusAvaObserver::EMusAvaNameRegistration );
 
     MUS_LOG( "mus: [MUSAVA]  <- CMusAvaRegisterAvailability::DoExecuteL " )
--- a/mmsharing/mmshavailability/src/musavasettingsimp.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavasettingsimp.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -56,6 +56,9 @@
 
     delete iContactName;
     iContactName = NULL;
+    
+    delete iOptionSentTelNumber;
+    iOptionSentTelNumber = NULL ;
 
     delete iSipAddressProposal;
     iSipAddressProposal = NULL ;
@@ -102,6 +105,8 @@
     {
     MUS_LOG( "mus: [MUSAVA]	-> CMusAvaSettingsImp::ConstructL()" )
     iTelNumber = HBufC::NewL( 0 );
+    
+    iOptionSentTelNumber = HBufC::NewL( 0 );
 
     iContactName = HBufC::NewL( 0 );
 
@@ -118,7 +123,8 @@
     iAudioCodecs = new( ELeave ) CDesCArrayFlat( 1 );
 
     MUS_LOG( "mus: [MUSAVA]	<- CMusAvaSettingsImp::ConstructL()" )
-    }        
+    }  
+
 // -----------------------------------------------------------------------------
 // 
 // -----------------------------------------------------------------------------
@@ -127,6 +133,7 @@
 	{
 	return iManualActivation;	
 	}
+
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
@@ -142,6 +149,51 @@
 //
 // -----------------------------------------------------------------------------
 //
+void CMusAvaSettingsImp::SetOptionSentNumber( const TDesC& aTelNumber )
+	{
+    MUS_LOG( "mus: [MUSAVA]	-> CMusAvaSettingsImp::SetOptionSentNumber() " )
+    MUS_LOG_TDESC( "mus: [MUSAVA]	   aTelNumber = ", aTelNumber )
+    delete iOptionSentTelNumber;
+    iOptionSentTelNumber = NULL ;
+    TRAPD ( error , iOptionSentTelNumber = aTelNumber.AllocL() );
+    if ( error )
+    	{
+        MUS_LOG1("CMusAvaSettingsImp::SetOptionSentNumber() leave code: %d ", error);
+    	}
+    MUS_LOG( "mus: [MUSAVA]	<- CMusAvaSettingsImp::SetOptionSentNumber() " )
+	}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+const TDesC& CMusAvaSettingsImp::OptionSentTelNumber() const
+	{
+    MUS_LOG( "mus: [MUSAVA]	-> CMusAvaSettingsImp::OptionSentTelNumber() " )
+	return *iOptionSentTelNumber;
+	}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void CMusAvaSettingsImp::ReleaseOptionSentNumber ()
+	{
+	MUS_LOG( "mus: [MUSAVA]	-> CMusAvaSettingsImp::ReleaseOptionSentNumber() " )
+	delete iOptionSentTelNumber;
+	iOptionSentTelNumber = NULL;
+	TRAPD ( err , iOptionSentTelNumber = HBufC::NewL( 0 ) );
+    if ( err )
+    	{
+        MUS_LOG1("CMusAvaSettingsImp::ReleaseOptionSentNumber() leave code: %d ", err);
+    	}
+	MUS_LOG( "mus: [MUSAVA]	<- CMusAvaSettingsImp::ReleaseOptionSentNumber() " )
+	}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
 const TDesC& CMusAvaSettingsImp::ContactName() const
     {
     MUS_LOG( "mus: [MUSAVA]	-> CMusAvaSettingsImp::ContactName()" )
--- a/mmsharing/mmshavailability/src/musavaterminal.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavaterminal.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -189,7 +189,15 @@
 
     ResetAndDestroyQuery();
                   
-    aQuery->ExecuteL();
+    if( aQuery->ValidateUri() )
+    	{
+		aQuery->ExecuteL();
+    	}
+    
+    else
+    	{
+		User::Leave( KErrNotSupported );
+    	}
     
     iQuery = aQuery;                           
         
--- a/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/inc/musavaavailabilityobserverimp.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/inc/musavaavailabilityobserverimp.h	Thu Aug 19 09:51:39 2010 +0300
@@ -118,6 +118,9 @@
         
         
     virtual MMusAvaObserver::TAvailabilityStatus AvailabilityPluginState();
+    
+    
+    virtual void AvailabilitiesAbleToShowIndicator();
 
      
      /**
--- a/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/inc/musavaobserverimp.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/inc/musavaobserverimp.h	Thu Aug 19 09:51:39 2010 +0300
@@ -108,6 +108,8 @@
     virtual void AvailabilityError(
         MMusAvaObserver::TAvailabilityName aName,
         MMusAvaObserver::TAvailabilityStatus aStatus );
+    
+    virtual void AvailabilitiesAbleToShowIndicator();
 
 public:
 
--- a/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/src/CMusAvaAvailabilityObserverImp.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/src/CMusAvaAvailabilityObserverImp.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -113,3 +113,8 @@
            && MMusAvaObserver::EMusAvaStatusAvailable == iStatus );
     }
 
+void CMusAvaAvailabilityObserverImp::AvailabilitiesAbleToShowIndicator()
+	{
+	 //nothing to do
+	}
+
--- a/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/src/musavaobserverimp.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/tsrc/ut_availability/Stubs/src/musavaobserverimp.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -93,4 +93,8 @@
 	}	
 	
 
+ void CMusAvaObserverImp::AvailabilitiesAbleToShowIndicator()
+	{
+	  //nothing to do
+	}
 
--- a/mmsharing/mmshavailability/tsrc/ut_availability/inc/UT_CMusAvaCapabilityQuery.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/tsrc/ut_availability/inc/UT_CMusAvaCapabilityQuery.h	Thu Aug 19 09:51:39 2010 +0300
@@ -82,6 +82,8 @@
         
         void UT_CMusAvaCapabilityQuery_ExecuteLL();
         
+        void UT_CMusAvaCapabilityQuery_ValidateUriL();
+        
         void UT_CMusAvaCapabilityQuery_CanceledL();
         
         void UT_CMusAvaCapabilityQuery_CompletedLL();
--- a/mmsharing/mmshavailability/tsrc/ut_availability/inc/UT_CMusAvaSettingsImp.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/tsrc/ut_availability/inc/UT_CMusAvaSettingsImp.h	Thu Aug 19 09:51:39 2010 +0300
@@ -111,6 +111,11 @@
              
         void UT_CMusAvaSettingsImp_CopyDescArrayLL();
 
+        void UT_CMusAvaSettingsImp_SetOptionSentNumber();
+        
+        const UT_CMusAvaSettingsImp_OptionSentTelNumber();
+        
+        void UT_CMusAvaSettingsImp_ReleaseOptionSentNumber();
 
 		EUNIT_DECLARE_TEST_TABLE; 
 				
--- a/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaCapabilityQuery.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaCapabilityQuery.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -392,6 +392,62 @@
     CleanupStack::PopAndDestroy( capabQueryObserver );
     }
 
+
+void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_ValidateUriL()
+    {
+	if( iQuery->iOriginator )
+		{
+	    delete iQuery->iOriginator;
+		}
+	
+    //SIP Uri case, identical
+	CSIPAddress* iOriginatorSipAddress = CSIPAddress::DecodeL( _L8("sip:username111@domain.com") );
+    CleanupStack::PushL( iOriginatorSipAddress );
+
+	iQuery->iOriginator = CUri8::NewL( iOriginatorSipAddress->Uri8().Uri() );
+	iQuery->iRemoteUri.Copy( _L8("sip:username111@domain.com") );
+	
+	EUNIT_ASSERT( iQuery->ValidateUri() == EFalse );
+	
+    CleanupStack::PopAndDestroy(iOriginatorSipAddress);    
+	
+    delete iQuery->iOriginator;
+    
+    //SIP Uri case, not identical
+	iOriginatorSipAddress = CSIPAddress::DecodeL( _L8("sip:username111@domain.com") );	
+    CleanupStack::PushL( iOriginatorSipAddress );
+    
+	iQuery->iOriginator = CUri8::NewL( iOriginatorSipAddress->Uri8().Uri() );	
+	iQuery->iRemoteUri.Copy( _L8("sip:username222@domain.com") );
+	
+	EUNIT_ASSERT( iQuery->ValidateUri() == ETrue );
+    CleanupStack::PopAndDestroy(iOriginatorSipAddress);
+	
+    delete iQuery->iOriginator;
+    
+    //TEL Uri, identical
+	iOriginatorSipAddress = CSIPAddress::DecodeL( _L8("sip:18586037801@domain.com") );
+    CleanupStack::PushL( iOriginatorSipAddress );
+
+	iQuery->iOriginator = CUri8::NewL( iOriginatorSipAddress->Uri8().Uri() );
+	iQuery->iRemoteUri.Copy( _L8("tel:8586037801") );
+	
+	EUNIT_ASSERT( iQuery->ValidateUri() == EFalse );
+    CleanupStack::PopAndDestroy(iOriginatorSipAddress);
+
+    delete iQuery->iOriginator;
+	
+    //TEL Uri, not identical
+	iOriginatorSipAddress = CSIPAddress::DecodeL( _L8("sip:18586037801@domain.com") );
+    CleanupStack::PushL( iOriginatorSipAddress );
+
+	iQuery->iOriginator = CUri8::NewL( iOriginatorSipAddress->Uri8().Uri() );
+	iQuery->iRemoteUri.Copy( _L8("tel:9876543210") );
+	
+	EUNIT_ASSERT( iQuery->ValidateUri() == ETrue );
+    CleanupStack::PopAndDestroy(iOriginatorSipAddress);
+    }
+
 void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_CanceledL(  )
     {
     
@@ -1164,7 +1220,14 @@
     "ExecuteL",
     "FUNCTIONALITY",
     SetupL,UT_CMusAvaCapabilityQuery_ExecuteLL, Teardown)
-
+  
+EUNIT_TEST(
+    "ValidateUri - test ",
+    "CMusAvaCapabilityQuery",
+    "ValidateUri",
+    "FUNCTIONALITY",
+    SetupL,UT_CMusAvaCapabilityQuery_ValidateUriL, Teardown)    
+    
 EUNIT_TEST(
     "Canceled - test ",
     "CMusAvaCapabilityQuery",
--- a/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaNetworkAvailability.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaNetworkAvailability.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -32,6 +32,7 @@
 #include "mussesseioninformationapi.h"
 
 _LIT( KTelNumber, "12345" );
+_LIT( KAnotherTelNumber, "54321" );
 
 // CONSTRUCTION
 UT_CMusAvaNetworkAvailability* UT_CMusAvaNetworkAvailability::NewL()
@@ -176,9 +177,20 @@
                         NMusSessionInformationApi::KMUSPrivacy,
                         0 ));
     
+    iNetworkAvailability->iConfcall = ETrue;
+    iNetworkAvailability->iSettings.SetOptionSentNumber( KTelNumber );
     iNetworkAvailability->CallConnectedL( KTelNumber );
     EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), 
                          MMusAvaObserver::EMusAvaStatusAvailable );
+    
+    
+    iNetworkAvailability->iSettings.SetOptionSentNumber( KAnotherTelNumber );
+    iNetworkAvailability->CallConnectedL( KTelNumber );   
+    EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), 
+                         MMusAvaObserver::EMusAvaStatusInProgress );
+    EUNIT_ASSERT( iNetworkAvailability->iSettings.OptionSentTelNumber().Length() == 0 );
+    
+    
     EUNIT_ASSERT_EQUALS( iSettings->TelNumber(), KTelNumber );    
     }
     
--- a/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaSettingsImp.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaSettingsImp.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -197,6 +197,28 @@
     EUNIT_ASSERT( iSettingsImp->iTelNumber->Compare( KNumber ) == 0 );    
     }
 
+
+void UT_CMusAvaSettingsImp::UT_CMusAvaSettingsImp_SetOptionSentNumber()
+	{
+    _LIT( KNumber ,   "123456789" );
+    iSettingsImp->SetOptionSentNumber( KNumber );
+    EUNIT_ASSERT( iSettingsImp->iOptionSentTelNumber->Compare( KNumber ) == 0 ); 
+	}
+
+const UT_CMusAvaSettingsImp::UT_CMusAvaSettingsImp_OptionSentTelNumber()
+	{
+	EUNIT_ASSERT( iSettingsImp->OptionSentTelNumber().Length() == 0 );
+	}
+
+void UT_CMusAvaSettingsImp::UT_CMusAvaSettingsImp_ReleaseOptionSentNumber()
+	{
+    _LIT( KNumber ,   "123456789" );
+    iSettingsImp->SetOptionSentNumber( KNumber );
+    EUNIT_ASSERT( iSettingsImp->iOptionSentTelNumber->Compare( KNumber ) == 0 );    
+    iSettingsImp->ReleaseOptionSentNumber(); 
+    EUNIT_ASSERT( iSettingsImp->iOptionSentTelNumber->Length() == 0 )
+	}
+
 void UT_CMusAvaSettingsImp::UT_CMusAvaSettingsImp_SetSipAddressProposalLL( )
     {
     _LIT( KNumber ,   "123456789" );
@@ -514,6 +536,28 @@
     "Sip",
     "FUNCTIONALITY",
     SetupL, UT_CMusAvaSettingsImp_CopyDescArrayLL, Teardown)    
+    
+EUNIT_TEST(
+    "SetOptionSentNumber - test ",
+    "CMusAvaSettingsImp",
+    "SetOptionSentNumber",
+    "FUNCTIONALITY",
+    SetupL, UT_CMusAvaSettingsImp_SetOptionSentNumber, Teardown) 
+    
+EUNIT_TEST(
+    "OptionSentTelNumber - test ",
+    "CMusAvaSettingsImp",
+    "OptionSentTelNumber",
+    "FUNCTIONALITY",
+    SetupL, UT_CMusAvaSettingsImp_OptionSentTelNumber, Teardown) 
+    
+EUNIT_TEST(
+    "ReleaseOptionSentNumber - test ",
+    "CMusAvaSettingsImp",
+    "ReleaseOptionSentNumber",
+    "FUNCTIONALITY",
+    SetupL, UT_CMusAvaSettingsImp_ReleaseOptionSentNumber, Teardown) 
+    
 
 EUNIT_END_TEST_TABLE
 
--- a/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaTerminal.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaTerminal.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -40,6 +40,7 @@
 #include "musavasharedobject.h"
 #include "mussettings.h"
 
+_LIT8( KCapabilityTestOriginatorSIPAddressUri8, "sip:user@domain.com");
 
 // CONSTRUCTION
 UT_CMusAvaTerminal* UT_CMusAvaTerminal::NewL()
@@ -218,7 +219,7 @@
     if ( !iProfile->iArray )
         {
         iProfile->iArray = new ( ELeave ) CDesC8ArrayFlat( 1 );
-        iProfile->iArray->AppendL( _L8("sip:user@domain.com") );
+        iProfile->iArray->AppendL( KCapabilityTestOriginatorSIPAddressUri8 );
         }
     
     EUNIT_ASSERT( iExchange->Terminals().Count() == 0 );
@@ -257,6 +258,8 @@
     EUNIT_ASSERT( terminal.iQueries == 1 );
     EUNIT_ASSERT( terminal.iQuery == query );
     
+
+    CMusAvaCapabilityQuery* tmpQuery = query;
     query = CMusAvaCapabilityQuery::NewL( *iCapability,
                                         *iSIPConnection,
                                         *iProfile,
@@ -264,12 +267,22 @@
     CleanupStack::PushL( query );
     EUNIT_ASSERT( iExchange->Terminals().Count() == 1 );
     EUNIT_ASSERT( terminal.iQueries == 2 );
-    
+ 
+
     //Second query cannot be executed
     EUNIT_ASSERT_SPECIFIC_LEAVE( terminal.ExecuteQueryL( query ),
                                  KErrAlreadyExists )
     EUNIT_ASSERT( terminal.iQuery != query );
+
+    
+    //Uri identical case
+	terminal.iQuery = NULL;
+	query->iRemoteUri.Copy( KCapabilityTestOriginatorSIPAddressUri8 );
+	EUNIT_ASSERT_SPECIFIC_LEAVE( terminal.ExecuteQueryL( query ),
+								 KErrNotSupported )      
+        
     CleanupStack::PopAndDestroy( query );
+    delete tmpQuery;
     }
 
 
--- a/mmsharing/mmshengine/bwins/musengineu.def	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshengine/bwins/musengineu.def	Thu Aug 19 09:51:39 2010 +0300
@@ -31,44 +31,45 @@
 	?SetVolumeL@CMusEngSession@@UAEXH@Z @ 30 NONAME ; void CMusEngSession::SetVolumeL(int)
 	?DecreaseBrightnessL@CMusEngLiveSession@@QAEXXZ @ 31 NONAME ; void CMusEngLiveSession::DecreaseBrightnessL(void)
 	?CancelTranscodeL@CMusEngClipSession@@QAEXXZ @ 32 NONAME ; void CMusEngClipSession::CancelTranscodeL(void)
-	?PauseL@CMusEngClipSession@@UAEXXZ @ 33 NONAME ; void CMusEngClipSession::PauseL(void)
-	?BrightnessDefaultL@CMusEngLiveSession@@QAEXXZ @ 34 NONAME ; void CMusEngLiveSession::BrightnessDefaultL(void)
-	?FastForwardL@CMusEngClipSession@@QAEXH@Z @ 35 NONAME ; void CMusEngClipSession::FastForwardL(int)
-	?SetZoomL@CMusEngLiveSession@@QAEXH@Z @ 36 NONAME ; void CMusEngLiveSession::SetZoomL(int)
-	?SetRectL@CMusEngSession@@QAEXABVTRect@@@Z @ 37 NONAME ; void CMusEngSession::SetRectL(class TRect const &)
-	?NewL@CMusEngClipSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngClipSessionObserver@@I@Z @ 38 NONAME ; class CMusEngClipSession * CMusEngClipSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngClipSessionObserver &, unsigned int)
-	?BrightnessAutoL@CMusEngLiveSession@@QAEXXZ @ 39 NONAME ; void CMusEngLiveSession::BrightnessAutoL(void)
-	?IncreaseBrightnessL@CMusEngLiveSession@@QAEXXZ @ 40 NONAME ; void CMusEngLiveSession::IncreaseBrightnessL(void)
-	?InviteL@CMusEngMceOutSession@@QAEXABVTDesC16@@@Z @ 41 NONAME ; void CMusEngMceOutSession::InviteL(class TDesC16 const &)
-	?SetOrientationL@CMusEngMceSession@@QAEXW4TDisplayOrientation@1@@Z @ 42 NONAME ; void CMusEngMceSession::SetOrientationL(enum CMusEngMceSession::TDisplayOrientation)
-	?IsLoudSpeakerEnabled@CMusEngSession@@QBEHXZ @ 43 NONAME ; int CMusEngSession::IsLoudSpeakerEnabled(void) const
-	?ContainsAudioL@CMusEngMceSession@@QAEHXZ @ 44 NONAME ; int CMusEngMceSession::ContainsAudioL(void)
-	?NewL@CMusEngReceiveSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngReceiveSessionObserver@@@Z @ 45 NONAME ; class CMusEngReceiveSession * CMusEngReceiveSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngReceiveSessionObserver &)
-	?VolumeUpL@CMusEngMceSession@@UAEXXZ @ 46 NONAME ; void CMusEngMceSession::VolumeUpL(void)
-	?IsPlayingL@CMusEngClipSession@@UAEHXZ @ 47 NONAME ; int CMusEngClipSession::IsPlayingL(void)
-	?PlayL@CMusEngClipSession@@UAEXXZ @ 48 NONAME ; void CMusEngClipSession::PlayL(void)
-	?ZoomInL@CMusEngLiveSession@@QAEXXZ @ 49 NONAME ; void CMusEngLiveSession::ZoomInL(void)
-	?PauseL@CMusEngLiveSession@@UAEXXZ @ 50 NONAME ; void CMusEngLiveSession::PauseL(void)
-	?GetSessionTime@CMusEngMceSession@@QBE?AVTTimeIntervalSeconds@@XZ @ 51 NONAME ; class TTimeIntervalSeconds CMusEngMceSession::GetSessionTime(void) const
-	?SetVolumeL@CMusEngMceSession@@UAEXH@Z @ 52 NONAME ; void CMusEngMceSession::SetVolumeL(int)
-	?Rect@CMusEngSession@@QBE?AVTRect@@XZ @ 53 NONAME ; class TRect CMusEngSession::Rect(void) const
-	?IsDisplayEnabledL@CMusEngMceSession@@QAEHXZ @ 54 NONAME ; int CMusEngMceSession::IsDisplayEnabledL(void)
-	?SetBrightnessL@CMusEngLiveSession@@QBEXH@Z @ 55 NONAME ; void CMusEngLiveSession::SetBrightnessL(int) const
-	?TranscodeL@CMusEngClipSession@@QAEXABV?$TBuf@$0BAA@@@@Z @ 56 NONAME ; void CMusEngClipSession::TranscodeL(class TBuf<256> const &)
-	?MaxZoomL@CMusEngLiveSession@@QBEHXZ @ 57 NONAME ; int CMusEngLiveSession::MaxZoomL(void) const
-	?VolumeDownL@CMusEngMceSession@@UAEXXZ @ 58 NONAME ; void CMusEngMceSession::VolumeDownL(void)
-	?ZoomOutL@CMusEngLiveSession@@QAEXXZ @ 59 NONAME ; void CMusEngLiveSession::ZoomOutL(void)
-	?ConnectionActive@CMusEngMceSession@@QBEHXZ @ 60 NONAME ; int CMusEngMceSession::ConnectionActive(void) const
-	?PositionL@CMusEngClipSession@@QAE?AVTTimeIntervalSeconds@@XZ @ 61 NONAME ; class TTimeIntervalSeconds CMusEngClipSession::PositionL(void)
-	?AudioRoutingCanBeChanged@CMusEngSession@@QBEHXZ @ 62 NONAME ; int CMusEngSession::AudioRoutingCanBeChanged(void) const
-	?AudioOutputIsBT@CMusEngSession@@QBEHXZ @ 63 NONAME ; int CMusEngSession::AudioOutputIsBT(void) const
-	?MuteMicL@CMusEngSession@@QAEXH@Z @ 64 NONAME ; void CMusEngSession::MuteMicL(int)
-	?NewL@CMusEngLiveSession@@SAPAV1@ABVTDesC16@@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngLiveSessionObserver@@I@Z @ 65 NONAME ; class CMusEngLiveSession * CMusEngLiveSession::NewL(class TDesC16 const &, class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngLiveSessionObserver &, unsigned int)
-	?EnableDisplayL@CMusEngMceSession@@UAEXH@Z @ 66 NONAME ; void CMusEngMceSession::EnableDisplayL(int)
-	?CurrentBrightnessL@CMusEngLiveSession@@QBEHXZ @ 67 NONAME ; int CMusEngLiveSession::CurrentBrightnessL(void) const
-	?RecordL@CMusEngLiveSession@@QAEXH@Z @ 68 NONAME ; void CMusEngLiveSession::RecordL(int)
-	?IsPlayingL@CMusEngLiveSession@@UAEHXZ @ 69 NONAME ; int CMusEngLiveSession::IsPlayingL(void)
-	?TerminateL@CMusEngMceSession@@QAEXXZ @ 70 NONAME ; void CMusEngMceSession::TerminateL(void)
-	?PlayL@CMusEngLiveSession@@UAEXXZ @ 71 NONAME ; void CMusEngLiveSession::PlayL(void)
-	?SetPositionL@CMusEngClipSession@@QAEXABVTTimeIntervalSeconds@@@Z @ 72 NONAME ; void CMusEngClipSession::SetPositionL(class TTimeIntervalSeconds const &)
+	?IsAudioRoutingHeadset@CMusEngSession@@QBEHXZ @ 33 NONAME ; int CMusEngSession::IsAudioRoutingHeadset(void) const
+	?PauseL@CMusEngClipSession@@UAEXXZ @ 34 NONAME ; void CMusEngClipSession::PauseL(void)
+	?BrightnessDefaultL@CMusEngLiveSession@@QAEXXZ @ 35 NONAME ; void CMusEngLiveSession::BrightnessDefaultL(void)
+	?FastForwardL@CMusEngClipSession@@QAEXH@Z @ 36 NONAME ; void CMusEngClipSession::FastForwardL(int)
+	?SetZoomL@CMusEngLiveSession@@QAEXH@Z @ 37 NONAME ; void CMusEngLiveSession::SetZoomL(int)
+	?SetRectL@CMusEngSession@@QAEXABVTRect@@@Z @ 38 NONAME ; void CMusEngSession::SetRectL(class TRect const &)
+	?NewL@CMusEngClipSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngClipSessionObserver@@I@Z @ 39 NONAME ; class CMusEngClipSession * CMusEngClipSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngClipSessionObserver &, unsigned int)
+	?BrightnessAutoL@CMusEngLiveSession@@QAEXXZ @ 40 NONAME ; void CMusEngLiveSession::BrightnessAutoL(void)
+	?IncreaseBrightnessL@CMusEngLiveSession@@QAEXXZ @ 41 NONAME ; void CMusEngLiveSession::IncreaseBrightnessL(void)
+	?InviteL@CMusEngMceOutSession@@QAEXABVTDesC16@@@Z @ 42 NONAME ; void CMusEngMceOutSession::InviteL(class TDesC16 const &)
+	?SetOrientationL@CMusEngMceSession@@QAEXW4TDisplayOrientation@1@@Z @ 43 NONAME ; void CMusEngMceSession::SetOrientationL(enum CMusEngMceSession::TDisplayOrientation)
+	?IsLoudSpeakerEnabled@CMusEngSession@@QBEHXZ @ 44 NONAME ; int CMusEngSession::IsLoudSpeakerEnabled(void) const
+	?ContainsAudioL@CMusEngMceSession@@QAEHXZ @ 45 NONAME ; int CMusEngMceSession::ContainsAudioL(void)
+	?NewL@CMusEngReceiveSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngReceiveSessionObserver@@@Z @ 46 NONAME ; class CMusEngReceiveSession * CMusEngReceiveSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngReceiveSessionObserver &)
+	?VolumeUpL@CMusEngMceSession@@UAEXXZ @ 47 NONAME ; void CMusEngMceSession::VolumeUpL(void)
+	?IsPlayingL@CMusEngClipSession@@UAEHXZ @ 48 NONAME ; int CMusEngClipSession::IsPlayingL(void)
+	?PlayL@CMusEngClipSession@@UAEXXZ @ 49 NONAME ; void CMusEngClipSession::PlayL(void)
+	?ZoomInL@CMusEngLiveSession@@QAEXXZ @ 50 NONAME ; void CMusEngLiveSession::ZoomInL(void)
+	?PauseL@CMusEngLiveSession@@UAEXXZ @ 51 NONAME ; void CMusEngLiveSession::PauseL(void)
+	?GetSessionTime@CMusEngMceSession@@QBE?AVTTimeIntervalSeconds@@XZ @ 52 NONAME ; class TTimeIntervalSeconds CMusEngMceSession::GetSessionTime(void) const
+	?SetVolumeL@CMusEngMceSession@@UAEXH@Z @ 53 NONAME ; void CMusEngMceSession::SetVolumeL(int)
+	?Rect@CMusEngSession@@QBE?AVTRect@@XZ @ 54 NONAME ; class TRect CMusEngSession::Rect(void) const
+	?IsDisplayEnabledL@CMusEngMceSession@@QAEHXZ @ 55 NONAME ; int CMusEngMceSession::IsDisplayEnabledL(void)
+	?IsAudioRoutingLoudSpeaker@CMusEngSession@@QBEHXZ @ 56 NONAME ; int CMusEngSession::IsAudioRoutingLoudSpeaker(void) const
+	?SetBrightnessL@CMusEngLiveSession@@QBEXH@Z @ 57 NONAME ; void CMusEngLiveSession::SetBrightnessL(int) const
+	?TranscodeL@CMusEngClipSession@@QAEXABV?$TBuf@$0BAA@@@@Z @ 58 NONAME ; void CMusEngClipSession::TranscodeL(class TBuf<256> const &)
+	?MaxZoomL@CMusEngLiveSession@@QBEHXZ @ 59 NONAME ; int CMusEngLiveSession::MaxZoomL(void) const
+	?VolumeDownL@CMusEngMceSession@@UAEXXZ @ 60 NONAME ; void CMusEngMceSession::VolumeDownL(void)
+	?ZoomOutL@CMusEngLiveSession@@QAEXXZ @ 61 NONAME ; void CMusEngLiveSession::ZoomOutL(void)
+	?ConnectionActive@CMusEngMceSession@@QBEHXZ @ 62 NONAME ; int CMusEngMceSession::ConnectionActive(void) const
+	?PositionL@CMusEngClipSession@@QAE?AVTTimeIntervalSeconds@@XZ @ 63 NONAME ; class TTimeIntervalSeconds CMusEngClipSession::PositionL(void)
+	?AudioRoutingCanBeChanged@CMusEngSession@@QBEHXZ @ 64 NONAME ; int CMusEngSession::AudioRoutingCanBeChanged(void) const
+	?MuteMicL@CMusEngSession@@QAEXH@Z @ 65 NONAME ; void CMusEngSession::MuteMicL(int)
+	?NewL@CMusEngLiveSession@@SAPAV1@ABVTDesC16@@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngLiveSessionObserver@@I@Z @ 66 NONAME ; class CMusEngLiveSession * CMusEngLiveSession::NewL(class TDesC16 const &, class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngLiveSessionObserver &, unsigned int)
+	?EnableDisplayL@CMusEngMceSession@@UAEXH@Z @ 67 NONAME ; void CMusEngMceSession::EnableDisplayL(int)
+	?CurrentBrightnessL@CMusEngLiveSession@@QBEHXZ @ 68 NONAME ; int CMusEngLiveSession::CurrentBrightnessL(void) const
+	?RecordL@CMusEngLiveSession@@QAEXH@Z @ 69 NONAME ; void CMusEngLiveSession::RecordL(int)
+	?IsPlayingL@CMusEngLiveSession@@UAEHXZ @ 70 NONAME ; int CMusEngLiveSession::IsPlayingL(void)
+	?TerminateL@CMusEngMceSession@@QAEXXZ @ 71 NONAME ; void CMusEngMceSession::TerminateL(void)
+	?PlayL@CMusEngLiveSession@@UAEXXZ @ 72 NONAME ; void CMusEngLiveSession::PlayL(void)
+	?SetPositionL@CMusEngClipSession@@QAEXABVTTimeIntervalSeconds@@@Z @ 73 NONAME ; void CMusEngClipSession::SetPositionL(class TTimeIntervalSeconds const &)
 
--- a/mmsharing/mmshengine/eabi/musengineu.def	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshengine/eabi/musengineu.def	Thu Aug 19 09:51:39 2010 +0300
@@ -58,8 +58,8 @@
 	_ZN20CMusEngMceOutSession7InviteLERK7TDesC16 @ 57 NONAME
 	_ZN21CMusEngReceiveSession17AcceptInvitationLERKi @ 58 NONAME
 	_ZN21CMusEngReceiveSession4NewLERK5TRectR22MMusEngSessionObserverR29MMusEngReceiveSessionObserver @ 59 NONAME
-	_ZNK14CMusEngSession15AudioOutputIsBTEv @ 60 NONAME
-	_ZNK14CMusEngSession20IsLoudSpeakerEnabledEv @ 61 NONAME
+	_ZNK14CMusEngSession20IsLoudSpeakerEnabledEv @ 60 NONAME
+	_ZNK14CMusEngSession21IsAudioRoutingHeadsetEv @ 61 NONAME
 	_ZNK14CMusEngSession24AudioRoutingCanBeChangedEv @ 62 NONAME
 	_ZNK14CMusEngSession4RectEv @ 63 NONAME
 	_ZNK14CMusEngSession7VolumeLEv @ 64 NONAME
@@ -90,4 +90,5 @@
 	_ZTV21CMusEngTelephoneUtils @ 89 NONAME
 	_ZTV21CMusSipProfileHandler @ 90 NONAME
 	_ZTV27CMusEngSessionDurationTimer @ 91 NONAME
+	_ZNK14CMusEngSession25IsAudioRoutingLoudSpeakerEv @ 92 NONAME
 
--- a/mmsharing/mmshengine/inc/musengsession.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshengine/inc/musengsession.h	Thu Aug 19 09:51:39 2010 +0300
@@ -83,13 +83,20 @@
         IMPORT_C TBool AudioRoutingCanBeChanged() const;
         
         /**
-		* Checks if audio output is BT
+		* Checks if audio routing is headset
 		* 
-		* @return ETrue if audio routing is BT
+		* @return ETrue if audio routing is headset
 		*/
-        IMPORT_C TBool AudioOutputIsBT() const;
+        IMPORT_C TBool IsAudioRoutingHeadset() const;
 		
         /**
+		* Checks if audio routing is LoudSpeaker
+		* 
+		* @return ETrue if audio routing is LoudSpeaker and 
+		* currentMode != iAudioOutputAtStartup
+		*/
+        IMPORT_C TBool IsAudioRoutingLoudSpeaker() const;
+        /**
         * Activates/deactivates loadspeaker
         *
         * @param TBool Enable or disable loudspeaker
--- a/mmsharing/mmshengine/inc/musengtelephoneutils.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshengine/inc/musengtelephoneutils.h	Thu Aug 19 09:51:39 2010 +0300
@@ -70,11 +70,19 @@
         TBool AudioRoutingCanBeChanged() const;
         
         /**
-		* Checks if audio output is BT
+		* Checks if audio routing is headset
 		* 
-		* @return ETrue if audio routing is BT
+		* @return ETrue if audio routing is headset
 		*/
-        TBool AudioOutputIsBT() const;
+        TBool IsAudioRoutingHeadset() const;
+        
+        /**
+		* Checks if audio routing is LoudSpeaker
+		* 
+		* @return ETrue if audio routing is LoudSpeaker and 
+		* currentMode != iAudioOutputAtStartup
+		*/
+        TBool IsAudioRoutingLoudSpeaker() const;
         
 		/**
    		* Changes the audio routing between loudspeaker and handset.
--- a/mmsharing/mmshengine/src/musengsession.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshengine/src/musengsession.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -75,11 +75,19 @@
 //
 // -----------------------------------------------------------------------------
 //
-EXPORT_C TBool CMusEngSession::AudioOutputIsBT() const
+EXPORT_C TBool CMusEngSession::IsAudioRoutingHeadset() const
     {
-    return iTelephoneUtils->AudioOutputIsBT();
+    return iTelephoneUtils->IsAudioRoutingHeadset();
     }
 
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TBool CMusEngSession::IsAudioRoutingLoudSpeaker() const
+    {
+    return iTelephoneUtils->IsAudioRoutingLoudSpeaker();
+    }
 
 // -----------------------------------------------------------------------------
 //
--- a/mmsharing/mmshengine/src/musengtelephoneutils.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshengine/src/musengtelephoneutils.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -97,8 +97,7 @@
     {
     MUS_LOG( "mus: [ENGINE]  -> CMusEngTelephoneUtils::AudioRoutingCanBeChanged" )
     
-    TBool retValue = ( iTelephonyAudioRouting->Output() !=
-                       CTelephonyAudioRouting::EWiredAudioAccessory &&
+    TBool retValue = ( 
                        iTelephonyAudioRouting->Output() !=
                        CTelephonyAudioRouting::ETTY );
     
@@ -113,19 +112,48 @@
 //
 // -----------------------------------------------------------------------------
 //
-TBool CMusEngTelephoneUtils::AudioOutputIsBT() const
+TBool CMusEngTelephoneUtils::IsAudioRoutingHeadset() const
     {
-    MUS_LOG( "mus: [ENGINE]  -> CMusEngTelephoneUtils::AudioOutputIsBT" )
+    MUS_LOG( "mus: [ENGINE]  -> CMusEngTelephoneUtils::IsAudioRoutingHeadset" )
 	    
     TBool retValue = ( iTelephonyAudioRouting->Output() ==
-                       CTelephonyAudioRouting::EBTAudioAccessory );
+                       CTelephonyAudioRouting::EBTAudioAccessory ||
+                       iTelephonyAudioRouting->Output() ==
+                       CTelephonyAudioRouting::EWiredAudioAccessory );
 	    
-    MUS_LOG1( "mus: [ENGINE]  <- CMusEngTelephoneUtils::AudioOutputIsBT: %d",
+    MUS_LOG1( "mus: [ENGINE]  <- CMusEngTelephoneUtils::IsAudioRoutingHeadset: %d",
                retValue )
 	              
     return retValue;
     }
 
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+TBool CMusEngTelephoneUtils::IsAudioRoutingLoudSpeaker() const
+    {
+    MUS_LOG( "mus: [ENGINE]  -> CMusEngTelephoneUtils::IsAudioRoutingLoudSpeaker" )
+    TBool retValue = EFalse;
+    
+    CTelephonyAudioRouting::TAudioOutput currentMode =
+                                            iTelephonyAudioRouting->Output();
+    MUS_LOG1( "mus: [ENGINE] iAudioOutputAtStartup: %d", iAudioOutputAtStartup );
+    MUS_LOG1( "mus: [ENGINE] currentMode: %d", currentMode );
+    
+    if( currentMode != iAudioOutputAtStartup && 
+        currentMode == CTelephonyAudioRouting::ELoudspeaker )
+    	{
+    
+         retValue = ETrue;
+    
+    	}
+    	
+    MUS_LOG1( "mus: [ENGINE]  <- CMusEngTelephoneUtils::IsAudioRoutingLoudSpeaker: %d",
+               retValue )
+	              
+    return retValue;
+    }
 
 // -----------------------------------------------------------------------------
 //
@@ -141,7 +169,9 @@
         if ( iTelephonyAudioRouting->Output() == 
              CTelephonyAudioRouting::EHandset || 
              iTelephonyAudioRouting->Output() == 
-             CTelephonyAudioRouting::EBTAudioAccessory )  
+             CTelephonyAudioRouting::EBTAudioAccessory|| 
+             iTelephonyAudioRouting->Output() == 
+             CTelephonyAudioRouting::EWiredAudioAccessory )  
             {
             // Disable note shown by audiorouting api as it causes
             // application going to background for a while. Instead, display
--- a/mmsharing/mmshengine/tsrc/ut_engine/BWINS/ut_musengineU.DEF	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshengine/tsrc/ut_engine/BWINS/ut_musengineU.DEF	Thu Aug 19 09:51:39 2010 +0300
@@ -1,15 +1,15 @@
 EXPORTS
-	??1CRepository@@UAE@XZ @ 1 NONAME ; CRepository::~CRepository(void)
-	?StartTransaction@CRepository@@QAEHW4TTransactionMode@1@@Z @ 2 NONAME ; int CRepository::StartTransaction(enum CRepository::TTransactionMode)
-	?SetAudioRoutingObserver@CMusEngSession@@QAEXPAVMMusEngAudioRoutingObserver@@@Z @ 3 NONAME ; void CMusEngSession::SetAudioRoutingObserver(class MMusEngAudioRoutingObserver *)
-	?DigitalZoomFactorL@CMceCameraSource@@QAEHXZ @ 4 NONAME ; int CMceCameraSource::DigitalZoomFactorL(void)
-	?NewL@CCenRepNotifyHandler@@SAPAV1@AAVMCenRepNotifyHandlerCallback@@AAVCRepository@@@Z @ 5 NONAME ; class CCenRepNotifyHandler * CCenRepNotifyHandler::NewL(class MCenRepNotifyHandlerCallback &, class CRepository &)
-	?SetClipL@CMusEngClipSession@@QAEXABVTDesC16@@@Z @ 6 NONAME ; void CMusEngClipSession::SetClipL(class TDesC16 const &)
-	?GetCameraInfo@CMceCameraSource@@QBEXAAVTCameraInfo@@@Z @ 7 NONAME ; void CMceCameraSource::GetCameraInfo(class TCameraInfo &) const
-	?NewLC@CRepository@@SAPAV1@VTUid@@@Z @ 8 NONAME ; class CRepository * CRepository::NewLC(class TUid)
-	?IsMicMutedL@CMusEngSession@@QAEHXZ @ 9 NONAME ; int CMusEngSession::IsMicMutedL(void)
-	?FastRewindL@CMusEngClipSession@@QAEXH@Z @ 10 NONAME ; void CMusEngClipSession::FastRewindL(int)
-	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 11 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
+	??1CRepository@@UAE@XZ @ 2 NONAME ; CRepository::~CRepository(void)
+	?StartTransaction@CRepository@@QAEHW4TTransactionMode@1@@Z @ 3 NONAME ; int CRepository::StartTransaction(enum CRepository::TTransactionMode)
+	?SetAudioRoutingObserver@CMusEngSession@@QAEXPAVMMusEngAudioRoutingObserver@@@Z @ 4 NONAME ; void CMusEngSession::SetAudioRoutingObserver(class MMusEngAudioRoutingObserver *)
+	?DigitalZoomFactorL@CMceCameraSource@@QAEHXZ @ 5 NONAME ; int CMceCameraSource::DigitalZoomFactorL(void)
+	?NewL@CCenRepNotifyHandler@@SAPAV1@AAVMCenRepNotifyHandlerCallback@@AAVCRepository@@@Z @ 6 NONAME ; class CCenRepNotifyHandler * CCenRepNotifyHandler::NewL(class MCenRepNotifyHandlerCallback &, class CRepository &)
+	?SetClipL@CMusEngClipSession@@QAEXABVTDesC16@@@Z @ 7 NONAME ; void CMusEngClipSession::SetClipL(class TDesC16 const &)
+	?GetCameraInfo@CMceCameraSource@@QBEXAAVTCameraInfo@@@Z @ 8 NONAME ; void CMceCameraSource::GetCameraInfo(class TCameraInfo &) const
+	?NewLC@CRepository@@SAPAV1@VTUid@@@Z @ 9 NONAME ; class CRepository * CRepository::NewLC(class TUid)
+	?IsMicMutedL@CMusEngSession@@QAEHXZ @ 10 NONAME ; int CMusEngSession::IsMicMutedL(void)
+	?FastRewindL@CMusEngClipSession@@QAEXH@Z @ 11 NONAME ; void CMusEngClipSession::FastRewindL(int)
 	?Create@CRepository@@QAEHKH@Z @ 12 NONAME ; int CRepository::Create(unsigned long, int)
 	?UriType@TMusEngUriParser@@QAE?AW4TMusEngUriType@1@XZ @ 13 NONAME ; enum TMusEngUriParser::TMusEngUriType TMusEngUriParser::UriType(void)
 	?ProfilesL@CSIPProfileRegistryBase@@QAEXABVTSIPProfileTypeInfo@@AAV?$RPointerArray@VCSIPProfile@@@@@Z @ 14 NONAME ; void CSIPProfileRegistryBase::ProfilesL(class TSIPProfileTypeInfo const &, class RPointerArray<class CSIPProfile> &)
@@ -32,130 +32,131 @@
 	?DisableL@CMceCameraSource@@UAEXXZ @ 31 NONAME ; void CMceCameraSource::DisableL(void)
 	?IsProtectedFile@DRMCommon@@QAEHABVTDesC16@@AAH@Z @ 32 NONAME ; int DRMCommon::IsProtectedFile(class TDesC16 const &, int &)
 	?CancelTranscodeL@CMusEngClipSession@@QAEXXZ @ 33 NONAME ; void CMusEngClipSession::CancelTranscodeL(void)
-	?Disable@CSIPProfileRegistry@@QAEHAAVCSIPProfile@@@Z @ 34 NONAME ; int CSIPProfileRegistry::Disable(class CSIPProfile &)
-	?BrightnessDefaultL@CMusEngLiveSession@@QAEXXZ @ 35 NONAME ; void CMusEngLiveSession::BrightnessDefaultL(void)
-	?Delete@CRepository@@QAEHKKAAK@Z @ 36 NONAME ; int CRepository::Delete(unsigned long, unsigned long, unsigned long &)
-	?CommitTransaction@CRepository@@QAEHAAK@Z @ 37 NONAME ; int CRepository::CommitTransaction(unsigned long &)
-	?SetExposureL@CMceCameraSource@@QAEXW4TExposure@CCamera@@@Z @ 38 NONAME ; void CMceCameraSource::SetExposureL(enum CCamera::TExposure)
-	?FastForwardL@CMusEngClipSession@@QAEXH@Z @ 39 NONAME ; void CMusEngClipSession::FastForwardL(int)
-	?SetZoomL@CMusEngLiveSession@@QAEXH@Z @ 40 NONAME ; void CMusEngLiveSession::SetZoomL(int)
-	?Set@CRepository@@QAEHKABVTDesC8@@@Z @ 41 NONAME ; int CRepository::Set(unsigned long, class TDesC8 const &)
-	?NewL@CMusEngClipSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngClipSessionObserver@@I@Z @ 42 NONAME ; class CMusEngClipSession * CMusEngClipSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngClipSessionObserver &, unsigned int)
-	?InviteL@CMusEngMceOutSession@@QAEXABVTDesC16@@@Z @ 43 NONAME ; void CMusEngMceOutSession::InviteL(class TDesC16 const &)
-	?GetParameter@CSIPProfile@@QBEHKAAPBVTDesC8@@@Z @ 44 NONAME ; int CSIPProfile::GetParameter(unsigned long, class TDesC8 const * &) const
-	?IsLoudSpeakerEnabled@CMusEngSession@@QBEHXZ @ 45 NONAME ; int CMusEngSession::IsLoudSpeakerEnabled(void) const
-	?StartListeningL@CCenRepNotifyHandler@@QAEXXZ @ 46 NONAME ; void CCenRepNotifyHandler::StartListeningL(void)
-	?NewL@CSIPProfileRegistry@@SAPAV1@AAVCSIP@@AAVMSIPProfileRegistryObserver@@@Z @ 47 NONAME ; class CSIPProfileRegistry * CSIPProfileRegistry::NewL(class CSIP &, class MSIPProfileRegistryObserver &)
-	?NewL@CMusEngReceiveSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngReceiveSessionObserver@@@Z @ 48 NONAME ; class CMusEngReceiveSession * CMusEngReceiveSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngReceiveSessionObserver &)
-	?ContainsAudioL@CMusEngMceSession@@QAEHXZ @ 49 NONAME ; int CMusEngMceSession::ContainsAudioL(void)
-	?VolumeUpL@CMusEngMceSession@@UAEXXZ @ 50 NONAME ; void CMusEngMceSession::VolumeUpL(void)
-	?IsPlayingL@CMusEngClipSession@@UAEHXZ @ 51 NONAME ; int CMusEngClipSession::IsPlayingL(void)
-	?Get@CRepository@@QAEHKAAH@Z @ 52 NONAME ; int CRepository::Get(unsigned long, int &)
-	?SupportedSecurityMechanismsL@CSIP@@QBEPAVCDesC8Array@@XZ @ 53 NONAME ; class CDesC8Array * CSIP::SupportedSecurityMechanismsL(void) const
-	?PlayL@CMusEngClipSession@@UAEXXZ @ 54 NONAME ; void CMusEngClipSession::PlayL(void)
-	?PauseL@CMusEngLiveSession@@UAEXXZ @ 55 NONAME ; void CMusEngLiveSession::PauseL(void)
-	?GetSessionTime@CMusEngMceSession@@QBE?AVTTimeIntervalSeconds@@XZ @ 56 NONAME ; class TTimeIntervalSeconds CMusEngMceSession::GetSessionTime(void) const
-	?Rect@CMusEngSession@@QBE?AVTRect@@XZ @ 57 NONAME ; class TRect CMusEngSession::Rect(void) const
-	?Disconnect@DRMCommon@@QAEHXZ @ 58 NONAME ; int DRMCommon::Disconnect(void)
-	?FindL@CRepository@@QAEHKKAAV?$RArray@K@@@Z @ 59 NONAME ; int CRepository::FindL(unsigned long, unsigned long, class RArray<unsigned long> &)
-	?SetBrightnessL@CMusEngLiveSession@@QBEXH@Z @ 60 NONAME ; void CMusEngLiveSession::SetBrightnessL(int) const
-	?NewLC@CMceCameraSource@@SAPAV1@AAVCMceManager@@@Z @ 61 NONAME ; class CMceCameraSource * CMceCameraSource::NewLC(class CMceManager &)
-	?ProfilesL@CSIPProfileRegistryBase@@QAEXAAV?$RPointerArray@VCSIPProfile@@@@@Z @ 62 NONAME ; void CSIPProfileRegistryBase::ProfilesL(class RPointerArray<class CSIPProfile> &)
-	?ZoomOutL@CMusEngLiveSession@@QAEXXZ @ 63 NONAME ; void CMusEngLiveSession::ZoomOutL(void)
-	?ConnectionActive@CMusEngMceSession@@QBEHXZ @ 64 NONAME ; int CMusEngMceSession::ConnectionActive(void) const
-	?AudioRoutingCanBeChanged@CMusEngSession@@QBEHXZ @ 65 NONAME ; int CMusEngSession::AudioRoutingCanBeChanged(void) const
-	?AudioOutputIsBT@CMusEngSession@@QBEHXZ @ 66 NONAME ; int CMusEngSession::AudioOutputIsBT(void) const
-	?GetParameter@CSIPProfile@@QBEHKAAH@Z @ 67 NONAME ; int CSIPProfile::GetParameter(unsigned long, int &) const
-	?SetWhiteBalanceL@CMceCameraSource@@QAEXW4TWhiteBalance@CCamera@@@Z @ 68 NONAME ; void CMceCameraSource::SetWhiteBalanceL(enum CCamera::TWhiteBalance)
-	?RecordL@CMusEngLiveSession@@QAEXH@Z @ 69 NONAME ; void CMusEngLiveSession::RecordL(int)
-	??1CCenRepNotifyHandler@@UAE@XZ @ 70 NONAME ; CCenRepNotifyHandler::~CCenRepNotifyHandler(void)
-	?FindEqL@CRepository@@QAEHKKABVTDesC8@@AAV?$RArray@K@@@Z @ 71 NONAME ; int CRepository::FindEqL(unsigned long, unsigned long, class TDesC8 const &, class RArray<unsigned long> &)
-	?ZoomFactorL@CMceCameraSource@@QAEHXZ @ 72 NONAME ; int CMceCameraSource::ZoomFactorL(void)
-	?TerminateL@CMusEngMceSession@@QAEXXZ @ 73 NONAME ; void CMusEngMceSession::TerminateL(void)
-	?SetZoomFactorL@CMceCameraSource@@QAEXH@Z @ 74 NONAME ; void CMceCameraSource::SetZoomFactorL(int)
-	?SIP@CSIPProfileRegistry@@QBEAAVCSIP@@XZ @ 75 NONAME ; class CSIP & CSIPProfileRegistry::SIP(void) const
-	??1CMceMediaSource@@UAE@XZ @ 76 NONAME ; CMceMediaSource::~CMceMediaSource(void)
-	?ParseUriL@TMusEngUriParser@@QAEXXZ @ 77 NONAME ; void TMusEngUriParser::ParseUriL(void)
-	?ProfileL@CSIPProfileRegistryBase@@QAEPAVCSIPProfile@@K@Z @ 78 NONAME ; class CSIPProfile * CSIPProfileRegistryBase::ProfileL(unsigned long)
-	?EnableLoudspeakerL@CMusEngSession@@QAEXHH@Z @ 79 NONAME ; void CMusEngSession::EnableLoudspeakerL(int, int)
-	?CancelInviteL@CMusEngMceOutSession@@QAEXXZ @ 80 NONAME ; void CMusEngMceOutSession::CancelInviteL(void)
-	?VolumeL@CMusEngSession@@QBEHXZ @ 81 NONAME ; int CMusEngSession::VolumeL(void) const
-	?StopListening@CCenRepNotifyHandler@@QAEXXZ @ 82 NONAME ; void CCenRepNotifyHandler::StopListening(void)
-	??1CSIPProfileRegistryBase@@UAE@XZ @ 83 NONAME ; CSIPProfileRegistryBase::~CSIPProfileRegistryBase(void)
-	?ZoomDefaultL@CMusEngLiveSession@@QAEXXZ @ 84 NONAME ; void CMusEngLiveSession::ZoomDefaultL(void)
-	?GetUri16L@TMusEngUriParser@@QAEPAVHBufC16@@H@Z @ 85 NONAME ; class HBufC16 * TMusEngUriParser::GetUri16L(int)
-	?NewL@CSIP@@SAPAV1@ABVTUid@@AAVMSIPObserver@@@Z @ 86 NONAME ; class CSIP * CSIP::NewL(class TUid const &, class MSIPObserver &)
-	??1CMceCameraSource@@UAE@XZ @ 87 NONAME ; CMceCameraSource::~CMceCameraSource(void)
-	?EnableL@CMceCameraSource@@UAEXXZ @ 88 NONAME ; void CMceCameraSource::EnableL(void)
-	?VolumeUpL@CMusEngSession@@UAEXXZ @ 89 NONAME ; void CMusEngSession::VolumeUpL(void)
-	?GetParameter@CSIPProfile@@QBEHKAAPBVMDesC8Array@@@Z @ 90 NONAME ; int CSIPProfile::GetParameter(unsigned long, class MDesC8Array const * &) const
-	?NewL@CRepository@@SAPAV1@VTUid@@@Z @ 91 NONAME ; class CRepository * CRepository::NewL(class TUid)
-	?SetVolumeChangeObserver@CMusEngSession@@QAEXPAVMMusEngVolumeChangeObserver@@@Z @ 92 NONAME ; void CMusEngSession::SetVolumeChangeObserver(class MMusEngVolumeChangeObserver *)
-	?GetParameter@CSIPProfile@@QBEHKAAK@Z @ 93 NONAME ; int CSIPProfile::GetParameter(unsigned long, unsigned long &) const
-	?IsMutedL@CMusEngMceSession@@QAEHXZ @ 94 NONAME ; int CMusEngMceSession::IsMutedL(void)
-	??1CSIP@@UAE@XZ @ 95 NONAME ; CSIP::~CSIP(void)
-	?Set@CRepository@@QAEHKH@Z @ 96 NONAME ; int CRepository::Set(unsigned long, int)
-	?AcceptInvitationL@CMusEngReceiveSession@@QAEXABH@Z @ 97 NONAME ; void CMusEngReceiveSession::AcceptInvitationL(int const &)
-	?CurrentZoomL@CMusEngLiveSession@@QBEHXZ @ 98 NONAME ; int CMusEngLiveSession::CurrentZoomL(void) const
-	?DisallowMigrationL@CSipProfileAlrController@@QAEXKK@Z @ 99 NONAME ; void CSipProfileAlrController::DisallowMigrationL(unsigned long, unsigned long)
-	?MinBrightnessL@CMusEngLiveSession@@QBEHXZ @ 100 NONAME ; int CMusEngLiveSession::MinBrightnessL(void) const
-	??1CSIPProfile@@UAE@XZ @ 101 NONAME ; CSIPProfile::~CSIPProfile(void)
-	?NewL@CMusEngLiveSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngLiveSessionObserver@@I@Z @ 102 NONAME ; class CMusEngLiveSession * CMusEngLiveSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngLiveSessionObserver &, unsigned int)
-	?UnmuteL@CMusEngMceSession@@UAEXXZ @ 103 NONAME ; void CMusEngMceSession::UnmuteL(void)
-	?Connect@DRMCommon@@QAEHXZ @ 104 NONAME ; int DRMCommon::Connect(void)
-	?NewL@CMceCameraSource@@SAPAV1@AAVCMceManager@@@Z @ 105 NONAME ; class CMceCameraSource * CMceCameraSource::NewL(class CMceManager &)
-	?MinZoomL@CMusEngLiveSession@@QBEHXZ @ 106 NONAME ; int CMusEngLiveSession::MinZoomL(void) const
-	?Set@CRepository@@QAEHKABVTDesC16@@@Z @ 107 NONAME ; int CRepository::Set(unsigned long, class TDesC16 const &)
-	?VolumeDownL@CMusEngSession@@UAEXXZ @ 108 NONAME ; void CMusEngSession::VolumeDownL(void)
-	?ExposureL@CMceCameraSource@@QAE?AW4TExposure@CCamera@@XZ @ 109 NONAME ; enum CCamera::TExposure CMceCameraSource::ExposureL(void)
-	?MuteL@CMusEngMceSession@@UAEXXZ @ 110 NONAME ; void CMusEngMceSession::MuteL(void)
-	?NewLC@CCenRepNotifyHandler@@SAPAV1@AAVMCenRepNotifyHandlerCallback@@AAVCRepository@@@Z @ 111 NONAME ; class CCenRepNotifyHandler * CCenRepNotifyHandler::NewLC(class MCenRepNotifyHandlerCallback &, class CRepository &)
-	?SetVolumeL@CMusEngSession@@UAEXH@Z @ 112 NONAME ; void CMusEngSession::SetVolumeL(int)
-	?DecreaseBrightnessL@CMusEngLiveSession@@QAEXXZ @ 113 NONAME ; void CMusEngLiveSession::DecreaseBrightnessL(void)
-	?LastRegistrationError@CSIPProfileRegistryBase@@QBEHABVCSIPProfile@@@Z @ 114 NONAME ; int CSIPProfileRegistryBase::LastRegistrationError(class CSIPProfile const &) const
-	?SetCameraIndexL@CMceCameraSource@@QAEXH@Z @ 115 NONAME ; void CMceCameraSource::SetCameraIndexL(int)
-	?PauseL@CMusEngClipSession@@UAEXXZ @ 116 NONAME ; void CMusEngClipSession::PauseL(void)
-	?Connection@CSIP@@QBEPAVCSIPConnection@@K@Z @ 117 NONAME ; class CSIPConnection * CSIP::Connection(unsigned long) const
-	?SetRectL@CMusEngSession@@QAEXABVTRect@@@Z @ 118 NONAME ; void CMusEngSession::SetRectL(class TRect const &)
-	?Create@CRepository@@QAEHKABVTDesC8@@@Z @ 119 NONAME ; int CRepository::Create(unsigned long, class TDesC8 const &)
-	?RefreshIapAvailabilityL@CSipProfileAlrController@@QAEXK@Z @ 120 NONAME ; void CSipProfileAlrController::RefreshIapAvailabilityL(unsigned long)
-	?DefaultProfileL@CSIPProfileRegistryBase@@QAEPAVCSIPProfile@@XZ @ 121 NONAME ; class CSIPProfile * CSIPProfileRegistryBase::DefaultProfileL(void)
-	?BrightnessAutoL@CMusEngLiveSession@@QAEXXZ @ 122 NONAME ; void CMusEngLiveSession::BrightnessAutoL(void)
-	?IncreaseBrightnessL@CMusEngLiveSession@@QAEXXZ @ 123 NONAME ; void CMusEngLiveSession::IncreaseBrightnessL(void)
-	?ProfilesL@CSIPProfileRegistryBase@@QAEXABVTDesC8@@AAV?$RPointerArray@VCSIPProfile@@@@@Z @ 124 NONAME ; void CSIPProfileRegistryBase::ProfilesL(class TDesC8 const &, class RPointerArray<class CSIPProfile> &)
-	??1CSIPProfileRegistry@@UAE@XZ @ 125 NONAME ; CSIPProfileRegistry::~CSIPProfileRegistry(void)
-	?SetOrientationL@CMusEngMceSession@@QAEXW4TDisplayOrientation@1@@Z @ 126 NONAME ; void CMusEngMceSession::SetOrientationL(enum CMusEngMceSession::TDisplayOrientation)
-	?Get@CRepository@@QAEHKAAVTDes8@@@Z @ 127 NONAME ; int CRepository::Get(unsigned long, class TDes8 &)
-	?ConstructL@DRMCommon@@IAEXXZ @ 128 NONAME ; void DRMCommon::ConstructL(void)
-	?ContrastL@CMceCameraSource@@QAEHXZ @ 129 NONAME ; int CMceCameraSource::ContrastL(void)
-	?NegotiatedSecurityMechanismL@CSIP@@QAEPAVHBufC8@@ABVTDesC8@@@Z @ 130 NONAME ; class HBufC8 * CSIP::NegotiatedSecurityMechanismL(class TDesC8 const &)
-	?ZoomInL@CMusEngLiveSession@@QAEXXZ @ 131 NONAME ; void CMusEngLiveSession::ZoomInL(void)
-	?NewL@CSipProfileAlrController@@SAPAV1@AAVCSIPProfileRegistryBase@@AAVMSipProfileAlrObserver@@@Z @ 132 NONAME ; class CSipProfileAlrController * CSipProfileAlrController::NewL(class CSIPProfileRegistryBase &, class MSipProfileAlrObserver &)
-	?SetVolumeL@CMusEngMceSession@@UAEXH@Z @ 133 NONAME ; void CMusEngMceSession::SetVolumeL(int)
-	?Stop@CActiveScheduler@@SAXXZ @ 134 NONAME ; void CActiveScheduler::Stop(void)
-	?IsDisplayEnabledL@CMusEngMceSession@@QAEHXZ @ 135 NONAME ; int CMusEngMceSession::IsDisplayEnabledL(void)
-	?TranscodeL@CMusEngClipSession@@QAEXABV?$TBuf@$0BAA@@@@Z @ 136 NONAME ; void CMusEngClipSession::TranscodeL(class TBuf<256> const &)
-	?MaxZoomL@CMusEngLiveSession@@QBEHXZ @ 137 NONAME ; int CMusEngLiveSession::MaxZoomL(void) const
-	?IsSigCompSupportedL@CSIP@@QBEHXZ @ 138 NONAME ; int CSIP::IsSigCompSupportedL(void) const
-	?NewLC@CSIP@@SAPAV1@ABVTUid@@AAVMSIPObserver@@@Z @ 139 NONAME ; class CSIP * CSIP::NewLC(class TUid const &, class MSIPObserver &)
-	?VolumeDownL@CMusEngMceSession@@UAEXXZ @ 140 NONAME ; void CMusEngMceSession::VolumeDownL(void)
-	?AllowMigrationL@CSipProfileAlrController@@QAEXKK@Z @ 141 NONAME ; void CSipProfileAlrController::AllowMigrationL(unsigned long, unsigned long)
-	?PositionL@CMusEngClipSession@@QAE?AVTTimeIntervalSeconds@@XZ @ 142 NONAME ; class TTimeIntervalSeconds CMusEngClipSession::PositionL(void)
-	?SetContrastL@CMceCameraSource@@QAEXH@Z @ 143 NONAME ; void CMceCameraSource::SetContrastL(int)
-	?WhiteBalanceL@CMceCameraSource@@QAE?AW4TWhiteBalance@CCamera@@XZ @ 144 NONAME ; enum CCamera::TWhiteBalance CMceCameraSource::WhiteBalanceL(void)
-	??1DRMCommon@@UAE@XZ @ 145 NONAME ; DRMCommon::~DRMCommon(void)
-	?MuteMicL@CMusEngSession@@QAEXH@Z @ 146 NONAME ; void CMusEngSession::MuteMicL(int)
-	?NewL@CMusEngLiveSession@@SAPAV1@ABVTDesC16@@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngLiveSessionObserver@@I@Z @ 147 NONAME ; class CMusEngLiveSession * CMusEngLiveSession::NewL(class TDesC16 const &, class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngLiveSessionObserver &, unsigned int)
-	?HandleNotifyGeneric@MCenRepNotifyHandlerCallback@@UAEXK@Z @ 148 NONAME ; void MCenRepNotifyHandlerCallback::HandleNotifyGeneric(unsigned long)
-	?EnableDisplayL@CMusEngMceSession@@UAEXH@Z @ 149 NONAME ; void CMusEngMceSession::EnableDisplayL(int)
-	??0DRMCommon@@IAE@XZ @ 150 NONAME ; DRMCommon::DRMCommon(void)
-	?CurrentBrightnessL@CMusEngLiveSession@@QBEHXZ @ 151 NONAME ; int CMusEngLiveSession::CurrentBrightnessL(void) const
-	?SupportedProfileTypesL@CSIPProfileRegistryBase@@QAEXAAV?$RArray@VTSIPProfileTypeInfo@@@@@Z @ 152 NONAME ; void CSIPProfileRegistryBase::SupportedProfileTypesL(class RArray<class TSIPProfileTypeInfo> &)
-	?Start@CActiveScheduler@@SAXXZ @ 153 NONAME ; void CActiveScheduler::Start(void)
-	?SetBrightnessL@CMceCameraSource@@QAEXH@Z @ 154 NONAME ; void CMceCameraSource::SetBrightnessL(int)
-	?SetDigitalZoomFactorL@CMceCameraSource@@QAEXH@Z @ 155 NONAME ; void CMceCameraSource::SetDigitalZoomFactorL(int)
-	?IsPlayingL@CMusEngLiveSession@@UAEHXZ @ 156 NONAME ; int CMusEngLiveSession::IsPlayingL(void)
-	?IsEnabled@CMceMediaSource@@QBEHXZ @ 157 NONAME ; int CMceMediaSource::IsEnabled(void) const
-	?PlayL@CMusEngLiveSession@@UAEXXZ @ 158 NONAME ; void CMusEngLiveSession::PlayL(void)
-	?SetPositionL@CMusEngClipSession@@QAEXABVTTimeIntervalSeconds@@@Z @ 159 NONAME ; void CMusEngClipSession::SetPositionL(class TTimeIntervalSeconds const &)
+	?IsAudioRoutingHeadset@CMusEngSession@@QBEHXZ @ 34 NONAME ; int CMusEngSession::IsAudioRoutingHeadset(void) const
+	?Disable@CSIPProfileRegistry@@QAEHAAVCSIPProfile@@@Z @ 35 NONAME ; int CSIPProfileRegistry::Disable(class CSIPProfile &)
+	?BrightnessDefaultL@CMusEngLiveSession@@QAEXXZ @ 36 NONAME ; void CMusEngLiveSession::BrightnessDefaultL(void)
+	?Delete@CRepository@@QAEHKKAAK@Z @ 37 NONAME ; int CRepository::Delete(unsigned long, unsigned long, unsigned long &)
+	?CommitTransaction@CRepository@@QAEHAAK@Z @ 38 NONAME ; int CRepository::CommitTransaction(unsigned long &)
+	?SetExposureL@CMceCameraSource@@QAEXW4TExposure@CCamera@@@Z @ 39 NONAME ; void CMceCameraSource::SetExposureL(enum CCamera::TExposure)
+	?FastForwardL@CMusEngClipSession@@QAEXH@Z @ 40 NONAME ; void CMusEngClipSession::FastForwardL(int)
+	?SetZoomL@CMusEngLiveSession@@QAEXH@Z @ 41 NONAME ; void CMusEngLiveSession::SetZoomL(int)
+	?Set@CRepository@@QAEHKABVTDesC8@@@Z @ 42 NONAME ; int CRepository::Set(unsigned long, class TDesC8 const &)
+	?NewL@CMusEngClipSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngClipSessionObserver@@I@Z @ 43 NONAME ; class CMusEngClipSession * CMusEngClipSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngClipSessionObserver &, unsigned int)
+	?InviteL@CMusEngMceOutSession@@QAEXABVTDesC16@@@Z @ 44 NONAME ; void CMusEngMceOutSession::InviteL(class TDesC16 const &)
+	?GetParameter@CSIPProfile@@QBEHKAAPBVTDesC8@@@Z @ 45 NONAME ; int CSIPProfile::GetParameter(unsigned long, class TDesC8 const * &) const
+	?IsLoudSpeakerEnabled@CMusEngSession@@QBEHXZ @ 46 NONAME ; int CMusEngSession::IsLoudSpeakerEnabled(void) const
+	?StartListeningL@CCenRepNotifyHandler@@QAEXXZ @ 47 NONAME ; void CCenRepNotifyHandler::StartListeningL(void)
+	?NewL@CSIPProfileRegistry@@SAPAV1@AAVCSIP@@AAVMSIPProfileRegistryObserver@@@Z @ 48 NONAME ; class CSIPProfileRegistry * CSIPProfileRegistry::NewL(class CSIP &, class MSIPProfileRegistryObserver &)
+	?NewL@CMusEngReceiveSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngReceiveSessionObserver@@@Z @ 49 NONAME ; class CMusEngReceiveSession * CMusEngReceiveSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngReceiveSessionObserver &)
+	?ContainsAudioL@CMusEngMceSession@@QAEHXZ @ 50 NONAME ; int CMusEngMceSession::ContainsAudioL(void)
+	?VolumeUpL@CMusEngMceSession@@UAEXXZ @ 51 NONAME ; void CMusEngMceSession::VolumeUpL(void)
+	?IsPlayingL@CMusEngClipSession@@UAEHXZ @ 52 NONAME ; int CMusEngClipSession::IsPlayingL(void)
+	?Get@CRepository@@QAEHKAAH@Z @ 53 NONAME ; int CRepository::Get(unsigned long, int &)
+	?SupportedSecurityMechanismsL@CSIP@@QBEPAVCDesC8Array@@XZ @ 54 NONAME ; class CDesC8Array * CSIP::SupportedSecurityMechanismsL(void) const
+	?PlayL@CMusEngClipSession@@UAEXXZ @ 55 NONAME ; void CMusEngClipSession::PlayL(void)
+	?PauseL@CMusEngLiveSession@@UAEXXZ @ 56 NONAME ; void CMusEngLiveSession::PauseL(void)
+	?GetSessionTime@CMusEngMceSession@@QBE?AVTTimeIntervalSeconds@@XZ @ 57 NONAME ; class TTimeIntervalSeconds CMusEngMceSession::GetSessionTime(void) const
+	?Rect@CMusEngSession@@QBE?AVTRect@@XZ @ 58 NONAME ; class TRect CMusEngSession::Rect(void) const
+	?Disconnect@DRMCommon@@QAEHXZ @ 59 NONAME ; int DRMCommon::Disconnect(void)
+	?FindL@CRepository@@QAEHKKAAV?$RArray@K@@@Z @ 60 NONAME ; int CRepository::FindL(unsigned long, unsigned long, class RArray<unsigned long> &)
+	?SetBrightnessL@CMusEngLiveSession@@QBEXH@Z @ 61 NONAME ; void CMusEngLiveSession::SetBrightnessL(int) const
+	?IsAudioRoutingLoudSpeaker@CMusEngSession@@QBEHXZ @ 62 NONAME ; int CMusEngSession::IsAudioRoutingLoudSpeaker(void) const
+	?NewLC@CMceCameraSource@@SAPAV1@AAVCMceManager@@@Z @ 63 NONAME ; class CMceCameraSource * CMceCameraSource::NewLC(class CMceManager &)
+	?ProfilesL@CSIPProfileRegistryBase@@QAEXAAV?$RPointerArray@VCSIPProfile@@@@@Z @ 64 NONAME ; void CSIPProfileRegistryBase::ProfilesL(class RPointerArray<class CSIPProfile> &)
+	?ZoomOutL@CMusEngLiveSession@@QAEXXZ @ 65 NONAME ; void CMusEngLiveSession::ZoomOutL(void)
+	?ConnectionActive@CMusEngMceSession@@QBEHXZ @ 66 NONAME ; int CMusEngMceSession::ConnectionActive(void) const
+	?AudioRoutingCanBeChanged@CMusEngSession@@QBEHXZ @ 67 NONAME ; int CMusEngSession::AudioRoutingCanBeChanged(void) const
+	?GetParameter@CSIPProfile@@QBEHKAAH@Z @ 68 NONAME ; int CSIPProfile::GetParameter(unsigned long, int &) const
+	?SetWhiteBalanceL@CMceCameraSource@@QAEXW4TWhiteBalance@CCamera@@@Z @ 69 NONAME ; void CMceCameraSource::SetWhiteBalanceL(enum CCamera::TWhiteBalance)
+	?RecordL@CMusEngLiveSession@@QAEXH@Z @ 70 NONAME ; void CMusEngLiveSession::RecordL(int)
+	??1CCenRepNotifyHandler@@UAE@XZ @ 71 NONAME ; CCenRepNotifyHandler::~CCenRepNotifyHandler(void)
+	?FindEqL@CRepository@@QAEHKKABVTDesC8@@AAV?$RArray@K@@@Z @ 72 NONAME ; int CRepository::FindEqL(unsigned long, unsigned long, class TDesC8 const &, class RArray<unsigned long> &)
+	?ZoomFactorL@CMceCameraSource@@QAEHXZ @ 73 NONAME ; int CMceCameraSource::ZoomFactorL(void)
+	?TerminateL@CMusEngMceSession@@QAEXXZ @ 74 NONAME ; void CMusEngMceSession::TerminateL(void)
+	?SetZoomFactorL@CMceCameraSource@@QAEXH@Z @ 75 NONAME ; void CMceCameraSource::SetZoomFactorL(int)
+	?SIP@CSIPProfileRegistry@@QBEAAVCSIP@@XZ @ 76 NONAME ; class CSIP & CSIPProfileRegistry::SIP(void) const
+	??1CMceMediaSource@@UAE@XZ @ 77 NONAME ; CMceMediaSource::~CMceMediaSource(void)
+	?ParseUriL@TMusEngUriParser@@QAEXXZ @ 78 NONAME ; void TMusEngUriParser::ParseUriL(void)
+	?ProfileL@CSIPProfileRegistryBase@@QAEPAVCSIPProfile@@K@Z @ 79 NONAME ; class CSIPProfile * CSIPProfileRegistryBase::ProfileL(unsigned long)
+	?EnableLoudspeakerL@CMusEngSession@@QAEXHH@Z @ 80 NONAME ; void CMusEngSession::EnableLoudspeakerL(int, int)
+	?CancelInviteL@CMusEngMceOutSession@@QAEXXZ @ 81 NONAME ; void CMusEngMceOutSession::CancelInviteL(void)
+	?VolumeL@CMusEngSession@@QBEHXZ @ 82 NONAME ; int CMusEngSession::VolumeL(void) const
+	?StopListening@CCenRepNotifyHandler@@QAEXXZ @ 83 NONAME ; void CCenRepNotifyHandler::StopListening(void)
+	??1CSIPProfileRegistryBase@@UAE@XZ @ 84 NONAME ; CSIPProfileRegistryBase::~CSIPProfileRegistryBase(void)
+	?ZoomDefaultL@CMusEngLiveSession@@QAEXXZ @ 85 NONAME ; void CMusEngLiveSession::ZoomDefaultL(void)
+	?GetUri16L@TMusEngUriParser@@QAEPAVHBufC16@@H@Z @ 86 NONAME ; class HBufC16 * TMusEngUriParser::GetUri16L(int)
+	?NewL@CSIP@@SAPAV1@ABVTUid@@AAVMSIPObserver@@@Z @ 87 NONAME ; class CSIP * CSIP::NewL(class TUid const &, class MSIPObserver &)
+	??1CMceCameraSource@@UAE@XZ @ 88 NONAME ; CMceCameraSource::~CMceCameraSource(void)
+	?EnableL@CMceCameraSource@@UAEXXZ @ 89 NONAME ; void CMceCameraSource::EnableL(void)
+	?VolumeUpL@CMusEngSession@@UAEXXZ @ 90 NONAME ; void CMusEngSession::VolumeUpL(void)
+	?GetParameter@CSIPProfile@@QBEHKAAPBVMDesC8Array@@@Z @ 91 NONAME ; int CSIPProfile::GetParameter(unsigned long, class MDesC8Array const * &) const
+	?NewL@CRepository@@SAPAV1@VTUid@@@Z @ 92 NONAME ; class CRepository * CRepository::NewL(class TUid)
+	?SetVolumeChangeObserver@CMusEngSession@@QAEXPAVMMusEngVolumeChangeObserver@@@Z @ 93 NONAME ; void CMusEngSession::SetVolumeChangeObserver(class MMusEngVolumeChangeObserver *)
+	?GetParameter@CSIPProfile@@QBEHKAAK@Z @ 94 NONAME ; int CSIPProfile::GetParameter(unsigned long, unsigned long &) const
+	?IsMutedL@CMusEngMceSession@@QAEHXZ @ 95 NONAME ; int CMusEngMceSession::IsMutedL(void)
+	??1CSIP@@UAE@XZ @ 96 NONAME ; CSIP::~CSIP(void)
+	?Set@CRepository@@QAEHKH@Z @ 97 NONAME ; int CRepository::Set(unsigned long, int)
+	?AcceptInvitationL@CMusEngReceiveSession@@QAEXABH@Z @ 98 NONAME ; void CMusEngReceiveSession::AcceptInvitationL(int const &)
+	?CurrentZoomL@CMusEngLiveSession@@QBEHXZ @ 99 NONAME ; int CMusEngLiveSession::CurrentZoomL(void) const
+	?DisallowMigrationL@CSipProfileAlrController@@QAEXKK@Z @ 100 NONAME ; void CSipProfileAlrController::DisallowMigrationL(unsigned long, unsigned long)
+	?MinBrightnessL@CMusEngLiveSession@@QBEHXZ @ 101 NONAME ; int CMusEngLiveSession::MinBrightnessL(void) const
+	??1CSIPProfile@@UAE@XZ @ 102 NONAME ; CSIPProfile::~CSIPProfile(void)
+	?NewL@CMusEngLiveSession@@SAPAV1@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngLiveSessionObserver@@I@Z @ 103 NONAME ; class CMusEngLiveSession * CMusEngLiveSession::NewL(class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngLiveSessionObserver &, unsigned int)
+	?UnmuteL@CMusEngMceSession@@UAEXXZ @ 104 NONAME ; void CMusEngMceSession::UnmuteL(void)
+	?Connect@DRMCommon@@QAEHXZ @ 105 NONAME ; int DRMCommon::Connect(void)
+	?NewL@CMceCameraSource@@SAPAV1@AAVCMceManager@@@Z @ 106 NONAME ; class CMceCameraSource * CMceCameraSource::NewL(class CMceManager &)
+	?MinZoomL@CMusEngLiveSession@@QBEHXZ @ 107 NONAME ; int CMusEngLiveSession::MinZoomL(void) const
+	?Set@CRepository@@QAEHKABVTDesC16@@@Z @ 108 NONAME ; int CRepository::Set(unsigned long, class TDesC16 const &)
+	?VolumeDownL@CMusEngSession@@UAEXXZ @ 109 NONAME ; void CMusEngSession::VolumeDownL(void)
+	?ExposureL@CMceCameraSource@@QAE?AW4TExposure@CCamera@@XZ @ 110 NONAME ; enum CCamera::TExposure CMceCameraSource::ExposureL(void)
+	?MuteL@CMusEngMceSession@@UAEXXZ @ 111 NONAME ; void CMusEngMceSession::MuteL(void)
+	?NewLC@CCenRepNotifyHandler@@SAPAV1@AAVMCenRepNotifyHandlerCallback@@AAVCRepository@@@Z @ 112 NONAME ; class CCenRepNotifyHandler * CCenRepNotifyHandler::NewLC(class MCenRepNotifyHandlerCallback &, class CRepository &)
+	?SetVolumeL@CMusEngSession@@UAEXH@Z @ 113 NONAME ; void CMusEngSession::SetVolumeL(int)
+	?DecreaseBrightnessL@CMusEngLiveSession@@QAEXXZ @ 114 NONAME ; void CMusEngLiveSession::DecreaseBrightnessL(void)
+	?LastRegistrationError@CSIPProfileRegistryBase@@QBEHABVCSIPProfile@@@Z @ 115 NONAME ; int CSIPProfileRegistryBase::LastRegistrationError(class CSIPProfile const &) const
+	?SetCameraIndexL@CMceCameraSource@@QAEXH@Z @ 116 NONAME ; void CMceCameraSource::SetCameraIndexL(int)
+	?PauseL@CMusEngClipSession@@UAEXXZ @ 117 NONAME ; void CMusEngClipSession::PauseL(void)
+	?Connection@CSIP@@QBEPAVCSIPConnection@@K@Z @ 118 NONAME ; class CSIPConnection * CSIP::Connection(unsigned long) const
+	?SetRectL@CMusEngSession@@QAEXABVTRect@@@Z @ 119 NONAME ; void CMusEngSession::SetRectL(class TRect const &)
+	?Create@CRepository@@QAEHKABVTDesC8@@@Z @ 120 NONAME ; int CRepository::Create(unsigned long, class TDesC8 const &)
+	?RefreshIapAvailabilityL@CSipProfileAlrController@@QAEXK@Z @ 121 NONAME ; void CSipProfileAlrController::RefreshIapAvailabilityL(unsigned long)
+	?DefaultProfileL@CSIPProfileRegistryBase@@QAEPAVCSIPProfile@@XZ @ 122 NONAME ; class CSIPProfile * CSIPProfileRegistryBase::DefaultProfileL(void)
+	?BrightnessAutoL@CMusEngLiveSession@@QAEXXZ @ 123 NONAME ; void CMusEngLiveSession::BrightnessAutoL(void)
+	?IncreaseBrightnessL@CMusEngLiveSession@@QAEXXZ @ 124 NONAME ; void CMusEngLiveSession::IncreaseBrightnessL(void)
+	?ProfilesL@CSIPProfileRegistryBase@@QAEXABVTDesC8@@AAV?$RPointerArray@VCSIPProfile@@@@@Z @ 125 NONAME ; void CSIPProfileRegistryBase::ProfilesL(class TDesC8 const &, class RPointerArray<class CSIPProfile> &)
+	??1CSIPProfileRegistry@@UAE@XZ @ 126 NONAME ; CSIPProfileRegistry::~CSIPProfileRegistry(void)
+	?SetOrientationL@CMusEngMceSession@@QAEXW4TDisplayOrientation@1@@Z @ 127 NONAME ; void CMusEngMceSession::SetOrientationL(enum CMusEngMceSession::TDisplayOrientation)
+	?Get@CRepository@@QAEHKAAVTDes8@@@Z @ 128 NONAME ; int CRepository::Get(unsigned long, class TDes8 &)
+	?ConstructL@DRMCommon@@IAEXXZ @ 129 NONAME ; void DRMCommon::ConstructL(void)
+	?ContrastL@CMceCameraSource@@QAEHXZ @ 130 NONAME ; int CMceCameraSource::ContrastL(void)
+	?NegotiatedSecurityMechanismL@CSIP@@QAEPAVHBufC8@@ABVTDesC8@@@Z @ 131 NONAME ; class HBufC8 * CSIP::NegotiatedSecurityMechanismL(class TDesC8 const &)
+	?ZoomInL@CMusEngLiveSession@@QAEXXZ @ 132 NONAME ; void CMusEngLiveSession::ZoomInL(void)
+	?NewL@CSipProfileAlrController@@SAPAV1@AAVCSIPProfileRegistryBase@@AAVMSipProfileAlrObserver@@@Z @ 133 NONAME ; class CSipProfileAlrController * CSipProfileAlrController::NewL(class CSIPProfileRegistryBase &, class MSipProfileAlrObserver &)
+	?SetVolumeL@CMusEngMceSession@@UAEXH@Z @ 134 NONAME ; void CMusEngMceSession::SetVolumeL(int)
+	?Stop@CActiveScheduler@@SAXXZ @ 135 NONAME ; void CActiveScheduler::Stop(void)
+	?IsDisplayEnabledL@CMusEngMceSession@@QAEHXZ @ 136 NONAME ; int CMusEngMceSession::IsDisplayEnabledL(void)
+	?TranscodeL@CMusEngClipSession@@QAEXABV?$TBuf@$0BAA@@@@Z @ 137 NONAME ; void CMusEngClipSession::TranscodeL(class TBuf<256> const &)
+	?MaxZoomL@CMusEngLiveSession@@QBEHXZ @ 138 NONAME ; int CMusEngLiveSession::MaxZoomL(void) const
+	?IsSigCompSupportedL@CSIP@@QBEHXZ @ 139 NONAME ; int CSIP::IsSigCompSupportedL(void) const
+	?NewLC@CSIP@@SAPAV1@ABVTUid@@AAVMSIPObserver@@@Z @ 140 NONAME ; class CSIP * CSIP::NewLC(class TUid const &, class MSIPObserver &)
+	?VolumeDownL@CMusEngMceSession@@UAEXXZ @ 141 NONAME ; void CMusEngMceSession::VolumeDownL(void)
+	?AllowMigrationL@CSipProfileAlrController@@QAEXKK@Z @ 142 NONAME ; void CSipProfileAlrController::AllowMigrationL(unsigned long, unsigned long)
+	?PositionL@CMusEngClipSession@@QAE?AVTTimeIntervalSeconds@@XZ @ 143 NONAME ; class TTimeIntervalSeconds CMusEngClipSession::PositionL(void)
+	?SetContrastL@CMceCameraSource@@QAEXH@Z @ 144 NONAME ; void CMceCameraSource::SetContrastL(int)
+	?WhiteBalanceL@CMceCameraSource@@QAE?AW4TWhiteBalance@CCamera@@XZ @ 145 NONAME ; enum CCamera::TWhiteBalance CMceCameraSource::WhiteBalanceL(void)
+	??1DRMCommon@@UAE@XZ @ 146 NONAME ; DRMCommon::~DRMCommon(void)
+	?MuteMicL@CMusEngSession@@QAEXH@Z @ 147 NONAME ; void CMusEngSession::MuteMicL(int)
+	?NewL@CMusEngLiveSession@@SAPAV1@ABVTDesC16@@ABVTRect@@AAVMMusEngSessionObserver@@AAVMMusEngOutSessionObserver@@AAVMMusEngLiveSessionObserver@@I@Z @ 148 NONAME ; class CMusEngLiveSession * CMusEngLiveSession::NewL(class TDesC16 const &, class TRect const &, class MMusEngSessionObserver &, class MMusEngOutSessionObserver &, class MMusEngLiveSessionObserver &, unsigned int)
+	?HandleNotifyGeneric@MCenRepNotifyHandlerCallback@@UAEXK@Z @ 149 NONAME ; void MCenRepNotifyHandlerCallback::HandleNotifyGeneric(unsigned long)
+	?EnableDisplayL@CMusEngMceSession@@UAEXH@Z @ 150 NONAME ; void CMusEngMceSession::EnableDisplayL(int)
+	??0DRMCommon@@IAE@XZ @ 151 NONAME ; DRMCommon::DRMCommon(void)
+	?CurrentBrightnessL@CMusEngLiveSession@@QBEHXZ @ 152 NONAME ; int CMusEngLiveSession::CurrentBrightnessL(void) const
+	?SupportedProfileTypesL@CSIPProfileRegistryBase@@QAEXAAV?$RArray@VTSIPProfileTypeInfo@@@@@Z @ 153 NONAME ; void CSIPProfileRegistryBase::SupportedProfileTypesL(class RArray<class TSIPProfileTypeInfo> &)
+	?Start@CActiveScheduler@@SAXXZ @ 154 NONAME ; void CActiveScheduler::Start(void)
+	?SetBrightnessL@CMceCameraSource@@QAEXH@Z @ 155 NONAME ; void CMceCameraSource::SetBrightnessL(int)
+	?SetDigitalZoomFactorL@CMceCameraSource@@QAEXH@Z @ 156 NONAME ; void CMceCameraSource::SetDigitalZoomFactorL(int)
+	?IsPlayingL@CMusEngLiveSession@@UAEHXZ @ 157 NONAME ; int CMusEngLiveSession::IsPlayingL(void)
+	?IsEnabled@CMceMediaSource@@QBEHXZ @ 158 NONAME ; int CMceMediaSource::IsEnabled(void) const
+	?PlayL@CMusEngLiveSession@@UAEXXZ @ 159 NONAME ; void CMusEngLiveSession::PlayL(void)
+	?SetPositionL@CMusEngClipSession@@QAEXABVTTimeIntervalSeconds@@@Z @ 160 NONAME ; void CMusEngClipSession::SetPositionL(class TTimeIntervalSeconds const &)
 
--- a/mmsharing/mmshengine/tsrc/ut_engine/eabi/ut_musengineu.def	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshengine/tsrc/ut_engine/eabi/ut_musengineu.def	Thu Aug 19 09:51:39 2010 +0300
@@ -148,76 +148,77 @@
 	_ZNK11CSIPProfile12GetParameterEmRi @ 147 NONAME
 	_ZNK11CSIPProfile12GetParameterEmRm @ 148 NONAME
 	_ZNK11CSIPProfile4TypeEv @ 149 NONAME
-	_ZNK14CMusEngSession15AudioOutputIsBTEv @ 150 NONAME
-	_ZNK14CMusEngSession20IsLoudSpeakerEnabledEv @ 151 NONAME
+	_ZNK14CMusEngSession20IsLoudSpeakerEnabledEv @ 150 NONAME
+	_ZNK14CMusEngSession21IsAudioRoutingHeadsetEv @ 151 NONAME
 	_ZNK14CMusEngSession24AudioRoutingCanBeChangedEv @ 152 NONAME
-	_ZNK14CMusEngSession4RectEv @ 153 NONAME
-	_ZNK14CMusEngSession7VolumeLEv @ 154 NONAME
-	_ZNK15CMceMediaSource4TypeEv @ 155 NONAME
-	_ZNK15CMceMediaSource9IsEnabledEv @ 156 NONAME
-	_ZNK16CMceCameraSource13GetCameraInfoER11TCameraInfo @ 157 NONAME
-	_ZNK16CMceCameraSource16CamerasAvailableEv @ 158 NONAME
-	_ZNK17CMusEngMceSession14GetSessionTimeEv @ 159 NONAME
-	_ZNK17CMusEngMceSession16ConnectionActiveEv @ 160 NONAME
-	_ZNK18CMusEngLiveSession12CurrentZoomLEv @ 161 NONAME
-	_ZNK18CMusEngLiveSession14MaxBrightnessLEv @ 162 NONAME
-	_ZNK18CMusEngLiveSession14MinBrightnessLEv @ 163 NONAME
-	_ZNK18CMusEngLiveSession14SetBrightnessLEi @ 164 NONAME
-	_ZNK18CMusEngLiveSession18CurrentBrightnessLEv @ 165 NONAME
-	_ZNK18CMusEngLiveSession8MaxZoomLEv @ 166 NONAME
-	_ZNK18CMusEngLiveSession8MinZoomLEv @ 167 NONAME
-	_ZNK19CSIPProfileRegistry3SIPEv @ 168 NONAME
-	_ZNK19CSIPProfileRegistry9IsEnabledERK11CSIPProfile @ 169 NONAME
-	_ZNK23CSIPProfileRegistryBase21LastRegistrationErrorERK11CSIPProfile @ 170 NONAME
-	_ZNK4CSIP10ConnectionEm @ 171 NONAME
-	_ZNK4CSIP19IsSigCompSupportedLEv @ 172 NONAME
-	_ZNK4CSIP28SupportedSecurityMechanismsLEv @ 173 NONAME
-	_ZTI11CRepository @ 174 NONAME
-	_ZTI11CSIPProfile @ 175 NONAME
-	_ZTI14CMusEngSession @ 176 NONAME
-	_ZTI15CMceMediaSource @ 177 NONAME
-	_ZTI16CMceCameraSource @ 178 NONAME
-	_ZTI17CMusEngMceSession @ 179 NONAME
-	_ZTI18CMusEngClipSession @ 180 NONAME
-	_ZTI18CMusEngLiveSession @ 181 NONAME
-	_ZTI19CMusEngObserverStub @ 182 NONAME
-	_ZTI19CSIPProfileRegistry @ 183 NONAME
-	_ZTI20CCenRepNotifyHandler @ 184 NONAME
-	_ZTI20CMusEngMceOutSession @ 185 NONAME
-	_ZTI21CMusEngReceiveSession @ 186 NONAME
-	_ZTI21CMusEngTelephoneUtils @ 187 NONAME
-	_ZTI21CMusSipProfileHandler @ 188 NONAME
-	_ZTI22CSIPProfileBehaviorTls @ 189 NONAME
-	_ZTI22CTelephonyAudioRouting @ 190 NONAME
-	_ZTI23CSIPProfileRegistryBase @ 191 NONAME
-	_ZTI24CSipProfileAlrController @ 192 NONAME
-	_ZTI27CMusEngSessionDurationTimer @ 193 NONAME
-	_ZTI28MCenRepNotifyHandlerCallback @ 194 NONAME
-	_ZTI4CSIP @ 195 NONAME
-	_ZTI9DRMCommon @ 196 NONAME
-	_ZTV11CRepository @ 197 NONAME
-	_ZTV11CSIPProfile @ 198 NONAME
-	_ZTV14CMusEngSession @ 199 NONAME
-	_ZTV15CMceMediaSource @ 200 NONAME
-	_ZTV16CMceCameraSource @ 201 NONAME
-	_ZTV17CMusEngMceSession @ 202 NONAME
-	_ZTV18CMusEngClipSession @ 203 NONAME
-	_ZTV18CMusEngLiveSession @ 204 NONAME
-	_ZTV19CMusEngObserverStub @ 205 NONAME
-	_ZTV19CSIPProfileRegistry @ 206 NONAME
-	_ZTV20CCenRepNotifyHandler @ 207 NONAME
-	_ZTV20CMusEngMceOutSession @ 208 NONAME
-	_ZTV21CMusEngReceiveSession @ 209 NONAME
-	_ZTV21CMusEngTelephoneUtils @ 210 NONAME
-	_ZTV21CMusSipProfileHandler @ 211 NONAME
-	_ZTV22CSIPProfileBehaviorTls @ 212 NONAME
-	_ZTV22CTelephonyAudioRouting @ 213 NONAME
-	_ZTV23CSIPProfileRegistryBase @ 214 NONAME
-	_ZTV24CSipProfileAlrController @ 215 NONAME
-	_ZTV27CMusEngSessionDurationTimer @ 216 NONAME
-	_ZTV28MCenRepNotifyHandlerCallback @ 217 NONAME
-	_ZTV4CSIP @ 218 NONAME
-	_ZTV9DRMCommon @ 219 NONAME
-	_ZThn4_N11CSIPProfileD0Ev @ 220 NONAME
-	_ZThn4_N11CSIPProfileD1Ev @ 221 NONAME
+	_ZNK14CMusEngSession25IsAudioRoutingLoudSpeakerEv @ 153 NONAME
+	_ZNK14CMusEngSession4RectEv @ 154 NONAME
+	_ZNK14CMusEngSession7VolumeLEv @ 155 NONAME
+	_ZNK15CMceMediaSource4TypeEv @ 156 NONAME
+	_ZNK15CMceMediaSource9IsEnabledEv @ 157 NONAME
+	_ZNK16CMceCameraSource13GetCameraInfoER11TCameraInfo @ 158 NONAME
+	_ZNK16CMceCameraSource16CamerasAvailableEv @ 159 NONAME
+	_ZNK17CMusEngMceSession14GetSessionTimeEv @ 160 NONAME
+	_ZNK17CMusEngMceSession16ConnectionActiveEv @ 161 NONAME
+	_ZNK18CMusEngLiveSession12CurrentZoomLEv @ 162 NONAME
+	_ZNK18CMusEngLiveSession14MaxBrightnessLEv @ 163 NONAME
+	_ZNK18CMusEngLiveSession14MinBrightnessLEv @ 164 NONAME
+	_ZNK18CMusEngLiveSession14SetBrightnessLEi @ 165 NONAME
+	_ZNK18CMusEngLiveSession18CurrentBrightnessLEv @ 166 NONAME
+	_ZNK18CMusEngLiveSession8MaxZoomLEv @ 167 NONAME
+	_ZNK18CMusEngLiveSession8MinZoomLEv @ 168 NONAME
+	_ZNK19CSIPProfileRegistry3SIPEv @ 169 NONAME
+	_ZNK19CSIPProfileRegistry9IsEnabledERK11CSIPProfile @ 170 NONAME
+	_ZNK23CSIPProfileRegistryBase21LastRegistrationErrorERK11CSIPProfile @ 171 NONAME
+	_ZNK4CSIP10ConnectionEm @ 172 NONAME
+	_ZNK4CSIP19IsSigCompSupportedLEv @ 173 NONAME
+	_ZNK4CSIP28SupportedSecurityMechanismsLEv @ 174 NONAME
+	_ZTI11CRepository @ 175 NONAME
+	_ZTI11CSIPProfile @ 176 NONAME
+	_ZTI14CMusEngSession @ 177 NONAME
+	_ZTI15CMceMediaSource @ 178 NONAME
+	_ZTI16CMceCameraSource @ 179 NONAME
+	_ZTI17CMusEngMceSession @ 180 NONAME
+	_ZTI18CMusEngClipSession @ 181 NONAME
+	_ZTI18CMusEngLiveSession @ 182 NONAME
+	_ZTI19CMusEngObserverStub @ 183 NONAME
+	_ZTI19CSIPProfileRegistry @ 184 NONAME
+	_ZTI20CCenRepNotifyHandler @ 185 NONAME
+	_ZTI20CMusEngMceOutSession @ 186 NONAME
+	_ZTI21CMusEngReceiveSession @ 187 NONAME
+	_ZTI21CMusEngTelephoneUtils @ 188 NONAME
+	_ZTI21CMusSipProfileHandler @ 189 NONAME
+	_ZTI22CSIPProfileBehaviorTls @ 190 NONAME
+	_ZTI22CTelephonyAudioRouting @ 191 NONAME
+	_ZTI23CSIPProfileRegistryBase @ 192 NONAME
+	_ZTI24CSipProfileAlrController @ 193 NONAME
+	_ZTI27CMusEngSessionDurationTimer @ 194 NONAME
+	_ZTI28MCenRepNotifyHandlerCallback @ 195 NONAME
+	_ZTI4CSIP @ 196 NONAME
+	_ZTI9DRMCommon @ 197 NONAME
+	_ZTV11CRepository @ 198 NONAME
+	_ZTV11CSIPProfile @ 199 NONAME
+	_ZTV14CMusEngSession @ 200 NONAME
+	_ZTV15CMceMediaSource @ 201 NONAME
+	_ZTV16CMceCameraSource @ 202 NONAME
+	_ZTV17CMusEngMceSession @ 203 NONAME
+	_ZTV18CMusEngClipSession @ 204 NONAME
+	_ZTV18CMusEngLiveSession @ 205 NONAME
+	_ZTV19CMusEngObserverStub @ 206 NONAME
+	_ZTV19CSIPProfileRegistry @ 207 NONAME
+	_ZTV20CCenRepNotifyHandler @ 208 NONAME
+	_ZTV20CMusEngMceOutSession @ 209 NONAME
+	_ZTV21CMusEngReceiveSession @ 210 NONAME
+	_ZTV21CMusEngTelephoneUtils @ 211 NONAME
+	_ZTV21CMusSipProfileHandler @ 212 NONAME
+	_ZTV22CSIPProfileBehaviorTls @ 213 NONAME
+	_ZTV22CTelephonyAudioRouting @ 214 NONAME
+	_ZTV23CSIPProfileRegistryBase @ 215 NONAME
+	_ZTV24CSipProfileAlrController @ 216 NONAME
+	_ZTV27CMusEngSessionDurationTimer @ 217 NONAME
+	_ZTV28MCenRepNotifyHandlerCallback @ 218 NONAME
+	_ZTV4CSIP @ 219 NONAME
+	_ZTV9DRMCommon @ 220 NONAME
+	_ZThn4_N11CSIPProfileD0Ev @ 221 NONAME
+	_ZThn4_N11CSIPProfileD1Ev @ 222 NONAME
 
--- a/mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengsession.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengsession.h	Thu Aug 19 09:51:39 2010 +0300
@@ -68,7 +68,8 @@
         void UT_RectL();
         void UT_SetRectLL();
         void UT_AudioRoutingCanBeChangedL();
-        void UT_AudioOutputIsBTL();
+		void UT_IsAudioRoutingHeadsetL();
+        void UT_IsAudioRoutingLoudSpeakerL();
         void UT_EnableLoudspeakerLL();
         void UT_IsLoudSpeakerEnabledL();
         void UT_VolumeLL();
--- a/mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengtelephoneutils.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshengine/tsrc/ut_engine/inc/ut_musengtelephoneutils.h	Thu Aug 19 09:51:39 2010 +0300
@@ -63,7 +63,8 @@
         
         void UT_NewLL();
         void UT_AudioRoutingCanBeChangedL();
-        void UT_AudioOutputIsBTL();
+        void UT_IsAudioRoutingHeadsetL();
+        void UT_IsAudioRoutingLoudSpeakerL();
         void UT_LoudspeakerLL();
         void UT_IsLoudSpeakerEnabledL();
         void UT_GetVolumeLL();
--- a/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengsession.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengsession.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -209,38 +209,64 @@
 //
 // -----------------------------------------------------------------------------
 //	
-void UT_CMusEngSession::UT_AudioOutputIsBTL()
+void UT_CMusEngSession::UT_IsAudioRoutingHeadsetL()
     {
     iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
                   CTelephonyAudioRouting::EBTAudioAccessory;
-	EUNIT_ASSERT( iLiveSession->AudioOutputIsBT() );
+	EUNIT_ASSERT( iLiveSession->IsAudioRoutingHeadset() );
     
     iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
                   CTelephonyAudioRouting::ENotActive;
-    EUNIT_ASSERT( !iLiveSession->AudioOutputIsBT());
+    EUNIT_ASSERT( !iLiveSession->IsAudioRoutingHeadset());
     
     iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
                   CTelephonyAudioRouting::ENone;
-    EUNIT_ASSERT( !iLiveSession->AudioOutputIsBT());
+    EUNIT_ASSERT( !iLiveSession->IsAudioRoutingHeadset());
     
     iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
                   CTelephonyAudioRouting::EHandset;
-    EUNIT_ASSERT( !iLiveSession->AudioOutputIsBT());
+    EUNIT_ASSERT( !iLiveSession->IsAudioRoutingHeadset());
     
     iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
                   CTelephonyAudioRouting::ELoudspeaker;
-    EUNIT_ASSERT( !iLiveSession->AudioOutputIsBT());
+    EUNIT_ASSERT( !iLiveSession->IsAudioRoutingHeadset());
     
     iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
                   CTelephonyAudioRouting::EWiredAudioAccessory;
-    EUNIT_ASSERT( !iLiveSession->AudioOutputIsBT());
+    EUNIT_ASSERT( iLiveSession->IsAudioRoutingHeadset());
     
     iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
                   CTelephonyAudioRouting::ETTY;
-    EUNIT_ASSERT( !iLiveSession->AudioOutputIsBT());
+    EUNIT_ASSERT( !iLiveSession->IsAudioRoutingHeadset());
     
     }
 
+void UT_CMusEngSession::UT_IsAudioRoutingLoudSpeakerL()
+	{
+	iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
+	              CTelephonyAudioRouting::ELoudspeaker;
+	iLiveSession->iTelephoneUtils->iAudioOutputAtStartup = 
+			      CTelephonyAudioRouting::ELoudspeaker;
+	EUNIT_ASSERT( !iLiveSession->IsAudioRoutingLoudSpeaker());
+	
+	iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
+				  CTelephonyAudioRouting::ELoudspeaker;
+	iLiveSession->iTelephoneUtils->iAudioOutputAtStartup = 
+			      CTelephonyAudioRouting::EHandset;
+	EUNIT_ASSERT( iLiveSession->IsAudioRoutingLoudSpeaker() );
+	
+	iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
+				  CTelephonyAudioRouting::ELoudspeaker;
+	iLiveSession->iTelephoneUtils->iAudioOutputAtStartup = 
+    		      CTelephonyAudioRouting::EBTAudioAccessory;
+    EUNIT_ASSERT( iLiveSession->IsAudioRoutingLoudSpeaker() );
+		
+    iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
+                  CTelephonyAudioRouting::ELoudspeaker;
+    iLiveSession->iTelephoneUtils->iAudioOutputAtStartup = 
+    		      CTelephonyAudioRouting::EWiredAudioAccessory;
+    EUNIT_ASSERT( iLiveSession->IsAudioRoutingLoudSpeaker() );
+	}
 
 // -----------------------------------------------------------------------------
 //
@@ -522,13 +548,20 @@
     SetupL, UT_AudioRoutingCanBeChangedL, Teardown)
 
 EUNIT_TEST(
-    "AudioOutputIsBT - test ",
+    "IsAudioRoutingHeadsetL - test ",
     "CMusEngSession",
-    "AudioOutputIsBT",
+    "IsAudioRoutingHeadsetL",
     "FUNCTIONALITY",
-    SetupL, UT_AudioOutputIsBTL, Teardown)
+    SetupL, UT_IsAudioRoutingHeadsetL, Teardown)
     
 EUNIT_TEST(
+    "IsAudioRoutingLoudSpeakerL - test ",
+    "CMusEngSession",
+    "IsAudioRoutingLoudSpeakerL",
+    "FUNCTIONALITY",
+    SetupL, UT_IsAudioRoutingLoudSpeakerL, Teardown)
+
+EUNIT_TEST(
     "EnableLoudspeakerL - test ",
     "CMusEngSession",
     "EnableLoudspeakerL",
--- a/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengtelephoneutils.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengtelephoneutils.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -168,39 +168,64 @@
 //
 // -----------------------------------------------------------------------------
 //	   
-void UT_CMusEngTelephoneUtils::UT_AudioOutputIsBTL()
+void UT_CMusEngTelephoneUtils::UT_IsAudioRoutingHeadsetL()
     {
     iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
                   CTelephonyAudioRouting::EBTAudioAccessory;
-    EUNIT_ASSERT( iTelephoneUtils->AudioOutputIsBT());
+    EUNIT_ASSERT( iTelephoneUtils->IsAudioRoutingHeadset());
     
     iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
                   CTelephonyAudioRouting::ENotActive;
-    EUNIT_ASSERT( !iTelephoneUtils->AudioOutputIsBT() );
+    EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingHeadset() );
        
     iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
                   CTelephonyAudioRouting::ENone;
-    EUNIT_ASSERT( !iTelephoneUtils->AudioOutputIsBT() );
+    EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingHeadset() );
     
     iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
                   CTelephonyAudioRouting::EHandset;
-    EUNIT_ASSERT( !iTelephoneUtils->AudioOutputIsBT() );
+    EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingHeadset() );
     
     iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
                   CTelephonyAudioRouting::ELoudspeaker;
-    EUNIT_ASSERT( !iTelephoneUtils->AudioOutputIsBT() );
+    EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingHeadset() );
     
     iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
                   CTelephonyAudioRouting::EWiredAudioAccessory;
-    EUNIT_ASSERT( !iTelephoneUtils->AudioOutputIsBT() );
+    EUNIT_ASSERT( iTelephoneUtils->IsAudioRoutingHeadset() );
     
     iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
                   CTelephonyAudioRouting::ETTY;
-    EUNIT_ASSERT( !iTelephoneUtils->AudioOutputIsBT() );
+    EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingHeadset() );
             
     }
 
-
+void UT_CMusEngTelephoneUtils::UT_IsAudioRoutingLoudSpeakerL()
+	{
+	iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
+	              CTelephonyAudioRouting::ELoudspeaker;
+	iTelephoneUtils->iAudioOutputAtStartup = 
+			      CTelephonyAudioRouting::ELoudspeaker;
+	EUNIT_ASSERT( !iTelephoneUtils->IsAudioRoutingLoudSpeaker());
+	
+	iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
+				  CTelephonyAudioRouting::ELoudspeaker;
+	iTelephoneUtils->iAudioOutputAtStartup = 
+			      CTelephonyAudioRouting::EHandset;
+	EUNIT_ASSERT( iTelephoneUtils->IsAudioRoutingLoudSpeaker() );
+	
+	iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
+				  CTelephonyAudioRouting::ELoudspeaker;
+    iTelephoneUtils->iAudioOutputAtStartup = 
+    		      CTelephonyAudioRouting::EBTAudioAccessory;
+    EUNIT_ASSERT( iTelephoneUtils->IsAudioRoutingLoudSpeaker() );
+		
+    iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
+                  CTelephonyAudioRouting::ELoudspeaker;
+    iTelephoneUtils->iAudioOutputAtStartup = 
+    		      CTelephonyAudioRouting::EWiredAudioAccessory;
+    EUNIT_ASSERT( iTelephoneUtils->IsAudioRoutingLoudSpeaker() );
+	}
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
@@ -618,11 +643,18 @@
     SetupL, UT_AudioRoutingCanBeChangedL, Teardown)
 
 EUNIT_TEST(
-    "AudioOutputIsBT - test ",
+    "IsAudioRoutingHeadset - test ",
     "CMusEngTelephoneUtils",
-    "AudioOutputIsBT",
+    "IsAudioRoutingHeadset",
     "FUNCTIONALITY",
-    SetupL, UT_AudioOutputIsBTL, Teardown)
+    SetupL, UT_IsAudioRoutingHeadsetL, Teardown)
+    
+EUNIT_TEST(
+    "IsAudioRoutingLoudSpeaker - test ",
+    "CMusEngTelephoneUtils",
+    "IsAudioRoutingLoudSpeaker",
+    "FUNCTIONALITY",
+    SetupL, UT_IsAudioRoutingLoudSpeakerL, Teardown)    
     
 EUNIT_TEST(
     "LoudspeakerL - test ",
--- a/mmsharing/mmshmanagercli/inc/musmanagerclientsession.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshmanagercli/inc/musmanagerclientsession.h	Thu Aug 19 09:51:39 2010 +0300
@@ -81,6 +81,8 @@
 private: // data
 
     TVersion Version() const;
+    
+    TRequestStatus iSessionCreationStatus;
     };
 
 
--- a/mmsharing/mmshmanagercli/src/musmanagerclientsession.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshmanagercli/src/musmanagerclientsession.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -31,8 +31,10 @@
 */
 #define ASYNCHRONOUS_MESSAGE_SLOTS 255
 
+const TInt KMusServerSessionCreationWaitTimeoutInMicrosecs = 10000000; // 10 secs
+
 // ======== LOCAL FUNCTIONS ========
-
+      
 // ---------------------------------------------------------------------------
 //
 // ---------------------------------------------------------------------------
@@ -40,21 +42,49 @@
 RMusManagerClientSession::RMusManagerClientSession()
     : RSessionBase ()
     {
-
     }
 
+
 // ---------------------------------------------------------------------------
-//
+// Use timeout mechanism for session creation as otherwise it can block
+// so long that WServ terminates the process. There's no way to cancel
+// session creation other than destuction of client session. Therefore, in case
+// of timeout, leave and let creation finish silently or get canceled when
+// user of client session object deletes us.
 // ---------------------------------------------------------------------------
 //
 void RMusManagerClientSession::ConnectL()
     {
-    MUS_LOG( "mus: [MUSCLI]  -> RMusManagerClientSession::ConnectL()" );
-    TRequestStatus s;
+    MUS_LOG( "mus: [MUSCLI]  -> RMusManagerClientSession::ConnectL(), with timeout" );
+
+    if ( iSessionCreationStatus.Int() == KRequestPending )
+        {
+        // Previous creation still pending
+        User::Leave( KErrNotReady );
+        }
+    
+    RTimer timer;
+    CleanupClosePushL( timer );
+    User::LeaveIfError( timer.CreateLocal() );
+    
     User::LeaveIfError( CreateSession( KMusManagerServerName(), Version(),
-                                             ASYNCHRONOUS_MESSAGE_SLOTS, &s ) );
-
-    User::WaitForRequest( s );
+                            ASYNCHRONOUS_MESSAGE_SLOTS, &iSessionCreationStatus) );
+    TRequestStatus timeoutStatus;
+    timer.After( timeoutStatus, KMusServerSessionCreationWaitTimeoutInMicrosecs );
+    User::WaitForRequest( iSessionCreationStatus, timeoutStatus );
+    if ( timeoutStatus.Int() != KRequestPending )
+        {
+        MUS_LOG( "mus: [MUSCLI]  RMusManagerClientSession::ConnectL, timeout" );
+        User::Leave( KErrTimedOut );
+        } 
+    else
+        {
+        MUS_LOG( "mus: [MUSCLI]  RMusManagerClientSession::ConnectL, no timeout" );
+        timer.Cancel();
+        User::WaitForRequest( timeoutStatus );
+        }
+    CleanupStack::PopAndDestroy( &timer );
+    
     MUS_LOG( "mus: [MUSCLI]  <- RMusManagerClientSession::ConnectL()" );
     }
 
--- a/mmsharing/mmshmanagercli/src/musmanagerserverstarter.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshmanagercli/src/musmanagerserverstarter.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -21,6 +21,8 @@
 #include "musmanageripccommon.h"
 #include "muslogger.h"
 
+const TInt KMusServerClosingWaitTimeoutInMicrosecs = 10000000; // 10 secs
+
 // ----------------------------------------------------------------------------
 // MusManagerServerStarter::Start
 // ----------------------------------------------------------------------------
@@ -84,12 +86,18 @@
     RSemaphore closingSemaphore;
     if ( closingSemaphore.OpenGlobal( KMusManagerServerClosingSemaphoreName ) == KErrNone )
         {
-        MUS_LOG( "mus: [MUSCLI]     Server is currently closing, wait" );
+        MUS_LOG( "mus: [MUSCLI]     CreateServerProcess, wait for server closing" );
         // Don't wait forever if server is somehow horribly jammed
-        const TInt KMusServerClosingWaitTimeoutInMicrosecs = 20000000; // 20 secs
-        closingSemaphore.Wait(KMusServerClosingWaitTimeoutInMicrosecs);
+        
+        TInt waitErr = closingSemaphore.Wait( KMusServerClosingWaitTimeoutInMicrosecs );
+        MUS_LOG1( "mus: [MUSCLI]    CreateServerProcess, waitErr( %d )",
+                  waitErr );
+        closingSemaphore.Close();
+        if ( waitErr != KErrNone )
+            {
+            return waitErr;
+            }
         }
-    closingSemaphore.Close();
     
     const TUidType serverUid( KNullUid, KNullUid, KServerUid3 );
     RProcess server;
--- a/mmsharing/mmshmanagersrv/inc/musavailabilitypluginmanager.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshmanagersrv/inc/musavailabilitypluginmanager.h	Thu Aug 19 09:51:39 2010 +0300
@@ -151,6 +151,8 @@
 	virtual void AvailabilityError( 
 		TAvailabilityName aName, TAvailabilityStatus aStatus );
 	
+	virtual void AvailabilitiesAbleToShowIndicator();
+	
 
     public:  //from MMusAvaSettingsObserver
     
--- a/mmsharing/mmshmanagersrv/src/musavailabilitypluginmanager.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshmanagersrv/src/musavailabilitypluginmanager.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -306,6 +306,21 @@
         AvailabilityChanged()" )	
     }
 
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+ void CMusAvailabilityPluginManager::AvailabilitiesAbleToShowIndicator()
+	{
+	    TInt err = 0;
+		TRAP( err, IndicateAvailabilityL() );
+		if ( err )
+			{
+			// Not sure about what to do. Very rare situation.
+			MUS_LOG1( "mus: [MUSSRV] AvailabilitiesAbleToShowIndicator() leave code: %d",err )
+			}
+	}
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
@@ -747,8 +762,8 @@
             {
             MUS_LOG( "mus: [MUSSRV]    Create indicator" )
             iIndicator = CMusIndicatorApi::NewL( *this );
-            iIndicator->IndicateAvailabilityL();
             }
+        iIndicator->IndicateAvailabilityL();
         iApplicationManager.SetIndicatorStatusL( ETrue );
         }
     else
--- a/mmsharing/mmshui/data/musui.rss	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshui/data/musui.rss	Thu Aug 19 09:51:39 2010 +0300
@@ -969,6 +969,17 @@
                     };
                 };
             },
+	
+	//****************************************************************** //
+        TBAR_CTRL
+            {
+            type = EAknCtButton;
+            id = EMusuiCmdToolbarBlank;
+            control = AVKON_BUTTON
+                {
+                flags = KAknButtonSizeFitText;
+                };
+            },
            
         // ****************************************************************** //
         
@@ -1604,6 +1615,12 @@
     buf = qtn_hf_conf_activate;
     }
 
+RESOURCE TBUF r_mus_note_hf_deactivated
+    {
+    // "Handsfree deactivated"
+    buf = qtn_hf_conf_earpiece;
+    }
+
 RESOURCE SLIDER r_mus_slider_vertical
     {        
     layout=EAknSliderLayoutVertical;    
--- a/mmsharing/mmshui/inc/musui.hrh	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshui/inc/musui.hrh	Thu Aug 19 09:51:39 2010 +0300
@@ -71,6 +71,7 @@
     EMusuiCmdToolbarBrightness,
     EMusuiCmdToolbarMute,
     EMusuiCmdToolbarUnmute,
+    EMusuiCmdToolbarBlank,
     EMusuiCmdToolbarSpeakerOff,
     EMusuiCmdToolbarSpeakerOn,
     EMusuiCmdToolbarGallery,
--- a/mmsharing/mmshui/inc/musuieventcontroller.h	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshui/inc/musuieventcontroller.h	Thu Aug 19 09:51:39 2010 +0300
@@ -316,6 +316,10 @@
     */
     TBool IsDisplayEnabledL();
     
+    /**
+     * 
+     */
+    TBool IsAudioRoutingLoudSpeaker();
 
 protected:    // New functions
 
@@ -424,7 +428,12 @@
     */
     TMusUiShutdownState iShutdownState;
     
+    /**
+	* Flag indicating whether show "loudspeaker deactived"
+	*/
+    TBool iShowDialog;
     
+   
 private:
 	
     /**
--- a/mmsharing/mmshui/src/musuiappui.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshui/src/musuiappui.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -52,7 +52,8 @@
 void CMusUiAppUi::ConstructL()
     {
     MUS_LOG( "mus: [MUSUI ]  -> CMusUiAppUi::ConstructL" );
-    BaseConstructL( EAknEnableSkin | EAppOrientationAutomatic | EAknEnableMSK );
+    BaseConstructL( EAknEnableSkin | EAppOrientationAutomatic | EAknEnableMSK 
+    		      | EAknSingleClickCompatible );
     
     iResourceHandler = CMusUiResourceHandler::NewL( *this );
     MultimediaSharing::TMusUseCase usecase = MusUiStartController::ReadUseCaseL();
--- a/mmsharing/mmshui/src/musuiclipsharingcontroller.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshui/src/musuiclipsharingcontroller.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -115,7 +115,7 @@
     iSession->SetAudioRoutingObserver( this );
     iSession->SetVolumeChangeObserver( this );
     
-    if ( iSession->AudioRoutingCanBeChanged() && !iSession->AudioOutputIsBT() )
+    if ( iSession->AudioRoutingCanBeChanged() && !iSession->IsAudioRoutingHeadset() )
         {
         iSession->EnableLoudspeakerL( ELoudspeakerEnabled, ETrue );
         }
@@ -232,7 +232,6 @@
     MUS_LOG( "mus: [MUSUI ]  -> CMusUiClipSharingController::DeleteEngineSession" );
     
     CMusUiSendController::DeleteEngineSession();
-    
     // Cancel transcoding
     if ( iSession && iTranscodingGoing )
         {
@@ -243,10 +242,12 @@
                                 R_MUS_VIEW_NOTE_UNABLE_TO_CONVERT );
                      iSession->CancelTranscodeL() );
         }
-        
+    if ( iSession && iSession->IsAudioRoutingLoudSpeaker() )
+	    {
+	    iShowDialog = ETrue; 
+	    }
     delete iSession;
-    iSession = NULL;
-    
+    iSession = NULL;    
     MUS_LOG( "mus: [MUSUI ]  <- CMusUiClipSharingController::DeleteEngineSession" );
 	}
 
--- a/mmsharing/mmshui/src/musuiclipsharingview.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshui/src/musuiclipsharingview.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -29,6 +29,7 @@
 #include "muslogger.h" // debug logging
 #include <musui.rsg>
 #include <musui.mbg>
+#include "musuidialogutil.h"
 
 #include <aknViewAppUi.h>
 #include <avkon.hrh>
@@ -304,7 +305,8 @@
              !AknLayoutUtils::PenEnabled() )
             {
             aToolbar->SetFocusedItemL( EMusuiCmdToolbarPause );
-            }                               
+            }    
+    	Toolbar()->RemoveItem( EMusuiCmdToolbarBlank );
         }
             
     // Last generic base class functionality
@@ -329,6 +331,11 @@
         }
     else
         {
+		if ( SendController() && SendController()->IsAudioRoutingLoudSpeaker() )
+            {
+            MusUiDialogUtil::ShowGlobalInformationDialogL(
+                             R_MUS_NOTE_HF_DEACTIVATED );
+            }
         MusAppUi()->HandleExit();
         }
     MUS_LOG( "mus: [MUSUI ]  <- CMusUiClipSharingView::RunFetchDialogL" );
--- a/mmsharing/mmshui/src/musuieventcontroller.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshui/src/musuieventcontroller.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -173,7 +173,9 @@
     : iEventObserver( aEventObserver ),
       iSharingObserver( aSharingObserver ),
 	  iForeground( ETrue ),
-	  iActiveCall( ETrue )      
+	  iShowDialog( EFalse ),
+	  iActiveCall( ETrue )
+	  
     {
     }
 
@@ -545,7 +547,6 @@
 void CMusUiEventController::HandleExitL( TBool aTerminateCall )
     {
     MUS_LOG( "mus: [MUSUI ]  -> CMusUiEventController::HandleExitL" );
-    
     if ( iShutdownState == EMusUiShutdownNotDefined )
         {
         iShutdownState = EMusUiShutdownStarted;
@@ -575,7 +576,11 @@
         // This must be done before showing the end note, because showing of
         // note may cause the session to continue for extra few seconds.
         DeleteEngineSession();
-
+        if ( iShowDialog )
+        	{
+            MusUiDialogUtil::ShowGlobalInformationDialogL( 
+            		                 R_MUS_NOTE_HF_DEACTIVATED );
+        	}
         // Sharing Ended note
         MusUiDialogUtil::ShowGlobalInformationDialogL( 
                                 R_MUS_LIVE_SHARING_VIEW_NOTE_SHARING_ENDED );
@@ -753,6 +758,21 @@
     return ret;   
     }
 
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+TBool CMusUiEventController::IsAudioRoutingLoudSpeaker()
+	{
+    MUS_LOG( "mus: [MUSUI ]  -> CMusUiEventController::IsAudioRoutingLoudSpeaker" );
+    TBool ret = EFalse;
+    if ( EngineSession() )
+        {
+        ret = EngineSession()->IsAudioRoutingLoudSpeaker();
+        }
+    MUS_LOG1( "mus: [MUSUI ]  <- CMusUiEventController::IsAudioRoutingLoudSpeaker, %d", ret );
+    return ret;   
+	}
 
 // -----------------------------------------------------------------------------
 //
--- a/mmsharing/mmshui/src/musuilivesharingcontroller.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshui/src/musuilivesharingcontroller.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -115,7 +115,7 @@
     iSession->SetAudioRoutingObserver( this );
     iSession->SetVolumeChangeObserver( this );
         
-    if ( iSession->AudioRoutingCanBeChanged() && !iSession->AudioOutputIsBT() )
+    if ( iSession->AudioRoutingCanBeChanged() && !iSession->IsAudioRoutingHeadset() )
         {
         iSession->EnableLoudspeakerL( ELoudspeakerEnabled, ETrue );
         }
@@ -185,7 +185,10 @@
 void CMusUiLiveSharingController::DeleteEngineSession()
     {
     CMusUiSendController::DeleteEngineSession();
-    
+    if ( iSession && iSession->IsAudioRoutingLoudSpeaker() )
+	    {
+	    iShowDialog = ETrue; 
+	    }
     delete iSession;
     iSession = NULL;
     }
--- a/mmsharing/mmshui/src/musuilivesharingview.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshui/src/musuilivesharingview.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -408,7 +408,8 @@
              !AknLayoutUtils::PenEnabled() )
             {
             aToolbar->SetFocusedItemL( EMusuiCmdToolbarPauseLive );
-            }                                
+            }     
+        Toolbar()->RemoveItem( EMusuiCmdToolbarBlank );
         }
                         
     // Last generic base class functionality
--- a/mmsharing/mmshui/src/musuireceivecontroller.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshui/src/musuireceivecontroller.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  Application's UI class.
-*  Version     : %version:  be1sipx1#75.1.14 % << Don't touch! Updated by Synergy at check-out.
+*  Version     : %version:  be1sipx1#75.1.17 % << Don't touch! Updated by Synergy at check-out.
 *
 */
 
@@ -268,7 +268,7 @@
         HandleError( errorPrivacyStatus );
         }
         
-    if ( privacyStatus == 1 )
+    if ( privacyStatus == 1 && !iOperatorSpecificFunctionality )
       {
        MUS_LOG( "mus: [MUSUI ]  Call is from private number" )
        iOriginator = KPrivateNumber().AllocL();
@@ -287,7 +287,7 @@
     
     // Display the query dialog:
     
-    if ( privacyStatus == 1 )
+    if ( privacyStatus == 1 && !iOperatorSpecificFunctionality )
         {
         iReceiveObserver.ShowInvitationQueryL( *iOriginator );
         }  
@@ -428,6 +428,10 @@
 void CMusUiReceiveController::DeleteEngineSession()
     {
     MUS_LOG( "mus: [MUSUI ]  -> CMusUiReceiveController::DeleteEngineSession" );
+    if ( iSession && iSession->IsAudioRoutingLoudSpeaker() )
+	    {
+	    iShowDialog = ETrue; 
+	    }
     delete iSession;
     iSession = NULL;
     MUS_LOG( "mus: [MUSUI ]  <- CMusUiReceiveController::DeleteEngineSession" );
@@ -673,7 +677,7 @@
     
     // Enable loud speaker already before answering but disable it immediately
     // if accepting fails for some reason
-    if ( iSession->AudioRoutingCanBeChanged() && !iSession->AudioOutputIsBT() )
+    if ( iSession->AudioRoutingCanBeChanged() && !iSession->IsAudioRoutingHeadset() )
         {
         iSession->EnableLoudspeakerL( ELoudspeakerEnabled, ETrue );
         }
--- a/mmsharing/mmshui/src/musuireceiveview.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshui/src/musuireceiveview.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -300,6 +300,8 @@
         {
         aToolbar->SetFocusedItemL( EMusuiCmdToolbarFullScreen );
         }
+		
+    Toolbar()->RemoveItem( EMusuiCmdToolbarBlank );
     
     // Last generic base class functionality
     CMusUiGeneralView::DynInitToolbarL( aResourceId, aToolbar );
--- a/mmsharing/mmshui/src/musuisendview.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmsharing/mmshui/src/musuisendview.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -70,7 +70,12 @@
         SendController()->InviteL( address );
         }
     else
-        {
+        {  
+        if ( SendController() && SendController()->IsAudioRoutingLoudSpeaker() )
+            {
+            MusUiDialogUtil::ShowGlobalInformationDialogL( 
+					 R_MUS_NOTE_HF_DEACTIVATED );
+            }
         MusUiDialogUtil::ShowGlobalInformationDialogL( 
                             R_MUS_LIVE_SHARING_VIEW_NOTE_SHARING_ENDED );
         MusAppUi()->HandleExit();
--- a/mmshplugins/mmshaoplugin/src/muscallconferenceeventmonitor.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmshplugins/mmshaoplugin/src/muscallconferenceeventmonitor.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -113,6 +113,7 @@
                  SetStateL( NMusSessionInformationApi::EConferenceCall ); 
                  break;
             case RMobileConferenceCall::EConferenceTerminated:
+                 SetStateL( NMusSessionInformationApi::EConferenceTerminated );
                  MonitorCallL();
                  break;
             case RMobileConferenceCall::EConferenceSwapped:
@@ -179,6 +180,14 @@
     else
         {
          // No point of reporting it .
+         //EConferenceTerminated must be set every time to notify avaeventmonitor
+        if ( aVal == NMusSessionInformationApi::EConferenceTerminated )
+        	{
+			User::LeaveIfError(RProperty::Set( NMusSessionInformationApi::KCategoryUid,
+						 NMusSessionInformationApi::KMusCallEvent,
+						 aVal ));  
+        	}
+    
         }    
     MUS_LOG( "mus: [MUSAO]  <- CMusCallConferenceEventMonitor::SetStateL" )    
     }
--- a/mmshplugins/mmshaoplugin/src/muscallmonitorbase.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmshplugins/mmshaoplugin/src/muscallmonitorbase.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -80,6 +80,16 @@
         User::LeaveIfError(RProperty::Get( NMusSessionInformationApi::KCategoryUid,
                             NMusSessionInformationApi::KMusCallEvent,currentVal));
         MUS_LOG1( "mus: [MUSAO]  - Remote State = %d",iRemoteCallEvent )
+        
+        
+        /*
+         If Call is Connected then set the Call info.
+         */
+        if( aVal==NMusSessionInformationApi::ECallConnected ) 
+            {
+            SetCallInfoL();
+            }
+        
         /* If current event is callconnected and remote is not in hold set the
            property value to CallConnected.Else set it to CallHold.
            Note : We can be sure about Local is connected when it goes to
@@ -125,14 +135,7 @@
                                              ( TInt ) NMusSessionInformationApi::ENoCall ));
                     }
             }
-        /*
-         If Call is Connected then set the Call info.
-         */
-        if( aVal==NMusSessionInformationApi::ECallConnected ) 
-            {
-            SetCallInfoL();
-            }
-        
+
         }   
  
     MUS_LOG( "mus: [MUSAO]  <- CMusCallMonitorBase::SetStateL" )    
--- a/mmshplugins/mmshaoplugin/src/muspropertymonitor.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmshplugins/mmshaoplugin/src/muspropertymonitor.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -111,7 +111,11 @@
         case NMusSessionInformationApi::ENoCall:
              MUS_LOG( "mus: [MUSAO]  CallEvent  = ENoCall" )
              StopMusClient();
-             break;        
+             break;     
+        case NMusSessionInformationApi::EConferenceTerminated:
+             MUS_LOG( "mus: [MUSAO]  CallEvent  = EConferenceTerminated" ) 
+             break;
+        
         default:
              MUS_LOG( "mus: [MUSAO]  CallEvent  = default. Treated ENoCall" )
              StopMusClient();
--- a/mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muscallconferenceeventmonitor.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muscallconferenceeventmonitor.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -164,14 +164,13 @@
                      val );
     EUNIT_ASSERT( val==NMusSessionInformationApi::EConferenceCall);
 
-    RTelHelper::SetConfEvent( RMobileConferenceCall::EConferenceTerminated );
-    iConferenceCallEventMonitor->SetStateL( NMusSessionInformationApi::ENoCall );                               
+    RTelHelper::SetConfEvent( RMobileConferenceCall::EConferenceTerminated );                               
     iConferenceCallEventMonitor->Cancel(); // Cancel the active object    
     iConferenceCallEventMonitor->RunL();
     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
                      NMusSessionInformationApi::KMusCallEvent,
                      val );
-    EUNIT_ASSERT( val==NMusSessionInformationApi::ENoCall);
+    EUNIT_ASSERT( val==NMusSessionInformationApi::EConferenceTerminated);
 
     RTelHelper::SetConfEvent( RMobileConferenceCall::EConferenceSwapped );
     iConferenceCallEventMonitor->SetStateL( NMusSessionInformationApi::ENoCall );                               
--- a/mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muspropertymonitor.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muspropertymonitor.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -133,7 +133,7 @@
     iMusPropertyMonitor->RunL();
     EUNIT_ASSERT( iMusPropertyMonitor->iManager );
     
-    iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::ECallConnected;
+    iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::EConferenceTerminated;
     iMusPropertyMonitor->Cancel();
     iMusPropertyMonitor->RunL();
     EUNIT_ASSERT( iMusPropertyMonitor->iManager );
--- a/mmshplugins/mmshsettingsuiplugin/src/mussettingscontainer.cpp	Thu Jul 15 18:35:08 2010 +0300
+++ b/mmshplugins/mmshsettingsuiplugin/src/mussettingscontainer.cpp	Thu Aug 19 09:51:39 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  Container for MUSSettingsPlugin.
-*  Version     : %version: 21 % << Don't touch! Updated by Synergy at check-out.
+*  Version     : %version: be1sipx1#22 % << Don't touch! Updated by Synergy at check-out.
 *
 */
 
@@ -88,6 +88,7 @@
     delete iActivationItems;
     delete iProfileItems;
     delete iAutoRecordItems;
+    delete iNoteItems;
     delete iListboxItemArray;
     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::~CMusSettingsContainer()" )
     }
@@ -117,6 +118,9 @@
     iProfileItems = iCoeEnv->ReadDesC16ArrayResourceL(
     	R_SIP_PROFILE_SETTING_PAGE_LBX );
 
+    iNoteItems = iCoeEnv->ReadDesC16ArrayResourceL(
+							R_VS_AUDIO_SETTING_PAGE_LBX );
+    
     CreateListBoxItemsL();
 
     // Operator variant mode needs some item should not be visible to user.
@@ -388,7 +392,7 @@
                                     MusSettingsKeys::EAuditoryNotificationOff );
         }
 
-    AddItemL( KGSSettIdNote, ( *iActivationItems )[ auditoryNotification ] );
+    AddItemL( KGSSettIdNote, ( *iNoteItems )[ auditoryNotification ] );
 	
     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::MakeNoteItemL()" )
     }