Hello guys,
I am trying to make a phone call on my XDA2 using TAPI. I am handling TAPI messages at the seperate thread using lineGetMessage. A lineMakeCall is executed from a non blocking function from application main thread. The following anomaly occures - the function which executes lineMakeCall finishes, but the application stays frozen until the other party answers or drops the call. As a result the user can't cancel the call nor use an application in any other way.
PS: I am using XDA2 device with PPC2003SE ROM preloaded (from this site), the problem appears at the original PPC2003 ROM also.
Any ideas will be appreciated.
Miro
Hi all,
I have developped a phonecall functionnality for my PPC application. It works but I have an unpredictable problem.
First of all, some feature of my config: I am developping for Qtek 2020 and 9090 (both), with embedded Visual C++ (4.0 Sp4).
To make a phonecall, I used the following TAPI functions (like Microsoft Dialit sample):
- lineInitialize
- lineNegotiateAPIVersion
- lineGetDevCaps
- lineOpen
- lineMakeCall
and then (after conversation):
- lineGetCallStatus
- lineDrop (if needed)
- lineDeallocateCall
- lineClose
- lineShutdown
I am also using a callback function to manage line messages, info and states.
it can work correctly 20 times then crash or it can crash during the first call. Apparently the crash (application freezing) comes after lineMakeCall during line reply waiting.
Did you already heard anything about this kind of problem?
Please I need some help, it becomes very important and very urgent.
Best Regards
Yves
Hi,
I need to develope an application that basically replaces the caller ID screen that pops up when you have an incoming call and show some more information on the caller, then let the user answer or decline the call.
any help on where to look first (or maybe code snipets if i'm lucky) highly appreciated.
Cheers,
Shafa
I think you may have a hard time if it is truly a seperate application you wish to write. I have written a program to try to be used at the same time as cprog.exe and when that incoming call window comes up nothing I have tryed will let the user interact with any windows I create. You could stop that process but most users will not want to do this. I ended up having my program automatically determine if it wants to accept the incoming call and answer it itself. This was particularly anoying because my incoming call interest was set to data only and cprog dose not normally even register an incoming call that is purly data. But after I had initialized tapi with my settings cproc unexpectedly shared the same interest for incoming data calls.
Just as speculation - if your program was constantly running, when an incoming call is offering, you could enumerate the desktop windows using EnumWindows and its associated callback function to get the hwnd of the ballon that comes up. Then perhaps you could close the incoming call window or send it to the bottom of the z order and use your own to replace it. I do not know what effect this would have on cprog.
code related to tapi tends to be long so your not that lucky
:lol:
I am looking the way to make two smartphone wm5 can communicate using CSD line. I am planing to fetch data and sending data through the UART/COM port. The question is how would we know which COM due the GSM modem attached to.
Why the sample tstril.exe have error like RIL HANDLE: 00000000, result 80004005 and also the navigated bar cannot move? - I am using Omap Smartpone wm5.
Thanks in advance
You need to sign the application in order to make it work on most of the smartphones running WM 5.0 (RIL API is priviledged API). PocketPCs are not that tight regarding this subject.
Cheers,
Raul
how to sign applica and get free certificate into smartphone
could you explain the better way on to unlock smartphone using free certificate so Application can access the privilage zone?..
Thanks in advance
Only OEM can give such certificate or sign your certificate with one of their root certificate in order for yours to grant you certain priviledges.
I'm afraid that no free or test certificate will help you. RIL is not ment to be used by spare time developers like us...
Cheers,
Raul
Install and sign certificate using third party CA
I already install certificate (.cer) and signing tstril.exe using signtool.exe using our internal certificate. In my smartphone setting->security->certificates->root , shown my CA name registered. But I couldn't launch my tstril.exe. Can you explain why it is happen eventhough my CA name was registered in the setting.
Could you explain me how can I get the OEM certificate? For your information I am using DOPOD TI OMAP850 Model nameopod577W.
Thanks in advance
To answer your question short if you're not an ISV partner or a 3 rd party working on a RIL involving software that has to be added to the ROM then you will probably not see such certficate.
Nevertheless you can check your code functionality on pocket pc side and overall functionality on 2 pocket pc 2003 SE. The RIL hasn't change...
Then you could try to get in touch with HTC if you target this devices and ask them to sign your internal certficate with their root one so that you can sign your app and work with RIL on smartphone platforms.
Cheers,
Raul Tinca
tstril.exe can't work in my dopod and also hp ipaq and sp
I compile the source code using ms 2005 and deploy it into my Hp 2003 and also dopop wm5 both couldn't work
DOPOD
=====
RIL Handle: 0003274, result 00000000
notify: dwCode=0x800002 lpData=2808FE38, cbData=4
notify: dwCode=0x400005 lpData=2808FD40, cbData=32
HP iPAQ
=====
RIL Handle: 00032510, result 00000000
notify dwCode=0x800002 lpData=2007FE8
.....
Well in this case i see that you have valid handle and also receive data in your notify callbacks...
I don't see where the problem is. Let's take it step by step. What are the first steps you want to achieve ?
Raul
could you explain to me more detail on tstril.exe
sorry for late reply..a little bit preoccupied with other things.
Answer to your question, my aim is to get voice data or to send voice data through the handle. How could it be done?
May I know the purpose of this tstril.exe since I am to much ignorant. ow to use the handler and what kind of data I could get from the handler.
Sorry for stupid question...
Thank you in advance.
Hi all,
Voila!
I found the purpose of it. It use to model the caption of event produce by ril. I already manage to run it into my smartphone after I unlocked the phone. Then I found some event occurred. While I am dialing the other phone to the ril phone I saw events triggered. This can be use tho trap like incoming event since the incoming event in smartphone was interfered by the cprog.exe. Event from TAPI is hardly used especially for incoming (ring on) event.
Please tell me, is this what you mean? The handle shown above is to an event that gets triggered at the same time the message buble for incoming call happens. In my use of tapi the event for incoming calls is always generated but I am interested in what you have found because if it is from ril then maybe it is set sooner (hence give me more time to respond). Also if rersetting this would get rid of the message buble it would be useful.
When you say it was interfeared with by cprog.exe what do you mean? Are you saying it is reset or am I misunderstanding the whole thing?
Since the cprog.exe steal the TAPI event so it is difficult to gain the incoming call event from the callback function. What most of the people did is to kill the cprog.exe by the time incoming call event fired by the ril.
After killing the cprog.exe then invoke lineAccept / lineAnwer to connect the call.
Cprog.exe is program runnning at background. This program will hinder the Application to gain full control on the answering part.
I hope I had given you the correct info..
Sorry but can ask more ?
When you say steal the event do you mean that ril triggers an auto reset event that tapi needs to get to know there is a call comming? That would be interesting and I would experiment.
If you mean that the event is the one accessed by LINEINITIALIZEEXPARAMS initialParams ..... initialParams.Handles.hEvent then this dose not seem to be so. I use that event at the same time that cprog.exe uses it to detect a change in the state of the line, it can't be auto reset (unles tapi maintains seperate events for each application using it).
I only kill cprog.exe if I am sure the call is for data. I would love to know how to just make the incoming call buble go away without killing cprog.exe. If I stop that process just after it set the hardware to vibrate it becomes difficult to stop the vibration. If I could leave it running until the call was no longer offering then cprog would cancel its own vibration.
Hi, i know this question might pops up every now and then. Tried hard to find a solution but still can't find anything workable. Here's my issue:
I'm developing an app for Windows Mobile 6.5 (With TAPI 2.0), using Motorola MC65 as target device, that would allow user to make calls and answer calls. For outgoing calls i have no problem whatsoever. For incoming calls, the OS default call answering screen (CProg.exe) will pop up when there's a call coming in.
After googling for solutions and trial and error a whole lot, here's what i did so far:
1. Use lineSetAppPriority to set my app to the top priority for handling incoming call. The call returns 0 (means success) but still the CProg will try to handle the incoming calls. Checked that the application name is correct as well.
2. Tried using FindWindow and SetForegroundWindow to hide the CProg. It works, when there's incoming call, the CProg will be hidden and my app is shown. However the button on my app couldn't be accessed as i think the focus or countrol is still with CProg. Tried using Focus() on my app and still not working.
3. Tried replace the CProg with an empty executable. After restart, my phone can't even access the radio network. Usually when booted up the device will prompt me for the SIM card's pin number, but this is not the case here. Tried calling in and operator's telling me can't reach the line.
Just wondering is there anyone, at all, that has encountered this issue before and get over it?
Thank you.