×

Discussion Board

Results 1 to 6 of 6
  1. #1
    Registered User
    Join Date
    Dec 2005
    Posts
    5

    How to receive ETEL errors ?

    Hi,

    Does anybody know how to receive ETEL errors ? For example below errors :

    KErrEtelCallNotActive -2007
    KErrEtelNoAnswer -2008 "Call was not answered"
    KErrEtelNoDialTone -2009

    The problem is we can get call events (like Unknown, Connecting, Connected etc) but we can't get call errors.

    Has anyone been able to receive these errors ? Which API to use ?

    Best Regards,
    Symbian Programmer

  2. #2
    Nokia Developer Moderator
    Join Date
    Mar 2003
    Location
    Lempäälä/Finland
    Posts
    29,166

    Re: How to receive ETEL errors ?

    those are propably returned as return values by RCall/RLine/RPhone objects when you are using tehir functions, so have a look to the SDK documentation for functions returning error codes.

    yucca

  3. #3
    Registered User
    Join Date
    Dec 2005
    Posts
    5

    Re: How to receive ETEL errors ?

    Hi symbianyucca,

    Thanks for your answer.

    1. Classes I am using are :

    class RTelServer;
    class RPhone;
    class RLine;
    class RCall

    2. Method used to activate notification:

    iLine.NotifyCallAdded(iStatus, iName);
    iCall.NotifyStatusChange(iStatus, iCallStatus);


    3. But when calling a phone which is busy my RunL() gets called 3 times with below values :

    RunL()
    {

    iStatus = 0 and iCallStatus = 0 -> RCall::EStatusUnknown
    iStatus = 0 and iCallStatus = 7 -> RCall::EStatusHangingUp
    iStatus = 0 and iCallStatus = 1 -> RCall::EStatusIdle
    }


    I tried on different S60 phones with same result.

    So it seems the iStatus (where we should expect to get these ETEL Errors) is always KErrNone and iCallStatus has above values.

    So it seems we only get these events but can't get the error value like busy error:

    const TInt KErrEtelBusyDetected=KErrEtelCoreBase-4;

    [Note: These errors are defined in Etel.h but no API to get them]

    SetExtendedErrorGranularity(EErrorExtended) didn't help and gave same events.

    Looking into ETel.h I couldn't find any other API to call to get these kind of errors. Do you know which API to call or how to get these kind of errors ?


    Best Regards,
    Symbian Programmer
    Last edited by Symbian_Programmer; 2006-01-26 at 06:29.

  4. #4
    Nokia Developer Moderator
    Join Date
    Mar 2003
    Location
    Lempäälä/Finland
    Posts
    29,166

    Re: How to receive ETEL errors ?

    your program works excatly as it should, if you ask to be notified on the line status, it will do just as you have descriped.

    To get errors, try for example calling Dial() -function while you have active call already on (or off-line mode etc.), and see what sort or return values you get.

    yucca

  5. #5
    Registered User
    Join Date
    Dec 2005
    Posts
    5

    Re: How to receive ETEL errors ?

    Hi symbianyucca,

    Thanks for your answer.

    Right now my application is run in background and when it's active I go with Apps Key to application menu and call the number via phone application on the phone.

    It means I don't have access to the phone number it's the phone app of phone which does the call() and dialing. So I can't call Dial() which seems need a phone number:

    Dial(const TTelNumberC& aTelNumber)

    At same time I am not sure if there is already an outgoing call if it makes sense to to a new Dial() ?

    But what you are saying is interesing, so do you mean that in stead of using the phone app to do the call and put myself as observer, if I try to do the Dial() my self (list of functions below) then I might get those errors ?

    I probably then need to create my own dialer UI and try to call from my own application in stead of leting phone app doing the dialing. Is that what you mean I should do ? If so do you know which of below functions from Etel.h will give that kind of error ?

    IMPORT_C TInt Dial(const TTelNumberC& aTelNumber) const;
    IMPORT_C TInt Dial(const TDesC8& aCallParams,const TTelNumberC& aTelNumber) const;
    IMPORT_C void Dial(TRequestStatus& aStatus,const TTelNumberC& aTelNumber);
    IMPORT_C void Dial(TRequestStatus& aStatus,const TDesC8& aCallParams,const TTelNumberC& aTelNumber);

    Best Regards,
    Symbian Programmer

    PS. Note the idea is to let the user do as usual and do phone call via phone app and have an application on background to capture errors, call duration etc. So it would be nice to use the phone app itself for calling and this app to capture errors only, but if it's not possible then maybe the only solution is to do the call myself from within the application itself not the phone app.
    Last edited by Symbian_Programmer; 2006-01-26 at 08:36.

  6. #6
    Registered User
    Join Date
    Jun 2005
    Posts
    43

    Re: How to receive ETEL errors ?

    SymbianYucca,

    I am not able to make a data call in Nokia 9300 using RCall:ial().
    I am using RCAll class .
    But the request for dial fails with -6 that is KErrArgument.

    The same code is working fine in Series 60 and UIQ devices.


    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();
    }
    }

Similar Threads

  1. Not Every phone receive SMS from WMA
    By youngboyguy in forum Mobile Java General
    Replies: 4
    Last Post: 2011-01-24, 04:56
  2. MMS receive size (server side programming)
    By mihai_lihatchi in forum General Messaging
    Replies: 1
    Last Post: 2005-11-16, 15:30
  3. What is the real problem to receive data calls with Nokia TDMA cel modems?
    By jackal_jr in forum PC Suite API and PC Connectivity SDK
    Replies: 1
    Last Post: 2002-12-09, 09:02
  4. What is the real problem to receive data calls with Nokia TDMA cell modem?
    By jackal_jr in forum PC Suite API and PC Connectivity SDK
    Replies: 0
    Last Post: 2002-12-04, 16:05
  5. Can't receive data call on 7650 using ETel server
    By jtteh in forum Symbian Networking & Messaging (Closed)
    Replies: 0
    Last Post: 1970-01-01, 02:00

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×