VAIL OS Design Development (Windows CE 5.0)
The VoIP Application Interface Layer (VAIL) provides developers with programming constructs better suited to use in Voice over IP (VoIP) applications by abstracting the lower-level interface provided by the Real-time Communications (RTC) Client API.
This abstraction also enables developers to replace the call control and media transport implementations provided by the RTC Catalog item, which use SIP and RTP, with other implementations, without requiring code that uses the VAIL to change.
The VAIL also provides additional IP phone functionality like call log and caller info databases and provisioning.
Much of the functionality of the Telephony User Interface (TUI) Catalog item is provided by VAIL.
For additional information about VAIL modules, components, and SYSGEN variables, see voip.bat in %_WINCEROOT%\Public\CEBase\Oak\Misc.
For more information about RTC OS design development, see RTC Client API OS Design Development. For more information about TUI OS design development, see TUI OS Design Development.
OS Design Information
The following table shows OS design information for the VAIL.
Concept | Description |
---|---|
Dependencies |
|
Hardware considerations | The same hardware considerations that apply for RTC apply for devices that use VAIL.
In addition, the capture device and driver used by the VoIP device should be able to handle wave-in capture buffers as small as 10 milliseconds and return them to an application when they are filled with data. Ideally, peripheral hardware like the microphone and earpiece should have automatic gain control and built-in echo cancellation. |
Modules and Components
The following components and modules implement the VAIL.
Item | Module | Component |
---|---|---|
Call Log and Caller Info Databases | voipstore | None |
Configuration Data Store | voipconfigurationdatastore | None |
Media Manager | voipmedia_ref | None |
VoIP Manager | voipmanager | None |
The TUI is implemented in the voipui module. For information about modules and components for TUI, see TUI OS Design Development.
Implementation Considerations
The following table shows the Sysgen variables for the VAIL.
Sysgen variable | Description |
---|---|
SYSGEN_VOIPPHONE_CONFIGURATIONSTORE | Adds the configuration data store implementation used by VAIL for provisioning. |
SYSGEN_VOIPPHONE_DBSTORE | Adds the reference caller information and call logs database implementation. |
SYSGEN_VOIPPHONE_MGR | Adds core VAIL functionality and APIs. |
SYSGEN_VOIPPHONE_REFMEDIA | Adds the reference media manager implementation. |
See Also
VoIP Application Interface Layer (VAIL) | RTC Client API OS Design Development | How to Create a Default IP Phone on a CEPC | How to Create a Default IP Phone on an Emulator
Send Feedback on this topic to the authors