The application will be running in the background all the time. As soon as there is an incoming call the application will hide the original incoming call screen of the phone and instead display a custom screen. It doesn't require to display caller information. The application has to be developed using native programming i.e. C++ (preferably win32) for Windows Mobile phones. In general, following should be achieved.
1) Our custom screen has to pop-up when an incoming call is detected. There should not be any fluctuation in that. Our screen should last forever till user picks up the phone by pressing the Green button or touching "Answer" option as LSK (Left Soft Key) or the call automatically ends upon user not receiving the call. In that case the standard/default Windows Mobile screen should be shown at the end.
2) The green (Accept call) and red (Reject call) buttongs should have default actions even when our custom screen is in focus.
3) Once user accepts the call by pressing the green button, it should show the default phone screen and not our custom screen. Also, the ringtone should stop at that time (when the call is picked up) and user can do everything normally what phone allows him to do.
4) Once user rejects the call by pressing the red button, it should show the default phone screen and our custom screen should immediately go off. Ringtone should immediately stop in such case. The phone should be back to normal operation.
5) Upon incoming call if the user presses Red button then our application should not exit and it should still run in the background. Upon the next incoming call it should still present with the same custom screen.
6) The software should work on all Windows Mobile phones either GSM or CDMA.
7) The same code/binaries should work (as it is) without making any changes while deployed on multiple phones. No code change will be accepted to make it work on different make and models. It must run on all the Windows Mobile Phones. I am ok if separate binaries are required to build for WM 5.0 and WM 6.0.
8) The custom screen SHOULD NOT occupy the full screen of the phone hiding the top bar, which displays battery level, signal strenght etc. as well as the bottom bar which has two menu items (Answer and Ignore)
This just a PoC and upon successful completion the actual project will start immediately.