VoIP Phone Hardware Requirements (Windows Embedded CE 6.0)
1/5/2010
The hardware requirements of a Voice over IP (VoIP) phone device vary greatly depending on the form factor. For example, hardware requirements for traditional desktop phones are different than hardware requirements for web pads with VoIP phone functionality.
This topic provides some basic hardware guidance for VoIP phones built using Windows Embedded CE.
Audio Hardware
- The audio capture device and driver used by the VoIP phone device should have the ability to handle wave-in capture buffers as small as 10 milliseconds and return them to an application when they are filled with data.
- Although audio compression and decompression, and other audio tasks, can be handled in software running on the main CPU, it may be more cost effective to use hardware that includes a digital signal processor (DSP). If your hardware includes a DSP, you can create a custom media manager implementation that uses the DSP for computationally-intensive media processing.
This leaves the processor free for other tasks and, because the processor does not have to do media processing, it can reduce the required speed of the processor. This also reduces power requirements and processor cost. In many cases, a board that includes a DSP and a slower CPU is less expensive than a board that only contains a CPU that is fast enough to do both application and media processing. - Ideally, peripheral hardware like the microphone and earpiece should have automatic gain control.
If your implementation of a media manager uses the RTC Client API - you can take advantage of the Windows Embedded CE RTC Client API functionality, which includes automatic gain control. - Similarly, most devices should support acoustic echo cancellation, especially if your device has an external speaker and a microphone that receives sound from the speaker. Alternatively, you can customize software, such as an audio driver, to support echo cancellation.
Echo cancellation is typically processor-intensive and should be implemented using a DSP or other dedicated hardware.