EPOC   SDK Home Glossary Indexes Previous Next Up

Faxing in EPOC


Contents


Overview

EPOC is a modular operating system, so that licensees may produce devices that contain different software components. This has implications for a developer adding fax functionality to an application, because the level of programming effort required depends on the fax components which are available.

The following sections describe the main fax architectures that EPOC devices are likely to support, and hence the relevance of the fax APIs for different types of development. This document also provides a very brief overview of the main fax APIs.


Architectural overview

Section Contents

The following diagrams show the different components which might be available on an EPOC device, and the associated discussion highlights the applicability of this documentation to developers for those platforms.


Full architecture

The full EPOC faxing architecture is given in the diagram below. In this architecture the Messaging component contains the EPOC Email application, in which faxes can be received, viewed or sent. To add fax sending to an application a developer must simply add printing, and have the user print to fax.

Faxing architecture — full

The fax printer driver then creates the required fax pages, which are stored as a fax store file. This fax information is then taken from the file and passed by the fax client to the ETel telephony server — which actually sends the fax. The fax MTM creates a header line data file, which is used by ETel to create a header line to add to the top of every page sent. The persistent settings for the fax/modem are stored through the CommDb component.

For devices with this faxing architecture, the API documentation provided would be most useful for developers who are unsatisfied with the current operation of the fax printer driver, who need to localise the header line data file, or who want to add additional services, e.g. OCR, to the fax system.


Reduced architecture

A reduced EPOC faxing architecture is shown in the following diagram. The device still has ETel, its fax client, and the fax store — and can still get the persistent fax settings from CommDb. However the top level applications for fax sending, receiving and viewing are not available.

Faxing architecture — reduced

For devices with this faxing architecture, developers can use the provided API documentation to develop whatever fax functionality they require for an application. The fax client can be set up to provide store and forward fax services, the fax header line API can be used to generate header line data files and encode/decode scan lines, and the fax store API be used to store faxes, or access fax pages for display or manipulation.


No fax client

Although every EPOC device is likely to contain the ETel component, the fax client is stored in a separate DLL, and hence may not be available in all devices. The APIs described in this document cannot be used to make such devices support faxing.


The fax client

The fax client implements the fax transport protocols defined in the ITU-T T.30 specification. Clients are offered a simplified API to send/receive faxes to or from an EPOC fax store file. The client is part of the ETel component, which is used to abstract control over the many different types of telephone device which can be connected to or integrated with an EPOC computer.

This component is documented in Fax client API.


Storage of fax data

The ITU T.30 protocols implemented by the fax client only deal with the transport of fax data, not with its storage or format. A separate standard, ITU-T T.4, deals with the encoding, decoding and formatting of faxes, and its implementation is handled by EPOC’s faxstore component. This component is documented in Fax store API.


The Fax header line

In common with all fixed stand-alone fax machines, all faxes sent by the ETel fax client have a header line inserted at the top of each page, which includes the page number, the time and the date of transmission, and the identity and phone number of the sender. It should be noted that any attempt to send a fax without first creating a header line data file will fail.

The functions used to create and access this are discussed in Fax header line API.


Handling of fax settings

While much of the information required to launch a fax session is completely fax specific, and is within the scope of the fax client, some information is of more general interest. This applies in particular to information concerning the fax modem itself. It is clearly preferable for such information to be stored in a central location where it can be configured on a system-wide basis for use by all communication components.

EPOC Release 5 uses the CommDb component to fulfil this requirement. It provides system storage for location, and modem information. The preferred fax class should be read from the communication database. See the Overview for more information. Apart from this single item, ETel takes care of the reading of the communication database and the initialisation of the modem. It should be noted that any attempt to send or receive a fax without appropriate settings in the communication database will fail.

EPOC       SDK Home Glossary Indexes Previous Next Up