Currently working on a proggy for my HTC Titan to allow me to block and blacklist calls. Should however work on any pda phone running windows mobile 5 or 6. I'm not sure about smartphones yet. Currently in the alpha testing phases, though it's a very basic program. It has 5 functioning modes.
1. Normal - duh. Phone works normally.
2. Whitelist/Contacts Only - Sends all calls directly to voicemail unless in the whitelist or phone contacts.
3. Blacklist - Any numbers listed in the blacklist will go directly to voicemail (essentially hits the "ignore call" button).
4. Hatelist - Any numbers listed in the hatelist will be hung up on. No opportunity to leave a voicemail.
5. Blacklist+Hatelist - Uses both modes. If a number exists in both lists, the hatelist is applied first.
Problems so far:
1. If a call-waiting call comes in and it's in the blacklist or hatelist and either mode is enabled, it hangs up the current call.
2. Sometimes will hear a half-ring before the call is blocked. Will need to re-write proggy in C++ to get around that problem I think.
3. Would like to use the right soft-key instead of the end call button to programmatically block call, but sometimes the "Phone - Incoming" comes up too slow causing my program to push the "Contacts" of the Today screen instead of the "Ignore" from the incoming call window. Working on it.
4. Minimizing. I use HTC's task manager proggy that turns my window's X's into program close instead of smart minimize. So I am using a button in my proggy that runs a form.close(). Once that's ran, can't bring up the proggy or kill it in the task manager, have to soft- reset.