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.
|