This tutorial describes how to get the voice line status with the telephony API for applications.
The CTelephony
functions provide a detailed
information on the voice line status. The detailed call information provides
the information about:
call status
date of the call
time of the call
duration of the call
destination number
caller identification
dynamic call capabilities
create a new instance
of CTelephony
use CTelephony::GetLineStatus()
to
get the simple voice line status
use CTelephony::GetCallStatus()
to
get the status of any voice call owned by the client application
use CTelephony::GetCallInfo()
to
get the detailed call information about the call
Example:
Parameter | Function |
---|---|
TCallStatus |
To get the status of a call like idle, on-hold, dialling and ringing |
TDateTime |
To get the data and time of a call |
TTimeIntervalSeconds |
To get the duration of a call |
TTelAddress |
To get the destination number |
TPhoneNetworkSecurity |
To get the ciphering information from the network |
TCallRemoteIdentityStatus |
To determine if the remote caller status is available |
TCallDirection |
To determine the call direction |
use GetCallDynamicCaps()
to
get the dynamic capability information about the call.
The example code describes the steps to get the detailed call information.
CTelephony* telephony = CTelephony::NewLC(); CTelephony::TCallInfoV1 callInfoV1; CTelephony::TCallInfoV1Pckg callInfoV1Pckg( callInfoV1 ); CTelephony::TCallSelectionV1 callSelectionV1; CTelephony::TCallSelectionV1Pckg callSelectionV1Pckg( callSelectionV1 ); CTelephony::TRemotePartyInfoV1 remotePartyInfoV1; CTelephony::TRemotePartyInfoV1Pckg remotePartyInfoV1Pckg( remotePartyInfoV1 ); callSelectionV1.iLine = CTelephony::EVoiceLine; callSelectionV1.iSelect = CTelephony::EActiveCall; telephony->GetCallInfo( callSelectionV1Pckg, callInfoV1Pckg, remotePartyInfoV1Pckg ); CleanupStack::PopAndDestroy( telephony );
The example code to get the dynamic call capability information
CTelephony::TCallCapsV1 callCapsV1; CTelephony::TCallCapsV1Pckg callCapsV1Pckg( callCapsV1 ); telephony->GetCallDynamicCaps( callId, callCapsV1Pckg ); TUint32 caps = callCapsV1.iControlCaps; if( caps & CTelephony::KCapsHold ) {} // The call represented by 'callId' can be put on hold