ETel3rdParty: Using the Telephony Independent Software Vendor (ISV) API

This set of seven example applications demonstrate the use of the Telephony ISV API provided by the CTelephony public interface to the phone’s telephony system. This interface enables developers to access common mobile telephony services, such as finding phone information, dialling and answering voice calls.

Each example demonstrates a different set of mobile telephony services, and is stored in a subdirectory of ETel3rdPartyExample. These subdirectories are explained in the description section.

Download

Click on the following link to download the example: ETel3rdParty.zip

Click browse to view the example code.

Description

AutoDTMFDialler

This example performs the following operations:

Configs

This example directory contains the config.txt and the TelephonyISVAppConfig.cfg files, which are required to configure the SIM TSY to run the application. For more information, see the Configuring the Simulator TSY section.

IncomingCalls

This example answers incoming calls using the CTelephony::AnswerIncomingCall(TRequestStatus& , TCallId& , const TPhoneLine) function. It also retrieves information about the call using the CTelephony::GetCallInfo(TDes8& , TDes8& , TDes8&) function. It uses a test plug-in named Simulator TSY (SIMTSY) which simulates telephony functions like phonebook, voicecall, SMS etc.

NetworkInformation

This example retrieves the over-the-air network information about the currently registered mobile network using the CTelephony::GetCurrentNetworkInfo(TRequestStatus& , TDes8&) function and also requests notification of changes to this information using the CTelephony::NotifyChange(TRequestStatus& , const TNotificationEvent& , TDes8&) function.

OutgoingCalls

This uses a test plug-in named Simulator TSY (SIMTSY) which simulates telephony functions like phonebook, voicecall, SMS etc. This example performs the following operations:

PhoneId

This example retrieves information about a phone, such as the manufacturer name, serial number, phone and SIM card number using the CTelephony::GetPhoneId(TRequestStatus& , TDes8&) function, and current subscriber information using the CTelephony::GetSubscriberId(TRequestStatus& , TDes8&) function. It then prints this information to the console.

PhoneMonitoring

This example performs the following operations:

Shared

This example directory contains the shared files to be used by other directories for synchronous and asynchronous operations.

SuppleServices

This example retrieves the current status of the following services:

Class summary

The principal class used in this example is CTelephony.

Configuring the simulator TSY

To run the application you must configure the Simulator TSY. To do this, install the configuration files by performing the following steps:

  1. Copy the config.txt file and the TelephonyISVAppConfig.cfg file into the \epoc32\winscw\c\ directory of the phone.

  2. From the command prompt, go to the source root directory.

  3. Change directory to \epoc32\release\winscw\udeb and run the following command:

    ced c:\TelephonyISVAppConfig.cfg

  4. Check the ced.log file to ensure that the configuration file has been read successfully.

Building and running

The Symbian build process describes how to build an application.

The ETel3rdPartyExample builds the following executables in the standard location (\epoc32\release\winscw\<build_variant> for CodeWarrior):

  • phoneid.exe

  • phonemonitor.exe

  • networkinformation.exe

  • suppleservices.exe

  • outgoingcalls.exe

  • autodtmf.exe

  • incomingcalls.exe

Each executable must be run separately.

Note: Set the StartUpMode mode to 1 in the \epoc32\data\epoc.ini file to start the emulator in text shell mode as the applications use a console based interface.