Patent Publication Number: US-2004052357-A1

Title: Method and apparatus for processing phone numbers

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
     [0001] This application claims the benefit of priority to U.S. Provisional Patent Application Serial No. 60/400,061, which is incorporated herein by reference in its entirety. 
    
    
     
       BACKGROUND OF THE INVENTION  
       [0002] Phone number data which has been stored into a PIM such as Outlook, or into other software may not be in a standardized format which is useful to the end user. For example, a stored phone number may not include the country code, under the assumption that the end user of the phone number would be in the same country. Similarly, when stored phone numbers are received from a third party, it is uncertain whether the third party entered and/or stored the phone numbers in a format which is useful. Accordingly, it would be desirable if stored phone numbers could be processed to help ensure successful call completion of the stored phone numbers.  
       BRIEF SUMMARY OF THE INVENTION  
       [0003] Some embodiments process phone numbers by parsing stored phone numbers into phone number components; and based at least on the parsing, attempting to correct the stored phone numbers, prior to selecting the stored phone numbers to dial.  
       [0004] Some embodiments also, after attempting to correct the stored phone numbers, make the stored phone numbers available to a user of the stored phone numbers, a computer associated with selecting stored phone numbers to dial, and/or to a mobile phone.  
       [0005] In some embodiments, attempting to correct can be done at least at a computer. 
     
    
    
     BRIEF DESCRIPTION OF THE FIGURES  
     [0006]FIG. 1 shows an example of a method of processing a phone number.  
     [0007]FIG. 2 shows an example of a method of processing a phone number which is made available to users.  
     [0008]FIG. 3 shows an example of a method of processing a phone number which is made available to another computer.  
     [0009]FIG. 4 shows an example of a method of processing a phone number which is made available to a mobile phone.  
     [0010]FIG. 5 shows an example of a system in which the processing of phone numbers occurs. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION  
     [0011]FIG. 1 shows an example of a method of processing a phone number. In  110 , one or more stored phone numbers are parsed into one or more phone number components. The phone number components can include a PBX code, an international prefix, a national prefix, a country code, an area code, a subscriber number, and/or an extension. In  120 , prior to selecting the phone numbers to dial, the stored phone numbers are corrected. This attempt at correcting can fail or succeed, and is based at least on the parsed phone number components.  
     [0012]FIG. 2 shows another example of a method of processing a phone number. In  210 , one or more stored phone numbers are parsed into one or more phone number components. The phone number components can include a PBX code, an international prefix, a national prefix, a country code, an area code, a subscriber number, and/or an extension. In  220 , the stored phone numbers are corrected. This attempt at correcting can fail or succeed, and is based at least on the parsed phone number components. In  230 , after attempting to correct the stored phone numbers, the stored phone numbers, which may have been corrected, are made available to a user of the stored phone numbers. In  240 , at least one of the stored phone numbers, which may have been corrected, is selected to dial.  
     [0013]FIG. 3 shows another example of a method of processing a phone number. In  310 , one or more stored phone numbers are parsed into one or more phone number components. The phone number components can include a PBX code, an international prefix, a national prefix, a country code, an area code, a subscriber number, and/or an extension. In  320 , the stored phone numbers are corrected at a first computer. This attempt at correcting can fail or succeed, and is based at least on the parsed phone number components. In  330 , after attempting to correct the stored phone numbers, the stored phone numbers, which may have been corrected, are made available to a second computer. The second computer is associated with selecting the stored phone numbers to dial. In  340 , at least one of the stored phone numbers, which may have been corrected, is selected to dial at the second computer.  
     [0014]FIG. 4 shows another example of a method of processing a phone number. In  410 , one or more stored phone numbers are parsed into one or more phone number components. The phone number components can include a PBX code, an international prefix, a national prefix, a country code, an area code, a subscriber number, and/or an extension. In  420 , the stored phone numbers are corrected at a first computer. This attempt at correcting can fail or succeed, and is based at least on the parsed phone number components. In  430 , after attempting to correct the stored phone numbers, the stored phone numbers, which may have been corrected, are made available to a mobile phone. In  440 , at least one of the stored phone numbers, which may have been corrected, is selected to dial at the mobile phone.  
     [0015] The shown methods are exemplary and parts may be added, removed, modified, and/or rearranged.  
     [0016] The stored phone numbers may be stored on: a computer, such as a computer with a personal information manager; a server of the phone number processor; a server controlled by a third party, such as a directory assistance provider or a carrier; and/or a mobile phone. Stored phone numbers have been recorded in a machine&#39;s memory. Stored phone numbers do not include, unstored phone numbers, such as an unstored number remembered from a person&#39;s memory and dialed digit-by-digit.  
     [0017] Attempting to correct stored phone numbers can be done in many ways, such as changing undialable phone numbers to dialable phone numbers, identifying invalid phone numbers, determining country codes that are missing from phone numbers, determining area codes that are missing from phone numbers, formatting phone numbers into canonical form, updating area codes of phone numbers based on area code updates, and updating area codes of phone numbers based on geography associated with the phone numbers.  
     [0018] Changing undialable phone numbers to dialable phone numbers can be done in several ways, such as adding an international prefix, adding a national prefix, adding a country code, and/or adding a dial extension. Dialable numbers are valid and have proper dialing logic. An undialable number fails to meet the requirements of a dialable number.  
     [0019] Valid phone numbers have all relevant phone number components of the phone number. An example of the minimum relevant phone number components for a local phone call can be the subscriber number. An example of the maximum relevant phone number components for an international phone call can be the country code, the area code, the subscriber number, and the extension. All the relevant phone number components are of the proper length, and any area code is a legitimate area code for that country code. In some embodiments, a phone number is valid if the phone number has all the relevant phone number components, since a stored phone number may need to be dialed from another systems that have different requirements. For example, from a mobile phone, a call may be a local call and just the subscriber number may be dialed, but if the call is made with directory assistance, the call may be a long-distance call.  
     [0020] Proper dialing logic entails adding any prefixes to a valid number based on the number being called and the location of the caller. For example, if the country code differs between the calling phone and the phone number being called, the international prefix is added and the country code is included.  
     [0021] Identifying invalid phone numbers can be done in several ways, such as identifying phone numbers as having too many digits, too few digits, and/or missing phone number components. A call center and/or a mobile phone user can be notified the invalid phone numbers.  
     [0022] Invalid phone numbers can be missing relevant phone number components (e.g., country code, area code, and/or subscriber number). Also, any of those phone number components may fail to meet length requirements (e.g., as defined by the country code) and/or any of those phone number components can be composed of an invalid digit combination (e.g., 000 for country code 1). In some cases, the area code is not always a required piece, such as for countries that do not have area codes. Some embodiments require the country code and the subscriber number for a number to be valid.  
     [0023] Determining country codes that are missing from phone numbers can be done in many ways. For example, this determination can be based on determining countries of customer portals (such as a portal of a cell phone carrier where the user is registered), and/or from contact data associated with the phone numbers missing country codes (e.g., from database data or from a source of database data, such as PIM data).  
     [0024] Determining area codes that are missing from phone numbers can be done in many ways. For example, this determination can be based on performing reverse lookups from contact data associated with the phone numbers missing area codes (e.g., from database data or from a source of database data, such as PIM data).  
     [0025] Formatting phone numbers into canonical form can be done in many ways. For example, the canonical form can depend countries associated with the phone numbers, the geography within countries associated with the phone numbers, whether the phone numbers are associated with mobile telephony, whether the phone numbers are associated with landline telephony, and/or the numbers of digits following the country codes for the phone numbers.  
     [0026] The canonical form is a standard format based on country code and potentially several other factors, such as specific geography, mobile vs. landline, and/or phone number length. Examples of canonical forms for US numbers are “1 (XXX) XXX-XXXX ext. XXXX,” “1 (XXX) XXX-XXXX,” “(XXX) XXX-XXXX,” “XXX XXXXXXX,” “XXX XXX XXXX,” and other similar combinations with/without extensions, parentheses, country codes, hyphens, etc. This standard format is both aesthetically pleasing (generally matching the standard format for that country), and allows for matching numbers from disparate sources. For example, during registration, a user can register a mobile phone number as an ID for accessing the user&#39;s account. When the user logs in, the user may type in the mobile phone number differently (e.g., with/without a country code and/or with/without a national prefix). The data may be passed from the carrier. The process of absolutely and accurately matching multiple numbers is aided by formatting the phone numbers into the same format with the same phone number components, such as canonical form.  
     [0027]FIG. 5 shows an example of a system in which the processing of phone numbers occurs. The phone numbers can come from sources such as a web browser  510 , a personal information manager  520  (for example, Outlook or a handheld contact manager), and file import  530 . The database  540  stores the phone numbers. The phone numbers at the database  540  can be used by a computer associated with dialing phone numbers  550 . Alternatively, the phone numbers at the database  540  can be sent to a wireless gateway  560  and then to a mobile phone  570 . The processing of phone numbers can occur anywhere in the shown system, for example at web browser  510 , personal information manager  520 , file import  530 , database  540 , computer  550 , wireless gateway  560 , mobile phone  570 , and/or anywhere in between, such as between database  540  and web browser  510 , between database  540  and personal information manager  520 , between database  540  and file import  530 , between database  540  and computer  550 , between database  540  and wireless gateway  560 , and/or between mobile phone  570  and wireless gateway  560 . Regardless of where the processing occurs, the processed phone numbers can be made available to users, mobile phones, and/or computers via wired and/or wireless connections.