Abstract:
Techniques for providing a gateway transfer mechanism are disclosed. In one particular exemplary embodiment, the techniques may be realized as a method, comprising identifying, at a gateway, a call to be routed to a first location, determining whether to transfer the call to a second location, in the event the call is to be transferred to the second location, transferring the call, wherein transferring the call comprises ending a process to route the call to the first location, generating transfer information for the second location, and transferring the call to the second location using the generated transfer information.

Description:
CROSS REFERENCE TO RELATED APPLICATION 
     The subject application is a Continuation Application of U.S. application Ser. No. 12/130,115, filed May 30, 2008, now U.S. Pat. No. 8,600,032, which is hereby incorporated by reference in its entirety. 
    
    
     BACKGROUND INFORMATION 
     Voice portals are increasingly used to provide services for clients, employees and other users. Voice portals may provide menus, information, and other services to one or more callers. Transferring calls to a voice portal may require the use of a gateway, such as a media gateway, to transfer a call from one network to another. In many cases the unavailability of a voice portal to handle a transferred call may cause significant delays. It may be undesirable for a call to wait at a gateway for a resource in a second network to be available to handle a call. In some cases a transfer from a first network to a call destination in a second network may fail. Gateways receiving failed transfer calls may drop the calls. Gateways may lack a mechanism to handle failed transfer calls. Gateways may be incapable of routing a failed call to a call destination back on an originating network, such as a circuit switched telephone network. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       In order to facilitate a fuller understanding of the exemplary embodiments, reference is now made to the appended drawings. These drawings should not be construed as limiting, but are intended to be exemplary only. 
         FIG. 1  is a schematic of a gateway transfer system, in accordance with an exemplary embodiment; 
         FIG. 2 , depicts a block diagram of a module for a gateway transfer system, in accordance with an exemplary embodiment; and 
         FIG. 3  depicts a flow chart for a method for implementing a gateway transfer system, in accordance with an exemplary embodiment. 
     
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings. It should be appreciated that the same reference numbers will be used throughout the drawings to refer to the same or like parts. It should be appreciated that the following detailed description are exemplary and explanatory only and are not restrictive. 
     An exemplary embodiment provides a gateway transfer system to one or more networks. The gateway transfer system may present improved call handling for one or more users of the gateway transfer system. 
     Referring to  FIG. 1 , a gateway transfer system in accordance with an exemplary embodiment is illustrated. System  100  illustrates an exemplary system for improving call handling at a gateway. It is noted that system  100  is a simplified view of a network and may include additional elements that are not depicted. As illustrated, the system  100  may include one or more networks, such as network  104  and network  108 . Networks  104  and  108  may be communicatively coupled to the gateway  106 . One or more telecommunication devices  102   a  and  102   b  may be communicatively coupled to networks  104  and  108 . Other network elements, such as network elements  110 ,  112 ,  114 ,  116 , and  118  may be communicatively coupled to networks  104  and/or  108 . 
     The telecommunication devices  102  may be a wireline phone, a wireless phone, a satellite phone, Personal Digital Assistant (PDA), computer, or other telecommunication capable devices. The telecommunication devices  102  may be communicatively coupled to the network  104  and  108 . The telecommunication devices  102  and network elements  110 ,  112 ,  114 ,  116  and  118  may send and receive data using one or more protocols. For example, data may be transmitted and/or received using Wireless Application Protocol (WAP), Multimedia Messaging Service (MMS), Enhanced Messaging Service (EMS), Short Message Service (SMS), Global System for Mobile Communications (GSM) based systems, Time Division Multiplexing (TDM) based systems, Code Division Multiple Access (CDMA) based systems, Transmission Control Protocol/Internet (TCP/IP) Protocols, or other protocols and/or systems suitable for transmitting and receiving data. Data may be transmitted and/or received wirelessly or may utilize cabled network connections or telecom connections such as an Ethernet RJ45/Category 5 Ethernet connection, a fiber connection, a traditional phone wireline connection, a cable connection or other wired network connection. Network elements  110 ,  112 ,  114 ,  116 , and  118  may use standard wireless protocols including IEEE 802.11a, 802.11b and 802.11g. Network elements  110 ,  112 ,  114 ,  116 , and  118  may also be communicatively coupled via protocols for a wired connection, such as an IEEE Ethernet 802.3. 
     Networks  104  and  108  may be local area networks (LAN), wide area networks (WAN), the Internet, a Public Switched Telephone Network (PSTN), cellular networks, satellite networks, or other networks that permit that transfer and/or reception of data. 
     Network elements  110 ,  112 ,  114 ,  116 , and  118  may each be one or more servers (or server-like devices), such as a Session Initiation Protocol (SIP) server. Network elements  110 ,  112 ,  114 ,  116 , and  118  may be telecom switches, Private Branch Exchanges (PBXs), Voice Response Units (VRUs), announcement servers, voice mail servers and/or voice portals. Network elements  110 ,  112 ,  114 ,  116 , and  118  may be VoIP (Voice Over Internet Protocol) enabled devices. Network elements  110 ,  112 ,  114 ,  116 , and  118  may include one or more processors (not shown) for recording, transmitting, receiving, and/or storing data. Although network elements  110 ,  112 ,  114 ,  116 , and  118  are depicted as individual servers, it should be appreciated that the contents of network elements  110 ,  112 ,  114 ,  116 , and  118  may be combined into fewer or greater numbers of servers (or server-like devices) and may be connected to one or more data storage systems (not shown). Data storage systems may be local or remote to network elements  110 ,  112 ,  114 ,  116 , and  118 . 
     The gateway  106  may be a media gateway interconnecting two or more networks. For example, the gateway  106  may enable the routing of calls and other data between network  104  and network  108 . The gateway  106  may enable the routing of calls between different network types such as between a circuit switched network and a packet switched network. In one or more embodiments, the gateway  106  may be replaced by a switch (not shown) connecting two IP networks. In other embodiments, the gateway  106  may be replaced by a switch (not shown) connecting two circuit switched networks. In some embodiments, the gateway  106  may be replaced by a switch (not shown) connecting two portions of the same network. 
     In one or more embodiments, network  104  may represent a circuit switched network and network  108  may be a VoIP (Voice Over Internet Protocol) based network. Calls transferred across gateway  106  may occasionally fail to connect to their destination number. For example, network elements  114 ,  116  and  118  may be voice portals for handling calls. If a transfer to one of the voice portals fails because, for example, the voice portal is unable to handle the call, the gateway  106  may need to handle the call. The gateway  106  may utilize the DNIS (Dialed Number Information Service) associated with the call to determine how to handle the call. The gateway  106  may be provided with logic and data enabling the gateway  106  to look up DNIS information from a failed transfer call in order to map it to an alternate destination. The gateway  106  may also utilize other call attributes. The gateway  106  may lookup, query and/or map an alternate call destination using one or more call attributes. Routing of calls may be handled by looking up one or more call attributes in an array, a table, a file or other storage which may map an identifying aspect of the call to a destination. For example, the gateway  106  may contain an array mapping a number from DNIS information associated with a call to an alternate number. Network element  112  may represent a PBX or a switch communicatively coupled to a call center (not shown). A failed call to a voice portal on a network element  114  may be transferred by the gateway  106  to a call center associated with the network element  112 . The gateway  106  may terminate the transfer process attempting to connect the call to the network element  114 . The gateway  106  may look up the transfer information and may generate or download one or more DTMF tones to play to transfer the call to the network element  112  on the network  104 . In some embodiments, the gateway  106  may use DNIS information or other call attributes to query external sources of information, such as a database or a separate network element in order to determine routing information. If routing information is not found, gateway  106  may reattempt a transfer to the original call destination, may transfer the call to a default alternate destination, or may drop the call. Routing rules may also be implemented which may map calls to alternate locations based on call attributes. For example, the gateway  106  may determine to route a failed transfer call to an alternate location based on a geographical origination of the call and a geographical location of the alternate destination. Thus, the gateway  106  may route a failed transfer call originating from Florida to an alternate call destination in Florida. The gateway  106  may prioritize available alternate call destinations according to the distance of an alternate call destination point from a call origination point. The gateway  106  may determine alternate call destinations based on other factors such as, the time of day and/or the utilization of a potential alternate call destination. 
     In addition to failed transfer calls gateway  106  may handle other types of calls. In one or more embodiments, the gateway  106  may receive or have access to information about network element  114 , network element  116 , and/or network element  118 . For example, the gateway  106  may receive data about a high call load and/or utilization of network element  114 . The gateway  106  may make a determination to transfer a call to another network element, such as network element  110 , which may be a PBX connected to a call center. The gateway  106  may also make a determination to transfer the call to the second location in response to a wait time at the gateway due to poor performance of one or more network elements on a destination network. The gateway  106  may determine to transfer a call to a second location according to one or more call attributes. For example, a call originating from a priority caller may be transferred to an alternate location corresponding to a call center instead of a Voice Response Unit (VRU). In some embodiments, the gateway  106  may transfer calls to alternate locations when an original call destination is undergoing scheduled maintenance. For example, if network element  118  has a scheduled maintenance period and the gateway  106  receives a call routed to network element  118  during that maintenance period, the gateway  106  may transfer the call to an alternate location. 
     The various components of the system  100  as shown in  FIG. 1  may be further duplicated, combined and/or integrated to support various applications and platforms. Additional elements may also be implemented in the systems described above to support various applications. 
     Referring to  FIG. 2 , a gateway transfer module  210  for improved gateway call handling is depicted, in accordance with an exemplary embodiment. As illustrated, the gateway transfer module  210  may contain one or more components including a gateway monitoring module  212 , a call mapping module  214 , a call transfer module  216 , and an error handling module  218 . The gateway transfer module  210  may improve call handling for failed transfer calls, priority calls, calls waiting at a gateway longer than a specified time, and other calls. 
     The gateway monitoring module  212  may monitor calls to determine if they meet one or more conditions. The gateway monitoring module  212  may handle failed transfer calls, priority calls, calls waiting at a gateway longer than a specified time, calls routed to a destination during a maintenance period for the destination, and other calls. The gateway monitoring module  212  may identify failed transfer calls by one or more errors detected or received in transferring the call. The gateway monitoring module  212  may identify priority calls by DNIS information associated with a call and/or call attributes associated with a call. The gateway monitoring module  212  may also detect that one or more calls have been waiting for completion of a transfer to a call destination beyond a specified period of time. The gateway monitoring module  212  may contain, receive or query information about one or more network elements. For example, the gateway monitoring module  212  may contain, receive or query information, about a scheduled maintenance period for a network element  114 , a heavy call volume on a network element  116 , and/or an outage associated with a network element  118 . If the gateway monitoring module  212  detects a call requiring a transfer to an alternate location, the gateway monitoring module  210  may utilize the call mapping module  214 . 
     The call mapping module  214  may receive information about a call requiring a transfer to an alternate location and may provide information specifying one or more alternate locations. For example, the call mapping module  214  may receive one or more call attributes or DNIS information associated with a call. The call mapping module  214  may utilize a lookup table, an array, a database, an interface to a local or remote system, mapping rules or other mapping methods to determine one or more alternate call destinations. Mapping rules or logic may utilize a time of day, a call origination geographic location, a call destination geographic location, a load or utilization of an alternate call destination, caller information associated with a call, priority information associated with a call, or other factors to determine one or more alternate call destinations. In some embodiments, the call mapping module  214  may provide one or more default alternate call destinations. 
     The call transfer module  216  may receive one or more alternate call destinations from the call mapping module  214 . The call transfer module  216  may generate transfer information for one or more alternate call destinations. For example, the call transfer module  216  may receive, generate or upload DTMF tones corresponding to the number for transferring to an alternate call location. In this example, the call transfer module  216  may concatenate audio files to provide a single audio file enabling the playing of the audio file to generate a transfer. The call transfer module  216  may cancel the transfer of the call to an original destination. The call transfer module  216  may then play an audio file to enable a transfer to a TDM (time division multiplexing) and/or a circuit switched network. In other examples, other techniques, such as Session Initiation Protocol (SIP) call signaling and setup techniques may be utilized. In some embodiments, the cancellation of an original transfer and the transferring to an alternate call destination may be known as a “take back and transfer.” 
     The error handling module  218  may respond to one or more errors created by a failure of a transfer. The error handling module  218  may enable error trapping and one or more error handling actions. In some embodiments, the error handling module  218  may provide information about a failed network component such as the failure of one or more of network elements  110 ,  112 ,  114 ,  116 , and/or  118 . The error handling module  218  may provide information about one or more call routing errors. 
       FIG. 3  depicts a flowchart of a method for implementing a gateway transfer system  300 , according to an exemplary embodiment. The exemplary method  300  is provided by way of example, as there are a variety of ways to carry out methods disclosed herein. The method  300  shown in  FIG. 3  may be executed or otherwise performed by one or a combination of various systems. The method  300  is described below as carried out by the system  100  shown in  FIG. 1  by way of example, and various elements of the system  100  are referenced in explaining the example method of  FIG. 3 . Each block shown in  FIG. 3  represents one or more processes, methods, or subroutines carried in the exemplary method  300 . A computer readable media comprising code to perform the acts of the method  300  may also be provided. Referring to  FIG. 3 , the exemplary method  300  may begin at block  302 . 
     At block  304 , the transfer calls at the gateway may be monitored for one or more conditions. For example, the gateway may monitor for wait times above a specified level to transfer calls, priority calls, failed transfer calls, and other conditions. 
     At block  306 , the gateway may detect if a transfer call has failed. For example, the gateway may determine that a transfer from a switched telephone network to a call destination on an IP (Internet Protocol) network has failed. In one or more embodiments, the method may detect a failed transfer from an IP network  108  to a switched telephone network  104 . The method may also be implemented on a switch and may detect failed transfers between IP networks, between circuit switched networks, and/or within networks. If a failed transfer call has been detected the method may continue at block  312 . If a failed transfer call has not been detected, the method may continue at block  308 . 
     At block  308 , the method may determine if a call is a priority call. The gateway  106  may receive one or more call attributes and/or DNIS information associated with a call. The gateway  106  may determine that an origination number associated with a call and/or a caller identity associated with a call requires priority treatment. If a call is a priority call the method may continue at block  312 . If a call is not a priority call the method may continue at block  310 . 
     At block  310 , the method may determine whether another condition indicates that a call may require transferring to an alternate destination. Alternate conditions may be indicated by a known error or a high utilization of an original destination. Alternate conditions may also be indicated by a wait time for a transfer to complete exceeding a specified limit. Alternate conditions may include scheduled maintenance or a planned outage of an original call destination. For example, the planned upgrade of a voice portal associated with network element  118  may be known to gateway  106 . Thus calls routed for network element  118  during this period may be routed to an alternate destination. In one or more embodiments, information about utilization of call destinations may be received by a gateway and may be utilized to transfer calls to an alternate destination with a lower utilization. 
     At block  312 , a mapping to an alternate call destination may be performed. In one or more embodiments, default alternate call destinations may be utilized. In some embodiments, DNIS information and/or attributes associated with a call may be utilized to determine an alternate call destination. Alternate call destinations may be determined not only by attributes of the call to be transferred but also by attributes of a potential alternate call destination. For example, a call may be transferred to an alternate destination within the same geographic region as the call origination point. A call may also be transferred to an alternate location corresponding to a lower utilized call destination. If an alternate call destination is not found, the method may continue at block  314 . In some embodiments, if an alternate call destination is not found in a mapping array, file, database or other data structure, a default alternate call destination may be utilized. For example, if a gateway has no entries, rules or logic corresponding to DNIS associated with a call, it may transfer the call to a general number at a call center. Alternatively, a default alternate call destination may be a voicemail server. If there is an alternate call destination available, the method may continue at block  316 . 
     At block  314 , if an alternate call destination is not found the method may drop the call. In one or more embodiments, the call may be transferred to an announcement server to play a message prior to dropping the call. 
     At block  316 , the method may take back the call. This may consist of terminating a process and/or agent attempting to transfer the call to an original destination. 
     At block  318 , the method may generate transfer information. For example, this may include a gateway  106  generating DTMF tones, downloading DTMF tones, concatenating multiple DTMF tones into a single audio file, and/or preparing other routing information. 
     At block  320 , the call may be transferred. For example, this may include a gateway  106  playing DTMF tones to a circuit switched network to enable the routing of the call. 
     At block  322 , the method may end. 
     In the preceding specification, various preferred embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.