Software Requirement Specification
Academic Supervisor: Dr. Ron Rymon
Business Supervisor: Orit Kislev
Presented By: Shalom Gibly
Jack Cohen-Martin
Chilik Hochberg
Date: 271214/121/0102
Overview
Motivation: searching for automatic, cheap and personal way for monitoring phone calls, as in existing email tools, that will block calls, identify and classify them and will save them in a history archive.
The project: A software application that will run on an average home P.C. and will be functioned based on caller identification (CallerID) mechanism.
By comparing the identification properties to pre-saved profiles in a personal database, CallBar will execute on-line decisions for the user.
General goals: CallBar will enable full monitoring of incoming calls and will function as a personal secretaryfor blocking unwanted calls.
The CallBar will be fully integrated into the Microsoft Outlook and will use some of its utilities.
The Problem
Manual monitoring of calls, answering unwanted calls and the disruption of the ring itself can be considered time consuming and irritating.
Current solutions offer a use of a CallerID and/or an answering machine, which are low technology devices and don’t exploit the PC’s power for managing incoming calls.
Hence, adding smart call screening capabilities to Microsoft Outlook, one of the most popular applications for controlling mailboxes, address books, calendar and schedule, seems like a natural step in preventing and avoiding those inconveniences mentioned above.
The Customer
In general, any customer of Outlook is a potential user of CallBar.
Alternative Solutions to the Problem
This section is divided into direct and indirect alternatives:
Direct:
Although it doesn’t seem like the market is flooded with many similar products, there are some solutions that stand above the rest. Here is a short review of their major functionalities:
- CallAudit version 5.0 – This product supply extensive services for phone call forwarding, voice mail, fax services, voice recognition etc.
The most important feature that is related to CallBar is the integration with Microsoft Outlook in displaying th caller information using the Outlook contact list. In addition it offers Outlook email integration.
In spite of these features, CallAudit is stand-alone software and has its own rich interface.
CallAudit price tag is between the range of 20$ to 240$ (variety of functions).
- Active Call Center (by Sunny Beach Technology) – The software publishers describe the product as a “sophisticated inbound/outbound call management that can be fully integrated with existing software, data, and networks”. The product includes a scripting tool that allows interaction with Outlook and with several other products with COM interface.
This application doesn’t offer Outlook integration at all and costs 199$
- Call Tracker (by Dovico) – This program pops up Microsoft Outlook contact list when a phone call arrives by finding a match to the caller-ID in a regular ‘wab’ (Outlook address records) file.
The cost: 25$
- Active Phone Server (by SoftCab) – A stand-alone application that supplies several features as described in their web site: “...application designed to manage your incoming and outgoing phone calls. All essential features are supported: advanced answering machine, caller ID function which displays a caller's information when a call is received, and enables you to customize voices and melodies for each phone number”.
The cost: 19$
- Microsoft Phone System – Microsoft announced this product back at early 1999. It supplies hardware support (900MHz cordless phone) as well as software. The system support features like personal messages, call screening and blocking etc.
The cost: It seems like the product is no longer on the shelf.
(Back at 1999 the price was 199$)
- Advanced Call Center – A stand-alone application that supplies caller-ID, smart answering machine, phone dialer and phone book.
This application doesn’t integrate with Outlook.
The cost: 40$
To conclude: though all of the above products exploit CallerID technology and offer features for managing incoming calls, there are very few that integrate partially with Outlook, not to mention full integration.
Indirect:
Manuel Solutions: using a CallerID device, which can be bought from telephone companies, to manually monitor calls.
Changing in business processes: The last years Internet distribution and the on going effort to develop a wider bandwidths, for faster data transportation, have brought many companies to look for IP Integrated Communication solutions, which might replace the telephone lines used today, when time come.
The Proposed Product
The Users
CallBar target users are personal and business users from all levels, which work under MS Windows Operating System environment and use Outlook. The technical knowledge for using CallBar is basic knowledge in operating Outlook.
As soon as CallBar is installed the user can start working with it. Feeding or editing profiles shouldn’t take more then several minutes and the rest depends on the users daily-based usage.
The Environment
Hardware:
A TAPI compliant modem, which supports CallerID extraction.
Software:
- Windows 2000/ XP operating system.
- Microsoft Outlook 2000
Technical environment:
Support for CallerID supplied by the phone company.
The Process:
- When active, CallBar is integrated within Outlook and uses its contact list in order to screen input calls.
- Interacting with the modem will be done using TAPI interface, which will supply an indication of an incoming call and will enable extracting the Caller-ID field.
The requirements
1.Domains definitions:
a) Entity – a call identity that is defined according to the number of the call:
- When receiving a call from a contact-list member, the entity will be assembled from the number, name and group of the caller.
- When receiving a call from a person not in the contact list there are two options which are involved in creating a virtual Outlook contact entry:
- CallBar managed to extract the CallerID:
The entity will be assembled from the number extracted, Name-
‘Unfamiliar’ and Group –‘Unfamiliar’.
- CallBar did not manage to extract the CallerID:
The entity will be assembled from the Number – ‘Unknown’, Name-‘Unknown’ and Group –‘Unknown’.
* Both “unfamiliar” and “unknown” entities in the outlook contact list.
b) Group – Apredefined list of contact members which are defined by the
user.
c) Profile -A state defined by the user in order to apply a set of rules for accepting calls. The profile holds a list of groups that their members are to be accepted when an incoming call arrives.
2. CallBar Functionality when running for the first time:
When first executing CallBar, several actions will happen:
a)All the members in the contact list that are not assigned to any group will be assigned to a ‘Default’ UnGrouped’ group. (This is the “ungrouped” from above)
b)CallBar will create a ‘Default’ profile that will hold all the members in the contact list by assigning all the groups to the profile.
c)CallBar will be configured to its default values of call receiving (all the defaults are specified below).
d)Callbar will add to the contact list the 2 special entities – “unfamiliar” and “unknown”.
e)CallBar will create a new folder - ‘Incoming calls’. This folder will hold the incoming calls history.
* All these issues will be validated upon each CallBar startup.
3.CallBar functionality and Configurations:
CallBar is controlled from a toolbar that will include 4 main buttons: ‘Enable’/
‘Disable’ button, ‘Settings’ button, ‘Help’ button and a telephone icon button:
‘Enable’/ ‘Disable’ button:
By clicking on this button, the user decides whether to activate the application or not. After the first installation of CallBar, it will be on enable status wwhenever Outlook is executed, unless the user chooses to disable it (callbarCallBar should start in the same status it was when outlook was closed.). Disable of callbarCallBar does not delete all the configuration and settings done on top of it (namely – the profiles and groups).
‘Settings’ buttons:
By clicking this button, a new window pops up. This window contains 54 tabs: ‘General’, ‘Groups’, ‘Profiles’ and , ‘Block List’ and ‘Call History’.
- ‘General’ - This tab will hold:
- A check-box: “Enable/Disable”. Enabling or disabling CallBar.
- A check-box: ‘Enable CallBar on Outlook startup’. Checking it ON will execute CallBar on Outlook startup and checking OFF will load Outlook with CallBar disabled. Default will be ON.
- A combo-box that will enable selection of a Current Profile.
A combo-box that will enable selection whether or not to display block call information.
- A check-box “Block all incoming calls”.
- A check-box: ‘Log Blocked Calls’. Checking ON will log calls that were blocked in the Call History list‘Incoming calls’ folder. The default will be ON.
A check-box: ‘Show incoming call window for calls from restricted numbers’. Popup an incoming call message when an unknown number is calling. The default is ON.
- A check-box: ‘Close display window automatically’. Checking it OFF will leave the display window open, until closed or until another call comes and overwrites it. The default will be ON, and will close the window after 30 seconds.
A check-box: “Enable/Disable the telephone icon animation upon new log record”. Default will be ON. – what does that mean?
- ‘Groups’:
- A table specifying all Groups names in a list. By double clicking a group item in the table, this Group’s Outlook properties window will open. In that window user will be able to view/ edit the members of this Group.
- By Marking a Group name in the table and clicking one of the following buttons, the user can manage the marked group:
- ‘Add a new Group’:
Pressing this button will open the Outlook dialog box for creating a new Group of contacts. Through this window the user can add new or existing members to this Group.
The new Group item will be added to the Groups table.
- ‘Edit/View’:
This will open this Group’s Outlook properties window.
- ‘Delete’:
Clicking this will pop up a window: “Deleting this Group will delete this item from Outlook. Do Are you sure you want to continue?” with the option to confirm or cancel. Confirming will delete this Group from the Group list and from Outlook.
In addition all this Group’s members will be erased from the Group (this Group’s name, which appears in their properties category field, will be erased).
- ‘Attribute this Group to a Profile’:
This will open a window with two lists where the left one contains the profiles in which the group is enabled and the right one contains all the rest of the profiles a list of all CallBar profiles already defined and by choosing the desired Profile; CallBar will attribute this Group to it. should display the setting of this group in the profiles – for example, list all profiles in the left part and profiles in which the group is enabled in the right side and let the user move profiles from one to the other.
This tab will also include ‘Cancel’ and ‘OK’.
* It is necessary to mention that in later versions of Outlook, CallBar might be built on top of similar functions like Groups that are calle differently.
* All changes CallBar are made through the Outlook database and therefore visible to the user.
I think you should mention that this is built on top of the “distribution list” function in outlook (this means that for example, if this changes in the next outlook version, the UI of callbar will also change). Does it also mean that any distribution list that I create (for emails) is also seen here?
You should present (maybe its later in the document, and then you can disregard this comment) – the changes in the contact information that the user will see – using the category as a group name, other?
c.‘Profiles’:
- A combo-box that enables switching to a different profile and that shows the current profile in use.
- A combo-box that will enable selection whether or not to display block call information.
- A check-box: ‘Show incoming call window for calls from restricted numbers’. Popup an incoming call message when an unknown number is calling. The default is ON.
- A text field and a button for creating a new profile. Entering a new profile name in the text field and pressing the button, will create a new profile item and will open another window that will enable adding groups to the profile.
- A table specifying all groups in the ‘Current Profile’. By double clicking a group item in the table, the properties window of this group will pop up. In addition there will be ‘Add’, ‘Remove’, ‘Properties’ buttons: Clicking ‘Add’ will pop up a window with all group defined in the System. Clicking ‘Remove’ will remove a marked group from this profile. And clicking properties will pop up the marked group properties window.
- This tab will also include ‘Apply’, ‘Cancel’ and ‘OK’.
- Rename profiles – renaming excistingexisting profile.
The profile should also have some general settings – I think the ones I marked in the general tab.
As part of phase 2, the user will be able to define time schedule to profile invocation. We also talked about time schedule of profiles. We said this can be in phase 2 – but I think it should still be in this document and even parked as phase 2.
- ‘Block List’ –
This tab will include a table with all Outlook members and a table with all the blocked members and numbers. Pressing the ‘Add’ button will move marked items to the block list and ‘Remove’ will remove a marked item from that list. Adding a new number to the ‘New number field’ field and pressing ‘Add’ will add this number to the block list. The block list will contain users that should be blocked regardless to their group.
The block list is the finale condition check before accepting a call.
e.‘Call History’ –
This tab will include a table with the following rows:
date – the date this call was received
time -The time it was received
Phone number - The number of the caller. If the number was restricted then it’ll show ‘unknown’.
Name - The name of the caller – if the callers name wasn’t defined in the Outlook contact list at the time of the call, it’ll appear ‘unfamiliar’.
Group name & profile that was active at that time
Status indicator – indication whether this call was accepted or blocked. If the call was accepted it will show whether the user had answered it or not.
The tab will also contain a “Clear Log” button for erasing all records in the history list.
Double Clicking on a log record will pop-up the user properties or will enable to add an unfamiliar number to the Outlook contact list.
Can I order it by clicking the title? For example, I’d like to see all the calls from a number, or name. Id like to see all the calls while I was in a specific profile, etc.
Current profile selection box:
This item will appear on the CallBar toolbar and will allow the user to see the active current profile and to change it.
Telephone icon button:Call History:
The CallBar incoming calls history will be presented under a specific directory ‘Incoming calls’, which be located at the folders list of the Outlook.
The list will include the following fields which the user can sort by:
- ‘From’ – the caller entity name.
- ‘Number’ – the number the caller entity.
- ‘Date’ - The date and the time the call was received
- ‘Blocked’ – a flag to show whether this call was blocked.
New messages will appear in Bold.
By clicking on the message, the message body will be displayed and will include the following information:
- The Current Profile at the time the call was received.
- The Group that this caller entity was attributed to.
* The history list will be managed by Outlook in the same manner as email managing.
Replay/ forward message options will be disabled.
Phone Icon:
The CallBar toolbar will include an icon that will indicate by animation a change in the ‘incoming call’ folder.
Clicking this button opens the Settings window in the ‘Calls HistoryIncoming calls’ tabfolder. The icon will be animated indicating changes in the incoming calls log. It will return to its initial state after the user viewed the log.
What is this button? What setting does it provide?
- Receiving a call – stages of operations:
Stage 1: building the caller entity:
This process is divided to two:
- The call was traced by the CallerID:
When a call received CallBar will check:
1)If the caller’s number appears in the Outlook contact-list*:
The entity of this call will be built with the contact-members name and phone numbers and with the Groups names his attributed with (if any).
2)If the caller’s number does not appear in the Outlook contact-list:
The entity of this call will be built with the number of this call and will be named, the name will be ‘Unfamiliar’.
and this call will be attributed to the ‘Unfamiliar’ group.
- The call wasn’t traced by the CallerID:
The entity of this call will be built with an ‘Unknown’ number and will be named ,
‘Unknown’. name and will be attributed to the ‘Unknown’ group.