Abstract:
When an intelligent VoIP endpoint terminal on a VoIP network becomes inoperative for any reason and can&#39;t respond to a service request that it had been programmed for, rather than leaving that service request unfulfilled, a VoIP network-hosted instance of that primarily endpoint terminal-provided service is invoked to handle that request and provide the service that would have otherwise been provided by the endpoint terminal. The network-hosted instance thus executes the requested service on behalf of the unavailable endpoint terminal.

Description:
TECHNICAL FIELD  
       [0001]     This invention relates to Voice-over-IP (VoIP) networks, and more particularly, to failure protection for services provided by intelligent VoIP endpoint terminal.  
       BACKGROUND OF THE INVENTION  
       [0002]     Historically, telephony networks have been designed around “dumb” endpoints that require all services to be provided from inside the network. This assumption shaped the architectural design of today&#39;s telephone networks and the technology used therein. With the advent of packet-based telephony, however, the world is about to undergo a dramatic and disruptive change. This change is caused by the fact that VoIP protocols like the Session Initiation Protocol (SIP) adhere to the “end-to-end” principle, which suggests that the network should be kept as simple as possible and that all intelligence should reside in the end systems. When applied to telephony networks, this means that a VoIP-based telephone infrastructure will bring about a paradigm shift from a network-centric to an endpoint-centric design.  
         [0003]     Endpoint vendors are taking advantage of this fact by deploying intelligent VoIP phones, which provide services that were formerly hosted inside the network. For example SIP phones are available that support features such as call forwarding, call transfer, three-way conferencing, and call logging. Other phones are available, which support a Java-based runtime environment, that can host even more services and applications. Even further, a full-featured SIP endpoint terminal can be integrated into the Windows operating system, turning every PC into a sophisticated, easily programmable phone.  
         [0004]     Disadvantageously, these VoIP endpoint-provided services cannot be provided as reliably as comparable services can currently be provided from within a PSTN network. In PSTN networks, telecom services such as call forwarding, call logging, teleconferencing, and voice mail, are typically provided by entities located within the service provider&#39;s network, such as at application servers or Service Control Points (SCPs). Continuous availability of these network-hosted services is maintained through the use of highly reliable hardware and software. In the event of a server or software failure, a secondary server typically takes over so that service can continue uninterrupted. When the provision of such services is shifted to intelligent VoIP endpoint terminals, which have more processing power than typical PSTN telephone terminals, their increased complexity makes them much less reliable than typical PSTN telephones. For example VoIP endpoint terminals may be switched off, crash, loose power, or in the case or wireless endpoint terminals, be out of reach. Thus, the endpoint terminal-provided services that the end user would assume to always be available would not be available when the endpoint terminal itself is unavailable for any reason.  
       SUMMARY OF THE INVENTION  
       [0005]     When an intelligent VoIP endpoint terminal becomes inoperative for any reason and can&#39;t respond to a service request that it had been programmed for, rather than leaving that service request unfulfilled, a VoIP network-hosted instance of that primarily endpoint terminal-provided service is invoked to handle that request and provide the service that would have otherwise been provided by the endpoint terminal. The network-hosted instance thus executes the requested service on behalf of the unavailable endpoint terminal.  
         [0006]     In providing such a fault-tolerant service for intelligent VoIP endpoint terminals, a configuration server within the network stores configuration data relating to the smart VoIP endpoint terminals of subscribers to a fault tolerant service. When a proxy, such as a SIP proxy, in the network that would otherwise invoke the service on the intelligent VoIP endpoint terminal detects that the endpoint terminal is unavailable to provide that service, a service request to that endpoint terminal is automatically transferred by the proxy to a fallback application server in the network, which seamlessly takes over. In providing that requested service, the fallback application server queries the configuration server to access the configuration data for that VoIP endpoint terminal in order to provide the service in the same manner as the smart VoIP endpoint terminal would have if it had been operative. A synchronization mechanism is established between the configuration server and the one or more smart VoIP endpoint terminals associated with a particular service in order to ensure that the service provided by the fallback application server is the same service that would have been provided by the endpoint terminal had it been operative.  
         [0007]     In an exemplary embodiment, call forwarding is primarily enabled on an intelligent VoIP endpoint terminal. During the call establishment signaling phase of a call to that endpoint terminal from a calling party&#39;s own endpoint terminal, the proxy sends a message to that destination endpoint terminal, which has stored thereon rules for invoking a call forwarding service. If the currently applicable rules indicate a different address to which an incoming call should then be directed, the proxy redirects the message to that indicated address and, after a negotiation between the endpoints, a packetized audio bearer stream between the calling endpoint terminal and the call-forwarded endpoint terminal is thereafter established over the IP network. If the proxy doesn&#39;t receive a response in its original attempt to send a message to the called intelligent VoIP endpoint terminal, or determines that the called VoIP endpoint terminal is unavailable for any reason, then the proxy instead contacts the fallback application server in the network, which in turn retrieves the call forwarding information stored on the configuration server that mirrors the information stored on the intelligent VoIP endpoint terminal. The proxy then routes the message according to that stored information. Advantageously, the proxy doesn&#39;t need to access the forwarding information for standard call processing when the called intelligent VoIP endpoint terminal is operative to provide the alternative call forwarding information.  
         [0008]     In another embodiment in which the intelligent VoIP endpoint terminal has a built-in voicemail capability, the proxy forwards an incoming call to a network voicemail server, which is the fallback application server, if it detects the failure of the called endpoint terminal. Advantageously, voicemail is always available to the user of the intelligent VoIP endpoint terminal regardless of whether or not that endpoint terminal is or is not operative.  
         [0009]     In another embodiment, a call log that is normally created in a smart VoIP endpoint terminal is created in the network when the proxy detects the failure of the endpoint terminal. In this embodiment, the fallback application server is incorporated with the proxy. Advantageously, the call log created and stored in the network is small and its access load is minimal. Such network created call log can be synchronized with the endpoint terminal&#39;s call log when the intelligent VoIP endpoint terminal again becomes operative or is turned on.  
     
    
     BRIEF DESCRIPTION OF THE DRAWING  
       [0010]      FIG. 1  shows a block diagram of a prior art VoIP network useful for describing VoIP telephony and the providing of endpoint-invoked services are provided either from within the network or by the endpoint;  
         [0011]      FIG. 2  shows an embodiment of the present invention that provides a fallback service upon the failure of an endpoint terminal-implemented call forwarding service;  
         [0012]      FIG. 3  shows an embodiment of the present invention that provides a fallback call logging service; and  
         [0013]      FIG. 4  shows an embodiment of the present invention that provides a fallback voicemail service. 
     
    
     DETAILED DESCRIPTION  
       [0014]     With reference to  FIG. 1 , a VoIP network  101  is shown to which illustrative VoIP endpoints terminals  102 ,  103  and  104  are connected. A location service co-located with the proxy  105  in the network  101  stores information about the endpoint terminals to which it is connected. This information is typically obtained when each endpoint terminal is turned on and includes, for example, contact information in the form of an IP address and possibly other information about the connected endpoint terminal&#39;s capabilities. When the end user at endpoint terminal  102  wishes to place a call to the end user at terminal  103 , he dials her phone number. Assuming for illustrative purposes that the SIP protocol is being used, endpoint terminal  102  sends an SIP invite request message to SIP proxy  105 . Proxy  105  looks up the contact information for the called number and forwards the SIP message to the registered location of endpoint terminal  103 . This information includes identification information about endpoint terminal  103  as well as information as to how endpoint terminal  103  can send packetized audio to endpoint terminal  102 . A negotiation between the endpoint terminals then automatically takes place to determine the characteristics of the audio streams as well as the IP address at each endpoint terminal at which the audio streams will be received. A direct two-way bearer connection between the endpoints  102  and  103  is then established through the packet network  101  that bypasses proxy  105 . At the end of the call when the party at one of the endpoint terminals hangs up, an SIP message is sent via the proxy  105  to the other endpoint terminal to signal the end of the call. The bearer stream between endpoint terminals  102  and  103  is then torn down.  
         [0015]     As shown in  FIG. 1 , both endpoint terminals  102  and  103  are connected to the same VoIP network  101  and share a common SIP proxy  105 . If the service provider of the VoIP subscriber at the calling endpoint terminal  102  is different than the service provider of the subscriber at called endpoint terminal  103 , then when a call from endpoint terminal  102  is initiated to endpoint terminal  103 , the SIP proxy associated with the calling party&#39;s VoIP network (not shown) to his which endpoint terminal  102  is connected sends a Domain Name Server (DNS) lookup request to that network&#39;s DNS server (not shown). The DNS server then returns to the SIP proxy in the calling party&#39;s VoIP network, among other information, the IP address of the SIP proxy associated with the called party&#39;s endpoint terminal  103 . The SIP proxy associated with endpoint terminal  102  then sends an SIP message to the SIP proxy  105  associated with the called endpoint terminal  103 , which in turn, forwards the message to that called endpoint terminal. As described above, negotiations will take place between the two endpoints and a direct two-way bearer connection is thereafter established through the called and calling party&#39;s packet VoIP networks.  
         [0016]     If the calling party&#39;s endpoint terminal is not a VoIP endpoint terminal connected to a VoIP network but a conventional terminal connected to the PSTN (not shown), then when the calling party dials the called VoIP endpoint terminal, a DNS operation determines the IP address of the SIP proxy associated with that called endpoint terminal. PSTN call signaling is then terminated at a switch or other entity within the PSTN and an SIP invite request is generated that is transmitted over one or more VoIP networks to that SIP proxy. A bearer stream is then established through a media gateway (not shown) in the IP network between the called endpoint terminal and the entity within the PSTN where voice signals in digital or analog from the calling telephone are converted to a packet IP stream for transmission to the called endpoint terminal and the packet IP stream from the called VoIP terminal is converted back to a voice signal for transmission to the calling telephone.  
         [0017]     Traditionally, from a network-centric standpoint, various end user services have been hosted in the network whether that network is the PSTN or a VoIP network. For a VoIP network an application server  107  within the network can host various VoIP applications such as call forwarding, voicemail, find-me/follow-me, etc. The SIP proxy  105  will be aware of its end user&#39;s service subscriptions. Thus, for example, the end user of endpoint terminal  103  could subscribe to a call forwarding service. When endpoint terminal  102  sends an SIP invite message to proxy  105  to establish a connection to endpoint terminal  103 , therefore, proxy  105  would know that the end user of endpoint terminal  103  is a subscriber to a call forwarding service and would forward the received SIP message to the application server  107 . The application server will then execute the service logic to determine the address to which the call should be forwarded according to a stored schedule. For example, during specified working hours, the subscriber may wish all incoming phone calls to her home endpoint terminal  103  to be forwarded to her work endpoint terminal  104 . If the SIP proxy  105  receives an SIP invite message directed to endpoint terminal  103  from endpoint terminal  102  during the specified working hours, the application server  107  then returns to the proxy  105  the SIP address of endpoint terminal  104  to which the SIP message should now be forwarded. Otherwise, the application server returns the SIP address of endpoint terminal  103 . Depending upon the schedule, therefore, the SIP message is directed by proxy  105  to either endpoint terminal  103  or  104 . After negotiations between endpoint terminal  102  and either endpoint terminal  103  or  104 , a two-way bearer connection is established over the VoIP network between the calling and called endpoint terminals.  
         [0018]     As previously noted, with the advent of intelligent VoIP endpoint terminals, such services that previously were hosted within the network are now capable of being hosted locally at the intelligent endpoint terminals themselves. The end user can then avoid having to subscribe to network-provided services and can thereby save the monthly fees for such services. Also, by keeping services local to own endpoint terminal, the end user has more control over the specific services he wants and is capable of installing them on his own by downloading those specific services he wants activated directly to his intelligent VoIP endpoint terminal. Thus, for the illustrative call forwarding application, the endpoint terminal  103  stores the end user&#39;s desired call forwarding schedule. When an SIP message is received from the SIP  105  proxy during the hours when the subscriber wants her calls forwarded to her work endpoint terminal  104 , endpoint terminal  103  responds to the message from proxy  105  with the SIP address of endpoint terminal  104 . That address is forwarded to the proxy and the SIP message is then forwarded to the endpoint terminal  104  in order to establish the bearer channel between the calling and call-forwarded endpoint terminals.  
         [0019]     As previously noted, however, VoIP endpoint terminals are not as reliable as network application servers, which have backup servers and failover solutions in place to insure reliability. With the increased complexity of intelligent VoIP endpoint terminals, their likelihood to fail is higher and they are susceptible to power outages and, if wireless, being out of reach. As a result, if for any reason the intelligent VoIP endpoint terminal is unavailable, the services implemented on that endpoint will also not be available. Thus, for the illustrative call forwarding service that is implemented on an end user&#39;s VoIP endpoint terminal, when the called endpoint terminal is unavailable, call forwarding of incoming calls to that endpoint terminal will not be effective. Thus, if the called endpoint terminal is unavailable, there will be no response to the SIP message and an incoming call will terminate uncompleted.  
         [0020]     In order to avoid the problem associated with the inability to invoke a service that is hosted on an intelligent VoIP endpoint terminal, an embodiment of the present invention provides a fallback application server in the network that takes over only when the SIP proxy determines that the endpoint is unavailable. With reference to  FIG. 2 , VoIP network  201  is shown to which three illustrative VoIP endpoint terminals  202 ,  203  and  204  are connected, as in  FIG. 1 . When the end user at endpoint terminal  202  dials the phone number of the end user of endpoint terminal  203 , SIP proxy  205  receives an SIP invite message, looks up the IP address of endpoint terminal  203  and sends an SIP message to that called endpoint terminal. If endpoint terminal  203  has built-in call forwarding capabilities, the SIP address of the end user&#39;s work endpoint terminal  204  may be returned to the proxy depending on the stored call-forwarding schedule. The SIP message is then forwarded to endpoint terminal  204 . If the called endpoint terminal  203  is turned off, is in a failure mode, or is unavailable for any reason, the attempt by SIP proxy  205  to reach that endpoint terminal and receive a response there from will fail. In accordance with this embodiment, upon the detected failure to receive a response from the called endpoint terminal, a fallback application server  207  within the VoIP network  201  is signaled by SIP proxy  205  if the end user of endpoint terminal  203  is subscribed to a fallback service, which subscription information is stored by the proxy. When fallback application server  207  is signaled, it contacts a configuration server  208 , which has stored thereon the call forwarding rules associated with both endpoint terminals  203  and  204 . Fallback application server  207  then invokes the call forwarding service that would otherwise be running on the called but non-responsive endpoint terminal  203 , and returns the SIP address of endpoint terminal  204  to SIP proxy  205  if the call forwarding rules active at that time would invoke forwarding of incoming calls to that terminal. Alternatively, the fallback application server  207  may also forward the SIP invite message directly to the proxy associated with endpoint terminal  204 . If the VoIP service provider wishes to provide such a fallback service to each of its subscribers, then proxy  205  would contact fallback application server  207  for each call directed to a non-responsive endpoint terminal. Fallback application server  207  would then contact the configuration server to determine whether or not the called subscriber has a stored call forwarding profile.  
         [0021]     In order that the correct call forwarding information be provided to the fallback application server when it is contacted by the SIP proxy, the configuration server  208  periodically synchronizes its configuration information with information stored on the various endpoint terminals connected to VoIP network for which it is providing fallback service, for example endpoint terminals  203  and  204 .  
         [0022]     Although the fallback application server  207  is shown as a device separate from the SIP proxy  205 , its functionality could be incorporated in proxy  205 . An incoming SIP invite message would be directed to a default target address. If the default device does not respond, the proxy will retrieve the forwarding information from the configuration server  208  and handle the forward. The configuration server  208  could also be integrated with the fallback application server  207  and/or the proxy  205 .  
         [0023]     Regardless of whether the fallback application server is a separate device or incorporated as part of the SIP proxy, advantageously, the SIP proxy does not need to store forwarding information for standard call forwarding that is invoked on an operative and responsive endpoint terminal.  
         [0024]     Other endpoint terminal implemented services that are invoked for incoming calls can also be protected via a fallback mechanism in a similar manner when the endpoint terminal fails to respond to a proxy message. For example, with reference to  FIG. 3 , a called VoIP endpoint terminal  301  may have an internal call-logging service that is invoked each time a call is received from a calling terminal  302  or other terminal on or off the VoIP network  303 . Such a service creates a log of all incoming calls received by the endpoint terminal. If SIP proxy  304  detects that the called terminal  301  is not available to an incoming call, the proxy creates a call-log  305  for as long as the called endpoint terminal remains unavailable. Although the fallback application service that performs this fallback call-logging service is shown in  FIG. 3  as being incorporated within the SIP proxy  304 , alternatively it could be implemented in a separate server. As shown in  FIG. 3 , the call long  305  on SIP proxy  304  logs all incoming calls that it can&#39;t deliver to the called endpoint terminal  301 . When endpoint terminal  301  again becomes available, the stored log can be downloaded to the endpoint terminal-implemented call log. The availability of endpoint terminal  301  can be determined by periodically checking by the proxy to determine whether it is available, by programming the endpoint terminal to send a signal to the proxy/fallback application server when it is powered up, by determining that a subsequent call attempt to that endpoint terminal has been successful, or by signaling the proxy/fallback application server when an outgoing call is placed by that endpoint terminal through the SIP proxy.  
         [0025]      FIG. 4  shows an embodiment of the present invention as applied to a fallback voicemail service. In this embodiment endpoint terminal  401  has a built-in voicemail capability. When endpoint terminal  402  places a VoIP call to endpoint terminal  401  over VoIP network  404 , as previously described, an SIP invite message is transmitted to proxy  403  and thence to endpoint terminal  401 . If the end user at endpoint terminal  401  does not answer, then the voicemail application running on endpoint terminal  401  transmits playback a message to the calling party and records any voice message left by the calling party. If, however, for any reason endpoint terminal  401  is inoperative and proxy  403  does not receive a response to the invite message, then it sends a message to the fallback application server within VoIP network  404 , shown as voicemail server  405 . A bearer connection is thereafter established between voicemail server  405  and calling endpoint terminal  402 . Advantageously, the proxy only forwards a call to the network voicemail server  405  if the called endpoint terminal  401  has failed or is inoperative for any reason. Thus only a small number of voicemails will need to be stored in the network. This service can be provided only to subscribers who subscribe to the fallback service or all the service provider&#39;s subscribers. If the former, the proxy  403  will only forward the call to the voicemail server  405  if it determines that the call endpoint  401  has subscribed to the service. From the standpoint of the subscriber at called endpoint terminal  401 , voicemail advantageously is always available to her regardless whether her terminal is on or off, out of reach (if a mobile terminal), or inoperative due to a failure.  
         [0026]     The above embodiments are illustrative of providing within the VoIP network a fallback service to a detected inability of that service to be provided by an intelligent VoIP endpoint terminal that otherwise provides that service. Advantageously, the fallback application server requires fewer resources than a standard network-based application server since it needs to handle only those service requests when the intelligent endpoint terminals with which it is associated are unavailable. Many other endpoint terminal-provided services in addition to those described above could also be similarly fault protected. Further, although the above-described embodiments have been described using the SIP protocol, similar solutions could be implemented using other VoIP protocols whether presently available or as will be developed in the future.  
         [0027]     The foregoing therefore merely illustrates the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements, which, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope. Furthermore, all examples and conditional language recited herein are principally intended expressly to be only for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor(s) to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.  
         [0028]     Thus, for example, it will be appreciated by those skilled in the art that the diagrams herein represent conceptual views illustrating the principles of the invention. The functions of the various elements shown in the figures, including functional blocks labeled as “servers” or “proxies” may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software.  
         [0029]     In the claims hereof any element expressed as a means for performing a specified function is intended to encompass any way of performing that function including, for example, a) a combination of circuit elements which performs that function or b) software in any form, including, therefore, firmware, microcode or the like, combined with appropriate circuitry for executing that software to perform the function. The invention as defined by such claims resides in the fact that the functionalities provided by the various recited means are combined and brought together in the manner which the claims call for. Applicants thus regard any means which can provide those functionalities as equivalent as those shown herein.