Is ETEL working on N95 8gb? I'm stuck with state RCall::EStatusIdle.
From AppUi there is LineManager instance calling StartL(). The LineManager initializes iLine and creates a new instance of CallManager if there is a new call on
Code:
iLine.NotifyIncomingCall(iStatus, iCallName);
In the CallManager::StartL() CallManager calls
Code:
iCall.OpenExistingCall(iLineManager.GetLine(), iLineManager.GetCallName());
iCall.NotifyStatusChange(iStatus, iCallStatus);
... and the CallManager::RunL method is waiting for a new event. Every time I get RCall::EStatusIdle
The phone is ringing but there is no status RCall::EStatusRinging.
Log file:
Code:
26.11.2008 09:19:54 CSilentCall2AppUi::ConstructL
26.11.2008 09:19:54 CLineManager::ConstructL()
26.11.2008 09:19:56 CLineManager::StartL()
26.11.2008 09:20:19 CLineManager::RunL()
26.11.2008 09:20:20 CCallManager::ConstructL
26.11.2008 09:20:20 CCallManager::StartL
26.11.2008 09:20:27 CCallManager::RunL
26.11.2008 09:20:27 RCall::EStatusIdle
26.11.2008 09:20:27 CCallManager::RunL
26.11.2008 09:20:27 RCall::EStatusIdle
Code:
void CLineManager::StartL()
{
_LIT(KLogMessage,"CLineManager::StartL()");
iFileLogger.WriteFormat(KLogMessage);
Cancel(); // Cancel any request, just to be sure
iLine.NotifyIncomingCall(iStatus, iCallName);
SetActive(); // Tell scheduler a request is active
}
void CLineManager::RunL()
{
_LIT(KLogMessage,"CLineManager::RunL()");
iFileLogger.WriteFormat(KLogMessage);
if(iStatus == KErrNone)
{
CCallManager* newCallManager = CCallManager::NewLC(*this, iFileLogger);
iCallManagerArray.AppendL(newCallManager);
newCallManager->StartL();
CleanupStack::Pop(newCallManager);
}
else
{
SetActive(); // Tell scheduler a request is active
}
}
Code:
void CCallManager::StartL()
{
_LIT(KLogMessage,"CCallManager::StartL");
iFileLogger.WriteFormat(KLogMessage);
Cancel(); // Cancel any request, just to be sure
iCall.OpenExistingCall(iLineManager.GetLine(), iLineManager.GetCallName());
iCall.NotifyStatusChange(iStatus, iCallStatus);
SetActive(); // Tell scheduler a request is active
}
void CCallManager::RunL()
{
_LIT(KLogMessage,"CCallManager::RunL");
iFileLogger.WriteFormat(KLogMessage);
iLineManager.GetLine().GetStatus(iCallStatus);
if(iStatus == KErrNone)
{
switch (iCallStatus)
{
case RCall::EStatusUnknown:
{
_LIT(KLogMessage,"RCall::EStatusUnknown");
iFileLogger.WriteFormat(KLogMessage);
iCall.NotifyStatusChange(iStatus, iCallStatus);
SetActive();
break;
}
case RCall::EStatusIdle:
{
////iCall.NotifyStatusChangeCancel();
//iCall.Close();
_LIT(KLogMessage,"RCall::EStatusIdle");
iFileLogger.WriteFormat(KLogMessage);
iCall.NotifyStatusChange(iStatus, iCallStatus);
SetActive();
break;
}
case RCall::EStatusDialling:
{
_LIT(KLogMessage,"RCall::EStatusDialling");
iFileLogger.WriteFormat(KLogMessage);
iCall.NotifyStatusChange(iStatus, iCallStatus);
SetActive();
break;
}
case RCall::EStatusRinging:
{
//User::LeaveIfError(iCall.OpenExistingCall(iLineManager.GetLine(), iLineManager.GetCallName()));
//iCall.AnswerIncomingCall(iStatus);
//iCall.HangUp();
//iCall.Close();
_LIT(KLogMessage,"RCall::EStatusRinging");
iFileLogger.WriteFormat(KLogMessage);
iCall.NotifyStatusChange(iStatus, iCallStatus);
SetActive();
break;
}
<...>
Why there is still status RCall::EStatusIdle when the phone is ringing?