IP Phone Suite Startup and Initialization (Windows Embedded CE 6.0)
1/6/2010
In the OS design created by the IP Phone advanced design template, the IP Phone Suite starts when the OS boots. Or rather, the IP Home Screen component starts when the OS boots.
This is caused by the following text in %_WINCEROOT%\Public\VoIP\OAK\Files\voip.reg.
; Launch the VoIP UI on startup
[HKEY_LOCAL_MACHINE\init]
"Launch97"="homescreen.exe"
"Depend97"=hex:1e,00
Where IP Home Screen Initiates
The application entry point is the WinMain function in %_WINCEROOT%\Public\VoIP\OAK\Phone\Homescreen\Main.cpp.
WinMain initializes the IP Home Screen application and also launches the IP Dialer application (phoneapp.exe).
IP Dialer, in turn, does the internal initialization, including attempting to provision the phone and register with the user’s SIP proxy server. IP Dialer also begins the application message pump that drives the rest of the application.
IP Home Screen is also responsible for launching IP Contacts (PHInfo.exe) and IP Settings (PHSettings.exe) if the need arises. These applications are only launched if their functionality is required by the user. For example, a user wants to see their Contacts list.
When the application shuts down, WinMain cleans various objects and pieces of memory, and then the application shuts down.
IP Home Screen Ensures Call Making is Always Available
IP Home Screen also monitors the status of IP Dialer, as it does with all the launched applications. However, in the case of IP Dialer, IP Home Screen monitors it and if for some reason, IP Dialer shuts down prematurely, meaning the IP phone itself is not shutting down, IP Home Screen will launch IP Dialer again. Thus, IP Home Screen will ensure that the IP Dialer application will constantly run and be available for call control at any time while the phone is turned on.