# Patent

## Title
Method and system for a gateway transfer

## 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.

## Background
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 102a and 102b 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.

## Claims

1. A method, comprising:
identifying, at a gateway, a call to be routed to a first location;
determining, at the gateway, whether to transfer the call to a second location or retry the first location, wherein the second location is determined based on a comparison of an originating geographical location of the call and a geographical location of at least one alternate 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.

2. The method of claim 1, wherein the second location is further determined utilizing dialed number identification service information associated with the call.

3. The method of claim 1, wherein the second location is further determined utilizing a mapping of the first location to the at least one alternate location, wherein the first location is identified by corresponding dialed number identification service information.

4. The method of claim 1, wherein the call originates on a switched telephone network and the gateway connects the switched telephone network with an Internet Protocol (IP) based network containing the first location.

5. The method of claim 1, wherein the second location is a call center.

6. The method of claim 1, wherein the determination to transfer the call to a second location is in response to a failure to transfer a call to the first location.

7. The method of claim 1, wherein the determination to transfer the call to the second location is in response to a call load above a specified level at the first location.

8. The method of claim 1, wherein the determination to transfer the call to the second location is in response to a wait time above a specified level at the gateway.

9. The method of claim 1, wherein the determination to transfer the call to the second location is in response to a determination that the call is a priority call.

10. The method of claim 1, wherein the determination to transfer the call to the second location is in response to a maintenance period scheduled for the first location.

11. The method of claim 1, wherein generating transfer information comprises generating Dual-Tone Multi-Frequency (DTMF) signals for use in transferring the call to a circuit switched telephone network.

12. A non-transitory computer readable media comprising code that when executed perform the acts of the method of claim 1.

13. A system, comprising:
a network element communicatively coupled to a network;
a processor communicatively coupled to the network element, wherein the processor is configured to:
identify a call to be transferred to a first location;
determine whether to transfer the call to a second location or retry the first location, wherein the second location is determined based on a comparison of an originating geographical location of the call and a geographical location of at least one alternate location; and
in the event the call is to be transferred to the second location, transfer the call wherein transferring the call comprises:
ending a process to transfer the call to the first location;
generating transfer information for the second location; and
transferring the call to the second location.

14. A system, comprising:
a gateway communicatively coupled to a first network and a second network;
a processor communicatively coupled to the media gateway, wherein the processor is configured to:
determine that a call routed for a first location is to be routed to a second location;
identify the second location for the call by comparing an originating geographical location of the call and a geographical location of at least one alternate location and determining the second location as the geographically closest alternate location;
end a process to route the call to the first location;
generate transfer information for the second location; and
transfer the call to the second location.

15. The system of claim 14, wherein identifying the second location for the call further utilizes a mapping the first location to the at least one alternate location, wherein the first location is identified by corresponding dialed number identification service information associated with the call.

16. The system of claim 14, wherein the first location comprises a voice portal and the second location comprises a call center.

17. The system of claim 14, wherein the determination to transfer the call to a second location is made in response to at least one of: a failure to transfer a call to the first location, a call load above a specified level at the first location, a wait time above a specified level at the gateway, a determination that the call is a priority call, and a maintenance period scheduled for the first location.

18. The system of claim 14, wherein generating transfer information comprises generating Dual-Tone Multi-Frequency (DTMF) signals for use in transferring the call to a circuit switched telephone network.

19. The system of claim 14, wherein identifying the second location for the call further utilizes the time of day to determine the second location.

20. The system of claim 14, wherein identifying the second location for the call further utilizes a load or utilization of the at least one alternate location to determine the second location.