Home Calling Center

Group 16

 

 

Friday, May 2, 2003

 

 

Technical Advisor:

 Bruce McNair

 

 

Group Members:

Margarita Costa

Mohammed Uddin

Kenesha Hughes

Damien Dennis

Hervens Beauge

William J Piper

 

 

 

 

I pledge my Honor that I’ve abided by the Steven’s Honor Code:

 

 

 

 

 

 

 

 

 

 

Table of Contents

 

1.     Abstract 3

2.     Introduction. 3

3.     User Expectations. 3

3.1       What the user needs to use this product 3

3.2       What the user can expect of this product 3

3.3       Graphic User Interface (GUI) 3

4.     Hardware Components. 4

4.1       System Design. 4

4.2       Diagrams and Specifications of Systems we will be using. 5

1.     The ring detect and Caller ID unit (from the manual) 5

2.     The Intel Pentium Processor (from the Manual) 6

4.3 Sound Recording/Synthesis. 7

5.     System setup. 8

5.1       Platforms. 8

5.2       Procedure for Setup of Operating System and Downloading Programs. 8

6.     The Software Structure. 8

6.1       Basic Structure: Top, Middle and Bottom.. 8

6.2       The Top. 9

6.3       The Middle. 9

6.4       What Happens When A Call Is Received. 10

1.     The Database System: 10

2.     The database system is the heart of our project.  It is used as the basis to determine almost all system actions.  The objectives for a successful database are: 10

6.5       The Bottom.. 12

1.     Hardware Communication. 12

2.     Decoding Caller ID Data. 12

3.     Voice Encoding. 13

4.     Voice Tagging. 13

6.6       Serial Communications (Aside) 13

7.     Test Procedures. 14

7.1       Hardware Test Procedures. 14

7.2       Software Test Procedures – Middle Level 14

7.3       Test for Software, Top Level 14

7.4       Test for Software, Bottom Level 14

8.     Challenges. 15

9.     Some Lessons Learned. 15

10.       Suggested Improvements. 16

11.       Financial Budget 16

12.       Project Timeline. 17

13.       Project Schedule. 18

References. 20

14.       Appendices. 21

14.1     Architectural Diagram.. 22

1.     Middle Software Section Design Class Usage and Control: 22

2.     Top Software Section Design Class Usage and Control: 22

14.2     Caller ID Encoding. 23

14.3     Parts List 23

14.4     Software Interfaces, Middle Level (Header Files) 24


1.   Abstract

 

This project involves creating a Home Calling Center installed into a home PC and an independently operating box.  This calling center will be connected to one or more phone lines with Caller ID and three-way calling service installed.  It will use the Caller ID information to arbitrate received calls based on an internal database.  The choices that the system would make may be to forward to a different telephone number such as a cell phone or choose from available mailboxes to save the message(ie. Junk Box, Important Box, etc).   This package will also facilitate call screening through the announcement of voice calls and automatic call blocking of unannounced or undesired numbers. 

2.   Introduction

The Home Calling Center will ideally has a feature set which includes caller ID, call forwarding, and voice announcement of incoming callers.  The systems actions will follow from a database containing preferred options for each number in the system.  These options include BLOCK, FORWARD and VOICEMAIL.  The BLOCK list will cause all calls originating from the sources contained within the list to ring infinitely.  The FORWARD list will forward the calls that originate from the numbers in the list to a number specified by the user.  And the VOICEMAIL list will allow the callers whose numbers are contained in the list to leave a message.

We will also implement a hardware version of this product in order to provide portability.  The hardware version would consist of a single unit that will integrate the Home Calling Center.  The design of the project will include the consideration of optional features.  Those features include toggling between states of HOME, WORK, or SLEEP, during which would cause the system to respond differently.  Other optional features are remote access to software, and voice controlled dialing and menu navigation.

 

3.   User Expectations

3.1             What the user needs to use this product

·        One phone line with three-way calling or at least two phone lines with or without it

·        Caller ID Service from telephone provider

·        IBM compatible PC  with   Intel Pentium-class processor

32 MB of RAM or higher        

IDE Hard drive with 650MB or higher

CD-ROM or DVD drive, Keyboard & Mouse

3.2            What the user can expect of this product

We have conducted a customer survey.  It indicates that our user will expect the Home Calling Center to provide them with features that are important to them.  These features include voice dialing, call forwarding, call announcement, and call logging.  The following actions summarize our user requirements:

·        Provide quick and convenient access to caller ID information

·        Toggle between two modes of operation (home and away)

·        Announce calls as they are received

·        Forward desired calls another telephone

·        Determine to which telephone to forward each incoming call

·        Record and store voice tags for each caller ID entry

·        Record and store custom messages

·        Apply custom messages to any caller ID entry

·        Call people using voice dialing

·        Recognize spoken voice and accurately call people as voice tags are articulated

·        Maintain a log of caller names, numbers, frequencies, and dates

3.3            Graphic User Interface (GUI)

GUI’s must run on a host PC provided by the User through a COM port.  The installation software to present the information being sent across the COM port is provided with the system.  It allows a user to view and modify the database records contained within the system.

 

The GUI is being implemented in Visual Basic.  The purpose of the GUI is to read a file received via TCP/IP connection to the host Unix Machine.  This file is updated and sent back every time there is a change using the GUI interface.  The summary of actions are as follows:

 

The files containing the system state variables and the phone book are as follows:

ActionsAllowed.txt:      Contains a numeric code/list/description of the actions which are allowed in the system.  As an enhancement, the class to call may be included in this file which would enable scripting and dynamic addition of new classes

AnsweringMachineList.txt: Contains system state of answering machine.  The breakup is as follows

 

Field

Start Position

End Position

Size

Type

Description

MachineID

0

4

4

Integer

Internal reference to answering machine

MachineName

5

16

12

Alphanumeric

User-given answering machine name

Greeting

13

141