I have written code as follows ( in my active class):

void MyActiveClass::RunL()
	if (iStatus.Int() == KErrNone) 
		if ( iCallStatus == RCall::EStatusIdle || 
				iCallStatus	== RCall::EStatusHangingUp ||
				iCallStatus == RCall::EStatusUnknown )		
			//does something
			iLine.NotifyStatusChange(iStatus, iCallStatus); 
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.