Join Now
Quality Rating:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)
Expertise Level:
  • Currently 3.5 / 5
(3.5 / 5 - 2 votes cast)

This page was last modified 14:43, 31 March 2008.

Phone Client Extension API

From Forum Nokia Wiki

Note!
This API is not part of the public SDK. It can be found in the SDK API Plug-in.


Purpose

The general purpose of using Phone Client Extension API is for performing Voice Call related functionalities like muting/unmuting microphone during a call, muting the default ringtone when phone ringing starts. Apart from these, the phone client extension API can also be used for general voice call functionalities like Answer an incoming call, hold up/ resume, hangup call, call transfer, basic Multiparty call. This can also be used to handle VoIP calls.

Phone Client Extension does not provide apis for removing a participant from basic multi party conversation.

To have more control over mutiparty conversation, for example to remove a single participant from multiparty conversation, we have to implement call dialing part with CTelephony. So that we can track individual call with their call ids and removing a particular participant can be easily done with CTelephony Hangup.

Use cases

How to build an application to implement code which does mute the default ring tone and mute/un mute the microphone volume of the phone,basic Call transfer and Multi party conversation.

Sample application is attached which can be used to answer, hangup/resume and hold VoIP calls using phone client extension apis.

Example code

Header files: PhCltExt.h, RPhCltServer.h
Libraries: Phoneclient.LIB


_LIT( KPhCltExtLib, "PhoneClientExt.dll" );
 RLibrary                    iLibrary;
 CPhCltExtFactory*           iFactory = NULL; // Factory class for creating command handler
 User::LeaveIfError( iLibrary.Load( KPhCltExtLib ) ); // Load PhoneClientExt  dll
 TInt res = 0; TInt err=0;
 TRAP(err,res = iLibrary.Lookup( 1 )());
 if ( !err )
 {// Factory creation was successful.
        iFactory = reinterpret_cast< CPhCltExtFactory * >( res );}
 
 CPhCltCommandHandler*       iCommandHandler = NULL;
 if ( iFactory )
        {// Factory creation was successful, create Command Handler.
            iCommandHandler = iFactory->CPhCltCommandHandlerLD();
        }
 RPhCltServer iPhoneClient;
 User::LeaveIfError ( iPhoneClient.Connect() ); //connect to Phone Server
 iCommandHandler->Open( iPhoneClient );
 
 // Muting the default ringing tone
 TRequestStatus status;
 iCommandHandler->MuteRingingTone(status);
 User::WaitForRequest(status);
 
 // For Muting microphone volume
 TRequestStatus status;
 iCommandHandler->MuteMicrophone( status,ETrue);
 User::WaitForRequest(status);
 
 // For Un muting microphone volume
 TRequestStatus status;
 iCommandHandler->MuteMicrophone( status,EFalse);
 User::WaitForRequest(status);
  
 //For Adding new call
 //EPhCltChldThree Add a held call to the conversation.
 //This Code adds a participant to Multi party conversation 
 iPhCommandHandler->Chld(iStatus,EPhCltChldThree,0);
 SetActive();
 
 //For hold/resume call
 //EPhCltChldTwo Place all active calls on hold and accept the other 
 //(held or waiting) call.
 iPhCommandHandler->Chld(iStatus,EPhCltChldTwo,0);
 SetActive();	
                                                                              .		
 //For Hang up call
 iPhCommandHandler->Chup( iStatus );
 SetActive();	
 
 //For Transfering call
 //EPhCltChldFour Connect the two calls and disconnect the subscriber from both 
 //calls (Explicit call transfer).
 iPhCommandHandler->Chld(iStatus,EPhCltChldFour,0);
 SetActive();


Example Application

VoipCallHandling

Sending DTMF tones with Phone client Extension

Emergency call exmaple

Related Discussions
Thread Thread Starter Forum Replies Last Post
ADD-IN for mail client hassan21006 General Symbian C++ 4 2007-04-20 15:21
any api supplied by Symbian to use in midlet ? Nokia_Archive Symbian Tools & SDKs 3 2003-06-13 07:44
ADD-IN for Email Client (Series 80) hassan21006 General Symbian C++ 1 2006-08-10 11:33
how to use udp, for sending data server to client acayir Mobile Java Networking & Messaging & Security 1 2006-08-02 19:18
How to communicate via HTTP? Juggle4Evr1 General Symbian C++ 2 2003-04-08 22:12
 
Powered by MediaWiki
     
     RDF Facets:
     
     
     qfnZtopicQUqfnTopicZseriesE5f60Q
     qfnZtypeQUqfnTypeZCommunityContentQ
     qfnZtypeQUqfnTypeZWebpageQ
     qfnZtypeQUqfnTypeZWikiContentQ
     qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX