46
•
IPCP with both DNS and NBNS (NetBios Name Service) extensions
•
LCP identification and time-remaining extensions
•
PPP compression control protocol (CCP).
EPOC also includes Microsoft proprietary CBCP callback types 1 - 4. These are extensions to the
PPP protocol which can be negotiated after the server has been connected to in the normal way.
The EPOC machine hangs up the line, whereupon the server dials it back, and communications
are re-established. The advantages of callback are that it saves callers money and provides an
added level of security for RAS servers.
8.4.5. Messaging
EPOC’s comprehensive Email application caters for all types of messaging. Its architecture is
influenced by some characteristic EPOC design goals:
•
it splits the user interface from the rest of the application – this facilitates the task of
porting to different UIs, and is a characteristic that Email shares with many other EPOC
applications.
•
access to data is handled via EPOC’s client-server mechanisms – this enables multiple
applications to open simultaneous sessions to the messaging store.
Email provides a UI-independent Universal Messaging Engine, which is capable of handling all
types of message in terms of their common properties (such as address and content), irrespective of
any differences in either the way they represent data internally or the mechanisms they use for
transport.
8.4.5.1 Messaging Type Modules
Dynamic extensibility is provided by the run-time loading of Message Type Modules (MTMs).
The functionality encapsulated within these MTMs is comprehensive enough to allow completely
new messaging sub-systems to be added to Email. Each one is implemented as a set of four
polymorphic DLLs with separate APIs. Each DLL is derived from an abstract class whose methods
need to be implemented for each message type.
•
Server-side MTMs are concerned with formatting and transporting of messages. The
implementation of all such message specific protocols (including SMTP, IMAP4, SMS,
POP3, and fax) is handled within the server-side MTM.
•
Client-side MTMs both interpret the contents of a message and provide a minimum set
of generic functions. For example, a
Reply()
function is always available, which makes
it easy to implement a consistent user interface for replying to any message irrespective of
its type.
•
User Interface MTMs provide appropriate editors and viewers.
•
Universal messaging folders are made possible by a memory-efficient layer of User
Interface Data MTMs. These provide the engine with sufficient information to enable
message types to be correctly identified and represented to the user without needing to
load the UI and client MTMs