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.
Click on the following link to download the example: ETel3rdParty.zip
Click browse to view the example code.
AutoDTMFDialler
This example performs the following operations:
Retrieves the line status using the CTelephony::GetLineStatus() function.
Retrieves the call status using the CTelephony::GetCallStatus() function
Retrieves the current network registration status using the CTelephony::GetNetworkRegistrationStatus() function
Retrieves the current flight mode status using the CTelephony::GetFlightMode() function.
Initiates a call using the CTelephony::DialNewCall() function
Transmits DTMF tones across all the current active voice calls one after the other using the CTelephony::SendDTMFTones() function
Disconnects a call using the CTelephony::Hangup() function.
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() function. It also retrieves information about the call using the CTelephony::GetCallInfo() 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() function and also requests notification of changes to this information using the CTelephony::NotifyChange() 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:
Initiates a call using the CTelephony::DialNewCall() function.
Places a call on hold using the CTelephony::Hold() function.
Swaps between calls using the CTelephony::Swap() function.
Resumes a call on hold using the CTelephony::Resume() function.
Retrieves the status of ICC locks using the CTelephony::GetLockInfo() function.
Retrieves ICC-stored information about the (preferred) name of the currently registered mobile network using the CTelephony::GetCurrentNetworkName() function and the network name using the CTelephony::GetOperatorName() function.
Retrieves the dynamic call capabilities for the calls that was dialled or answered using the CTelephony::GetCallDynamicCaps() function.
PhoneId
This example retrieves information about a phone, such as the manufacturer name, serial number, phone and SIM card number using the CTelephony::GetPhoneId() function, and current subscriber information using the CTelephony::GetSubscriberId() function. It then prints this information to the console.
PhoneMonitoring
This example performs the following operations:
Retrieves the status and charge level of the phone battery using the CTelephony::GetBatteryInfo() function.
Indicates whether a phone battery is being charged using the CTelephony::GetIndicator() function.
Retrieves the current signal strength of the phone using the CTelephony::GetSignalStrength() function.
Retrieves the current flight mode status using the CTelephony::GetFlightMode() function.
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:
call barring services using the CTelephony::GetCallBarringStatus() function,
call forwarding services using the CTelephony::GetCallForwardingStatus() function,
call waiting services using the CTelephony::GetCallWaitingStatus() function,
call identity services using the CTelephony::GetIdentityServiceStatus() function.
To run the application you must configure the Simulator TSY. To do this, install the configuration files by performing the following steps:
Copy the config.txt file and the TelephonyISVAppConfig.cfg file into the \epoc32\winscw\c\ directory of the phone.
From the command prompt, go to the source root directory.
Change directory to \epoc32\release\winscw\udeb and run the following command:
ced c:\TelephonyISVAppConfig.cfg
Check the ced.log file to ensure that the configuration file has been read successfully.
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.