I want to get the phone number of an incoming call before the user decide to answer or reject the
call. Following some examples on this forum, I've created two Active Objects, one to get the incoming call and one to get the event in the Log Viewer.
My problem is that I can't get the call event of the incoming call in the viewer.

// The first Active Object has two function like this:

void MyCallObserver::StartWaitingForACall(RLine & phoneLine, TName callName)

{
phoneLine.NotifyIncomingCall(iStatus,callName);
SetActive();
}

void MyCallObserver::RunL()
{
mainView->RequestCallNumber(); // defined in my main view
};

// The second Active Object is like this

void CMyCallViewer::ConstructL()

{
CActiveScheduler::Add(this);
iFileServer.Connect();
iLogClient = CLogClient::NewL(iFileServer);
iRecentLogView = CLogViewRecent::NewL(*iLogClient);
}


MyCallViewer::LookForPhoneNumber()
{
iRecentLogView->Cancel();
if( iRecentLogView->SetRecentListL(KLogNullRecentList,iStatus)) {
SetActive();
}
}

void CMyCallViewer::RunL()
{
const CLogEvent& event = iRecentLogView->Event();
iTelNumber.Copy(event.Number());
mainMenu->IncomingCall(iTelNumber );
}


// In my Main View:

void MyMainView::WaitIncomingCall()
{
myCallObserver->StartWaitForACall(line,callName);
}

void MyMainView::RequestCallNumber()
{
myCallViewer->LookForPhoneNumber();
};

void MyMainView::IncomingCall(TDesC & phoneNumber)
{
....display the number
}


At some point I call WaitIncomingCall and then make a call to my cellular phone to test the program. The incoming call is correctly detected and the MyCallObserver object calls
RequestCallNumber() in my main view which in turn starts myCallViewer. But when the RunL method of MyCallViewer is executed, there is no event related to this incoming call.

Can someone help me ?