Javanook is a NanSoft eLabs venture

NanSoft eLabs has embarked on its maiden venture. The venture is christened M A i M E -
 Mail Alert & Interactive Mail Enquiry.
HOME
Concept Design Notes Revenue Model Development Notes Constraints
  Resources FAQ Future Directions  
 

Design Notes


The Design Document

1.0 Objective
This document shall be read in conjunction with the Specification and Requirement Analysis documents for the Voice Mail System MAiME. This document presents key components and architectures in the system design. It is expected that actual development may require certain modifications to what is presented here. However, developers shall adhere throughout to the spirit behind the design of the system.

2.0 Design Components
The Requirement Analysis document identified two key areas where the design shall focus – The Dialog Design, and The Web Application Design.

2.1 Dialog Design
Since the application is a voice-based system, the design follows a conversational interaction pattern. An interaction sequence diagram captures the dialog between the user and the system.

When the user calls the system, it greets with a welcome message and asks the user to provide the PIN to verify the credentials.

A human-system interaction scenario in the form of a Dialog Script is provided below to aid in the development of a Voice XML document.

The Dialog Script
Human: [Dials the specified number]
System: Welcome to NanSoft Voice Mail System. Please press the keys on your telephone keypad and tell us your PIN for verification.
Human: [Remains silent for sometime]
System: [If the silence is beyond a specified or system default timeout value, then repeats previous message]
Human: [Presses the digits of the PIN]
System: You pressed [speaks the number out loud] Press 1 for yes, 9 for Repeat.
Human: [Presses 9]
System: Please press the keys on your telephone keypad and tell us your PIN for verification.
Human: [Presses the digits of the PIN]
System: You pressed [speaks the number out loud] Press 1 for yes, 9 for Repeat.
Human: [If human presses 9 once more, this will be last chance; then system will quit with the exit line. Assume human pressed 1]
System: Please wait while we process your PIN for verification. [Plays an audio file to keep human engaged].
System: [If PIN is invalid, inform human and quit with exit line. Assume PIN is valid]. You want me to check for new mails or all mails. Press 1 for new mails or press 2 for all mails.
Human: [Presses 1]
System: Please wait while we process your request. [Plays a pre-recorded audio file].
System: You have 2 mails. What do you want to do? Read the subject line or read mail? Press 1 for subject line or press 2 to read mail.
Human: [Presses 2]
System: [Reads the first mail]. Do you want me to read the next mail? Press 1 for next mail. Press 2  to go back to
 previous menu. Or press 0 to Exit. You can press 9 for help any time.
Human: [Presses 9]
System: [plays help file]. Do you want me to read the next mail? Press 1 for next mail. Press 2  to go back to previous menu. Or press 0 to Exit. You can press 9 for help any time.
Human: [Presses 2]
System: You have 2 mails. What do you want to do? Read the subject line or read mail? Press 1 for subject line or press 2 to read mail.
Human: [Presses 1]
System: [Reads the subject line of first mail]. Do you want me to read the subject line of next mail? Press 1 for next. Press 2  to go back to previous menu. Or press 0 to Exit. You can press 9 for help any time.
Human: [Presses 0]
System: Thank you for using
NanSoft Voice Mail System. Good bye.

2.1.1 Dialog Components
Components on the server side provide the application logic. The components we need to handle user dialog interactions are:

·        PinValidator
This component’s function is to check the data store to validate the user supplied PIN, and return an error code if it is invalid. On the other hand, if the PIN is valid, it must return the user’s default mail account details like mail server domain name, logon name and password.

·        EmailReader
This component is at the heart of the Voice Mail System MAiME. Its function is to connect to the mail server using the values supplied by the PinValidator, and check for new mail in the user’s mail account. It is also the responsibility of this component to read mails, based on the user response.

·        ExitLiner
This component provides the exit line to the system. This component handles all error conditions, invalid input, normal exit, and so on.

 2.2 Web Application Design
The web interface of the application is designed to allow users to register themselves. The registration involves recording user details like name, contact number and mail account information. The user receives a PIN at the end of the registration process, which is used to connect to the Voice Sever.

2.2.1 Web Components
Some components on the server side are required to connect to data store, mail server and so on. The components we need to handle interactions with the web server are:

·        StoreConnector
This component handles connections to and interactions with a data store such as a database or LDAP server.

·        EmailConnector
This component is responsible for connections and interactions between the web server and the email server.

·        Logger
This component records all interactions between the user and the Voice Mail System MAiME.

The next section of the document deals with the data store of the Voice Mail System. The document ends with a brief discussion regarding the existing email servers with a note on how the system intends to interface with them.

 

LEGEND

IVR

Interactive Voice Response

TTS

Text To Speech

PIN

Personal Identification Number

LDAP

Lightweight Directory Access Protocol

XML

Extensible Markup Language

Voice XML

XML Specification for human speech and audio