US20030210776A1 - Method and apparatus for providing advanced IP telephony services in an intelligent endpoint - Google Patents

Method and apparatus for providing advanced IP telephony services in an intelligent endpoint Download PDF

Info

Publication number
US20030210776A1
US20030210776A1 US10/455,653 US45565303A US2003210776A1 US 20030210776 A1 US20030210776 A1 US 20030210776A1 US 45565303 A US45565303 A US 45565303A US 2003210776 A1 US2003210776 A1 US 2003210776A1
Authority
US
United States
Prior art keywords
telephony
directory
call
network
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/455,653
Inventor
Patrick Sollee
Christopher Jessen
Robert Barretto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27766349&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US20030210776(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Individual filed Critical Individual
Priority to US10/455,653 priority Critical patent/US20030210776A1/en
Publication of US20030210776A1 publication Critical patent/US20030210776A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/253Telephone sets using digital voice transmission
    • H04M1/2535Telephone sets using digital voice transmission adapted for voice communication over an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42136Administration or customisation of services
    • H04M3/42178Administration or customisation of services by downloading data to substation equipment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • H04M3/4931Directory assistance systems

Definitions

  • IP Internet Protocol
  • IP telephony a user may make telephone calls over an IP network, such as the Internet.
  • IP network such as the Internet.
  • IP telephony One of the main advantages of using IP telephony is that all IP telephone calls are considered local area telephone calls. This is because the user typically makes a local telephone call to an IP server in order to gain access to the IP network and from there on, the telephone call is merely comprised of IP data packets over the IP network. Thus, long distance charges for long distance telephone calls are not incurred when the long distance telephone call is an IP telephony call.
  • IP configured telephones are “non-intelligent” telephones, meaning that they rely on the IP network to provide advanced services, such as call forwarding.
  • IP network based advanced services are very inflexible and do not allow individual users to customize their IP telephony service.
  • the present invention provides methods and apparatus for providing advanced IP telephony services using an intelligent endpoint device.
  • the apparatus includes a directory update device, a click to call device and an incoming call processor.
  • the apparatus is capable of performing updates to a local directory by retrieving directory information from a directory server using an Internet connection.
  • the Internet connection makes use of a web browser application and a directory server applet to perform the download of updated directory information. In this way, firewalls and other security precautions are circumvented so that the directory information may be downloaded.
  • the apparatus further compares the directory update information against local directory information to determine if corresponding directory listings are present. If so, the apparatus provides the user with the option to accept the update directory information from the directory server, keep the local directory information, select portions of the update directory information and the local directory information for creating a new combined directory listing, or to add a new directory listing using the update directory information.
  • FIG. 2 is an exemplary block diagram of the intelligent IP telephony device
  • FIG. 3 is an exemplary block diagram illustrating the mechanism by which a local directory is updated from a directory server
  • FIG. 4 is an exemplary diagram of a directory listing graphical user interface according to the present invention.
  • FIG. 5 is an exemplary diagram of a graphical user interface for comparing a local directory listing and a directory server listing according to the present invention
  • FIG. 7A is an exemplary diagram of a graphical user interface for performing click to call functions based on information from a local directory
  • FIG. 7B is an exemplary diagram of a web browser used to perform a click to call function based on directory information from a directory server;
  • FIG. 8 is an exemplary diagram of a graphical user interface for entering a screen entry
  • FIG. 9 is an exemplary diagram of a graphical user interface illustrating the screen option “Day of Week”;
  • FIG. 10 is an exemplary diagram of a graphical user interface illustrating the screen option “Until Date”;
  • FIG. 11 is an exemplary diagram of a graphical user interface illustrating the screen option “Always”;
  • FIG. 12 is a flowchart outlining an exemplary operation of the directory update device of FIG. 3;
  • FIG. 13 is a flowchart outlining an exemplary operation of the click to call device of FIG. 3.
  • FIG. 14 is a flowchart outlining an exemplary operation of the incoming call processor of FIG. 3.
  • the IP network 104 in this example is the Internet, i.e. a worldwide collection of networks and gateways that use the TCP/IP suites of protocols to communicate with one another.
  • the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, government, educational, and other computer systems that route data and messages.
  • Computing devices 106 and 108 may be any type of computing device or data processing system that is capable of telephony communication.
  • the computing devices 106 and 108 may have IP telephony communication devices incorporated into them or may have separate IP telephony devices connected to them via appropriate communication links.
  • the computing devices 106 and 108 may include, for example, a microphone and speaker arrangement for receiving voice input and providing audio output or may communicate with an IP telephony device via, for example, cables and device interfaces to receive voice input and provide audio output.
  • the computing devices 106 and 108 receive voice input, convert the voice input into IP data packets, and send the IP data packets over the IP network 104 to a desired target device.
  • the computing devices 106 and 108 receive IP telephony data packets, convert the IP telephony data packets into digital signals and output the digital signals as audio output via associated speakers.
  • IP telephony apparatus 112 is any type of IP telephony apparatus that is a dedicated IP telephony apparatus.
  • IP telephony apparatus 112 may be, for example, an IP telephone which is dedicated to providing IP telephony communication over the IP network 104 .
  • the IP telephony apparatus 112 receives voice input, converts the voice input into IP data packets, and transmits the IP data packets over the IP network 104 to a target device.
  • the IP telephony apparatus 112 receives IP telephony data packets over the IP network 104 , converts them into digital signals which are then output as audio output via a speaker or handset associated with the IP telephony apparatus 112 .
  • FIG. 2 is an exemplary block diagram of an intelligent IP telephony device 200 according to the present invention.
  • the intelligent IP telephony device 200 includes a user interface 210 , a controller 220 , a main memory 225 , an IP network interface 230 , an incoming call processor 240 , a click to call device 250 , a directory update device 260 , and a directory storage device 270 . These elements are in communication with one another via the control/signal bus 280 .
  • a bus architecture is shown in FIG. 2, the invention is not limited to such an embodiment. Other architectures that provide a mechanism for communication among the elements 210 - 270 may be used without departing from the spirit and scope of the invention.
  • the controller 220 controls the operation of the intelligent IP telephony device 200 .
  • the controller 220 makes use of control programs and instructions stored in main memory 225 .
  • the controller 220 initiates each of the incoming call processor 240 , the click to call device 250 and the directory update device 260 based on user input via the user interface 210 and information received via the IP network interface 230 .
  • the user interface 210 may be any one or combination of input devices that may received input from a user and/or provide output to a user of the intelligent IP telephony device 200 .
  • the user interface 210 may include a keyboard, pointing device, microphone, speaker, display device, and the like.
  • the IP network interface 230 is a mechanism by which the intelligent IP telephony device 200 sends and receives information over the IP network 104 .
  • the IP network interface 230 may make use of a modem, cable, or other type IP network 104 connection for the transmission of information to and from the intelligent IP telephony device 200 .
  • the IP network interface 230 may further make use of an IP network browser application, such as NetscapeTM or Microsoft Internet ExplorerTM, to log onto an IP network 104 server in order to gain access to the IP network 104 .
  • the directory update device 260 performs functions necessary for updating a local directory, stored in directory storage device 270 , using information received from one or more directory servers 114 on the IP network 104 .
  • the directory update device 260 sends a request to a directory server 114 for an update of directory information via the IP network interface 230 .
  • the directory update device compares the updated information with information stored in the local directory and interacts with a user via the user interface 210 to determine which information to retain in the local directory stored in directory storage device 270 , as will be discussed more fully hereafter.
  • the click to call device 250 performs functions for establishing a communication connection between the intelligent IP telephony device 200 and a desired target device based on directory information retrieved from either the local directory in directory storage device 270 or from the directory server 114 .
  • the click to call device 250 allows a user to select directory information being displayed on the user interface 210 using a pointing device or other input device, and have a call initiated to a device associated with the displayed directory information, as will also be discussed in more detail hereafter.
  • the incoming call processor 240 performs a variety of intelligent processing functions on incoming IP telephony calls received via the IP network interface 230 . Based on different factors, such as time of day, day of the week, calendar dates, calling party identification, and the like, the incoming call processor 240 may perform any of a number of functions. These functions include ignoring the incoming call, playing a greeting, forwarding the call to another IP telephony number, redirecting the calling party to an IP network web page or initiating an electronic mail program on the calling party's IP telephony device, initiating an application, and the like. Descriptions of these various functions will be provided in more detail hereafter.
  • a local directory may be updated from an IP network directory server, a click to call functionality is provided, and intelligent processing of incoming calls is provided. Accordingly, the intelligent IP telephony device 200 may be upgraded and customized easily by the user of the intelligent IP telephony device 200 .
  • the user of the intelligent IP telephony device 200 logs onto the directory server using the web browser application 310 .
  • an applet is executed on the web browser application 310 .
  • An applet is a small application program having limited utility.
  • a firewall is a method used to keep a network secure. It can be implemented in a single router that filters out unwanted packets, or it may use a combination of technologies in routers and hosts. Firewalls are widely used to give users access to the Internet in a secure fashion as well as to separate a company's public Web server from its internal network. Firewalls are also used to keep internal network segments secure.
  • the firewall 110 blocks direct access from the intelligent IP telephony device 200 to the directory server 114 .
  • the firewall 110 allows HTTP traffic to pass between the IP network 104 and the web browser application 310 .
  • the intelligent IP telephony device 200 may circumvent the firewall 110 and perform directory updates from the directory server 114 .
  • the user of the intelligent IP telephony device 200 initiates a local directory update by entering an update command via the user interface 210 .
  • the directory update device 260 sends a request to the directory server 114 via the IP network interface 230 .
  • This process may make use of the web browser application 310 which may already be running on the computing device 108 or may be automatically initiated by the directory update device 260 when the user's update command is received.
  • the process of updating the local directory using the directory server 114 is also referred to as “synchronizing” the local directory with the directory server 114 .
  • the request from the directory update device 260 initiates a download of directory information from the directory server 114 .
  • the particular directory information downloaded may be based on an identification of the user that requested the directory update, parameters entered by the user, or user associated information.
  • the downloaded information may be limited to those directory listings that have been changed from a last update session identified, for example, by a date and time of the last download from the directory server 114 .
  • These download criteria may be included in the request from the directory update device 260 when initiating the download of directory information from the directory server 114 .
  • the downloaded directory information may be temporarily stored as data files in a temporary storage (not shown) or may be stored as data files on the directory storage device 270 in a more permanent manner.
  • the directory update device 260 determines which, if any, of the downloaded directory listings has a corresponding listing in the local directory stored in the directory storage device 270 . This may be done, for example, using a simple filename comparison. Alternatively, a more complex comparison taking into account actual data values within the files may be utilized. With the later approach, local directory files and downloaded directory files which are an exact match may be disregarded. Corresponding listings that are not exact matches may then be displayed to the user via the user interface 210 .
  • the user may then choose to either accept the downloaded directory listing, keep the local directory listing, keep both listings as separate listings in the local directory, or select various information from both to compile a new directory listing. If the user chooses to accept the downloaded directory listing, the corresponding local directory listing is overwritten in the directory storage device 270 . If the user chooses to keep the local directory listing, the downloaded directory listing is deleted. If the user chooses to keep both listings, a new file is created with the downloaded directory listing.
  • FIG. 4 is an exemplary diagram of a directory listing for either the directory server 114 or the local directory on the directory storage device 270 .
  • the graphical user interface 400 shown in FIG. 4 may be displayed to the user via the user interface 210 when the user selects the directory listing for placement of an IP telephony call, as will be described hereafter.
  • the directory listing graphical user interface 400 includes fields for various personal contact information regarding the person described by the directory listing.
  • the personal contact information includes, for example, the person's name (field 401 ), address (field 402 ), SIP address (used for initiating SIP communications, i.e. IP telephony calls)(field 403 ), IP address (field 404 ), electronic mail address (field 405 ), web page address (field 406 ), and various telephone, pager and facsimile numbers (fields 407 ).
  • the directory listing provides fields 408 and 409 for including personal notes and for inclusion of a photograph of the person described by the directory listing.
  • FIG. 5 is an exemplary diagram of a graphical user 500 interface that is displayed via the user interface 210 when displaying corresponding local directory listings and directory server 114 listings. As shown in FIG. 5, the same directory information that is present in FIG. 4 is displayed in the graphical user interface 500 shown in FIG. 5. In addition, the graphical user interface 500 includes virtual buttons 510 - 530 for performing the functions of keeping the local directory listing, overwriting the local directory listing with the downloaded listing, or keeping both listings. Although not explicitly shown in FIG. 5, the graphical user display may also provide the function of selecting various information from both listings for creation of a new directory listing.
  • FIG. 6 is an exemplary diagram of a graphical user interface 600 representing the directory update results.
  • the graphical user interface 600 provides information related to the number of entries processed from the directory server 114 (field 605 ), the number of directory server listings ignored because they were identical to local directory listings (field 610 ), the number of directory server listings that were used to replace local directory listings (field 620 ), the number of new local directory listings created (field 630 ), the number of new local directory listings that were created and did not have a preexisting matching local directory listing (field 640 ), and the number of directory server listings that were ignored at the user's request (field 650 ).
  • the intelligent IP telephony device 200 may make use of either the local directory or the directory server 114 listings to initiate an IP telephony call to a desired party. This functionality is provided by the click to call device 250 .
  • FIG. 7A is an exemplary diagram of a graphical user interface 700 provided by the click to call device 250 via the user interface 210 when using local directory information to initiate an IP telephony call.
  • a similar graphical user interface may be obtained from the directory server 114 using a web browser, as shown in FIG. 7B.
  • the graphical user interface provides a listing of available parties 710 with which an IP telephony call may be initiated. The user may highlight a desired party from the list using, for example, a keyboard or pointing device, and may then select the “call” icon 720 to initiate an IP telephony call to the desired party.
  • a display of the desired party's directory listing may be provided via the user interface 210 .
  • a display similar to that shown in FIG. 4 may be provided to the user for his/her information.
  • an applet may be initiated for downloading the selected directory listing to the intelligent IP telephony device 200 such that the intelligent IP telephony device 200 may initiate the IP telephony call to the desired party. As shown in FIG. 7B, this may be performed by selecting the appropriate directory listing and virtually pressing the virtual button “click here to call highlighted address.”
  • the name “Chris Jessen” is highlighted in the example shown in FIG. 7. If the user then selects the “call” icon 720 , an IP telephony call will be initiated with an IP telephony device associated with Chris Jessen.
  • the IP telephony call may be initiated using, for example, the Session Initiation Protocol (SIP) address for Chris Jessen, which is stored in the directory listing (see FIGS. 4 and 5).
  • SIP Session Initiation Protocol
  • the directory listing for Chris Jessen may be displayed to the user for his/her information.
  • SIP addresses to initiate a SIP communications over an IP network is described, for example, in RFC 2543 available at ftp://ftp.isi.edu/in-notes/rfc2543.txt, which is hereby incorporated by reference.
  • the graphical user interface 700 In addition to initiating an IP telephony call, the graphical user interface 700 also provides the ability to adjust the volume 730 of the intelligent IP telephony device 200 , display a more complete directory 740 , initiate call screening functions 750 as will be discussed further below, delete a directory listing 760 , and obtain on-line help 770 for operating the intelligent IP telephony device 200 .
  • the above description of the invention is directed to the updating of local directory listings and the initiation of IP telephony calls using these directory listings.
  • the present invention provides a mechanism by which intelligent processing of incoming calls may be performed.
  • the incoming call processor 240 is used to perform intelligent processing of incoming calls based on screening information established by a user.
  • FIGS. 8 - 11 show an exemplary graphical user interface that may be provided by incoming call processor 240 to a user via the user interface 210 so that the user may establish screening information for use by the incoming call processor 240 . As shown in FIG.
  • the graphical user interface 800 includes a field 810 for identifying the receiving party's address, a field 811 for identifying the sending party's identifier(s) that is to be used for screen calls from the sending party, and tabbed screening options 820 - 823 corresponding to “Time of Day,” “Day of Week,” “Until Date,” and “Always.” Each of the tabbed screening options 820 - 823 has its own fields for entering screening information for use by the incoming call processor 240 , as will be described more fully below.
  • the graphical user interface 800 includes virtual buttons for creating a new entry 830 , removing an entry 831 , saving an entry 832 , canceling an action 833 , and scrolling between entries 834 .
  • the greeting to be played may be, for example, a pre-recorded message that the user wishes a calling party to hear when the calling party calls the user's intelligent IP telephony device 200 .
  • This pre-recorded message may be stored, for example, as a .WAV file in the user's intelligent IP telephony device 200 .
  • the user may also enter an address to which to forward calls from the calling party “pat*.”
  • the user may designate another address at which he will be able to receive incoming IP telephony calls.
  • the call will be forwarded to the designated address using call forwarding in a manner generally known to those of ordinary skill in the art.
  • the address may take the form of, for example, a SIP address or IP address.
  • the user may also enter a web page address to which the calling party will be directed when a call is received from that particular calling party.
  • the user's intelligent IP telephony device 200 will instruct the calling party's IP telephony device to initiate a web browser application and enter the web page address in the appropriate field of the web browser application such that the calling party is presented with the desired web page.
  • the user may enter an electronic mail address to which he/she wishes the calling party to send an electronic mail note.
  • the user's intelligent IP telephony device 200 will instruct the calling party's IP telephony device to initiate an electronic mail application and will insert the electronic mail address in the appropriate “To” field of the electronic mail application.
  • the user may designate particular applications that he/she wishes to be executed when a call is received from a particular calling party.
  • These applications may be applications that are to be executed on the user's computing device 108 , for example, and/or applications that are to be executed on the calling party's computing device.
  • a user may set up the screening information such that an Excel spreadsheet is opened when a call from the calling party is received.
  • the computing devices on which the intelligent IP telephony devices are resident or the intelligent IP telephony devices themselves may be configured so that when a command signal is received from another intelligent IP telephony device, the electronic mail and web browser programs are automatically executed.
  • the intelligent IP telephony device that sends the command to execute the application must have information pertaining to the application, such as the path and executable program name, for executing the application and forward this information with the command to execute the application.
  • FIG. 10 shows the same graphical user interface 800 with the “Until Date” tabbed screening option 822 shown.
  • the main difference between the “Until Date” screening option 822 and the other options is that an “until date” is selectable rather than a time of day or day of the week.
  • FIG. 11 shows the same graphical user interface 800 with the “Always” tabbed screening option 823 shown.
  • the main difference between the “Always” screening option 823 and the other options is that there are no day of week, time of day, or until date fields provided. Rather, an “always screen” option is selectable.
  • each tabbed option 820 - 823 may be performed exclusive of one another or may be performed in conjunction with one another.
  • each tabbed option 820 - 823 may be provided with a priority level.
  • the tabbed option “Day of Week” may be provided with a higher priority than “Time of Day” and thus, only the screening information associated with the “Day of Week” option will be used by the incoming call processor 240 .
  • the tabbed options 820 - 823 may be performed in a hierarchical non-exclusive manner.
  • this information will be used to screen calls from a particular calling party that do not fall into a particular time of day, day of week or date range.
  • the user has particular “until date” screening information active, this information will be used for all calls from a particular calling party falling within the date range that do not fall within a particular time of day or day of the week.
  • the “day of the week” screening information will be used to process incoming calls from a particular party that fall within the day of the week screening criteria and do not fall within a particular time of day.
  • the “time of day” screening information may be used with all calls from a particular party that fall within a particular time of day.
  • the invention is not limited to performing a single call screening function. Rather, a plurality of screening functions may be performed when a call from a particular calling party is received. Thus, for example, when a call is received from a calling party “pat*,” the calling party may be directed to a particular web page as well as have the call redirected to another address at which the user may be reached. Any number of the available call screening functions may be performed together without departing from the spirit and scope of the invention. Furthermore, a plurality of call forwarding addresses, applications to be executed, greetings, and the like may be designated to be used in succession.
  • the invention may perform incoming call screening based on an identifier of the called party.
  • an identifier of the called party For example, if there are many users of an intelligent IP telephony device 200 , each user may have incoming call screening entries associated with them.
  • the intelligent IP telephony device 200 may identified the called party from an identifier in the incoming call and apply call screening functions identified by the call screening entries associated with the called party.
  • incoming IP telephony calls may be screened by the user's intelligent IP telephony device 200 in any of a number of customizable manners.
  • the user may customize the intelligent processing of calls from a particular calling party, group of calling parties, or all calling parties such that the calls are ignored, played a greeting, forwarded to another address, directed to a particular web page or electronic mail address, and/or to have an particular application executed when the call is received.
  • FIG. 12 is a flowchart outlining an exemplary operation of the directory update device 260 .
  • the operation starts with a request for a directory update being initiated (step 1201 ).
  • the web browser applet for downloading the directory update is initiated (step 1202 ).
  • a communication connection is established with the directory server 114 using, for example, HTTP (step 1203 ).
  • the directory update device 260 then receives the directory update from the directory server 114 (step 1204 ).
  • the directory update device 260 determines if there are corresponding entries in the downloaded directory information and the local directory (step 1205 ). If there is no corresponding entries (step 1206 :NO), the directory update process either continues in the case that the determination is performed during the download, or the directory update process is completed (step 1220 ), in the case that the determination is performed after the download process. If there are corresponding entries (step 1206 :YES), the directory update device 260 determines if the user wishes to overwrite the local directory entry (step 1208 ), overwrite selection directory information in the local directory entry (step 1210 ), or add a new local entry using the downloaded directory information (step 1212 ).
  • intelligent IP telephony call processing is performed without having to rely on network servers to perform these functions.
  • a local directory may be maintained and updated even if there are security precautions preventing direct access from the intelligent IP telephony device 200 to the directory server.
  • a user may make use of either remotely located directory information or local directory information to initiate an IP telephony call by clicking on a directory listing.

Abstract

A method and apparatus in a communications system for providing advanced Internet Protocol (IP) telephony services in an intelligent endpoint. The apparatus and method of the present invention provides a user with the capability to update a local directory from a directory server, perform click to call functions, and perform intelligent processing of incoming calls.

Description

    1. FIELD OF THE INVENTION
  • The present invention relates generally to methods and apparatus for providing advanced IP telephony services in an intelligent endpoint. Specifically, the present invention is directed to an IP telephony intelligent endpoint that is capable of updating local IP telephony directories from an IP network server, performing click-to-dial services using the local IP telephony directories, and performing advanced IP telephony services on incoming IP telephony communications. [0001]
  • 2. BACKGROUND OF THE INVENTION
  • Internet Protocol (IP) telephony is generally known in the art. In IP telephony, a user may make telephone calls over an IP network, such as the Internet. One of the main advantages of using IP telephony is that all IP telephone calls are considered local area telephone calls. This is because the user typically makes a local telephone call to an IP server in order to gain access to the IP network and from there on, the telephone call is merely comprised of IP data packets over the IP network. Thus, long distance charges for long distance telephone calls are not incurred when the long distance telephone call is an IP telephony call. [0002]
  • Typically, the user must have an IP configured telephone or must dial into an IP telephony server in order to initiate the IP telephony communication. The known IP configured telephones are “non-intelligent” telephones, meaning that they rely on the IP network to provide advanced services, such as call forwarding. [0003]
  • Because network evolution is a slow process, a large amount of time may pass before new advanced services are made available to IP telephony users. Furthermore, IP network based advanced services are very inflexible and do not allow individual users to customize their IP telephony service. Thus, it would be beneficial to have an intelligent IP network endpoint device that is easily upgradable and provides the ability to customized IP telephony service. [0004]
  • SUMMARY OF THE INVENTION
  • The present invention provides methods and apparatus for providing advanced IP telephony services using an intelligent endpoint device. The apparatus includes a directory update device, a click to call device and an incoming call processor. [0005]
  • The apparatus is capable of performing updates to a local directory by retrieving directory information from a directory server using an Internet connection. The Internet connection makes use of a web browser application and a directory server applet to perform the download of updated directory information. In this way, firewalls and other security precautions are circumvented so that the directory information may be downloaded. [0006]
  • The apparatus further compares the directory update information against local directory information to determine if corresponding directory listings are present. If so, the apparatus provides the user with the option to accept the update directory information from the directory server, keep the local directory information, select portions of the update directory information and the local directory information for creating a new combined directory listing, or to add a new directory listing using the update directory information. [0007]
  • The apparatus may further use either directory information from the directory server or local directory information to initiate IP telephony calls using a click to call interface. The user need only select a desired party's directory listing and click a virtual button corresponding to a call function. If the directory listing is on the directory server, the directory listing selection may be made using a browser application that initiates an applet to download corresponding directory information to the apparatus and to instruct the apparatus to initiate an IP telephony communication connection. Otherwise, the local directory listing is utilized. [0008]
  • The apparatus further performs intelligent processing of incoming IP telephony calls. Based on an identification of the calling party, the apparatus is able to screen calls and perform customized intelligent processing on the incoming IP telephony calls. The customized intelligent processing may include ignoring the call, redirecting the call to another address, redirecting the call to a web page or electronic mail address, playing a greeting, and/or executing an application. The particular intelligent processing may be customized based on time of day, day of week, date range, and the like. [0009]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein like numerals designate like elements, and wherein: [0010]
  • FIG. 1 is an exemplary block diagram of a communication system in which the present invention may be implemented; [0011]
  • FIG. 2 is an exemplary block diagram of the intelligent IP telephony device; [0012]
  • FIG. 3 is an exemplary block diagram illustrating the mechanism by which a local directory is updated from a directory server; [0013]
  • FIG. 4 is an exemplary diagram of a directory listing graphical user interface according to the present invention; [0014]
  • FIG. 5 is an exemplary diagram of a graphical user interface for comparing a local directory listing and a directory server listing according to the present invention; [0015]
  • FIG. 6 is an exemplary diagram of a graphical user interface for displaying update results; [0016]
  • FIG. 7A is an exemplary diagram of a graphical user interface for performing click to call functions based on information from a local directory; [0017]
  • FIG. 7B is an exemplary diagram of a web browser used to perform a click to call function based on directory information from a directory server; [0018]
  • FIG. 8 is an exemplary diagram of a graphical user interface for entering a screen entry; [0019]
  • FIG. 9 is an exemplary diagram of a graphical user interface illustrating the screen option “Day of Week”; [0020]
  • FIG. 10 is an exemplary diagram of a graphical user interface illustrating the screen option “Until Date”; [0021]
  • FIG. 11 is an exemplary diagram of a graphical user interface illustrating the screen option “Always”; [0022]
  • FIG. 12 is a flowchart outlining an exemplary operation of the directory update device of FIG. 3; [0023]
  • FIG. 13 is a flowchart outlining an exemplary operation of the click to call device of FIG. 3; and [0024]
  • FIG. 14 is a flowchart outlining an exemplary operation of the incoming call processor of FIG. 3. [0025]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • FIG. 1 is an exemplary block diagram of a communication system in which the present invention may be implemented. [0026] Communications system 100 is a network of computers in which the present invention may be implemented. Communications system 100 includes an IP network 104, such as the Internet. Additionally, communications system 100 also includes computing devices 106, 108, IP telephony apparatus 112, and directory server 114. The computing device 108 is located behind a firewall 110, with respect to the IP network 104. While FIG. 1 shows firewall 110 as a separate element for purposes of clarification, as is known to those of ordinary skill in the art, the firewall 110 may be resident on a server to which the computing device 108 is connected or on the computing device 108 itself.
  • The [0027] IP network 104 in this example is the Internet, i.e. a worldwide collection of networks and gateways that use the TCP/IP suites of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, government, educational, and other computer systems that route data and messages.
  • [0028] Computing devices 106 and 108 may be any type of computing device or data processing system that is capable of telephony communication. The computing devices 106 and 108 may have IP telephony communication devices incorporated into them or may have separate IP telephony devices connected to them via appropriate communication links. The computing devices 106 and 108 may include, for example, a microphone and speaker arrangement for receiving voice input and providing audio output or may communicate with an IP telephony device via, for example, cables and device interfaces to receive voice input and provide audio output. The computing devices 106 and 108 receive voice input, convert the voice input into IP data packets, and send the IP data packets over the IP network 104 to a desired target device. Similarly, the computing devices 106 and 108 receive IP telephony data packets, convert the IP telephony data packets into digital signals and output the digital signals as audio output via associated speakers.
  • While the description of the present invention references the use of IP telephony, the invention is not limited to the IP protocol. Rather, any communication protocol that may be used to conduct telephony communication may be used without departing from the spirit and scope of the present invention. [0029]
  • [0030] IP telephony apparatus 112 is any type of IP telephony apparatus that is a dedicated IP telephony apparatus. IP telephony apparatus 112 may be, for example, an IP telephone which is dedicated to providing IP telephony communication over the IP network 104. The IP telephony apparatus 112 receives voice input, converts the voice input into IP data packets, and transmits the IP data packets over the IP network 104 to a target device. Similarly, the IP telephony apparatus 112 receives IP telephony data packets over the IP network 104, converts them into digital signals which are then output as audio output via a speaker or handset associated with the IP telephony apparatus 112.
  • The [0031] directory server 114 stores directory information for computing devices 106, 108, IP telephony apparatus 112, and other IP telephony capable devices (not shown) which are connected to the IP network 104. The directory server 114 may store such information as electronic mail addresses, IP addresses, session initiation protocol (SIP) addresses, as well as other contact information such as users' names, IP network identifications, home addresses, home telephone number, office telephone number, mobile telephone number, pager number, facsimile number, and the like. While FIG. 1 shows directory server 114 as a single server, the directory server 114 may be a cluster of servers.
  • In accordance with the present invention, [0032] computing device 106, for example, may include an intelligent IP telephony device. The intelligent IP telephony device is capable of updating local directory information from the directory server 114, initiating IP telephony communications using “click to call” and information from either the directory server or a local directory, and/or performing advanced call processing without relying on a network server to perform these functions.
  • FIG. 2 is an exemplary block diagram of an intelligent [0033] IP telephony device 200 according to the present invention. As shown in FIG. 2, the intelligent IP telephony device 200 includes a user interface 210, a controller 220, a main memory 225, an IP network interface 230, an incoming call processor 240, a click to call device 250, a directory update device 260, and a directory storage device 270. These elements are in communication with one another via the control/signal bus 280. Although a bus architecture is shown in FIG. 2, the invention is not limited to such an embodiment. Other architectures that provide a mechanism for communication among the elements 210-270 may be used without departing from the spirit and scope of the invention.
  • The [0034] controller 220 controls the operation of the intelligent IP telephony device 200. The controller 220 makes use of control programs and instructions stored in main memory 225. The controller 220 initiates each of the incoming call processor 240, the click to call device 250 and the directory update device 260 based on user input via the user interface 210 and information received via the IP network interface 230.
  • The [0035] user interface 210 may be any one or combination of input devices that may received input from a user and/or provide output to a user of the intelligent IP telephony device 200. For example, the user interface 210 may include a keyboard, pointing device, microphone, speaker, display device, and the like.
  • The [0036] IP network interface 230 is a mechanism by which the intelligent IP telephony device 200 sends and receives information over the IP network 104. The IP network interface 230 may make use of a modem, cable, or other type IP network 104 connection for the transmission of information to and from the intelligent IP telephony device 200. The IP network interface 230 may further make use of an IP network browser application, such as Netscape™ or Microsoft Internet Explorer™, to log onto an IP network 104 server in order to gain access to the IP network 104.
  • The [0037] directory update device 260 performs functions necessary for updating a local directory, stored in directory storage device 270, using information received from one or more directory servers 114 on the IP network 104. The directory update device 260 sends a request to a directory server 114 for an update of directory information via the IP network interface 230. When the updated information is received, the directory update device compares the updated information with information stored in the local directory and interacts with a user via the user interface 210 to determine which information to retain in the local directory stored in directory storage device 270, as will be discussed more fully hereafter.
  • The click to call [0038] device 250 performs functions for establishing a communication connection between the intelligent IP telephony device 200 and a desired target device based on directory information retrieved from either the local directory in directory storage device 270 or from the directory server 114. The click to call device 250 allows a user to select directory information being displayed on the user interface 210 using a pointing device or other input device, and have a call initiated to a device associated with the displayed directory information, as will also be discussed in more detail hereafter.
  • The [0039] incoming call processor 240 performs a variety of intelligent processing functions on incoming IP telephony calls received via the IP network interface 230. Based on different factors, such as time of day, day of the week, calendar dates, calling party identification, and the like, the incoming call processor 240 may perform any of a number of functions. These functions include ignoring the incoming call, playing a greeting, forwarding the call to another IP telephony number, redirecting the calling party to an IP network web page or initiating an electronic mail program on the calling party's IP telephony device, initiating an application, and the like. Descriptions of these various functions will be provided in more detail hereafter.
  • Thus, with the intelligent [0040] IP telephony device 200 of the present invention, a local directory may be updated from an IP network directory server, a click to call functionality is provided, and intelligent processing of incoming calls is provided. Accordingly, the intelligent IP telephony device 200 may be upgraded and customized easily by the user of the intelligent IP telephony device 200.
  • FIG. 3 is an exemplary block diagram illustrating the manner by which the intelligent [0041] IP telephony device 200 may be used to update a local directory stored in directory storage device 270. As shown in FIG. 3, rather than establishing a communication connection directly between the directory server 114 and the intelligent IP telephony device 200, communication is funneled through a web browser application 310 that is running locally on the computing device 108 with which the intelligent IP telephony device 200 is associated.
  • The user of the intelligent [0042] IP telephony device 200 logs onto the directory server using the web browser application 310. When the directory server 114 needs to communicate with the intelligent IP telephony device 200, an applet is executed on the web browser application 310. An applet is a small application program having limited utility.
  • The applet communicates with the directory server using hyper text transfer protocol (HTTP) and communicates with the intelligent [0043] IP telephony device 200 directly because they are both resident on the same computing device 108. This allows the intelligent IP telephony device 200 to communicate with the directory server 114 even when there is a firewall 110 present.
  • A firewall is a method used to keep a network secure. It can be implemented in a single router that filters out unwanted packets, or it may use a combination of technologies in routers and hosts. Firewalls are widely used to give users access to the Internet in a secure fashion as well as to separate a company's public Web server from its internal network. Firewalls are also used to keep internal network segments secure. [0044]
  • The [0045] firewall 110 blocks direct access from the intelligent IP telephony device 200 to the directory server 114. However, the firewall 110 allows HTTP traffic to pass between the IP network 104 and the web browser application 310. Thus, by funneling the communication to the directory server 114 through the web browser application 310, using HTTP, the intelligent IP telephony device 200 may circumvent the firewall 110 and perform directory updates from the directory server 114.
  • With reference again to FIG. 2, the user of the intelligent [0046] IP telephony device 200 initiates a local directory update by entering an update command via the user interface 210. In response, the directory update device 260 sends a request to the directory server 114 via the IP network interface 230. This process may make use of the web browser application 310 which may already be running on the computing device 108 or may be automatically initiated by the directory update device 260 when the user's update command is received. The process of updating the local directory using the directory server 114 is also referred to as “synchronizing” the local directory with the directory server 114.
  • The request from the [0047] directory update device 260 initiates a download of directory information from the directory server 114. The particular directory information downloaded may be based on an identification of the user that requested the directory update, parameters entered by the user, or user associated information. For example, the downloaded information may be limited to those directory listings that have been changed from a last update session identified, for example, by a date and time of the last download from the directory server 114.
  • These download criteria may be included in the request from the [0048] directory update device 260 when initiating the download of directory information from the directory server 114. The downloaded directory information may be temporarily stored as data files in a temporary storage (not shown) or may be stored as data files on the directory storage device 270 in a more permanent manner.
  • Either during the download of the directory information from the [0049] directory server 114 or after download from the directory server 114, the directory update device 260 determines which, if any, of the downloaded directory listings has a corresponding listing in the local directory stored in the directory storage device 270. This may be done, for example, using a simple filename comparison. Alternatively, a more complex comparison taking into account actual data values within the files may be utilized. With the later approach, local directory files and downloaded directory files which are an exact match may be disregarded. Corresponding listings that are not exact matches may then be displayed to the user via the user interface 210.
  • The user may then choose to either accept the downloaded directory listing, keep the local directory listing, keep both listings as separate listings in the local directory, or select various information from both to compile a new directory listing. If the user chooses to accept the downloaded directory listing, the corresponding local directory listing is overwritten in the [0050] directory storage device 270. If the user chooses to keep the local directory listing, the downloaded directory listing is deleted. If the user chooses to keep both listings, a new file is created with the downloaded directory listing.
  • If the user chooses to create a new listing with information from both directory listings, directory listing information in the local directory listing is overwritten by the selected information from the downloaded listing. Thus, information from the downloaded listing that is not selected does not overwrite the local directory listing information. In this way a combination of both listings is created. [0051]
  • The above process is repeated for each instance of corresponding directory listings. When no more corresponding directory listings are found, the directory update process is completed. When the directory update process in completed, results information may be provided to the user via the [0052] user interface 210.
  • FIG. 4 is an exemplary diagram of a directory listing for either the [0053] directory server 114 or the local directory on the directory storage device 270. The graphical user interface 400 shown in FIG. 4 may be displayed to the user via the user interface 210 when the user selects the directory listing for placement of an IP telephony call, as will be described hereafter.
  • As shown in FIG. 4, the directory listing [0054] graphical user interface 400 includes fields for various personal contact information regarding the person described by the directory listing. The personal contact information includes, for example, the person's name (field 401), address (field 402), SIP address (used for initiating SIP communications, i.e. IP telephony calls)(field 403), IP address (field 404), electronic mail address (field 405), web page address (field 406), and various telephone, pager and facsimile numbers (fields 407). In addition, the directory listing provides fields 408 and 409 for including personal notes and for inclusion of a photograph of the person described by the directory listing.
  • FIG. 5 is an exemplary diagram of a [0055] graphical user 500 interface that is displayed via the user interface 210 when displaying corresponding local directory listings and directory server 114 listings. As shown in FIG. 5, the same directory information that is present in FIG. 4 is displayed in the graphical user interface 500 shown in FIG. 5. In addition, the graphical user interface 500 includes virtual buttons 510-530 for performing the functions of keeping the local directory listing, overwriting the local directory listing with the downloaded listing, or keeping both listings. Although not explicitly shown in FIG. 5, the graphical user display may also provide the function of selecting various information from both listings for creation of a new directory listing.
  • FIG. 6 is an exemplary diagram of a [0056] graphical user interface 600 representing the directory update results. As shown in FIG. 6, the graphical user interface 600 provides information related to the number of entries processed from the directory server 114 (field 605), the number of directory server listings ignored because they were identical to local directory listings (field 610), the number of directory server listings that were used to replace local directory listings (field 620), the number of new local directory listings created (field 630), the number of new local directory listings that were created and did not have a preexisting matching local directory listing (field 640), and the number of directory server listings that were ignored at the user's request (field 650).
  • In addition to updating the local directory in the [0057] directory storage device 270, the intelligent IP telephony device 200 may make use of either the local directory or the directory server 114 listings to initiate an IP telephony call to a desired party. This functionality is provided by the click to call device 250.
  • FIG. 7A is an exemplary diagram of a [0058] graphical user interface 700 provided by the click to call device 250 via the user interface 210 when using local directory information to initiate an IP telephony call. Alternatively, a similar graphical user interface may be obtained from the directory server 114 using a web browser, as shown in FIG. 7B. As shown in FIG. 7A, the graphical user interface provides a listing of available parties 710 with which an IP telephony call may be initiated. The user may highlight a desired party from the list using, for example, a keyboard or pointing device, and may then select the “call” icon 720 to initiate an IP telephony call to the desired party.
  • Once an IP call to the desired party has been initiated, or when a desired party has been selected, a display of the desired party's directory listing may be provided via the [0059] user interface 210. For example, a display similar to that shown in FIG. 4 may be provided to the user for his/her information.
  • When an IP call is initiated using directory listing information directly from the [0060] directory server 114, as shown in FIG. 7B, an applet may be initiated for downloading the selected directory listing to the intelligent IP telephony device 200 such that the intelligent IP telephony device 200 may initiate the IP telephony call to the desired party. As shown in FIG. 7B, this may be performed by selecting the appropriate directory listing and virtually pressing the virtual button “click here to call highlighted address.”
  • As an example of the click to call functionality, the name “Chris Jessen” is highlighted in the example shown in FIG. 7. If the user then selects the “call” [0061] icon 720, an IP telephony call will be initiated with an IP telephony device associated with Chris Jessen. The IP telephony call may be initiated using, for example, the Session Initiation Protocol (SIP) address for Chris Jessen, which is stored in the directory listing (see FIGS. 4 and 5). In addition, the directory listing for Chris Jessen (FIG. 4) may be displayed to the user for his/her information. The use of SIP addresses to initiate a SIP communications over an IP network is described, for example, in RFC 2543 available at ftp://ftp.isi.edu/in-notes/rfc2543.txt, which is hereby incorporated by reference.
  • In addition to initiating an IP telephony call, the [0062] graphical user interface 700 also provides the ability to adjust the volume 730 of the intelligent IP telephony device 200, display a more complete directory 740, initiate call screening functions 750 as will be discussed further below, delete a directory listing 760, and obtain on-line help 770 for operating the intelligent IP telephony device 200.
  • The above description of the invention is directed to the updating of local directory listings and the initiation of IP telephony calls using these directory listings. In addition to initiating IP telephony calls, the present invention provides a mechanism by which intelligent processing of incoming calls may be performed. In particular, the [0063] incoming call processor 240 is used to perform intelligent processing of incoming calls based on screening information established by a user.
  • FIGS. [0064] 8-11 show an exemplary graphical user interface that may be provided by incoming call processor 240 to a user via the user interface 210 so that the user may establish screening information for use by the incoming call processor 240. As shown in FIG. 8, the graphical user interface 800 includes a field 810 for identifying the receiving party's address, a field 811 for identifying the sending party's identifier(s) that is to be used for screen calls from the sending party, and tabbed screening options 820-823 corresponding to “Time of Day,” “Day of Week,” “Until Date,” and “Always.” Each of the tabbed screening options 820-823 has its own fields for entering screening information for use by the incoming call processor 240, as will be described more fully below. In addition, the graphical user interface 800 includes virtual buttons for creating a new entry 830, removing an entry 831, saving an entry 832, canceling an action 833, and scrolling between entries 834.
  • FIG. 8 shows screening information for screening calls from any caller having an identification “pat*” during a particular time of day. The “*” is a wildcard character that designates any string of alpha-numeric characters. Thus, any identification whose first three characters are “pat” will be included in the character string “pat*.” It should be noted that the screening information may be set such that all calls from all calling parties may be screened by entering only wildcard characters in the “number to screen” field. [0065]
  • As shown in FIG. 8, from a start time of 2:55 PM to an end time of 10:55 PM ([0066] fields 840 and 841), calls from “pat*” will be ignored because the “ignore incoming calls” field 842 has been selected. Although not selected in the particular example shown in FIG. 8, the user also has the option of selecting the number of rings 843 before the incoming call processor 240 performs call screening functions, the greeting to be played to the calling party 844, an address to forward the call to 845, a web page or electronic mail address to direct the calling party to 846, or an application that is to be executed 847.
  • The greeting to be played may be, for example, a pre-recorded message that the user wishes a calling party to hear when the calling party calls the user's intelligent [0067] IP telephony device 200. This pre-recorded message may be stored, for example, as a .WAV file in the user's intelligent IP telephony device 200.
  • The user may also enter an address to which to forward calls from the calling party “pat*.” Thus, if a user knows he/she will not be able to be present at the user's intelligent [0068] IP telephony device 200 at a particular time of day, the user may designate another address at which he will be able to receive incoming IP telephony calls. When a call from a particular calling party is received, the call will be forwarded to the designated address using call forwarding in a manner generally known to those of ordinary skill in the art. The address may take the form of, for example, a SIP address or IP address.
  • The user may also enter a web page address to which the calling party will be directed when a call is received from that particular calling party. When the calling party calls the user's intelligent [0069] IP telephony device 200, the user's intelligent IP telephony device 200 will instruct the calling party's IP telephony device to initiate a web browser application and enter the web page address in the appropriate field of the web browser application such that the calling party is presented with the desired web page.
  • Additionally, the user may enter an electronic mail address to which he/she wishes the calling party to send an electronic mail note. When a call is received from the calling party, the user's intelligent [0070] IP telephony device 200 will instruct the calling party's IP telephony device to initiate an electronic mail application and will insert the electronic mail address in the appropriate “To” field of the electronic mail application.
  • In addition to the above, the user may designate particular applications that he/she wishes to be executed when a call is received from a particular calling party. These applications may be applications that are to be executed on the user's [0071] computing device 108, for example, and/or applications that are to be executed on the calling party's computing device. Thus, for example, if a user has a telephone conference scheduled with a calling party for a particular time of day, he/she may set up the screening information such that an Excel spreadsheet is opened when a call from the calling party is received.
  • With electronic mail and web browser programs, the computing devices on which the intelligent IP telephony devices are resident or the intelligent IP telephony devices themselves may be configured so that when a command signal is received from another intelligent IP telephony device, the electronic mail and web browser programs are automatically executed. With other applications, the intelligent IP telephony device that sends the command to execute the application must have information pertaining to the application, such as the path and executable program name, for executing the application and forward this information with the command to execute the application. [0072]
  • FIG. 9 shows the same [0073] graphical user interface 800 with the “Day of Week” tabbed screening option 821 shown. The main difference between the “Day of Week” and “Time of Day” screening options 820, 821 is that the days of the week are shown as optional screening information in place of the time of day fields.
  • FIG. 10 shows the same [0074] graphical user interface 800 with the “Until Date” tabbed screening option 822 shown. The main difference between the “Until Date” screening option 822 and the other options is that an “until date” is selectable rather than a time of day or day of the week. FIG. 11 shows the same graphical user interface 800 with the “Always” tabbed screening option 823 shown. The main difference between the “Always” screening option 823 and the other options is that there are no day of week, time of day, or until date fields provided. Rather, an “always screen” option is selectable.
  • The various tabbed options [0075] 820-823 may be performed exclusive of one another or may be performed in conjunction with one another. For example, each tabbed option 820-823 may be provided with a priority level. Thus, if there are two tabbed options selected, such as “Time of Day” and “Day of Week”, the tabbed option “Day of Week” may be provided with a higher priority than “Time of Day” and thus, only the screening information associated with the “Day of Week” option will be used by the incoming call processor 240.
  • Alternatively, the tabbed options [0076] 820-823 may be performed in a hierarchical non-exclusive manner. Thus, if a user has “always” screen information active, this information will be used to screen calls from a particular calling party that do not fall into a particular time of day, day of week or date range. If the user has particular “until date” screening information active, this information will be used for all calls from a particular calling party falling within the date range that do not fall within a particular time of day or day of the week. Similarly, the “day of the week” screening information will be used to process incoming calls from a particular party that fall within the day of the week screening criteria and do not fall within a particular time of day. Lastly, the “time of day” screening information may be used with all calls from a particular party that fall within a particular time of day.
  • Moreover, the invention is not limited to performing a single call screening function. Rather, a plurality of screening functions may be performed when a call from a particular calling party is received. Thus, for example, when a call is received from a calling party “pat*,” the calling party may be directed to a particular web page as well as have the call redirected to another address at which the user may be reached. Any number of the available call screening functions may be performed together without departing from the spirit and scope of the invention. Furthermore, a plurality of call forwarding addresses, applications to be executed, greetings, and the like may be designated to be used in succession. [0077]
  • Additionally, the invention may perform incoming call screening based on an identifier of the called party. Thus, for example, if there are many users of an intelligent [0078] IP telephony device 200, each user may have incoming call screening entries associated with them. When an incoming call is received, the intelligent IP telephony device 200 may identified the called party from an identifier in the incoming call and apply call screening functions identified by the call screening entries associated with the called party.
  • Thus, with the present invention, incoming IP telephony calls may be screened by the user's intelligent [0079] IP telephony device 200 in any of a number of customizable manners. The user may customize the intelligent processing of calls from a particular calling party, group of calling parties, or all calling parties such that the calls are ignored, played a greeting, forwarded to another address, directed to a particular web page or electronic mail address, and/or to have an particular application executed when the call is received.
  • The various functions of the intelligent [0080] IP telephony device 200 will now be described in terms of flowcharts representing exemplary operations of the elements of the intelligent IP telephony device 200. The flowcharts shown in FIGS. 12-14 are only exemplary and are meant only as an outline of the operations. Details of the operations may be dependent on the particular implementation of the invention.
  • FIG. 12 is a flowchart outlining an exemplary operation of the [0081] directory update device 260. As shown in FIG. 12, the operation starts with a request for a directory update being initiated (step 1201). In response, the web browser applet for downloading the directory update is initiated (step 1202). A communication connection is established with the directory server 114 using, for example, HTTP (step 1203). The directory update device 260 then receives the directory update from the directory server 114 (step 1204).
  • Either during the download process or after the download is complete, the [0082] directory update device 260 determines if there are corresponding entries in the downloaded directory information and the local directory (step 1205). If there is no corresponding entries (step 1206:NO), the directory update process either continues in the case that the determination is performed during the download, or the directory update process is completed (step 1220), in the case that the determination is performed after the download process. If there are corresponding entries (step 1206:YES), the directory update device 260 determines if the user wishes to overwrite the local directory entry (step 1208), overwrite selection directory information in the local directory entry (step 1210), or add a new local entry using the downloaded directory information (step 1212). If any of these options are selected by the user, the corresponding functions ( steps 1209, 1211 and 1213) are performed. If none of these options are selected, the downloaded directory entry is deleted (step 1214). Once all of the directory entries are updated, the directory update device 260 displays update results to the user via the user interface 210 (step 1215).
  • FIG. 13 is a flowchart outlining an exemplary operation of the click to call [0083] device 250. As shown in FIG. 13, the operation starts with the click to call device receiving a user selection of a desired party directory listing (step 1301). In response, the click to call device 250 displays a detailed directory listing via the user interface 210 (step 1302). If the selection is from the directory server and not the local directory (step 1303:YES), the directory listing is downloaded to the intelligent IP telephony device 200. If not, the local directory listing is used (step 1303:NO). The click to call device 250 then initiates an IP telephony call using address information from the directory listing (step 1305). The operation then ends (step 1306).
  • FIG. 14 is a flowchart outlining an exemplary operation of the [0084] incoming call processor 240. As shown in FIG. 14, the operation starts with the incoming call processor 240 receiving an incoming call (step 1401). The incoming call processor 240 identifies the calling party (step 1402) and searches for a screen entry corresponding to the calling party (step 1403). If a screen entry is not found (step 1404:NO), the operation ends (step 1406). If a screen entry is found (step 1404:YES), appropriate screening functions are performed based on the screening information in a manner set forth above (step 1405). The operation then ends (step 1406).
  • Thus, with the present invention, intelligent IP telephony call processing is performed without having to rely on network servers to perform these functions. In addition, a local directory may be maintained and updated even if there are security precautions preventing direct access from the intelligent [0085] IP telephony device 200 to the directory server. Furthermore, a user may make use of either remotely located directory information or local directory information to initiate an IP telephony call by clicking on a directory listing.
  • It is important to note that while the present invention has been described in the context of a fully functioning data processing system, such as [0086] computing devices 106 and 108, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include recordable-type media such a floppy disc, a hard disk drive, a RAM, and CD-ROMs and transmission-type media such as digital and analog communications links.
  • The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. For example, the present invention is not limited to a network distributed system as all of the application and SIP clients may be present within a single data processing system. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated. [0087]

Claims (34)

What is claimed is:
1. A method in a communications system for updating, from a network directory server, a local telephony directory on a telephony device, comprising:
establishing a communication connection between the telephony device and the network directory server;
sending an update request to the network directory server through the communication connection;
receiving updated telephony directory information from the network directory server through the communication connection; and
updating the local telephony directory based on the updated telephony directory information.
2. The method of claim 1, wherein establishing a communication connection between the telephony device and the network directory server includes initiating an applet to facilitate communication with the network directory server and with the telephony device.
3. The method of claim 2, wherein the applet communicates with the network directory server using hypertext transfer protocol and communicates with the telephony device directly.
4. The method of claim 1, wherein receiving updated telephony directory information from the network directory server includes identifying telephony directory information for transmitting to the telephony device based on at least one of an identification of a user that initiated the sending of the update request, parameters entered by the user, and a time since the last update of the local telephony directory.
5. The method of claim 1, further comprising identifying a first directory listing in the updated telephony directory information that corresponds to a second directory listing in the local telephony directory.
6. The method of claim 5, further comprising displaying the first directory listing and the second directory at a same time.
7. The method of claim 5, further comprising receiving a user selection of one of overwriting the second directory listing with the first directory listing, keeping the second directory listing, overwriting selected information in the second directory listing with information from the first directory listing, and adding a new directory listing in the local telephony directory corresponding to the first directory listing.
8. The method of claim 1, further comprising displaying results of updating the local telephony directory.
9. The method of claim 1, wherein the establishing, sending, and receiving steps are performed using a network browser application and an applet for downloading updated telephony directory information.
10. The method of claim 9, wherein the network browser application and the telephony device reside on the same computing device.
11. The method of claim 9, wherein the network browser application resides on a computing device and the telephony device is coupled to the computing device.
12. The method of claim 1, wherein the telephony device is an IP telephony device.
13. A computer program product in a computer-readable medium for use in a data processing system for updating, from a network directory server, a local telephony directory on a telephony device, comprising:
first instructions for establishing a communication connection between the telephony device and the network directory server;
second instructions for sending an update request to the network directory server through the communication connection;
third instructions for receiving updated telephony directory information from the network directory server through the communication connection; and
fourth instructions for updating the local telephony directory based on the updated telephony directory information.
14. A telephony apparatus for communicating over a network, comprising:
a controller;
a network interface coupled to the controller; and
a directory update device coupled to the controller, wherein the controller establishes a communication connection between the telephony apparatus and a network directory server via the network interface, the directory update device sends an update request to the network directory server, the directory update device receives updated telephony directory information from the network directory server, and wherein the directory update device updates a local telephony directory based on the updated telephony directory information.
15. The apparatus of claim 14, wherein the controller establishes a communication connection between the telephony device and the network directory server by initiating an applet to facilitate communication with the network directory server and with the telephony device.
16. The apparatus of claim 15, wherein the applet communicates with the network directory server using hypertext transfer protocol.
17. The apparatus of claim 14, wherein the directory update device identifies a first directory listing in the updated telephony directory information that corresponds to a second directory listing in the local telephony directory.
18. A method in a communications system for updating, from a network directory server, a local telephony directory on a telephony device, comprising:
establishing a communication connection between the telephony device and the network directory server;
receiving an update request from the telephony device through the communication connection;
sending updated telephony directory information from the network directory server through the communication connection, the updated telephony directory information being used by the telephony device to update the local telephony directory.
19. The method of claim 18, further comprising sending instructions to the telephony device to display results of updating the local telephony directory.
20. A telephony apparatus that initiates a telephony call, over a network having a network directory server, to a receiving telephony device, comprising:
a network interface;
a controller coupled to the network interface; and
a user interface coupled to the controller, wherein the controller receives directory information, from a directory on the network directory server, via the network interface, and receives, via the user interface, a user selection of a directory listing from the directory information, and wherein the controller initiates a telephony call from the telephony apparatus to the receiving telephony device based on the user selection.
21. The apparatus of claim 20, further comprising a display that displays the directory information.
22. The apparatus of claim 20, wherein the controller downloads, from the network directory server to the telephony apparatus, directory listing information for the receiving telephony device in response to receiving the user selection, and wherein the telephony call is initiated from the telephony apparatus based on the downloaded directory listing information.
23. The apparatus of claim 20, wherein the user interface includes a graphical user interface.
24. A method in a communications system for intelligent processing of an incoming telephony call, the intelligent processing being performed in an endpoint device, comprising:
receiving, in the endpoint device, the incoming telephony call from a call source via a network;
identifying, in the endpoint device, a call screening entry associated with the call source; and
screening the incoming telephony call based on the call screening entry.
25. The method of claim 24, wherein the call screening entry identifies at least one screening function to be performed when a call from the call source is received.
26. The method of claim 25, wherein the at least one call screening function is performed based on at least one of time of day, day of the week, a date range, and always being performed.
27. The method of claim 25, wherein the at least one call screening function includes at least one of ignoring the call, playing a greeting, forwarding the call to another telephony address, forwarding the call to a web page address, forwarding the call to an electronic mail address, and executing an application.
28. The method of claim 25, wherein the at least one call screening function is performed based on more than one of time of day, day of the week, a date range, and always being performed.
29. The method of claim 25, wherein the at least one call screening function includes more than one of ignoring the call, playing a greeting, forwarding the call to another telephony address, forwarding the call to a web page address, forwarding the call to an electronic mail address, and executing an application.
30. The method of claim 27, wherein, if the at least one call screening function includes forwarding the call to a web page address, the method further includes sending a command to the call source instructing the call source to initiate a web browser application and inserting the web page address in the web browser application such that a desired web page is displayed on the call source.
31. The method of claim 27, wherein, if the at least one call screening function includes forwarding the call to an electronic mail address, the method further includes sending a command to the call source, via the network interface, instructing the call source to initiate an electronic mail application and inserting the electronic mail address in the electronic mail application.
32. A computer program product in a computer-readable medium for use in a data processing system for intelligent processing of an incoming telephony call, the intelligent processing being performed in an endpoint device, comprising:
first instructions for receiving, in the endpoint device, the incoming telephony call from a call source via a network;
second instructions for identifying, in the endpoint device, a call screening entry associated with the call source; and
third instructions for screening the incoming telephony call based on the call screening entry.
33. A telephony apparatus for use with a network, comprising:
a network interface coupled to the network for communicating via the network;
a controller coupled to the network interface, and
a storage device, wherein the controller receives an incoming telephony call from a call source via the network interface, identifies a telephony call screening entry stored in the storage device associated with the call source, the telephony call screening entry identifying a different communication type from the telephony call to use in communicating with the telephony apparatus, and wherein the controller screens the incoming telephony call based on the telephony call screening entry.
34. A method of initiating a telephony call, over a network having a network directory server, from a sending telephony device to a receiving telephony device, comprising:
identifying, from a directory on the network directory server, an identifier of the receiving telephony device;
downloading, from the network directory server to the sending telephony device, directory listing information for the receiving telephony device; and
initiating a telephony call from the sending telephony device to the receiving telephony device based on the downloaded directory listing information.
US10/455,653 2000-01-31 2003-06-05 Method and apparatus for providing advanced IP telephony services in an intelligent endpoint Abandoned US20030210776A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/455,653 US20030210776A1 (en) 2000-01-31 2003-06-05 Method and apparatus for providing advanced IP telephony services in an intelligent endpoint

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/494,721 US6614899B1 (en) 2000-01-31 2000-01-31 Method and apparatus for providing advanced IP telephony services in an intelligent endpoint
US10/455,653 US20030210776A1 (en) 2000-01-31 2003-06-05 Method and apparatus for providing advanced IP telephony services in an intelligent endpoint

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/494,721 Division US6614899B1 (en) 2000-01-31 2000-01-31 Method and apparatus for providing advanced IP telephony services in an intelligent endpoint

Publications (1)

Publication Number Publication Date
US20030210776A1 true US20030210776A1 (en) 2003-11-13

Family

ID=27766349

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/494,721 Expired - Lifetime US6614899B1 (en) 2000-01-31 2000-01-31 Method and apparatus for providing advanced IP telephony services in an intelligent endpoint
US10/455,653 Abandoned US20030210776A1 (en) 2000-01-31 2003-06-05 Method and apparatus for providing advanced IP telephony services in an intelligent endpoint

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/494,721 Expired - Lifetime US6614899B1 (en) 2000-01-31 2000-01-31 Method and apparatus for providing advanced IP telephony services in an intelligent endpoint

Country Status (1)

Country Link
US (2) US6614899B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040013107A1 (en) * 2000-05-03 2004-01-22 Ulrich Mitreuter Method for providing an additional service for internet users
US20050122963A1 (en) * 2003-12-05 2005-06-09 Seong-Joon Jeon IP-based voice/video communication system and call pickup/forwarding method
US20060221947A1 (en) * 2005-03-30 2006-10-05 Baker Mark C Multiple IP identities for end user telephony devices
US20080130859A1 (en) * 2005-08-18 2008-06-05 Mclarty Brandon D Contact Number Encapsulation System
US20130031205A1 (en) * 2011-07-29 2013-01-31 International Business Machines Corporation Tailoring content to be delivered to mobile device based upon features of mobile device
US20140254437A1 (en) * 2001-06-28 2014-09-11 At&T Intellectual Property I, L.P. Simultaneous visual and telephonic access to interactive information delivery

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934279B1 (en) 2000-03-13 2005-08-23 Nortel Networks Limited Controlling voice communications over a data network
US7463619B1 (en) * 2000-05-25 2008-12-09 Nortel Networks Limited Launching a web browser in response to a message relating to communications sessions
US8069205B1 (en) * 2000-06-16 2011-11-29 8X8, Inc. Communications controller and method therefor
US7546376B2 (en) * 2000-11-06 2009-06-09 Telefonaktiebolaget Lm Ericsson (Publ) Media binding to coordinate quality of service requirements for media flows in a multimedia session with IP bearer resources
US20020141404A1 (en) * 2001-04-03 2002-10-03 Michael Wengrovitz Call routing using information in session initiation protocol messages
US20040015541A1 (en) * 2002-07-22 2004-01-22 Web.De Ag Communications environment having a portal
US20040205160A1 (en) * 2003-04-09 2004-10-14 Web De Ag Method for managing communications
US6909721B2 (en) * 2002-10-31 2005-06-21 Nokia Corporation Device detection and service discovery system and method for a mobile ad hoc communications network
US7480723B2 (en) * 2003-04-08 2009-01-20 3Com Corporation Method and system for providing directory based services
US7545941B2 (en) 2003-09-16 2009-06-09 Nokia Corporation Method of initializing and using a security association for middleware based on physical proximity
US20050069104A1 (en) * 2003-09-30 2005-03-31 Hanson Karrie J. Call management service
US20050074109A1 (en) * 2003-10-01 2005-04-07 Hanson Karrie J. Integrated personal call management system
US7417981B2 (en) 2003-10-15 2008-08-26 Vonage Holdings Corp. Method and apparatus for enhanced Internet Telephony
WO2005076582A1 (en) * 2004-01-30 2005-08-18 Combots Product Gmbh & Co.Kg Establishment of links with the aid of contact elements
US7386111B2 (en) 2004-02-10 2008-06-10 Vonage Network Inc. Method and apparatus for placing a long distance call based on a virtual phone number
US20060100980A1 (en) * 2004-10-27 2006-05-11 Bellsouth Intellectual Property Corporation Methods and systems for delivering yellow pages content to a media delivery device
US8542813B2 (en) * 2004-11-02 2013-09-24 Cisco Technology, Inc. Method and system for providing a camp-on service in telecommunications
US7949115B2 (en) 2004-11-04 2011-05-24 Cisco Technology, Inc. Providing a service framework at an endpoint
US8165277B2 (en) * 2004-11-08 2012-04-24 Cisco Technology, Inc. Distributed service creation environment for intelligent endpoints
US20060104259A1 (en) * 2004-11-15 2006-05-18 Cisco Technology, Inc. System and method for executing a multi-modal transfer in a session initiation protocol (SIP) environment
US7853696B2 (en) * 2004-11-19 2010-12-14 Cisco Technology, Inc. System and method for providing an eCamp feature in a session initiation protocol (SIP) environment
US7656878B2 (en) * 2004-12-03 2010-02-02 Cisco Technology, Inc. System and method for providing enhanced caller ID in a session initiation protocol (SIP) environment
US20060146790A1 (en) * 2004-12-30 2006-07-06 Cisco Technology, Inc. System and method for providing reach me cover me feature in a session initiation protocol (SIP) environment
US8254552B2 (en) * 2005-01-06 2012-08-28 Cisco Technology, Inc. System and method for providing a recovery mode in a session initiation protocol (SIP) environment
US7899175B2 (en) * 2005-01-27 2011-03-01 Cisco Technology, Inc. System and method for providing a dial plan conversion in a session initiation protocol (SIP) environment
US7778404B2 (en) * 2005-01-27 2010-08-17 Cisco Technology, Inc. System and method for providing a dial plan conversion in a session initiation protocol (SIP) environment
US8683044B2 (en) 2005-03-16 2014-03-25 Vonage Network Llc Third party call control application program interface
US20060210036A1 (en) 2005-03-16 2006-09-21 Jeffrey Citron System for effecting a telephone call over a computer network without alphanumeric keypad operation
US7853001B2 (en) * 2005-04-08 2010-12-14 Cisco Technology, Inc. Method and system for providing a camp-on service
US7769156B2 (en) * 2005-04-27 2010-08-03 Cisco Technology, Inc. System and method for providing a reverse camp-on feature in a communications environment
US7684434B2 (en) * 2005-05-03 2010-03-23 Cisco Technology, Inc. System and method for providing a presence based Camp-On feature in a communications environment
CN1882006A (en) * 2005-06-15 2006-12-20 上海贝尔阿尔卡特股份有限公司 Universal intelligent order dialing method and its software structure
US7894597B2 (en) 2005-10-12 2011-02-22 Cisco Technology, Inc. Categorization of telephone calls
MX2008006172A (en) 2005-11-09 2008-10-09 Vonage Holdings Corp Method and system for customized caller identification.
US8102985B2 (en) * 2005-11-11 2012-01-24 Cisco Technology, Inc. Method and system for providing a camp-on hold service
US20070162552A1 (en) * 2006-01-10 2007-07-12 Cisco Technology, Inc. Method and system for providing an instant messaging camp-on service
US8280961B2 (en) * 2006-02-09 2012-10-02 Cisco Technology, Inc. Method and system for providing a camp-on service for a network service
US8917717B2 (en) 2007-02-13 2014-12-23 Vonage Network Llc Method and system for multi-modal communications
US7701971B2 (en) * 2006-02-27 2010-04-20 Cisco Technology, Inc. System and method for providing a compatibility feature in a session initiation protocol (SIP) environment
US20070201459A1 (en) * 2006-02-27 2007-08-30 Cisco Technology, Inc. System and method for providing status notification for conventional telephony devices in a session initiation protocol environment
US7729482B2 (en) * 2006-02-27 2010-06-01 Cisco Technology, Inc. Method and system for providing communication protocol interoperability
US7764669B2 (en) * 2006-02-27 2010-07-27 Cisco Technology, Inc. System and method providing for interoperability of session initiation protocol (SIP) and H.323 for secure realtime transport protocol (SRTP) session establishment
US7778274B2 (en) * 2006-02-27 2010-08-17 Cisco Technology, Inc. System and method for providing a compatibility feature in a session initiation protocol (SIP) environment
US7596150B2 (en) * 2006-02-27 2009-09-29 Cisco Technology, Inc. System and method for consolidating media signaling to facilitate internet protocol (IP) telephony
US20070201367A1 (en) * 2006-02-27 2007-08-30 Cisco Technology, Inc. System and method for interworking H.323 flow control with SIP
US7995559B2 (en) * 2006-02-27 2011-08-09 Cisco Technology, Inc. System and method for interworking communication protocols to provide supplementary services
EP1989823B1 (en) 2006-02-27 2012-11-07 Vonage Network LLC Method and system for bidirectional data transfer
US20070206747A1 (en) * 2006-03-01 2007-09-06 Carol Gruchala System and method for performing call screening
US9967129B1 (en) 2006-03-09 2018-05-08 Cisco Technology, Inc. System and method for communicating call information in a sessions initiation protocol (SIP) environment
US20070226299A1 (en) * 2006-03-24 2007-09-27 Cisco Technology, Inc. Method and system for providing an instant messaging quorum monitoring service
US8036360B1 (en) 2006-04-28 2011-10-11 Cisco Technology, Inc. System and method for hook state notification
US8495231B1 (en) 2006-05-16 2013-07-23 Cisco Technology, Inc. System and method for remote call control
US8015305B1 (en) 2006-06-28 2011-09-06 Cisco Technology, Inc. System and method for implementing a session initiation protocol feature
US8139566B2 (en) * 2006-07-21 2012-03-20 Cisco Technology, Inc. System and method for establishing a communication session between two endpoints that do not both support secure media
US8112516B2 (en) 2007-08-23 2012-02-07 Cisco Technology, Inc. Selective user notification based on IP flow information
JP2009077075A (en) * 2007-09-19 2009-04-09 Toshiba Corp Telephone system
US8199763B2 (en) * 2008-07-10 2012-06-12 babyTel Inc. Universal internet telephone system
US8483372B2 (en) * 2010-08-27 2013-07-09 Samsung Electronics Co., Ltd. Apparatus and method for providing click-to-call service
KR101307578B1 (en) * 2012-07-18 2013-09-12 티더블유모바일 주식회사 System for supplying a representative phone number information with a search function

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5712902A (en) * 1992-12-18 1998-01-27 Northern Telecom Limited Telecommunications answering feature method and apparatus
US6198738B1 (en) * 1997-04-16 2001-03-06 Lucent Technologies Inc. Communications between the public switched telephone network and packetized data networks
US6233330B1 (en) * 1998-10-13 2001-05-15 Command Communications, Inc. Telephone call screening device with power and telephone line failure alert, call answering, call routing, and caller ID
US6301474B1 (en) * 1996-09-27 2001-10-09 Openwave Technologies Inc. Mobility extended telephone application programming interface and method of use
US20020057783A1 (en) * 1998-04-03 2002-05-16 Thomas J. Kredo Web based personal directory
US6788769B1 (en) * 1999-10-13 2004-09-07 Emediacy, Inc. Internet directory system and method using telephone number based addressing

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243815B1 (en) * 1997-04-25 2001-06-05 Anand K. Antur Method and apparatus for reconfiguring and managing firewalls and security devices
US6470357B1 (en) * 1998-07-28 2002-10-22 International Bussiness Machines Corp. System and method of enhanced directory services for telecommunications management network applications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5712902A (en) * 1992-12-18 1998-01-27 Northern Telecom Limited Telecommunications answering feature method and apparatus
US6301474B1 (en) * 1996-09-27 2001-10-09 Openwave Technologies Inc. Mobility extended telephone application programming interface and method of use
US6198738B1 (en) * 1997-04-16 2001-03-06 Lucent Technologies Inc. Communications between the public switched telephone network and packetized data networks
US20020057783A1 (en) * 1998-04-03 2002-05-16 Thomas J. Kredo Web based personal directory
US6233330B1 (en) * 1998-10-13 2001-05-15 Command Communications, Inc. Telephone call screening device with power and telephone line failure alert, call answering, call routing, and caller ID
US6788769B1 (en) * 1999-10-13 2004-09-07 Emediacy, Inc. Internet directory system and method using telephone number based addressing

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040013107A1 (en) * 2000-05-03 2004-01-22 Ulrich Mitreuter Method for providing an additional service for internet users
US20140254437A1 (en) * 2001-06-28 2014-09-11 At&T Intellectual Property I, L.P. Simultaneous visual and telephonic access to interactive information delivery
US10123186B2 (en) * 2001-06-28 2018-11-06 At&T Intellectual Property I, L.P. Simultaneous visual and telephonic access to interactive information delivery
US20050122963A1 (en) * 2003-12-05 2005-06-09 Seong-Joon Jeon IP-based voice/video communication system and call pickup/forwarding method
US7656889B2 (en) 2003-12-05 2010-02-02 Samsung Electronics Co., Ltd. IP-based voice/video communication system and call pickup/forwarding method
US20060221947A1 (en) * 2005-03-30 2006-10-05 Baker Mark C Multiple IP identities for end user telephony devices
US20080130859A1 (en) * 2005-08-18 2008-06-05 Mclarty Brandon D Contact Number Encapsulation System
US8611511B2 (en) * 2005-08-18 2013-12-17 One Number Corporation Contact number encapsulation system
US20120113872A1 (en) * 2005-08-18 2012-05-10 Mclarty Brandon D Contact Number Encapsulation System
US8107603B2 (en) * 2005-08-18 2012-01-31 One Number Corporation Contact number encapsulation system
US20130031205A1 (en) * 2011-07-29 2013-01-31 International Business Machines Corporation Tailoring content to be delivered to mobile device based upon features of mobile device
US9432479B2 (en) * 2011-07-29 2016-08-30 International Business Machines Corporation Tailoring content to be delivered to mobile device based upon features of mobile device
US9860341B2 (en) 2011-07-29 2018-01-02 International Business Machines Corporation Tailoring content to be delivered to mobile device based upon features of mobile device
US9948750B2 (en) 2011-07-29 2018-04-17 International Business Machines Corporation Tailoring content to be delivered to mobile device based upon features of mobile device

Also Published As

Publication number Publication date
US6614899B1 (en) 2003-09-02

Similar Documents

Publication Publication Date Title
US6614899B1 (en) Method and apparatus for providing advanced IP telephony services in an intelligent endpoint
US9706029B1 (en) Methods and systems for call processing
US7512115B2 (en) Telephone-based hypertext transport protocol server
US6480484B2 (en) Internet-intranet greeting service
US8982877B2 (en) Provision of telephony caller ID service via common instant communications clients
US6868140B2 (en) Telephony call control using a data network and a graphical user interface and exchanging datagrams between parties to a telephone call
US6463145B1 (en) Computer-implemented call forwarding options and methods therefor in a unified messaging system
KR100414512B1 (en) Point-to-point inernet protocol
US6728357B2 (en) Centralized communication control center and methods therefor
US8824651B2 (en) System and method for performing an action on a phone in response to a user initiating an outbound call to one or more select phone numbers
US7450700B2 (en) Home office communication system and method
US8385513B2 (en) Processing a received voicemail message
US20130296001A1 (en) System and method for selecting ringtones
US7385992B1 (en) Internet caller-ID integration
JP4949403B2 (en) Mobile enterprise applications on telephony systems and methods
US20020085535A1 (en) System for enhancing internet telephony
US20110007885A1 (en) Methods and systems for fax routing
JP2004537943A (en) System and method for customizing call alerts
CN1764217B (en) System for distributing VXML capabilities for execution on client devices
JP4171593B2 (en) Data transmission / playback program
US7822014B2 (en) Voice communication system and a server apparatus
EP1566046A1 (en) Method for processing audio data on a network and device therefor
JP2001265719A (en) Information provision system
EP1583342A1 (en) Method and system for activating a voice teleconference using a written electronic message
WO2002052804A1 (en) Methods for information delivery in an information delivery system

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION