EasyManua.ls Logo

Ericsson MC 218 - Page 43

Ericsson MC 218
113 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
43
8.4.3. Telephony
ETEL is the EPOC telephony server, whose API is defined in
etel.h. Just as C32 abstracts the
different types of serial hardware into a common API that is used by all dynamically loaded .CSY
modules, so ETEL performs the same function for telecommunication devices such as modems and
phones, using telephony modules. These are implemented using polymorphic DLLs whose
extension is conventionally
.tsy and whose second UID is 0x100002A4. While the server at the
request of the client loads TSYs, a client needs no knowledge of individual modules. They would
typically instruct the server to load the default TSY, as specified in the Comms Database. EPOC
provides generic TSYs for supporting either terrestrial modems (using the standard AT command
set) or mobile phones. The type of TSY, which EPOC provides to support mobile phones, will
vary with the location, and is under the control of the OEM. For instance, EPOC’s
gsmbsc.tsy
is based on the ETSI 07.07 command set for GSM phones, and would clearly be unsuitable for use
in those parts of the world where different standards, such as CDMA or PCN, prevail.
TSYs are available for handling data calls, fax calls and short message services, but not voice.
8.4.3.1 Client API
It is clearly possible for a machine to be connected to multiple phones, especially if it has more
than one port. It is also feasible for a single phone to support different lines – not only do ISDN
connections support concurrent multiple lines, but even ordinary POTS lines, with the addition of
analogue modems, are able to handle either voice, fax or data, all of which behave quite
differently. Finally, it is now quite common for a single line to support multiple calls – there are
standard commands for placing open calls on hold while another is being made or answered.
ETEL therefore offers clients quite fine control over separate phones, lines, and calls that may all
be available on a single device.
Clients initially connect to a root RTelServer session, at which point they tell the
server to load a TSY using LoadPhoneModule
()
, find out the number of phones
supported using EnumeratePhones
()
, and find out the phone name, the network
type and the number of lines via GetPhoneInfo(). Appropriate subsessions can
then be used to access the capabilities, status and separate functionality associated
with phones, lines and calls respectively. ETEL clients are concerned only with the
functionality reported by the server. A separate fax subsession is also provided, which
caters for the real-time protocol requirements of the built-in ETEL fax server.
ETEL Client Classes
ETEL is concerned with telephony management rather than information transfer. Once calls are
initiated and are under way, the server makes use of the port-sharing facilities of the C32 comms
server to pass control back to its clients, and doesn’t concern itself with the data that is flowing
through the connection it has established.
8.4.3.2 Telephony Module design
The ETEL server uses a standard API to communicate with hardware devices via TSY modules,
which are dynamically loaded and unloaded at the request of its clients. It is the TSY modules
which encapsulate the actual commands used to control the hardware. The ETEL server provides
abstract base classes from which all TSYs derive classes which provide the functionality needed to
control the phone. Not surprisingly, they mirror the objects found on the client side. The

Other manuals for Ericsson MC 218