How to Mute a Ringing tone in 3rd edition Devices?
Article Metadata
When a call arrives, its ringing tone can be muted with Phone Client Extension API, part of the API extension plug-in package for S60 3rd Edition.
3rd party Telephony API (CTelephony) can be used for observing incoming call events.
Required Capabilities:WriteDeviceData
Header File
#include <RPhCltServer.h> // link against PhoneClient.lib
#include <PhCltExt.h> // link against PhoneClientExt.lib
...
RPhCltServer iPhoneClientServer;
RLibrary iLibrary;
CPhCltCommandHandler* iPhCommandHandler;
Source File
_LIT(KPhoneCltExDllName, "PhoneClientExt.dll");
User::LeaveIfError( iPhoneClientServer.Connect() );
User::LeaveIfError( iLibrary.Load(KPhoneCltExDllName) );
TInt res = iLibrary.Lookup(1)();
CPhCltExtFactory* phCltExtFactory = reinterpret_cast<CPhCltExtFactory*>( res );
iPhCommandHandler = phCltExtFactory->CPhCltCommandHandlerLD();
User::LeaveIfError( iPhCommandHandler->Open(iPhoneClientServer) );
// Mute an ongoing ringing tone. This should be done inside an active object
// (a class derived from CActive)
iPhCommandHandler->MuteRingingTone( iStatus );
SetActive();


I've found using this API that the ring tone is silenced, but the Vibration is turned off too - is there any way to silence the ringing but maintain the vibration as per the phone's setting?