Jeff Stutz
Abstract
Introduction
Architecture
System Documentation
Features
Scalability Issues
Related Work
Future Improvements
Task List
References
Email by Phone is a system that allows users to check their emails by a regular touch-tone telephone. It bridges the gap between an email system and a voice mail system, allowing the users to manipulate emails just as they would with voice mails. A person using the system should not be able to distinguish between a voice or electronic message. Therefore, Email by Phone provides the standard voice mailbox commands such as skip message, reply to message, and information about the message.
The modular architecture of Email by Phone allows it to easily connect to a wide variety of mail systems, voice synthesizers, and phone devices. The system is also easily configurable by a novice user through the use of TCL, a popular scripting language. A simple but powerful set of API is provided to allow the user to define the call logic.
We have a working prototype which we will describe in detail in the
following sections, especially with regard to the technology and the
architecture aspects. In addition, we will also discuss other similar
systems that are available today, and how Email by Phone is different from
these systems. Finally, we will provide document on the actual operation of
the system and suggest future improvements that could be made.
Architecture
There are six modules in Email by Phone as described below. Each module is independent and can be replaced without affecting any of the other modules. For example, when a better voice synthesizing technology appears, only the Voice module needs to be rewritten in order to take advantage of the new technology.
This module is implemented entirely in TCL [1] and controls the logic of the system. Users can modify this file to customize the system to suit their particular needs.
Every function available in Email by Phone is callable from the control center, and scripts written in TCL does not require recompilation. A typical script would first initialize all subsystems, wait for a call, and then invoke the menu system.
This module has 480 lines of TCL codes.
This modules verifies that the user has a correct login and password. It maps a EBP login to a particular user and retrieves information about the user such as his/her pop server, pop login, and pop password.
This module has 135 lines of C code. It currently uses flat files to store user information, but encryption and relational database support can be added easily.
This module will logon to the appropriate mail server and retrieve emails. It has the capability to retrieve the subject , sender, and body of the messages. In addition, it is also able to send emails and handle the MIME format.
This module can send mail in 2 ways. First, by using a recorded voice message that is sent over using the MIME protocol ([2] and [3]).
This module has 471 lines of C code. It currently assumes a POP-3 [4] styled mail server, although other types of mail servers can be added easily.
This module has the ability to turn English text into speech. The ability to pick different voices are supported. In addition, the tempo of which the words are spoken can also be controlled.
This module has 276 lines of C code. It is implemented as an interface to the Bell Lab's text to speech (tts) system.
This module has the ability to receive an incoming call and decode DTMF signals. In addition, it also has the ability to mix in audio signals from the voice handler module.
This module has 414 lines of C code. Currently, the Teltone T-311 Telephone Access Unit [5] is used to handle the calls. The Teltone box uses the standard "AT" command set and is powerful enough to support all of the features required.
This module has the ability to allow the system administrator to change system-wide attributes and preferences such as default voice, greetings, and mail options.
This module is currently embedded in the other subsystems as global variables and does not have a dedicated interface. However, it is a trival matter to build an interface to configure these variables.
System requirements information, installation instructions and the API guide can be found here.
Due to the open architecture of Email by Phone and the powerful API provided with the system, this list of features can be easily extended to meet every user's particular needs.
TCL is a popular scripting language that is easy to learn. All call logic in Email by Phone is implemented in TCL, which also has the added advantage of being an interpreted language so that no compilation is required.
Any experienced users of a voice mail system will be instantly familiar with Email by Phone, which has a voice-mail style menu system. There is minimal learning and training required.
Users can interrupt the speech at anytime by pushing a key.
When the user hangs up prematurely, the system is able to detect it and resets automatically for the next caller.
The user can predefine a set of responses such as "Will call back.", or "I am out of town until June 26th." and reply to emails with these responses. The user can also reply to messages by recording a voice message that will be sent as a MIME-encoded email.
Email By Phone does not interact with the network any differently than
does a POP client. Its interaction with the Teltone is nearly the same
as interaction with any modem, with the notable exception that in addition
to a serial port, an audio port is required. Multiple EBP units thus
require multiple audio ports (in addition to serial ports; but because
serial ports are inexpensive to add, their discussion is defered), perhaps
suggesting that a machine on which it is more feasible to add multiple
audio interfaces, such as a PC, would be a better fit for a production-
grade release.
Related Work
We know of several other vendors who offer similar products as "Email by Phone". MailCall is a representative vendor that offers a fairly comprehensive product. While the features we offer are mostly similar to MailCall, we believe that our ability to be able to use TCL scripting and our modular architecture gives us a competitive advantage over MailCall by being able to customize and update our systems to the latest technology easily.
We believe that the Email by Phone technology is very basic and easily replicable, and differences between the products will mainly be attributed to the quality of the voice synthesis. This is why the ability to update to the latest voice technology is so crucial to the success of the product.
We also seek to differ ourselves by the business model that we will use. Currently, home internet users are the main customer segment targetted. AOL/Compuserve and MailCall are both going after this group of users with their products. We believe that a good opportunity lies with the business users, and we can penetrate this market by an alliance with phone companies such as Nortel and Octel. By integrating our product with their voice mail systems, we will be offering a real convenience to business users.
An user interface using TK can be used to generate the TCL script automatically. This would make defining the call logic into a matter of point and click.
In order to make Email by Phone more widely accepted, more interfaces could be written to all of the popular subsystems that are currently used in the world today. For example, an interface to Oracle and Sybase can be developed to store the user information, or interfaces to other mail protocols such as CC:Mail would make Email by Phone compatible with all major systems.
Email by Phone effectively transforms electronic messages into voice messages. Therefore, it only makes sense to integrate it into popular voice mail systems.
The user should be able to configure preferences via a Web page. The user should be able to set options such as predefined messages, preferred voice, and pop server using the Web page.
The system should have the option of having the system inform the user via beeper, cell phone, or voice mail whenever a mail arrives.
Jack Hsu worked on the phone, control center, and voice modules.
Jeff Stutz worked on the authentication and mail modules.
Voice synthesis software
is provided by
Bell Labs' Text-To-Speech system.