How to detect outgoing call is terminated by the other party?
I have written code as follows ( in my active class):
[CODE]void MyActiveClass::RunL()
{
if (iStatus.Int() == KErrNone)
{
if ( iCallStatus == RCall::EStatusIdle ||
iCallStatus == RCall::EStatusHangingUp ||
iCallStatus == RCall::EStatusUnknown )
{
iCall.Close();
iLine.Close();
//does something
}
else
{
iLine.NotifyStatusChange(iStatus, iCallStatus);
SetActive();
}
}
}[/CODE]
I use Dial(const TTelNumberC &aTelNumber) function to dial.
CMyActiveClass is run with EPriorityNormal priority.
There are two problems here:
1. When dial, if when the other party terminate the call, this event does not trap in my RunL function.
2. When dial , the other party phone ring estimate 20 second after that my app get panic (App.Close MyApp ViewSrv 11) and close.
- How to resolve these problems?
- Am I use the correct function?
- Should I use the Dial(TRequestStatus &aStatus, const TTelNumberC &aTelNumber) instead ?
- I hear the inherited active class should run in EPriorityIdle priority because if it runs in EPriorityStandard priority , it may conflict with the View. Is it correct?
Plese help me. Thanks a lot.