Archived:How to mute a ringing tone on S60 3rd Edition devices
Archived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.
Article Metadata
Compatibility
Platform(s): S60 3rd Edition,
S60 3rd Edition, FP1
S60 3rd Edition, FP1
Article
Created: User:Technical writer 2
(21 May 2007)
Last edited: lpvalente
(23 Nov 2012)
Contents |
Overview
This article describes how to mute a ringing tone on S60 3rd Edition devices.
Description
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.
The 3rd party Telephony API (CTelephony) can be used for observing incoming call events.
Extensions plug-in package for S60 3rd Edition SDK for Symbian OS, for C++, MR Extensions plug-in package for S60 3rd Edition SDK for Symbian OS, for C++, supporting FP1
Solution
The below code shows how to load the PhoneClientExt DLL and how to construct and use a command handler (CPhCltCommandHandler) to mute a ringing tone.
Required capability: 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();
See also
How to mute/unmute the microphone on S60 3rd Edition devices


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?
Thank you for your feedback. Unfortunately there is no way to silence the ringing and maintain the vibration. However, there is a separate API for vibra functionality, so it is possible to monitor the line status and activate the vibration whenever the status is ringing.
Forum Nokia KB 13:16, 30 October 2007 (EET)