Intercept SIM API call - Windows Mobile Development and Hacking General

I want to intercept the SIM API call from WM 5.0. After intercepting the SIM API call, some data processing needs to be done after calling the original API entry. Does anybody know how to do this? Do I need to hook the RIL dll APIs or hook the SIM manager API call in WM 5.0 platfrom? Can WM 5.0 (WinCE 5.0) allow us to do this?

Related

Data Call between two XDA's

Hi
I am new to this form.
I had a look at the tsril.zip example as it seems from this forum that to make/receive a data call the ril is the only option. Unfortunately the documentation for ril is nonexistent and I want to ask if someone has done an example of a client/server data call, data transfer between to XDA's.
Thanks in advance.
Anton
It all depends on what type of data you want to transfer. I have never used RIL so I don't know the advantages of it, over the normal programming interface. I say normal, not thinking there is anything wrong with RIL but the little I do know is that RIL is operating system level and is normally hidden from the application programmer. There must be times when RIL must be used if Microsoft forgot functions in the normal APIs.
However I would say that for a data link between 2 devices then RAS seems the way forward. One device would be the Server and the other the Client. I have only ever programmed RAS from the client side, making a Telnet link to an already running server.
I just had a look at the help on Embedded Visual C++ 3.0 and under 'Creating a TCP Stream Socket Application' it explains the server side and then links to the client side. Have a read there.
RAS is not an option as it is a server consept, which I think does not even exist as a service on the desktop windows os let alone on a Pocket PC.
What I am looking for is something similar that you would be able to do with a landline modem or a gsm modem connected to a serial port of a pc (even a usb modem) which is to send AT commands to make/accept a call and then to make use of the serial port as if it is an io stream. This is possible on windows, linux using either c#, c++ or java. I can even do this with an embedded gsm module like the siemens TC45 java module.
What I can not understand is why Microsoft and the XDA suppliers (I am using a Qtex running Pocket PC 2002) is making it so difficult to make/answer a data call and let you run your own protocol over the connected stream.
RAS (Remote Access Services) is built into all Windows Operating Systems, including Windows CE. Did you look up the help example I pointed to ? What you do with RAS on an application level is for you to code but the connection itself is handled by the operating system.
As to making a connection similer to a modem and using AT commands. Then no you can't use AT commands directly, but you don't need to. To get that type of connection you need to use TAPI. Once Tapi has made a DATA_MODEM type connection, you use the TAPI callback connect event to then ask for a file handle that you can use with the normal WriteFile and ReadFile commands.
I already have something on this forum about that see:-
http://forum.xda-developers.com/viewtopic.php?p=7857&highlight=#7857
The problem is not so much making the data call but it is accepting/answering the data call that I can not get working on the XDA
Not sure if this is your problem, but in Australia they have a seperate "data" phone number for the same SIM. If yo call one number you get voice, if you call another number you get data on the same sim. Not sure if this may be effecting you.
I just looked into all this ras stuff a bit deeper, and yes I think I may of been talking rubbish. Although RAS does exist in PPC2002, it can't see any functions that allow the device to answer the line. I can see that PPC2003 has a Ras Server and RasIOControl that looks like the answer there.
Also looking into Tapi, I can't see how you answer a data call using that.
So I now understand your problem. It seems PPC is made as a client device.
Is GPRS the answer ? With that the link is always present and then you can use the built in Ras functions on seperate devices. Since you only pay for data actually sent then would it matter if the network link was always present ?
I have only worked out Tapi and Ras from the client side so I have never had this problem, but I agree it is an interesting one. I will have a bow out of this thread for a bit and see if anybody else knows how to Answer a Call.
Thanks for trying.
GPRS is also not the answer as you need a server in between that both XDA's can connect too and use as a router as the XDA's do not get fixed IP adresses but actually a NAT adres from the APN so you can not connect directly between the two.
Now that's an interesting thought, how about using some free web space to act as a pigion hole for your data ?
Believer: A seperate number? How do you know this, and what would the number be?
I can actually make two XDA connecting to each other using TCP. The trick is that I have one client always connect to a server to register it IP address with an ID. Then the caller send a query to the server to look up the callee's IP address.
In this way, accept() and connect() work fine.
I am using AT&T network and not sure about if other networks behave the same.
I wrote two application using TAPI. One is ModemDial and the other is ModemWatch, if I make a voice call the ModemDial dials the number successfully and ModemWatch reports that an incoming call exist. But when I change the behavior of call to DATAMODEM, the ModemWatch couldn't track any incoming call.
Is there any one, had some experience with pick a call for DataModem?
Best regards,
A. Riazi
riazi said:
I wrote two application using TAPI. One is ModemDial and the other is ModemWatch, if I make a voice call the ModemDial dials the number successfully and ModemWatch reports that an incoming call exist. But when I change the behavior of call to DATAMODEM, the ModemWatch couldn't track any incoming call.
Is there any one, had some experience with pick a call for DataModem?
Best regards,
A. Riazi
Click to expand...
Click to collapse
In your ModemWatch application make sure you are calling lineOpen with dwPrivileges (the 7th parameter, 1 based) equal to LINECALLPRIVILEGE_OWNER and dwMediaModes (the 8th parameter) equal to LINEMEDIAMODE_DATAMODEM.
If you're able to answer a voice call successfully, making these changes to the ModemWatch application should allow you to answer a data call.

XDA2:Is there some software handler possible on GSM voice?

There's a need in mobile PC/GSM device which allows to put a software filter on voice which is transmitted via GSM network when talking.
Can it be done on XDA2 and if not which models will you suggest?
The filtering needs to be done on digital signal not packed to GSM packets, in both directions, during the talk - in realtime.
Thanks in advance.
Re: XDA2:Is there some software handler possible on GSM voic
This is impossible on XDA1,2,3 and Anextek SP230. Probably this is a limitation of PocketPC 2003 (even SE) OS. Wait for a device with a PPC 2005, maybe it would support this.
sure
it IS possible.
but you must delete default Phone application and services. and then you can run your own implementation of phone features with filter or anything other inside the voice channels.
please note: default Phone is invoked by several services, you have to lock all these ways.

Camera API WM 2003

Hi, does anyone know if there are specific camera API for windows mobile 2003, and if so can you let me know.
If not are there any programmes/SDK/source codes that will function as a general set of API's which will allow me to access a camera, which is plugged into the SDIO slot, which are compatible with WM 2003?
smigger666

? to all developers who use voip on wm6

does the voip on wm6 provide any api?
I went through the wm6 sdk documentation,
and the information provided is very limited.
I got the impression the only way to work with voip is in manipulating registry entries and that only oems have really access to apis.
Is it possible to access voip functionalities through native code?
e.g. accessing something like the voip application interface layer which is described here:
http://msdn2.microsoft.com/en-us/embedded/aa714346.aspx

Urgent Help Needed in Windows Mobile Voice Routing Issues in VOIP Applications

Hi,
I am developing a VOIP Application for the Windows Mobile 6. I am getting a problem while running it.The problem is that when an incoming or outgoing call is done the voice is coming from the speaker phone not from the earpeice which should be the standard solution as per my application is concerned. Please tell me the solution to this problem so that I can program my application to use the earpeice instead of the speaker phone. Is there some API function call in the Windows Mobile 6 Professional SDK so that I can make it a genaral solution to all the windows mobile 6 professional devices. Also I can use the RIL Library for it but this component may not be necessary in each windows mobile 6 professional device as it is an optional component for the OEM and also Microsoft has made a strict licence policy to use it in the application. I dont know about the OSSVCS.DLL which someone has told me to use to accoomplish the task. Is this a integral component of the windows Mobile 6 Professional SDK. Can We use TAPI 2.0 API or Microsoft has put some restrictions on it also. Can I get some details from somewhere, Where I can get all the list of components of Windows Mobile which I can use in my application without licence Restictions. I am always confused in using some core libraries in windows mobile due to licence restrictions where can I know this info.
Please help me out to this.
Thanks in advance.....

Categories

Resources