Santa Clara University DEPARTMENT of COMPUTER ENGINEERING Date: June 13, 2006 I HEREBY RECOMMEND THAT THE THESIS PREPARED UNDER MY SUPERVISION BY Anders Hur and Wilson Le ENTITLED Centralized Phonebook Database BE ACCEPTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF BACHELOR OF SCIENCE IN COMPUTER ENGINEERING ______________________ THESIS ADVISOR ______________________ DEPARTMENTCHAIR 1
Centralized Phonebook Database by Anders Hur and Wilson Le SENIOR DESIGN PROJECT REPORT Submitted in partial fulfillment of the requirements for the degree of Bachelor of Science in Computer Engineering School of Engineering Santa Clara University Santa Clara, California June 13, 2006 2
Abstract People have become highly dependent on their cell phone phonebooks; so much so that most people do not even try to memorize phone numbers anymore. If a person does not have access to their cell phone, they are not able to get to phone numbers that they might want to call. We created a system that allows a person to access their phonebook virtually anywhere in the world at anytime. In the Centralized Phonebook Database, a person uploads their phonebook from their cell phone to a server.
Acknowledgements We would like to thank our senior design project advisor Dr. Dan Lewis. He helped us develop our ideas and implement them. His guidance was essential for the success of this project. Sumit Naiksatam helped us with our database and website. His knowledge on Java and databases played a vital role in the success of our project. Tan Trieu also provided helpful ideas and suggestions. We would also like to thank Santa Clara University and the Computer Engineering Department.
Table of Contents Page 1. Signature page……………………………………………………………….…...1 2. Title Page………………………………………………………………………....2 3. Abstract…………………………………………………………………….……..3 4. Acknowledgments………………………………………………………….…….4 5. Table of Contents…………………………………………………………….…..5 6. List of Figures……………………………………………………………….…...7 7. Introduction………………………………………………………………….…...8 7.1. Motivation…………………………………………………………….……8 7.2. Background…………………………………………………………....…...8 7.3. Solution……………………………………………………………….……8 7.4.
16.2. Source code …………………………………………………………....…46 16.2.1. Website Front Page……………………………………………...….46 16.2.2. Java Servlet and Phonebook Page…………………………………..47 16.2.3. CGI Upload………………………………………...…………….…54 16.2.4. Number Insertion………………………………………….…..……55 16.2.5. sqlldr Control File………………………………………...………...55 16.2.6. Number Removal………………………………………...…………55 16.2.7. Convert Name to Numbers………………………………...……….
List of Figures Page Figure 7.1 Conceptual Model………………………………………………………....10 Figure 10.1 Phonebook Upload to Server……………………………………….…….20 Figure 10.2 Phonebook Access Via Voicemail……………………………………….21 Figure 10.3 Phonebook Retrieval Via Website…………………………………….…22 Figure 11.1 Front Page…………………………………………………………...…...26 Figure 11.2 Front Page Login……………………………………………………........27 Figure 11.3 Upload Page………………………………………………………….......28 Figure 11.4 File Browse………………………………………………………………29 Figure 11.
7. Introduction 7.1 Motivation A major issue facing cell phone users is the absence of their cell phones when they are needed most. This occurs when a person forgets, damages, or loses their cell phone. If a person does not have their cell phone they cannot use the functionality that people take for granted when they have their cell phones. One of these features is the use of their phonebook.
In our system, a person uploads their phonebook from their cell phone to a server. The phonebook is then stored in the server and can be accessed in two different ways. The first is to access it through voicemail. The use of voicemail allows a person to access their phonebook from any location that has a telephone at anytime. The second method of phonebook retrieval is through a website. This allows people to access their phonebook from any computer connected to the internet.
phonebook. This might be more convenient and for computer savvy users, is probably a simpler way to access their phonebook. However, the web interface does not have the versatility that is inherent with voicemail because it can only be accessed at a computer rather than from any phone. 7.4 Conceptual Model Figure 7.
8. Requirements 8.1 Non-functional • Phonebooks must be available at all times and accessible on demand • The upload process should support most, if not all cell phones. • The entire process must be easy to use for all types of users. • Minimal additional knowledge should be required of system users. 8.
• Must execute program to download phonebook file from web server to voicemail server • Must extract requested data from phonebook file Hardware Modem • Must be able to interact with voicemail software • Must be able to detect DTMF tones • Must be able to transmit voice response at audible sound levels • Must be able to detect and answer calls and then detect end of calls and hang up Upload Cable • Must provide a physical connection between cell phone and computer • Must be able to upload pho
9. Use Cases In this chapter we utilize “use cases” to illustrate the functionality of the Centralized Phonebook Database as seen by the designer. Use cases are a widely used and useful method to discover and understand functional requirements that indicate what the system will do. Use cases are also a mechanism to help keep it simple and understandable for all stakeholders. They are a model for describing the system’s functionality and environment.
user as the Primary Actor and scenarios that do not involve the cell phone user are not included. Use Case 1: Phonebook Upload to Server This case describes what happens when the cell phone user wants to upload their phonebook to the server. Before a user can start uploading their phonebook to the CPD server, they must first upload their phonebook to their computer in Comma Separated Values (CSV) format. The user must then open a web browser and proceed to the CPD website (www.cpd.com).
3. Cell phone users selects “Upload Phonebook” button. 4. Server Software extracts phonebook information from CSV file. 5. Software uploads the phonebook information to the database. 6. Software also stores a copy of the phonebook information in CSV file format on the server. Extension (or Alternative Flows): 2a. Cell phone user selects the wrong location of phonebook information. 1. Cell phone user clicks on “Browse” button 2. Cell phone user selects a new location of phonebook information. 4a.
Primary Actor: Cell phone user Stakeholders and Interest: • Cell phone user: Wants to easily and quickly access phone numbers in phonebook via voice mail. • Voice Mail Software: Want to accurately identify the cell phone user. Wants to identify which phone number the user desires. Wants to access the phone number that the cell phone user wants. Wants to read back number to the cell phone user.
10. System prompts user if he or she wants to repeat the number, search for another contact’s phone number, or is done. 11a. If user chooses to repeat the previous number: 12. System will go back to step 7 and reread number of contact 11b. If user chooses to search for another contact’s phone number: 12. The systems goes back to step 4. 11c. If user is done, he or she hangs up. Extension (or Alternative Flows): 3a. User enters incorrect PIN 1. Voice mail system prompts for reentry of PIN 2.
entire phonebook. There are then two ways the user can search for a desired contact’s phone number. The first way is to click on the letter to the right of “LINKS” which corresponds to the first letter of the first name of the contact you are trying to find. This link will scroll the browser to the section that contains names beginning with that letter.
3. User can use one of the two methods available to search for a desired contact’s phone number. Extension (or Alternative Flows): 1a. Cell phone user enters the wrong password and or user name. 1. Web interface returns the message “Unable to Login.” 2. Web interface allows for reentry of user name and password. 2a. User has not uploaded a phonebook 1. Web interface displays “No phonebook uploaded. Please upload phonebook.” 3a. User uses letter links to search for a desired contact’s phone number. 1.
10. Sequence Diagrams Figure 10.
Figure 10.
Figure 10.
11. User Manual 11.1 Introduction The Centralized Phonebook Database is a system that allows you to access your phonebook from anywhere in the world at anytime. Previously, if you forgot, broke, or lost your cell phone, you would not be able to retrieve phone numbers stored in the phonebook of your cell phone. The Centralized Phonebook Database (CPD) eliminates this problem while providing a simple and convenient way to access your phone numbers.
phonebook into a database maintained by the CPD so that they may be accessed via voicemail from another phone or over the Internet using a common web browser. 2. Voicemail: The CPD database may be accessed via any telephone using an interactive voicemail interface. Privacy is protected by requiring the use of a personal identification number (PIN). 3. Website: The CPD database may also be accessed through the Internet using a common web browser.
• Software to store phonebook from cell phone to computer via Upload Cable. This is usually included with your Upload Cable. Note: You MUST be able to save the phonebook in Microsoft Outlook format • Uploading Software included in CD provided • Web Browser such as Microsoft Internet Explorer, Mozilla, or Firefox • Microsoft Windows XP operating system • Microsoft Outlook 2000 or later version 11.
2. Open your favorite internet browser and type www.cpd.com in the address field and push enter. You will see the following screen: Figure 11.
3. Enter your phone number with area code (without spaces, dashes, or parenthesis) and your voicemail PIN into the labeled text boxes and click on the “Submit” button. Figure 11.
4. Once you are logged in, you will see the following screen. Click on the Browse button to find the location of your phonebook. Figure 11.
5. A Browse window will open. Find the location of your phonebook and click on the Open button. Figure 11.4 File Browse 6. To upload your phonebook, click on the Upload Phonebook button. Figure 11.
7. Your phonebook should now be visible. An example is shown below: Figure 11.6 Phonebook Display *The exact number type (home, cell, etc.) of the displayed phone number cannot be displayed due to restrictions in the way DataPilot saves the .csv files. However, there is an overall schema to how the numbers are displayed. If all number types are present, they are presented in the following order: Home1, Home2, Work, Cell, Fax, Pager.
Voicemail Retrieval Using the Voicemail System: 1. Call your voicemail by dialing your own cell phone number. 2. The voicemail system will ask you for your PIN. Enter your PIN after this prompt. 3. The voicemail system will ask you to enter the name of the person whose phone number you want. Use “T9” text entry format to enter the name and push the pound (#) key when you are done. (See www.t9.com or your cell phone manual if you are not familiar with “T9” text entry format.) 4.
Voicemail Flow Chart Figure 11.
Web Site Retrieval Using the website: 1. Open your favorite internet browser and type www.cpd.com in the address field and push enter. You will see the following screen: Figure 11.
2. Enter your phone number (including area code) and your voicemail PIN into the labeled text boxes and click on the “Submit” button. Figure 11.
3. If you have already uploaded your current phonebook, the following screen will appear, displaying your entire phonebook. You may scroll through the list and find the desired contact or use the search feature. (If you haven’t uploaded your phonebook. Please refer to “Uploading Phonebook” section of this manual) Figure 11.
4. There are also two ways to search your phonebook. The first way to search is to click on the letter to the right of “LINKS” which corresponds to the first letter of the first name of the contact you are trying to find. This link will scroll the browser to the section that contains names beginning with that letter. (In this example the letter “G” was clicked) Figure 11.
5. The second way to search your phonebook is to type the name of the person whose phone number you want in the search text box and click on the “Find Name in Page” button. The matching contact will be highlighted. Figure 11.12 Phonebook Typed Search 6. To begin another search scroll back to the top of the webpage and repeat Step 4.
12. Technologies Used 12.1 Software • DataPilot Universal Kit We needed software that would help us extract the phonebook off of a cell phone. Since we did not have access to the cell phones’ source code we needed a third party method to achieve this task. We decided on the DataPilot Universal Kit. This kit gave us a simple tool to extract phonebooks from cell phones. In addition, the universal kit was compatible with all but the very newest cell phones, with new phone compatibility always in development.
servlet. The servlet then returns the information back to the website so it can be displayed. • CGI/Perl We needed a way to upload phonebooks to our server. We decided to use Common Gateway Interface (CGI) to achieve this task. CGI allows for an easy way to create an upload field and the back end functionality required to upload a file. We programmed the CGI using Perl, the most common language to implement CGI.
either getting a voice modem or telephony card. Telephony cards have been shown to have superior functionality but are much more expensive ($300+). On the other hand, voice modems are much cheaper ($50+) but are much less reliable and less likely to work with the software. In the end we decided on a voice modem because of its lower cost. We contacted NCH and asked them for a recommendation on which voice modem to buy.
13. Project Limitations • Access to cell phone software We did not have access to the source code of the software that is on cell phones. This limited our ability to upload phonebooks directly from a cell phone to the server. We were also unable to download phonebooks to the cell phone from the database and automatically synchronize them (see Possible Enhancements below). Access to the source code would have made for a much more comprehensive and complete system.
14. Possible Enhancements • Automatically uploading phonebook straight from phone to server Due to our limitations we implemented the phonebook upload through a personal computer. Ideally, the upload would send the phonebook from the cell phone straight to the server with no intermediary steps. In addition, this upload could be automatically uploaded at certain intervals or on command. This would create an always up-to-date phonebook on the retrieval system.
15. Societal Issues A part of being a student at Santa Clara University is understanding how our work affects our society. The following are various societal issues and how our project affects each one. Ethical: The biggest ethical question with our project is the storage of people’s phonebooks and the privacy of the phonebooks and their use.
Health and Safety: There are no health or safety issues related to our project. The only possible safety issue is if the wrong person came in possession of phonebooks they were not supposed to have. Manufacturability: The Centralized Phonebook Database would not be hard to manufacture. It would only take design and implementation time and resources for a complete setup of the system. No new technology or hardware would need to be created which minimizes manufacturing costs.
16. Appendix 16.1 References Html Colors.gif. South Florida Web Design. April 2006. . Instructions for Remotely Logging into the SCU Design Center. Sumit Naiksatam. Santa Clara University. Oct. 2006. . MultiTech Systems. 2006. Oct. 2006. . MultiTech Systems Model MT5656ZDX-Series User Guide. 2004. MultiTech Systems. Oct. 2006. .
16.2 Source Code 16.2.1 Website Front Page (cpd.html)
CPD Website