Customizing the VoIP Phone Suite (Windows Embedded CE 6.0)

1/5/2010

This topic outlines some customization options possible with the VoIP Phone Suite as well as a better understanding of the overall architecture of the four sample applications that make up the suite. For more information about the four application components of the VoIP Phone Suite, please see VoIP Phone Suite Functionality.

For more information about some of these customization options see Common VoIP Phone Customization Tasks.

The six core components that the VoIP Phone Suite uses are not discussed here, except for how they might be used by one of the four component applications of the suite. For more information on the VoIP Core Components, please see Customizing Non-UI IP Phone Functionality as well as VoIP Phone Functionality in Windows Embedded CE.

The VoIP Phone Suite is provided in source code form in the %_WINCEROOT%\Public\VoIP\Oak\Phone\ directory and its subdirectories. You can use or customize it as needed.

For example, you can:

  • Change the look of the UI slightly — like adding your own logo — but leave most of the code that implements the underlying phone functionality intact.
  • Make extensive changes, like changing how the underlying code implements the features provided by the UI or by adding supplementary functionality to the UI.
  • Customize the provided UI or write your own. For example, you can add elements to the UI to launch custom applications written using the .NET Compact Framework or other Windows Embedded CE programming environments, or you can create a new two-line UI (for use on a small LCD display) that uses the same underlying software components as the UI that runs on a 240X320 or 320x240 screen.

The VoIP Phone Suite ties together much of the VoIP functionality provided in Windows Embedded CE: it uses RTC, Exchange integration, and other VoIP functionality. Whether you customize the VoIP Phone Suite or build your own UI and phone application, you only need to use the libraries that provide the functionality you need.

For example, you can mimic the VoIP Phone Suite by using Exchange integration for contact and free/busy schedule information, or take advantage of RTC directly for presence and instant messaging, as well as for signaling and media transport, or you can use any Catalog item by itself or in combination with your own unique code.

As a general rule, each application of the VoIP Phone Suite provides its own UI as well as its own modular functionality. For example, IP Dialer provides all the call control functionality, while IP Contacts handles all contact information, using both the Registry and the VAIL Database Store for call log and caller information storage and retrieval. IP Settings handles VoIP phone registry values and IP Home Screen handles the main introduction screen, the status messages and acts as a watchdog and proxy for the other three components.

All the four use the core component, PhCommon, which supplies the Win32 custom control functionality. Resource (.rc) files are also used in conjunction with the PhCommon controls. Because of this modular design, you can write your own UI without needing to re-implement it separately in each of the four application components, unless you wish to modify its behavior away from how each component works currently.

See Also

Concepts

Customizing Keyboard Shortcuts in the VoIP Phone Suite
Using the IP Phone Suite with a Custom SIP or Media Stack
Customizing the Supplied UI
Provisioning and VoIP
Using STUN with the RTC Client API
Using the VAIL Database Store and Call Logging
Recommended Timer Defaults for the VoIP Phone Suite
Using Exchange Integration

Other Resources

Customizing VoIP Phone Functionality
PhCommon Reference
VAIL Database Store Reference
Common VoIP Phone Customization Tasks