Making telephone calls and retrieving device information

The Telephony ISV API allows applications to access the telephony system of a mobile device and handle telephony functions.

Typical use cases for a telephony application include:

  • Making a phone call

    Note: After your application has initialized the call, the control of it is given to the Phone application, which gets activated in the mobile device UI.

  • Putting a call on hold

    Note: You can only put on hold calls that have been initiated by your application using the Telephony ISV API.

  • Swapping between calls

    Note: You can only swap between calls that have been initiated by your application using the Telephony ISV API.

  • Retrieving information on the device, the connected network or the call and voice line status

Important implementation considerations include:

  • It is not possible to make an emergency phone call using the Telephony ISV API.

  • Incoming calls are given directly to the Phone application, which then gets activated in the mobile device UI. It is not possible to replace the Phone application.

The S60 platform also provides a Phone Parser API for parsing and validating phone numbers.

Making phone calls

To make phone calls in your application:

  1. Use the methods provided by the CTelephony class of the Telephony ISV API.

    Note: It is generally recommended that you use an active object when implementing the CTelephony class methods in your application.

    For information on some detailed uses of the API, see:

    • How to dial a call in the Symbian OS Library for information on method and class usage and a code sample for making a telephone call

    • How to terminate calls in the Symbian OS Library for method and class usage and code samples for terminating a call and detecting a remote party terminating a call

      Note: You can only terminate calls that have been initiated by your application using the Telephony ISV API.

  2. Make sure that etel3rdparty.h is included in the appropriate header file(s).

  3. Make sure etel3rdparty.lib is accessible to your linker when compiling your application by including it in your mmp file or by editing the project properties in your IDE, depending on your build environment.

  4. Make sure you have the correct capabilities information set for your application.

Note: After your application has initialized the call, the control of it is given to the Phone application, which gets activated in the mobile device UI.

Getting device, network and phone call information

To retrieve information on the device, the connected network or the call and voice line status:

  1. Use the methods provided by the CTelephony class of the Telephony ISV API.

    Note: It is generally recommended that you use an active object when implementing the CTelephony class methods in your application.

    For information on some detailed uses of the API, see:

    • Phone, battery and subscriber information in the Symbian OS Library for method and class usage instructions and code samples for getting information on the mobile device, such as serial number, subscriber and battery charge level

    • Line and call information in the Symbian OS Library for method and class usage instructions and code samples for getting information on the voice line and current calls, such as voice line status, duration of the current call and phone number of the remote party

    • Networking information in the Symbian OS Library for method and class usage instructions and code samples for getting information on the mobile network, such as whether a network signal can be detected and whether the device is roaming or busy.

    • Supplementary services setting information in the Symbian OS Library for method and class usage instructions and code samples for getting the services settings of the mobile device, such as whether call forwarding set active.

  2. Make sure that etel3rdparty.h is included in the appropriate header file(s).

  3. Make sure etel3rdparty.lib is accessible to your linker when compiling your application by including it in your mmp file or by editing the project properties in your IDE, depending on your build environment.

  4. Make sure you have the correct capabilities information set for your application.

Additional information on using the Telephony ISV API

For more information, see:

  • Using the Telephony ISV API in the Symbian OS Library for a general overview on how to create applications using the API

  • The IsvTelCallApp sample application included in the S60 C++ 3rd Edition SDK, Feature Pack 1 (<installation directory>\S60Ex) for a demonstration of making phone calls

  • The IsvTelInfoApp sample application included in the S60 C++ 3rd Edition SDK, Feature Pack 1 (<installation directory>\S60Ex) for a demonstration of retrieving device and line information

    The examples come with documentation about the classes and methods used in the sample application.

Related S60 platform services

The S60 platform also offers the following related services:

  • Phonebook APIs for retrieving from and saving phone numbers to Phonebook.