data call on series 80

Login to reply to this topic.
Tue, 2006-09-05 06:18
Joined: 2006-09-05
Forum posts: 3
                                       Data Call on Series 80

Hi All,


I am not able to make a data call in Nokia 9300 using using RCall::Dial().
the request for dial fails with -6 that is KErrArgument.
I am not able to make out the meaning of this error
in the Dial context.

The same code is working fine in Series 60 and UIQ devices.
Can Anybody help me in the same?

The code snippet is as follows:



#include "DataCallMaker.h"

// SYSTEM INCLUDE
#include <eikenv.h>
#include "IrObexDll.pan"

// CONSTANTS

_LIT16 (KPhoneTsy, "phonetsy.tsy");
_LIT16 (KLogFile, "c:\\some.txt");



EXPORT_C CDataCallMaker* CDataCallMaker::NewL(MDataCallObserver& aObs)
{
CDataCallMaker* obj = new (ELeave) CDataCallMaker(aObs);
CleanupStack::PushL(obj);
obj->ConstructL();
CleanupStack::Pop(obj);
return obj;
}


CDataCallMaker::CDataCallMaker(MDataCallObserver& aObs)
: CActive(EPriorityStandard), // Standard priority
iState(ENone),
iObs(aObs)
{
CActiveScheduler::Add(this); // Add to scheduler
}

void CDataCallMaker::ConstructL()
{
isConnected = EFalse;
isCommOpened = EFalse;
}



EXPORT_C void CDataCallMaker::Connect()
{
if (!isConnected)
{
//connect to telephony server
User::LeaveIfError(iTelServer.Connect());
User::LeaveIfError(iTelServer.LoadPhoneModule(KPhoneTsy));

//enumerate the phone
TInt numberOfPhone;
User::LeaveIfError(iTelServer.EnumeratePhones(numberOfPhone));
if (numberOfPhone < 1)
Panic(EDataCallNoPhone);

//get info about the first available phone
RTelServer::TPhoneInfo phoneInfo;
User::LeaveIfError(iTelServer.GetPhoneInfo(0,phoneInfo));
//open the phone
User::LeaveIfError (iPhone.Open(iTelServer,phoneInfo.iName));

//get the info about the line
TInt numberOfLines;
User::LeaveIfError(iPhone.EnumerateLines(numberOfLines));

if (numberOfLines < 2)
Panic(EDataCallNoLines);

RPhone::TLineInfo lineInfo;
//line 2 is for data
User::LeaveIfError(iPhone.GetLineInfo(2, lineInfo));

User::LeaveIfError(iDataLine.Open(iPhone, lineInfo.iName));
isConnected = ETrue;
}
}


EXPORT_C void CDataCallMaker::OpenCall(const TDesC& aNumber)
{
if (isConnected)
{
iState = EConnecting;
iDataCall.OpenNewCall(iDataLine, iCallName);
iDataCall.Dial(iStatus,aNumber);
iObs.DCConnecting();
SetActive();
}
}

Fri, 2006-09-08 06:14
Joined: 2006-09-05
Forum posts: 3
Re: data call on series 80
Hi All,
        It seems that I have to try it through AT commands.
I got success with  ETEL on series 60. But here in series 80 the RCall::Dial request fails.
         Is there any one who has tried data call through AT
commands.I am able to dial the data call through ATD<number>  command.But on the receiver side the code that is used is with RCall.
          On the caller side after dial  (ATD) I open the call using RCall and then I proceed in the normal way by selecting the port.The data gets transmitted as shown by my progress bar.But it is not received on calle side.
           Can anyone suggest me what is going wrong?
Or is there any way to do it only  through AT commands 
without bringing RCall into picture?
  • Login to reply to this topic.