976-Mail Requirements Document

Spring Quarter 1996
4/11/96

Document Author:

Jason Anderson

Project Sponsors:

GregoryAbowd
Chris Atkeson

Project Team:

Shervin Dana (Manager)
Jason Anderson (Architect)
Jason Boduch (Programmer)
Vladimir Romanchik (Programmer)
Dmitry Michael Kreslavskiy (Programmer)


Project Description of Target System

For an overview of the 976-Mail Project, please see our Project Plan.

Scenario descriptions

Scenario 1:

An important piece of mail has just come in for User. Having passed through the Cybernag parsing system, the schedule file for the user has been checked, and it has been determined that the user has specified that he be contacted by phone. The number provided in the schedule file is then dialed. When the phone is answered, Cybernag then tells whomever has answered the phone that there is an important personal message for User, and to please give the phone, or forward the call to User. Since User will have been expecting the system to contact him with any priority messages, he will know to signal Cybernag by pressing 9 to initiate contact with the system. After being prompted for his password, User enters his id into the keypad on the phone, and is read the message. After the message has terminated, User decides that the person sending the message should be notified of receipt, and indicates to Cybernag that the message should be kept, and the sender notified. Cybernag then terminates the connection and arranges for the return message.

Scenario 2:

Following the same setup as above, the User has just been dialed by Cybernag. This time, User has given his cellular phone number to Cybernag, and is person who answers the phone. Recognizing Cybernag's voice, User presses 9 immediately, terminating the greeting and set-up dialog. He then rapidly enters his id code, and begins to listen to the message. Quickly realizing that the message is not actually all tha important (it seems that some junk mail company has hacked his priorityrc file) he presses # to terminate the message, and indicates to Cybernag that the original can be deleted.

Scenario 3:

Once again, User has just received a priority message, this time it's a Voice Mail message. To User there is little difference. He is contacted in the same way by Cybernag, but there is one critical difference -> since Voice delivery is the method of contact, and the original message was Voice Mail, the original message is sent, without alteration. In this manner, the highest possible quality of communication is provided.

Functional Requirements

Main module:

Conversion:
Given a file in the Cybernag ADF format, the conversion utility must take each component and create a sound file that is of the proper format for sending via modem. It will take a pointer to the ADF file and return an array of pointers to the various components of the file that have each been converted to a sound file. See the ADF file specification for a breakdown of components.

Modem Interaction:
The Modem Interaction module must be able to handle two primary responsibilities:

  1. Given a phone number, set-up the modem and dial the number provided.
  2. Given a pointer to a sound file of the appropriate format, send file to the modem, and handle any keypress from the user.

Given these modules, and a set of sound files for the rest of the menu interaction, the main module should be able to implement all interaction necessary.

Non-Functional Requirement

The only non-functional requirement for the project so far is that User provide a phone number to a touch-tone phone. The system is not designed to handle the possibility of a rotary phone, but we do not feel that this will pose any significant concerns.

Platform and Network Environment

This system is designed to run on a Unix system. There are no other significant Platform requirements outside of supporting a serial port connection to the Voice Modem. The Network environment for this system is not a concern, as it is designed to run from a single central machine.

Risk Analysis

At this time there are several significant risks. The two primary ones are:

  1. Is it possible to handle in software the sound file, keypress interaction we are requiring of the modem.
  2. Is there text-to-voice software available that will be able to do the conversion necessary.
While the group is still actively searching, we have had little luck to date in finding software that is available to us to do the conversion. Several commercial software packages have been found, but with a price tag averaging around $700 - $1000 US, it is outside of our current budget to purchase. If we are unable to procure this software, then we will have to design the module with default messages, and leave completion to a follow-up group. Creating software to handle this conversion is well beyond the time/abillity constraints of this project.
We expect to be able to overcome the risks in devloping the modem interaction. We believe at this point that the major problem is with lack of knowledge rather than an inherent problem in the implementation. However, we may discover that assumptions made during the design process were flawed, and have to readjust. To this end, we are trying to compartmentalize the functionality required by the modem, so that a lower level of service or change of implementation can be used that is possible.


Link to 976-Mail Project Notebook
Last Modified 4/21/96 -- Jason Anderson