mortscript help - Windows Mobile Development and Hacking General

is it possible to make a call in mortscript and then hang up the call once its connected, but on the screen it shows a pic or something so people do not see the dialer. Then since its calling a callback server, when the call comes back, it auto picks it up, then once that happens it goes to dialer then the script dies? (the hardest part is closing the call once it connects and then also having the pic show while the script is running? how do i do that? or code help thanks!

the registry key
Code:
HKLM\System\State\Phone\Active Call Count
is created once you are in a active call
to hangup just simulate the keypress like sendspecial(114) or use vjkeypress (www.vijay555.com)

so how do u tell mortscript that function? (like when? reg key?)?

i would suggest to get a tool which launches a program if a call comes in. there are some around here in the forum. look for "phone filter" or "call filter".
this tool could run your script.
your script would check the reg key mentioned above e.g. every second.
if you do not want to use such a tool then you have to let the script run continuously.

well the object is a script when a button is pressed. Basically it sends out a call then when it sees the call is active it closes the call. Then when the call comes back from that # it picks up the call and then shows the dialer? then the script dies until obviously the button is pressed?

what is a command for like if this Reg? then (close program)?

the first part of the script. it checks every second if the call is active, but not longer than 20 seconds in total. after that it hangs up. you need the attached file for that.
Code:
phonenumber="+123456789"
Runwait("\Program Files\makecall.exe", phonenumber)
Sleep(2000)
Minimize("Phone")
For i = 1 to 20
If (RegRead("HKLM","System\State\Phone","Active Call Count")=1)
SendSpecial(115)
EndIf
Sleep(1000)
next i
SendSpecial(115)
for the second part i currently do not know how to get the incoming number into this script. that is what you need to find out. maybe there is a registry string. make a snapshot of the registry, call yourself and while ringing make another snapshot.
Code:
For i = 1 to 20
If (incomingcall=phonenumber) <-this needs to found out
SendSpecial(114)
EndIf
Sleep(1000)
next i

i will trywhen I get in townn monday' so does this script autokill? thanmks

the code is not yet completed (see below in bold). it depends on how we get the incoming number into this script.
then we'll see what is the best structure for this script.
are you familiar with scripting? if not i would recommend getting used to it.
Code:
phonenumber="+123456789"
Runwait("\Program Files\makecall.exe", phonenumber)
Sleep(2000)
Minimize("Phone")
For i = 1 to 20
If (RegRead("HKLM","System\State\Phone","Active Call Count")=1)
SendSpecial(115)
[B]<command required - either exit, call other script or put other script into notification queue>[/B]
EndIf
Sleep(1000)
next i
SendSpecial(115)

im not sure what the i 1 to 20 does.also to lop the regend commands until one call closes

??? the loop checks the registry key
what do you mean by "also to lop the regend commands until one call closes"

basically when a call comes in it will see that in the reg... then run that incoming call part.. then when that incoming cqll comes in auto pickup call and then kill all scripts

come on.
if it is in the registry then you should be able to do this by yourself.
all you need is already here in this post.
could you please post the registry key?

im conofusd about how too loop the active call reg key checking script until one call comes in

mortscript does not know anything about an incoming call.
you have two options:
either put a script into a continuous loop to check if a call comes in
or find a tool which runs as a service in the background and can launch a prog if a call comes in.
if you find a tool: good, then you do not need the loop anymore. just run the second part of the script, check if the registry key equals the phonenumber and accept the call.
if you do not find a tool: you need the loop. if you know that your call comes in not later than 10 seconds after you hangup you can decrease the loop to 10

gotchya .. but is there a loop that can be put on just if one specific # comes in. I dont mind like basically having that loop for incoming so basically
ok ur first script...
then after that completes turn on a looping script for if a call with certain # comes in, whenever that happens, i guess it will read that call active script again, then once that registers can u have some type of thing where the incoming script loops until X registry appears (the call active registry again). And once that appears all scripts stop and goes to dialer pad?

ambush276 said:
gotchya .. but is there a loop that can be put on just if one specific # comes in. I dont mind like basically having that loop for incoming so basically
Click to expand...
Click to collapse
does that mean that the process you described above is not run sequentially, like:
dial -> hangup -> wait for incoming call -> accept call
dial next number -> hangup -> wait for incoming call -> accept call
or does it work like
dial -> hangup -> while waiting for first call dial next number ...
ambush276 said:
then after that completes turn on a looping script for if a call with certain # comes in, whenever that happens, i guess it will read that call active script again, then once that registers can u have some type of thing where the incoming script loops until X registry appears (the call active registry again). And once that appears all scripts stop and goes to dialer pad?
Click to expand...
Click to collapse
sorry - can't understand what you mean.
didn't expect to do the whole work for you...
Code:
phonenumber="+123456789"
Runwait("\Program Files\makecall.exe", phonenumber)
Sleep(2000)
Minimize("Phone")
For i = 1 to 20
If (RegRead("HKLM","System\State\Phone","Active Call Count")=1)
SendSpecial(115)
Call("WaitForCall")
Exit
EndIf
Sleep(1000)
next i
SendSpecial(115)
Message(phonenumber & "did not answer")
Exit
Sub WaitForCall
# waiting 10 seconds until script checks for incoming call
Sleep(10000)
For i = 1 to 20
If (RegRead("HKCU", "Path", "Key")=phonenumber)
SendSpecial(114)
Exit
EndIf
Sleep(1000)
next i
Message(phonenumber & "did not call back")

run script:
dial # > call connect then disconnect> wait for incoming Reg to open (aka incomming call is comming in on Certain #, if not that certain # then ignore)> answer call automatically> go to dialer pad (and let user dial no auto dial)> close script.

the script will do that for you

the incoming call registry is the same i put in and it works.. but still a few more problems (thanks so much for sticking this out i REALLLLY appreciate it!)
ok basically the first part of hte script maybe im just a dunce but i still dont quite understand how it works. It's not always sleep 2000 before it connects etc.. sometimes its 1000 sometimes its 5000, when testing unless its before the given sleep time it will not function correctly (aka that checking is not looping). Basically i want the script to check for teh reg key (the active call) continuously for X amount of seconds (or else show an error message like it could not place call or something) and kill script. SO like wether it takes 2 secends for call to connect or 8, that reg key is always checking if its there, and it will for X amount of second. The next thing i want to do. (probably the last), is when that incoming call is in, to disable the rining and the popup notification. The same idea, to have the reg key for the incoming call loopping, so wether it takes 10 or 20 seceonds for the number to come back as soon as the call is registered it automatically picksup the call and no ringing or notification call is comming in. (also this should be easy but once u press the (114), and it goes to teh screen, what is command to go to dialpad? (so like it opens up the phone app again and goes straight to dial pad. Thanks!!! (taht is about it)!

Related

replace the caller ID notification screen

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:

Duplicate contacts in Call history; How to delete/fix them?

I found it very annyoing; so please someone help:
First of all: in call history; it alway sets to all calls; that means showing missed/incoming/outgoing everything; Even if you put filter to missed calls only; next time you open history; it again reverts back to All calls filter; So QUES IS: how do you make HTC remember call history filter which you set up earlier (like show call history only)
2ND QUES:
even dumbest fone of Moto's shows this; when you call xyz from your ph.book, and called again, its shows 1 entry in call history (not every time you call it), but in HTC it shows 10 entry if you try to call 1 number and it's busy or not connecting; so how do i get rid of these duplications?
Help appericiated; ques sounds dumb but i'm rookie using PPC 1st time in life
same issues as above is there a fix? also is there a way to save text messages or lock them?

DTMF on 8525

Can anybody tell me how to send DTMF tone in Cingular 8525? I searched this forum and the internet infact, but not able find the answer.
I need it to be able to set up the phone number in the address book to do this:
dial the 877-xxx-xxxx number
manual wait
DTMF a 10 digit number followed by a #
manual wait
DTMF a 4 digit number followed by a #
manual wait
DTMF a 11 digit number followed by a #
This is for calling my parents in India and it's always been really convenient to just program the whole thing.
One way would be to enter a 'p' wherever you want a pause in the dialing. This produces a second or two pause between sending the numbers.
Thanks for the quick reply. I tried that and even tried adding w but it is not working.
Also my requirement is a manual pause meaning the automated message takes a while to finish, so I need to send the tones manually.
Hmmm. I dunno. I used to be able to do something like that on an OLLLLD Motorola and some home (non-cellular) phones by using several speed-dial locations, and calling up each one as it was needed. But I never tried it with my 8525 (and don't really need that usability now).
Maybe you can give that a shot and let us all know if it works????
Good luck!
Thank you for that suggestion. Since it is a lot of combinations I would prefer to use DTMF. I really don't know wherther you can send DTMF tones on 8525. Also I saw in the install notes of HTweakC 2.1 for Hermes that it would enable DTMF support. I guess I don't know how to use that feature. Can somebody please tell what I am missing?
DTMF
I had issues with this also.
I used the HTweakC 2.1 to turn on (then off / then back on again with soft resets each time.) (Don't forget to "save and exit" after changes.) the DTMF support.
Opened the phone app and went into options. Set DTMF to short.
Used the following format for the contact phone number.
(111) 111-1111w11111#w11111#
Everytime you get to a w, the phone will wait for you to press the send key.
I also was able to use the p to do a 2 second pause.
For some reason I had to redo the contact several times before it would work.
Good luck.

inserting pauses for Wing speed dialing

No one at T-Mobile has the answer and HTC tech support referred me here. I dial my office voice mail maybe 10-15 times a day. On my Sprint phone I was able to insert pauses in the dialing. It would dial the number, pause for the voice command, add a string of numbers, pause for the next voice command, and finally put in my password. So I could press 3, for example, and it would take me all the way through to my messages. So far I can not find a way to put in the pauses on the Wing. So I have to press 3 and then wait for the voice command, and then manually put in the next string of numbers, then wait again for the next voice command, and then put in the password. This is time consuming and impossible to do while driving. Anyone know if it can be done on the Wing? If so, how? Thanks, Tom
I have not tried it on the Wing... But try just putting a comma "," in the dialing string... Should work.... Does on all my other phones......
Commas
I tried this. Maybe I'm doing it wrong, but I don't think so. In my contacts I go to the phone number. Here is the string I use (with x's for most of the numbers): 1802xxxxxxx,,,#802xxxxxxx,,,xxxxxx
I have this as a speed dial and also as a T-Mobile Fav. Any way I try to dial it it only dials the 1802xxxxxxx and then stops.
There is no way to insert pauses
I have now been told by someone who seems to know at T-Mobile that the Wing has no way to insert pauses into a contact phone number. To me this is a near fatal flaw. It means that if I call my office voice mail 5-10 times a day I have to type 16 extra digits (which includes my phone number and my password) each time I try to get my messages. Oh well.
Tom H said:
I have now been told by someone who seems to know at T-Mobile that the Wing has no way to insert pauses into a contact phone number. To me this is a near fatal flaw. It means that if I call my office voice mail 5-10 times a day I have to type 16 extra digits (which includes my phone number and my password) each time I try to get my messages. Oh well.
Click to expand...
Click to collapse
I have 'p' as a pause digit and it works fine to call my voice mail for example...
P's don't work for me
malixsys said:
I have 'p' as a pause digit and it works fine to call my voice mail for example...
Click to expand...
Click to collapse
Tried it on the Wing but no luck. When I dial with the P's added, the dialing never gets past the first string of numbers. On the dialing screen there are no P's and nothing past the first string. This is true for comma's also. When I tried it with ***'s it did appear, these did appear on the dialing screen of the Wing when I dialed but the call clicked off without dialing with the message, "Call Ended." One thing I noticed is that Outlook takes anything after the first string of numbers and puts the rest under "Extension" and puts an x before it. But I'm having the problem even if I enter the number only on the Wing and not in Outlook.
My mistake -- p's work and also commas
malixsys said:
I have 'p' as a pause digit and it works fine to call my voice mail for example...
Click to expand...
Click to collapse
Yes! I see what I was doing wrong. A comma or a "p" both work fine. Thanks for the help.
One problem remains: I have this number as one of My Fav's, and if I dial it using My Fav, it doesn't do the pauses. I think I have to wait until July 1 and refresh the My Fav. -- I hope.
And what have you done wrong? (Just to solve this one exactly)
xsign said:
And what have you done wrong? (Just to solve this one exactly)
Click to expand...
Click to collapse
At least this: When did the speed dial (after inserting the pauses), at least a few times I did not wait long enough for the pause to kick in. On my Sprint phone I think it happened quicker with more pauses (I think), and I was used to have it happen quickly.
The Call Ended message that kept happening may possibly have been due to being out of a service area, but I tested at the time and other calls were going through, so I'm not sure what happened.
Finally, I haven't synced it back with my desktop yet. I hope the Outlook on the desktop doesn't screw things up.
One more thing if it is useful: T-Mobile has these My Fav's. If I dial using the speed dial or directly from the number itself, it is working. But if I dial directly from the My Fav's it does not insert the pause. I think the reason is that I uploaded the My Fav number to T-Mobile before I put in all the pauses, so T-Mobile must have it and be using it without the pauses. On the first of the month I intend to upload it again with the pauses and see if that will work. Hope so.
Thanks, Tom
we can also use a 'w' to insert a wait
along with the 'p' for pause, a 'w' can also be used to insert a wait. That would be useful when you are not sure how long to pause and want control of when to send the rest of the DTMF sequence. If you insert a 'w', you have to keep pressing the Green Call button and it will keep sending the DTMF sequence till the next 'w' in the number.
I use that very frequently to dial international phone numbers with different calling cards.
a w may work on the wing, most current android phones it seems like a ";" is whats required for the wait tone. also a comma is used for pause (3 seconds)but the easiest way i found to do it is by simply pressing the menu button while in the dialpad screen, it will pop up with options to add wait's or pause's

Help with cprog

Hi, I have started to write a parental control phone application for wm6 which would let my kids answer only selected numbers and dial only a few numbers, however I am having a few issues where I need help:
1- I am trapping the Notification Event for incomming call (RegistryNotifyCallback) and put my window topmost (to hide the Phone Incoming Window) but I don't know how to prevent the use of the Green and Red hardware buttons (I need to disable them so the phone can't be answered if the number is not approved)
2- For outgoing calls, I need my app to be started with the Green phone button instead of cprog, but again, how do I trap those buttons.
Thank you
Replacing CPROG: bad idea
You just need to create a dialParser dll (signed) that will block outgoing calls that are not allowed, and maybe some TAPI wrapper to block incoming calls.
Replacing cprog is just a wrong solution.
How to make a dialParser? look at Google! it's an undocumented API (MS doesn't want you to know how to do it if you don't pay the partnership...) but leaks are everywhere!

Categories

Resources