IP Settings (PhSettings) Component (Windows Embedded CE 6.0)
1/6/2010
IP Settings (PhSettings) is a small executable that contains the settings used in a typical VoIP application.
It presents the user with a simple interface for choosing options and changing values which are stored in different registry locations (for example, "current ringtone", "do not disturb", etc.)
It can be easily replaced with or plugged into the control panel as needed.
VoIP Core Component Usage
The following diagram shows the VoIP Core Components that the IP Settings application component uses.
Inter-Application Connections
None of the applications that make up the IP Phone Suite directly call each other. All inter-application communication is handled through calls to PhCommon or through the use of Registry settings. Even calls to the VAIL Database Store are handled via PhCommon database calls, including initialization and a pointer to the database for further API calls directly.
In the case of IP Settings, the phsettings.exe uses only two of the VoIP Core Components, namely PhCommon and the State and Notifications Broker API (SNAPI) which handles calls into the Registry. However, all communication is handled through PhCommon, which uses SNAPI to make those Registry calls.
IP Settings uses the following PhCommon API sets:
- PhCommon Controls APIs
- PhCommon Settings APIs
- PhCommon Provisioning APIs
- PhCommon Command APIs
- PhCommon Authentication APIs
For example, IP Settings would call PHGetAppWindow to see if its screen were running. It would use the PhCommon Settings APIs to make various calls into the Registry to set or retrieve information. It would also use the PhCommon Provisioning APIs to process provisioning XML information. In this case, the call would be a PhCommon API call, but PhCommon in turn, would call phonecore.dll (part of IP Dialer) to have IP Dialer do the actual work, since IP Dialer is responsible for handling provisioning.
OS Design Information
For a table showing the operating design information for the IP Phone Suite, of which IP Settings is just one part, please see IP Phone Suite OS Design Development.
Module
The following module implements the IP Settings. The module is an executable.
Item | Module |
---|---|
IP Settings |
phsettings |
Source Code Location
The IP Phone Suite sample source code is located in %_WINCEROOT%\Public\VoIP\OAK\Phone\ and its subdirectories
For a complete source code location list, please see IP Phone Suite Source Code Directories.
The following table summarizes the contents of the directories and subdirectories of IP Settings:
Directory or file name | Description |
---|---|
SETTINGS |
IP Settings source code including any resources and headers. |
SETTINGS\RES |
Bitmaps for use by IP Settings. |
Implementation Considerations
The following table shows the core Sysgen variable for IP Settings. For a complete dependency list, showing all the Sysgens, please see the IP Phone Advanced Design Template and look at the advanced phone case.
Sysgen variable | Description |
---|---|
SYSGEN_VOIPPHONE_SETTINGS |
IP Settings Application |
See Also
Reference
VAIL Database Store Reference
PhCommon Reference
Concepts
IP Phone Suite Architecture
IP Phone Suite
Other Resources
Real-time Communications (RTC) Client API
Exchange Client
Pocket Outlook Object Model (POOM)
State and Notifications Broker
Developing a VoIP Phone