ETel provides a high degree of application independence to telephony devices and services. By using the ETel API, applications can deliver a wide range of telephony options to end-users in the same way, irrespective of the actual devices and service providers used.
This flexibility means that application developers need not be committed to particular devices, bearers or services. Applications can communicate using devices ranging from conventional analog modems and GSM handsets, to integrated telephone/devices. Applications can also access a wide range of services, from voice calls over conventional and GSM lines, to fax sessions, to an ever increasing range of data services.
ETel is an extensible system. It has been designed around the core set of functions that are supported by almost all telephony devices and services. Application designers can use functions in the core API to ensure that their applications will work with most telephony equipment. The advanced functionality provided by newer technologies can be accessed via extensions to the core ETel API.
Additional devices may be added to ETel at run-time, using plug-in (TSY) modules. TSY modules convert information between the format expected by a device or family of devices, and the format that applications can access via the core ETel API. Where non-core functionality is provided by telephony equipment, for example, GSM, this is passed to extensions to the core API.
Because ETel is implemented as a server, telephony services can simultaneously be used by a number of applications—providing a high degree of efficiency and reusability. At a given time, ETel allows connections to multiple phone devices, each of which might connect to several lines, that themselves connect to a number of calls.
ETel is based on the same client-server architecture framework as all other Symbian platform servers.
The ETel architecture is designed to support fax, data and voice transmission using telephony services that support the respective transmission type. The current implementation allows applications to read and write binary data through phone devices that support data connections. Future extensions to the interface may also make it possible to stream audio data to and from the audio channel of a phone device which supports voice connections. ETel is also used by the Fax Client component to transfer fax pages over the telephone.
ETel gives applications control over standard phone features such as answering and initiating calls. In addition, callers can query phone and line status, and query phone and line capabilities.
There are a number of telephony services and options which are not present in ETel. Most of these are more properly located in other software components. Others have not been implemented in the initial design, but may be provided in future releases.
Complicated phones. ETel does not support phones with features such as more than one handset, or complicated keyboards.
Scripting. There is no scripting engine in ETel. However the existing scripting engine performs dialling and modem set up using ETel.
Location control. ETel is not a repository for location information.
Location support. ETel does not alter the actual address dialled to reflect the current location when dialling. This functionality must be provided by some other system.
Charge cards. ETel does not provide any services to allow applications to use charge cards.
Messaging distribution. ETel does not implement any message distribution system.