RIL on XDA2/Himalaya ? - Windows Mobile Development and Hacking General

Hi,
what is the status of RIL on XDA2? Is it usable just as on wallaby, i.e. as documented on this site?
Another question on RIL: is it possible to register for (one certain type of) SMS and prevent other (registered) applications from receiving them?
n'cu
Stefan

Related

Problem with RIL API

Hello !
I develop a project in Smartphone 2002/2003 and I must used the RIL
API. I have retrieved the RIL test in the xda site and I have
implemented some notifications.
My problem is when I send a SMS with an envelope command to the
Smartphone, the program gives me the right notifications, but when I
used the function RIL_SendSimToolkitEnvelopeCmd to have the same
result, I don't have the same notifications (the result is simple and
bad). I have modified my registers base on the Smartphone and I'm sure
that my message is good.
Finally, I think I have some problems with the initialisation of the
transmission.
If one person have an idea, or some examples...
Thanks in advance.

TAPI : phonecall problem

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

voice GSM

Hi everybody
I finally got a valid handle using lineGetID opening the "Cellular Line" device.
I also mastered the wavein/wavout APIs.
What is the configuration that I should set for the various communication structures (DCB, COMSTAT, COMMTIMEOUTS)?
Right now I'm trying to implement a normal voice GSM modem, so I will be able to talk to users with analog telephones. I have i-mate jam with WM2003 (and TAPI 2.0).
Thanks ahead
Kobi
I solved the problem, but I think there left some more...
Hi everybody
I just thought about an idea of getting this information from the CPROG.EXE. I opened the cellular line device, in a OWNER || MONITOR state and I didn't kill CPROG.EXE. Then I used the lineGetID to retrieve the IO handle and get the communication structures, which I displayed using several message boxes.
Now, I have a question that I can't solve in such a way.
Are there any special things about implementing a GSM voice modem communication, i.e. special data frames I should send/receive the encoded voice, special protocol messages? Where can I find this information?
Thanks ahead
Kobi
Can I access the voice streams during conversation?
Hi everybody
I discovered that whenever a call is established, automatically I can make talks with my i-mate jam, without any code which implements queues between the microphone/speaker and the line.
Can I manage alone the streams of voice from the mic/speaker to/from line, or at least can I access these data blocks (in order to encrypt/decrypt it) ???
Thanks ahead
Kobi
Re: Can I access the voice streams during conversation?
you cannot. When the call is in progress your mic/speaker is directly connected to GSM chip by a hardware. Audio does not go through windows.
Little more question
Hi mamaich
First of all, thank you for your answer.
Second, I still have a question about it:
Does this direct hardware connection exist in all smartphones or just in the smartphone I'm using? (and generally how I can know it? does this feature have a name?)
Thanks ahead
Kobi
more informations
Hi mamaich,
Do you mind pointing me to appropriate documentation backing up the fact that a windows application has no control over the transmited voice once the communication is established ? It's not by lack of trust, I had reached the same conclusion but I need documentation backing me up on this for the company I work for (and that's how I found your post
I am currently working on an application that acts as a voice filter for GSM voice communications. Some codecs require that the communication suffer no loss, no noise nor desynch (that is, it must be able to recover from an error). So far I've come up with several mechanisms to resynch or recover from a "bad state", but they are theorical and I can't figure out how to implement them since they need to act at the transmission level.
Any documentation ? Anything backing up the fact that it is, or not, doable ?
Thanks a lot, feel free to mail me
Re: Can I access the voice streams during conversation?
mamaich said:
you cannot. When the call is in progress your mic/speaker is directly connected to GSM chip by a hardware. Audio does not go through windows.
Click to expand...
Click to collapse
You can still access the sound to encrypt decrypt...
What you are trying to do exists for WM5... www.securegsm.com
That can only access the sound comming and going because it runs at each end. The microphone and speakers work fine and programs that use them can send the data they collect over a call as data to be replayed at the other end. This dose not mean that securegsm (or any program I have seen) can access the streams that normal voice calls use. Many (including myself http://forum.xda-developers.com/viewtopic.php?t=9761&highlight=wave+tapi ) have showed evidence of this lack of functionality in one way or another in other threads. I think the only way to reslove this so that this question stops coming up is for someone to pull apart a device and show what each pin dose on the chips in question. Until then maybe we need a sticky called "answering machines for ppc".
The only proof I would be willing to accept that this can be done would be a working program that can play a message over a call to a person at the other end who is not running any other software ( and not using the system speaker ). Other evidence that the device cannot do this kind of thing can be seen in the inability to generate custom tones. The only tones that work are the standard predefined ones used in linegeneratetone.
do a search for "voice mail" or answering machine or something
those threads have piles of info about the gsm module and windows not being intergrated and voice mail and so gsm voiceover is not possible
It's nearly off topic but can anyone tell me where I can get information about the functions stored in a dll file?
I need to collect some information (e.g. the state of the telephone or the gsm unit). In the easiest way is to call an API function and read a structure filled by the function, isn't it?
But where can I find information about which function is stored in which dll file or which functions exist, respectively?
Thanks in advance.
Monty

modem to modem comunication using gsm modem and UART

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.

RIL or Direct AT Commands in WM2005

Hello,
I'm new in developing application for Windows Mobile.
I've a question. In WM2005, is there any way to write application to
use RIL API? If not, is there any alternative way such as directly send AT
command to radio module? (I'm using Dopod 818C (HTC Wave) CDMA pocket
pc phone as developing machine).
Anyway, sorry for my bad English.
Hi -
Were u able to succeed sending AT commands to the RIL? I am able to send some basic commands and get the response using RIL_GetSerialPortHandle API and writing the AT commands to the handle that i receive from it. But i am not able to get certain commands like to get the cell environment, etc. Any idea on how to retrieve that?
Thanks
Hi,
I hope it doesn't sound arrogant but with Google and searching for e.g. "application use RIL API" you will find a WiKi page here on xda-dev and even a MSDN page. Hope this helps.
If you absolutely can not find any answer in the web send me a PM. I will ask a friend.
Cheers,
Derek.

Categories

Resources