EPOC   SDK Home Glossary Indexes Previous Next Up

About ETel


Contents


Overview

ETel is the EPOC telephony server, introduced in EPOC Release 5. Its purpose is to abstract the details of controlling and working with telephone devices and services. It presents a straightforward but comprehensive telephony interface to EPOC applications.

By providing an extensible, abstracted telephony interface, ETel allows EPOC applications to communicate with a wide range of real devices, without having to have detailed device-level knowledge. This is essential in a rapidly expanding field like telephony, where the devices an application communicates with may not have existed when the application was written.

In addition to supporting a wide range of devices, ETel is designed to allow applications to have sophisticated control over telephony services. For example, ETel allows applications to choose the telephone service which best meets their requirements at run time. This documentation describes:

The documentation does not currently provide details of how to write server-side extension modules (TSYs).


ETel features

Section Contents


Telephony hardware and network independence

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/EPOC 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.


Extensibility

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 (see ETel core API). 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.

The ETel extensions supplied in ER5 are:


Multiple applications using same telephony services

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 servers in EPOC. For more information see the topic Client-server architecture.


Data, fax, and voice support

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. The interface to the Fax Client component may be published in future documentation releases.


Control over phone features

ETel gives applications control over standard phone features such as answering and initiating calls. In addition, users can:

Notes

While the extensible nature of the API allows the above to be possible in the future, currently, there are the following restrictions:


Messaging

ETel provides support for pager-aware devices and messaging functions — such as GSM’s Short Message Service.

Note

ETel SMS messaging is supported via the Basic GSM API and GSM TSY.


Other functionality

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.


ETel architecture

ETel is constructed as illustrated in the diagram below.

ETel architectural overview

Telephony applications use the client side API to access the functionality of the ETel Server. The server translates client requests into the format used by TSY modules. The TSY modules then translates the requests into hardware-specific commands.

The ETel Server dynamically loads and unloads TSY modules at the request of clients. A basic TSY may support core telephony functionality, for example for making and terminating calls, on a wide range of hardware. A more advanced TSY may only support phone hardware from a specific manufacturer, or even just a single phone, for example a TSY supporting GSM functionality.

To access extended functionality supported by specific telephony hardware, the following are therefore required:

Where two manufacturers have implemented the same functions in different ways, different TSY modules are required. Both TSY modules respond to the same TSY API, but use different commands to control the telephony hardware.

EPOC       SDK Home Glossary Indexes Previous Next Up