Intercepting and rewriting phone # before dial - Windows Mobile Development and Hacking General

Hi!
I'm a new windows mobile user, developer by trade. I have a need for an application that will intercept a dial attempt from contacts or smart dialing and apply some re-write rules to the number then proceeding with the dial as normal. I've not found such a program for WM (I use TakePhone to do it on Treo 650) so I decided to try to write it!
This is for Windows Mobile 5 (on a wizard, if it matters).
I'm a Java developer, and rarely use Windows so I'm not so up on the technology used for this kind of thing, but no matter. I orderd the Windows Mobile 5 developer thing from MS and have it all installed. Using the managed code Microsoft.WindowsMobile.Telephony stuff I can dial a phone number. I suppose I could even add a menu to the contact that would specifically run my code and then I could use the Phone.Talk thing to place the call, however, I'd really like to enable the program and just have it work in the background when it is enabled.
First, can this be done with managed code? If so, how! Any input would be appreciated. Also, if you know of software that does this already, I'll just go buy it.
Thanks in advance!

this should be possible to be done with managed code, but the only idea I have now is hooking RIL.DLL or COM-port communications. And the easiest way to hook something - is to use C/C++.

Thanks for the reply! I've done some searching on RIL and RILGSM and found minimal info regarding "hooking" it. It seems that the person most likely to have done it is "itsme" who has posted a bit of information regarding the entry points and functions available in said DLL.
I'll keep looking...

Related

what needed to program??

Hello,
i have visual c# express, is there any chance to get a template for mobile development? or any other good ide without downloading 200 single files to get embedded visual c++ 4.0 working?
i mean something simple like visual c# full version?
i want to start programming but i dont get it, because no right ide is out there only this ms ****
got it worked,downloaded evc++4.0, dont like it
im more into assembler/basic progrmaming languages
is it possbile to use assembler for programming? something like nasm to the desktop pc world?
If you want to do assembly, use evc to start you off then put assemble into that. I used to do this on the desktop (pc) all the time when I was writing a program to controll some hardware over a parallel port. I see in the evc4 documentation some info on inline assembly so it should be fine there (its part of the c++ language to allow this).
What is it you need that low level for? To do an entire project that way must be very hard.
thanks for the info
i only asked for imformation, later i want to write my own bootloader,l simple kernel,like i did for pc, maybe getting more into the low level programming, which i like more than the high level stuff
is there no basic language for windows mobile that allows you to create easily applications, for free
sometimes i dont understand the developers, doing some weird stuff like evc++ where you need so much sdk/extra stuff only to develop, why not packing everything into a basic language and give this language all the apis which are needed
well thats something i think should be more supportet :lol:
Confused
I thought of starting it myself. I'm not very into "Visual" products, I'm a C++ to Java converted person More of a Java person. Anyway, was trying to step my foot into this realm and I've found a few SDK that can be downloaded and use, what should I start first? There are several choices that I've for from M$
1. Windows Mobile 5.0 SDK for Pocket PC Genuine Windows download
2. eMbedded Visual C++ 4.0
3. SDK for Windows Mobile 2003-based Pocket PCs
Confused...
Wow, writing a bootloader. What do you intend to do with it? Custom OS or something else?
Guys, this is unlikely to be helpful for assembler etc., but I wrote an opus about an introduction to programming, from a beginner's point of view (ie mine!) a few days ago. Might be helpful to some.
http://forum.xda-developers.com/viewtopic.php?p=209136#209136
V
Hi everybody,
I'm a really-confused guy about programming PDA...
I have a PocketPC 2003 device. I have to use TAPI for my university final project and I want to establish a data call through GSM from this device to a desktop PC with a GSM USB device working as modem.
Now...
-I've built a dll with TAPI functions with eVC++ 4.0
-I've built a wrapper in c# with VS2005, a smart device application that calls the functions I need stored in the previous dll (using p/invoke).
-I installed pocket PC2003 SDK from Microsoft.
Am I right?does the pocketPC support TAPI or not?I'm really confused b/c I'm reading tons of forums and some say it works and someother say the contrary...
please, only tell me if I'm using the right method of programnming.
thanx
looki here:
http://forum.xda-developers.com/viewtopic.php?t=38223
That question would probably have been better put in one of the other tapi threads.
I know you want to do ppc to pc but give that a try first. If you can borrow someone else's phone because you will need two ppc for this test. If you can communicate ppc - ppc then ppc -pc should be easy.
Every ppc phone I have had can make and receive data calls, but I have not rewritten the program to work with wm2005 so if thats your os don't bother.
There is another way to get a connection between a ppc -pc over a call. One of my phone/gprs cards had a gprs config tool that let me manually enter the number for gprs. After that I was able to use the terminal services client on ppc to take over my pc. The ppc tries to connect via the gprs and that dials my home phone then I set up the pc to accept incoming phone calls. After logging in it worked very well as long as some data was being transfered. The problem was that if no transfer occured for more than a few seconds the connection dropped out. I think its because the modem was treating a regular call as gprs, ie doing nothing when its not needed.
well vijay, i only want to get some outputs on my pocket phone, testing stuff etc
the problem is i dont have any experience about the bootsectors of the sd card (i think thats the only way not to erase wm2003), else i dont have any experience about the architectur
on pc its easy, because you have much references and some forums about this stuff, but for ppc i dont think there is any forum about os developing.
on pc you can easily use a floppy , writing the bootloader in the bootsector and let the bootloader call the kernel, thats it (for the beginning)
has anybody some stuff about it? some informations, would be helpfull
thanks
Have you seen itsme's posts (I think) in the wiki, and generally on google. The kernel stuff there was whoosh, right over my head. Incredible work, definitive I'd say. The founding fathers of XDA devs have done quite a lot of work on this stuff I think.
V

Questions concerning programming with WM 5

Hello!
Does anyone of you know which dll's I have to use to get the following information:
- the net the sim card is booked in
- states of my GSM unit
- states of my telephone unit
Can anyone help me getting these information or tell me where I might find them?
Thank you very much in advance.
Monty
On Wm5, state and notification broker. No dlls required.
Please move your question to the development forum, for better responses :wink:
V
Sounds nice. But there's a problem: we do not only use WM 5 Pocket PCs. Many of our devices use Windows CE instead.
Do you know which P/Invoke I have to use?
If you're definitely not using WM5, but WinCE, then it's a hell of a lot more trouble. You need to use TAPI generally, this will give you answers to each of those queries.
I don't use Managed Code, so check out www.opennetcf.org/
If you're using Compact Framework, there may well be managed libraries to get access to this stuff easily.
Native Code ≡ Pain
V
I checked the library on opennetcf.org but it doesn't seem to be very useful. Is there any way to find out the functions compiled in the API dll's? I'm sure Microsoft offers a way to get the wanted information. But I cannot find it

Remote PDA Management Software

Hi all,
I joined the forum because I'm looking to design a PC application using Visual Studio 2005 that will connect to most phones and allow you to send/receive SMS, manage contacts, perhaps even use any onboard camera as a webcam.
I'm an experienced programmer, but know little about the architecture on the Andes, which is my testbed.
Basically, all I need to get started on the basics is how to communicate with the device using a serial connection (Not in debug mode though!), or the best way to accomplish this if not bluetooth.
Any/all help appreciated. I'm not looking for code just a procedure to establish a serial link that'll allow me to issue commands to the device whilst its in its usual turned on and usable state, or docked. However if you think it'll help please feel free.
Many thanks in advance!
opennetcf.org has examples and a free library which you can download
Eelco
Many thanks! However from what I can see, I'd need the latest version, which is not free :S Any attempt to install the previous SDK's fail as I'm running VS2005...
Ok, to clarify, I'm looking for a framework for a windows application that will enable me to connect to a smartphone, and control it. From what I can tell from the above site, the Opennetcf libraries are for a device application... I've installed the free version of the libraries and they work find under the emulator, but that's not really what I'm after...

Dial PPC from Outlook

I have been searching the web for years trying to find the solution to what I would consider is a very simple requirement:
From Outlook on the PC, right click on a contact and dial to a connected Pocket PC via Activesync.
Now, either I am alone in this world, or my search capabilities are flawed. This is a function/capability I used to have with my old Sony-Ericsson & I am missing it badly - yes, I know there is a Powertool that provides you with a "window" to your PPC, but I have found that this is somewhat flakey, doesnt like Landscape mode and frequenly freezes the PPC.
Further, I have enhanced my Access application to perform the dialup via the CPROG.exe, what I am after is the same or similar functionality direct from Outlook... please help!
Is there anyone out there that can help me?
looking for the same
it seems we both live in the same world
Come on guys, are you really telling me there isn't anything out there at all?
err so remind me why one would want to do this other than to write some annoying dialer program?
OK, rather simple, really:
Working from Desktop PC, with PPC connected via ActiveSync and sitting in a cradle - by definition, this makes it a pain to access the PPC.
Current Scenario:
1. PC has Outlook open, search for a contact that you wish to converse with
2. Open Contact
3. Look at number
4. Lean over desk, usually spilling coffee, or unintentionally moving to another website
5. Try to use Stylus to dial number (or use Intellidialer to access the same contact you have in Outlook)
6. Make call
7. Hope you have put in the right number
8. Call goes to voicemail, throw phone against wall
All in all, a rather cumbersome scenario.
Preferred Scenario:
1. PC has Outlook open, search for a contact that you wish to converse with
2. Open Contact, or right click on Contact
3. Select number to dial
4. "Magical programme" sends dial request to PPC
5. Make call
6. Call answered, sale made, kids go to expensive Private School and Wife loves you forever
Makes sense now?
yep so get one of those programs to control your phone from the desktop?
sure its not what you really want to do but it will do the job
st3v3 said:
yep so get one of those programs to control your phone from the desktop?
sure its not what you really want to do but it will do the job
Click to expand...
Click to collapse
Did you ever read his first post?
yeah for about 4 or 5 seconds, gave pity and responded for the simple fact no one else did and thought i would show some interest.
at least some of us make an attempt eh helterskelter
Thanks for your pity, but I would prefer to know what, if anything, is out there. Obviously, I was mistaken in believing this was the font of all wisdom and exciting development in the PPC world. I truly cant believe that nobody has thought to put this together. Funnily enough, there is one that does this via Bluetooth, but as the XDA Mini wont allow multiple Bluetooth connections, I have been "forced" to find out if there is anyone clever enough to make this happen :sigh:
Hi!
I miss this funtion in windows mobile. This is the only reason why I consider to go back to my old Ericsson.
A little bit strange that it works with other software but not with Microsofts own?
Using .net you might be able to write an app (server) that listens on an open port on the PPC for coms from the active sync pc. When a certial string is sent down this port DIAL(123456789) the app calls the dial command in .net framework.
Maby its time to bite the bullet and code it.
Im having to with another app
No need for a PPC app, as you can already do this from the desktop - using:
rapistart.exe "cprog.exe -n -url tel:numbertocall"
from within any ap. I have done this from my Access program, I was looking to see if anyone had done this for Outlook as a plugin for the Desktop, or indeed some form of TSR on the PC that will take a hotkey and use the above for a highlighted number (yes, I know that I am now officially in fairyland).
mlk said:
No need for a PPC app, as you can already do this from the desktop - using:
rapistart.exe "cprog.exe -n -url tel:numbertocall"
from within any ap. I have done this from my Access program, I was looking to see if anyone had done this for Outlook as a plugin for the Desktop, or indeed some form of TSR on the PC that will take a hotkey and use the above for a highlighted number (yes, I know that I am now officially in fairyland).
Click to expand...
Click to collapse
Nope this can then be done using windows scripting host cause its the outlook that you need to automate not he PPC.
See the 3rd item on this page.
http://www.cooperstown.net/tips/outlook-address.html
It should be able to help you out just make a custom toolbar button in outlook to call this piece of code and your away laughing.
EDIT:
Where did you fiind the info on cprog. Is there any way it could help with this
Unfortunately, I cant remember where I found the information on Cprog - only thing I have is the "How to call a number".. tried for some time to find various parameters to no avail... not too sure if this will help with your problem.
OK Guys, I finally bit the bullet - thanks Shaun for the "hint" - and coded a Macro to perform this.
It may be a bit clunky and as a "non-developer" I don't have the requisite nous nor software to distribute this as a plugin. For this reason, I have provided this as completely open (as far as I can tell), so if anyone wants to take this further, I hope I have started you on the track and that you wont forget the initial starter!
For those of you that wish to install - you will need to access your \Documents and Settings\<username>\Application Data\Microsoft\Outlook folder and extract the zipped file. My recommendation is that you save the existing one first, just in case you have written a bunch of Macros - wouldn't want to get any nasty surprises here - remember, Outlook only has one Macro bucket and this file is it!
Once you have installed and either provided your own Digital Certificate, or have an appropriate level Security within Outlook to allow this to run, simply add the Macro "Dial2PPC.Dialit" to a toolbar both in Outlook (that comes up in Contacts preferably) and in the Contact Form itself (use "Customise" as you would in any other Office application to facilitate this).
From here, it is as simple as selecting the Contact from your contact list and clicking on the Macro button you have setup - then follow the instructions, make sure your PPC is connected & Dial away!
Please note that you will need to have installed RapiStart from the Windows Mobile Power Toys and that I make no assertions that this is bug free, so use wisely - although, I am pretty sure I have most of the bugs out.
Again, this is provided open & free, so if you make an enhancement, please share it with the rest of us!
Hope this solves the "issue" for you guys as it has done for me!
DialViaActiveSync
mlk – thanks very much for your macro. I’ve taken the liberty of rewriting quite a bit of it (everything other than the part which communicates with the device, really), and have made it available under the GPL v2.0, in order to preserve its “Free” status.
In terms of changes, as I say, I’ve rewritten most of the back-end functionality. In particular:
1.) Adding items to the listbox – this now only shows fields which have a valid phone number, so there are no empty spaces
2.) Dynamic resizing of the form
3.) Form and “Dial” button captions show the name of the contact
4.) Where a contact has no valid phone number, a dialogue to this effect is shown
5.) You need to select number from the listbox before the “Dial” button is available
6.) You can double-click on a number in the listbox to dial it
7.) General tidy-up of some of the variable names, and removed a couple of unused variables
Installing my version:
I’ve exported the relevant files from the Project, so there is no need to overwrite the existing Project file – just open Visual Basic Editor (Tools / Macro in Outlook) and select “Import” and the browse to the relevant folder.
I'm a lurker rather than a poster on here, but, any questions, please do let me know.
Cheers,
Neil
Administrator
WindowsMobile247.com
[email protected]
Neil,
Champion stuff mate - I have always said it is best to wait for Version 2! Just one question: The ".frx" file, what is that for?
Mark.
It's the binary file for the VB .frm - it's not something you manually import, but it's necessary for the display of the form.
BTW- I've changed the contents of the .zip file for download- realised that I'd left in a line (an extra ResetState call) which stopped the whole thing from working - new version uploaded (same name) should be fine.
Cheers,
Neil
Administrator
WindowsMobile247.com
[email protected]
Thanks for this, maybe should change my mantra to: Wait for V2.1?
P.S. Thanks for coming out of the lurk!
Nah- v2 was fine... if I hadn't been meddling with it...
Managed to put the reset call before the RAPI argument, which, of course, wiped out the phone number it was trying to dial... Stupid, stupid, stupid -embarrassing, but at least easy to fix.
I guess that the next step is to try and implement SMS via ActiveSync - not sure if cprog.exe handles this, though, so it could be rather more complicated...

TyTN cellid?

Hi. I am writing a freeware social networking application based on location services ( http://www.fightersoft.ro/mts/index.htm ). Although many devices are supported, it seems that the HTC TyTN isn't. To that end I acquired one and now I am on the quest on getting the cellid in my application.
The approach that should of worked was the COM port. However, no matter what COM port I open, I get a create file error. I am guessing that maybe the internal modem uses a weird port name such as COM550 or other letters instead of COM. I know that another way of getting the cellid is by using ril.dll (or even getting the handle to the gsm modem com port). However, in WM5 this is not documented at all on msdn.com - BUT for WM6 there is documentation.
Firstly, I want to ask anyone if they have extra information about this issue and secondly if by upgrading to WM6, the using the COM port approach works from the box (usually COM9)?
hi, I tryed many programs, which have actually support for cellid information, but no one work on herm, no matter if it was WM5 or WM6. on all phones, I had before it worked correctly... phone alarm also have this functionality, but shown only something like 00-00...
This is so frustrating. Every mobile device with GSM capabilities has a GSM modem insinde. That modem SHOULD be accesible from the OS by the means of COM ports. My guess is that this port is hidden or under a different name than the rest of the HTC devices where it resides on COM9.
CommMgrPro shows Cell Id and Location Area Code correctly on TyNT
I started this thread in the hopes that people will contribute with ideas towards getting this task done. Can you reveal any technical information on how you get the cellid information?
stargatesg1 said:
I started this thread in the hopes that people will contribute with ideas towards getting this task done. Can you reveal any technical information on how you get the cellid information?
Click to expand...
Click to collapse
Sure. Ril.dll gives you access to this information and works properly in WM5-WM6. And technically is easier than manager serial drivers......
Documentation isnt included in WM5 so it isnt "official" but realky It is included. The only problem for "not official" issue is you wont get support from microsoft....
Ask me what you want...
stargatesg1, if you have searched the forum, you'd already have the answer. For instance, this thread:
http://forum.xda-developers.com/showthread.php?t=280476&highlight=cellid
has a reference to RIL API. And I do remember I told you this some months ago in your another thread...
Here it is:
http://forum.xda-developers.com/showpost.php?p=1040464&postcount=27
It was at October 26 last year!
Basically I only need the cellid and the lac. I found that msdn.com offers documentation for ril.dll for WM6. This also works for WM5?
From what I learned from msdn.com is that I should do a ril.initialize first and then I should get the cell info using a fuction that I can't remember right now. Is this approach correct?
Lurker0, I know about this approach (I have mentioned it in my first post) however, I need more information because c++ native is not my primary envoirement for developing. That's why I kept searching for a way of getting the lac-cid from com ports so that I could do it directly from managed code.
stargatesg1 said:
Basically I only need the cellid and the lac. I found that msdn.com offers documentation for ril.dll for WM6. This also works for WM5?
From what I learned from msdn.com is that I should do a ril.initialize first and then I should get the cell info using a fuction that I can't remember right now. Is this approach correct?
Click to expand...
Click to collapse
Exactly. I downloaded Platform builder to have includes and libraries.
1) Initialize Ril
2.a) Request Position explicitally using a RIL_gettowerinfo
2.b) When you initializa Ril you can pass a callback to be notified upon location changes....
Did you read the source code for RIL interface that I pointed you to?
danielherrero, I see. Regarding the callback function is not neccessary in my app - the user or the app set on auto mode searches for changes in location. Thank you very much for your info.
Lurker0, yes I did, but like I said, I am not a very experienced c++ programmer and I need some documentation to get me started. I am also very greatful for your help and I am sure that I will use information from rilclass.cpp.
Thank you both, I will post back with the results as soon as I will have any.
Good luck
Hi StargateSG,
Did you succeeded in getting MTS working on Tytn?
Rgds
I had to leave the country on a business trip. I'll get back in a few days and I will start working on the problem.
danielherrero said:
CommMgrPro shows Cell Id and Location Area Code correctly on TyNT
Click to expand...
Click to collapse
Does nothing on the Blue Angel.

Categories

Resources