none
Base on Wince6.0 RIL Driver ,Calling TAPI APIs "lineMakeCall" secondly,lineMakeCall return LINEERR_OPERATIONFAILED RRS feed

  • Question

  • Base on Wince6.0 ,we have port RIL driver at our platform ,after RIL Driver has been successfully be loaded by
    DM(Device Manager) ,
    1)we start to use SIM Manager APIs to access SIM CARD phonebook,read SMS in SIM card ,and this can work finely ,
    2)using SMS APIs to send short message is Also working finely ,
    3)"but" when we use TAPI APIs to verify the telephony part of RIL ,we have the following issue:

    Easily way to say is that Calling TAPI APIs "lineMakeCall"  secondly,lineMakeCall return "LINEERR_OPERATIONFAILED"
                              but when we Calling TAPI APIs "lineMakeCall" first time ,we can really make a outgo call ,
                              and speak/listen to the other side    

    the detail description -->
    our Environment and issue:

    Enviroment:
    Hareware:
    S3C6400 (CPU)
    Sim300D (GSM module)
    ...

    Software:
    Wince6.0
    RIL related component (choice "All Modules" in "Catalog Items" under Platform Builder,
    include Cellular TAPI Service Provider/RIL Proxy/SIM Manager/SIM Toolkit/SMS/WAP/Wireless WAN)

    known condition:
    base on Hardware (S3C6400+SIM300D) and Software(Wince6.0+ RIL related component) ,
    we can use SIM Manager APIs via RIL Driver to Access SIM CARD,and
    we can use SMS API to Send the SMS ,so ,we make sure the RIL work fine

    issue:
    when we use TAPI APIs lineMakeCall,we can make succussfully a phone call ,after calling lineMakeCall ,
    we use TAPI APIs "lineDrop" ,we also can drop this phone call ,but ,at this time ,
    using "lineMakeCalls" again(2nd times),lineMakeCall return "LINEERR_OPERATIONFAILED" ,the make a out call flow is following:

    1)lineInitializeEx , is ok, and get how many line devices available
    2)write a for loop , to check line device capability ,if "dwMediaModes" of this line device support
      "LINEMEDIAMODE_AUTOMATEDVOICE" or "LINEMEDIAMODE_INTERACTIVEVOICE" we skip this for loop ,and
      use this line to do Dial out (i.e. in this case ,this line is Cellular TAPI Service Provider)
    3)lineOpen         , is ok
    4)lineMakeCall     , this step is also ok ,and we can receive a Evnet "LINE_REPLY" (we put GSM talking audio route here) ,
                       here,we can make a outgo phonecall ,listen and speak to other side voice ,
                       in this step ,we also can receive 2 Event i.e. "LINECALLSTATE_DIALING","LINECALLSTATE_PROCEEDING",
                       but not "LINECALLSTATE_CONNECTED"(i.e. something stranger here!!,the line call state can't change to
                       "LINECALLSTATE_CONNECTED")
                        
    5)lineDrop         drop the call successfully,we can receive a Evnet "LINE_REPLY" (put original system route here) ,
                       after this step ,we also call the TAPI API "lineGetCallStatus" ,and return "LINECALLSTATE_PROCEEDING"
                       in dwCallStateMode of LPLINECALLSTATUS structure

    6)lineMakeCall     when we need to make a dial out call again ,lineMakeCall return LINEERR_OPERATIONFAILED
                       in this step ,the Call State keeping "LINECALLSTATE_PROCEEDING"
                      
                      
    Doubt Point:
    1)from our tracing wince6.0,The Cellular TSP (celltsp.dll) is not open source in Wince6.0,so we tracing the silimar sample TSP
     (telephony service provider) 1)unimodem and 2)samptspi ,and we occur that there is a doubt point ,whether BearerMode of
      this line support "LINEBEARERMODE_PASSTHROUGH" deciding whether we can change the LINE CALL STATE (from/to LINECALLSTATE_CONNECTED to/from
      LINECALLSTATE_DISCONNECTED) ,is this right ?
     
    2)if Doubt Point 1) is right ,what can I change the Cellular TSP (celltsp.dll) Bearer Mode Capabitily from don't support LINEBEARERMODE_PASSTHROUGH to
      support LINEBEARERMODE_PASSTHROUGH,because this line Bearer Mode seems don't support LINEBEARERMODE_PASSTHROUGH
     
    3)Celltsp.dll !? Because we have no source code to trace ,but contrast with unimodem or sampletspi ,
      we make sure the place of the line call state changed is in tsp(Celltsp.dll)

    4)Others ? (i.e. RIL driver or others )       
     

    • Moved by Sean LimingMVP Tuesday, February 16, 2016 5:22 PM WinCE question
    Wednesday, September 10, 2008 11:06 AM

All replies

  • You'll want to post that in a Windows CE forum.  This forum is for XP Embedded / Windows Embedded Standard.

    Wednesday, September 10, 2008 3:55 PM