Description
The Wireless Telephony Applications Interface (WTAI) is the concrete set of libraries and function calls that implement the Wireless Telephony Applications (WTA) framework. It is essentially the API that application developers use to write programs that can interact with a mobile phone's telephony and network capabilities. WTAI is exposed to the WTA User Agent on the device, which executes WMLScript or WML pages containing WTAI function calls. These calls are categorized into different libraries, such as the Public WTAI library for common functions and Network Common WTAI for operator-specific features.
Technically, WTAI works by defining a namespace and a series of function signatures that are bound to the device's native telephony software. For example, a WMLScript might include a call to `WTAPublic.makeCall("123456789")`. The WTA User Agent intercepts this call, validates it against security policies, and then invokes the corresponding native platform function to initiate the dialing process. The interface also handles asynchronous events; for instance, when an incoming call arrives, the network can push a service indication that triggers a WTAI event handler in an application. This allows applications to react to network events in real-time.
The libraries within WTAI cover a broad range of telephony functions: call control (initiating, answering, transferring), network messaging (sending and receiving SMS), phonebook management (reading and writing entries), and DTMF tone generation. A key architectural aspect is the separation between public functions, which are generally available, and network-specific functions, which might require operator approval or a secure context. WTAI also includes functions for managing the WTA repository and handling channel management for data connections. Its role was to provide a standardized, device-independent abstraction layer, shielding developers from the complexities of underlying hardware-specific AT commands or proprietary OS APIs.
Purpose & Motivation
WTAI was developed to provide a uniform, standardized programming interface for telephony functions across all WTA-compliant mobile devices. Before WTAI, accessing phone features like dialing or messaging from an application required using manufacturer-specific protocols or low-level AT commands, leading to fragmentation and high development costs. The WAP Forum and 3GPP created WTAI to solve this interoperability problem, enabling developers to write a single application that could run on any supported handset.
The primary problem it addressed was the lack of a secure, network-aware API for value-added services. Operators wanted to deploy services like one-click dialing from a web page or visual voicemail, but needed assurance that these applications would not crash the phone or abuse network resources. WTAI provided a controlled sandbox with well-defined functions and security semantics. Its creation was motivated by the convergence of telephony and data services in 2.5G and 3G networks, where enhancing the basic voice call with data-driven features became a key competitive differentiator. By standardizing the interface, it also facilitated testing and certification of devices and applications, ensuring a consistent user experience.
Key Features
- Library of function calls for call setup, control, and termination
- API for sending and receiving SMS and other network messages
- Interface for accessing and modifying device phonebook and call log entries
- Functions for generating DTMF tones during a call
- Event handling for network-initiated telephony events
- Secure context and access control for sensitive telephony operations
Evolution Across Releases
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 23.057 | 3GPP TS 23.057 |