Share via


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.

Ee501504.fc241c7e-dcc5-49e1-9dbe-e8759c10bbe2(en-US,WinEmbedded.60).gif

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