RTC Client API OS Design Development (Windows CE 5.0)
Windows CE includes the released version of the RTC Client API, version 1.2, and includes the following functionality:
Setting up VoIP connections among Windows CE-based devices, .NET-based devices, Microsoft Windows XP-based systems, third-party SIP user agents, and PSTN phones.
The audio functionality includes Automatic Gain Control (AGC). AGC automatically adjusts the output volume heard by the receiver so it remains constant, independent of the input volume.
For example, this means that if the sender's environmental noise increases, the output volume doesn't also increase and require the receiver to move the headset away from their ear.
AGC works by varying the output volume inversely with the input volume.
Initiating text-messaging sessions, which can occur simultaneously with voice connections.
Receiving presence information to see if your contacts are online, enabling you to change your own presence state and send notifications, and monitoring who is watching the user's online presence.
The RTC Client API is built on the Session Initiation Protocol (SIP), which is an Internet Engineering Task Force (IETF) standard. SIP connects and receives calls to and from other SIP clients.
When a connection is established using SIP, the RTC Client API uses the real-time transport protocol (RTP) to transfer media between the connected parties.
Windows CE includes multiple technologies that use the communication functionality provided by the RTC Client API. For example, the IP phone support in Windows CE is built on top of the RTC Client API. Windows Messenger for Microsoft Windows CE is a client application that can use the RTC Client API to transmit and receive text, voice, and presence information.
For more information about IP phone support, see Developing an IP Phone.
For more information about Windows Messenger, see Windows Messenger.
OS Design Information
The following table shows operating system design information for RTC.
Concept | Description |
---|---|
Dependencies | TCP/IP
Winsock 2.2 Audio hardware Cryptography Services Schannel XML Core Services XML Query Languages |
Hardware considerations | Audio hardware appropriate for your use cases |
For fully functional audio capabilities, one or more of the following solutions must be implemented:
- A PCI bus must be reserved for an appropriate audio card.
- If the audio is onboard, it must have an AC97 codec and a codec controller that provides hardware-assisted audio data transfer to and from the codec. The controller must have the following:
- Enough bandwidth to service the audio and other devices in the system.
- An interrupt mechanism that can notify the driver when a data transfer is complete.
- Sufficient buffering capabilities in audio data to allow the interrupt service thread to start another data transfer without causing audio breakup.
Modules and Components
The following components and modules implement the RTC Client API.
Item | Module | Component |
---|---|---|
NAT Interface | dpnhupnp | None |
PINT Stack | rtcclient | None |
RTC Client API | rtcclient | None |
RTP and Codecs | dxmrtp | None |
SIP Stack | rtcclient | None |
Implementation Considerations
The following table shows the Sysgen variables for RTC.
Other Windows CE technologies, such as the VoIP Application Interface Layer (VAIL) and Telephony User Interface (TUI), use RTC. For information about Sysgen variables used by the VAIL, see VAIL OS Design Development. For information about Sysgen variables used by the TUI, see TUI OS Design Development.
Sysgen variable | Description |
---|---|
SYSGEN_VOIP | Adds the programming interface that provides messaging, presence, and audio between any two IP-enabled devices. |
SYSGEN_VOIP_SIREN | Adds the Siren/G.722.1 codecs. |
See Also
Real-time Communications (RTC) Client API | Voice over IP Phone | Developing an IP Phone | Windows CE Modules and Components
Send Feedback on this topic to the authors