# Patent

## Title
Alternate routing of media connections within a single communications system across public or private network facilities

## Abstract

In one configuration, an enterprise network is provided that includes geographically dislocated first and second network regions 202 and 206, the first and second network regions being in communication with one another through first and second networks 252 and 248 and respectively comprising first and second gateways 220 and 224 and first and second groupings of links connected to the second network 248. A common electronic address is associated with the second grouping of links. In response to a request from a first subscriber to initiate a communication session with a second subscriber in the other network region, a media server 200 determines that the first network 252 is currently incapable of supporting the bearer channel for the session. In response, the first gateway 220 transmits the common electronic address to the second gateway 224. After the common electronic address is received by the second gateway 224, the first gateway 220 transmits in band to the second gateway 224 an identifier that is used to establish the communication session.

## Background
CROSS REFERENCE TO RELATED APPLICATION
This application is a continuation in part of U.S. application Ser. No. 11/107,524, filed Apr. 14, 2005, and claims the benefits under 35 U.S.C. § 119 of U.S. Provisional Patent Application Ser. No. 60/641,628 filed Jan. 4, 2005, of the same title and to the same inventors, which is incorporated herein by this reference.
Cross reference is made to U.S. patent application Ser. No. 11/107,659, filed Apr. 14, 2005, and entitled “IN-BAND CALL ASSOCIATION SIGNALING FOR A SINGLE NUMBER DESTINATION”, which is incorporated herein by this reference.


FIELD
The invention relates generally to converged communications networks and particularly to alternate communication paths for voice communications.
BACKGROUND
IP networks generally provide an excellent infrastructure for geographically distributing components of a telecommunication system. The underlying IP network is optimal for transmission for control signaling, and, when bandwidth is available, can provide an acceptable Quality of Service (or QoS) or Grade of Service (or GOS) for voice communications. When insufficient network resources are available for voice communications or one or more IP network components are down, voice communications can be adversely impacted.
A number of techniques have been attempted to address these issues.
In one technique, if a system had multiple communication gateways controlled by a single controller and the private switching facilities inter-connecting these gateways failed, users can “dial-out” on a public network trunk using the public address (or Direct Inward Dialing or DID number) of the destination party. This approach requires manual intervention by the user first to recognize that a problem exists, second to determine how to circumvent it, and third to dial the DID number. Normally, the calling party would dial only an extension to reach the destination party. If the destination party to be reached does not have a public number, he or she is not reachable by the alternate network.
In another technique known as PSTN FallbackTM of Avaya Inc., a call is forced to the PSTN when an IP trunk connection experiences an unacceptable QoS or GOS. With reference to FIG. 1, a multi-enterprise architecture is depicted, each enterprise 100 and 104 having a separate, independent, and active or primary media servers 112 and 116 with resident call controller functionality. Each enterprise also includes a plurality of digital stations 120 and 124, a plurality of IP or Internet Protocol stations 128 and 132, a gateway 136 and 140 and a Local Area Network or LAN 144 and 148. The media servers 112 and 116 are independent in that one media server in one enterprise is generally unaware of the subscriber configuration information, such as extensions, of the other enterprise's subscribers. The gateways 136 and 140 are interconnected by the Public Switched Telephone Network or PSTN 148 and Wide Area Network or WAN 152. When a call is to be placed over the WAN 152, the originating call controller determines the currently measured network delay and packet loss. When either measured variable reaches a predetermined threshold, the call controller automatically takes the idle IP trunk ports out-of-service, i.e., it busies out the ports. The ports remain out-of-service until the measurements return to the low threshold. No new calls are allowed over the IP trunk. Normal or conventional call routing over the PSTN 148 is used for access to the next preference in the route pattern.
In another technique known as Separation of Bearer and SignalingTM (SBS) of Avaya Inc., the signaling channel for a call is routed over the WAN 152 while the bearer channel is routed over the PSTN 148. The signaling channel in SBS includes SBS call-control signaling and QSIG private-networking protocol information. SBS associates the signaling and bearer channels at the SBS originating and terminating nodes so that they appear to the end users to be a normal, non-separated call. The use of the WAN for signaling traffic and the PSTN for voice bearer traffic addresses a customer need for using small amounts of bandwidth in the IP WAN for signaling traffic, with the voice bearer portion of the call being sent over inexpensive PSTN facilities. Like PSTN Fallback, SBSTM is used in multi-enterprise calls with each enterprise having separate, independent, and active media servers.
PSTN FallbackTM and SBSTM address architectures where there exist multiple, separate system implementations inter-connected by a traditional inter-switch trunking protocol; in other words, they permit inter-connection only of peer-to-peer systems. With the move to larger, single-server IP WAN-connected media gateway distributed systems, there is no longer a need for IP trunks and SBS. Using trunk group administration to limit bandwidth between media servers is not required nor is PSTN FallbackTM when the number of calls exceeds the administered IP trunk member limit. There is no need to embed an intelligent signaling interface between servers over IP WAN facilities given that the system has only a single active or primary server and that all calls across the system appear to be station-to-station calls.
Another technique for managing IP bandwidth usage includes call admission control in which the number of calls across the WAN or the bandwidth available for voice calls is limited. Call admission control can result in the call being denied and being forwarded to the callee's voice mail server (if accessible), thereby causing caller frustration.
There is a need, particularly in a single-server system, for a call control system that manages IP bandwidth usage effectively, particularly during high traffic periods and/or provides an alternate communication path in the event of problems with the WAN.
SUMMARY
These and other needs are addressed by the various embodiments and configurations of the present invention. The present invention is directed generally to the dynamic establishment of inter-gateway connections through one of two or more public or private networks (i.e., networks normally not owned or managed by the enterprise communications controller), particularly connections between first and second network regions of the enterprise network, with the particular network used for the bearer path selected as the bearer depending on factors such as bandwidth and/or resource availability in one or both of the networks. As used herein, “gateway” refers not only to gateways but also to devices providing similar functionality, such as port networks.
In one embodiment, the present invention provides a telecommunications method that includes:
(a) providing geographically dislocated first and second network regions of an enterprise network, the first and second network regions being in communication with one another through the first and second networks and respectively comprising first and second gateways and first and second groupings of links (e.g., trunks) connected to the second network and with a common electronic address being associated with the second grouping of links;
(b) a first media server receiving, from a first subscriber in the first network region, a request to initiate a real-time or near real-time communication session with a second subscriber in the second network region;
(c) the first media server determining that the first network is currently incapable of supporting the bearer channel for the requested session with the second subscriber;
(d) in response thereto, the first gateway transmitting the common electronic address over the second network to the second gateway;
(e) after the common electronic address is received by the second gateway, the first gateway transmitting in band over the second network to the second gateway an identifier; and
(f) using the identifier to establish a bearer channel for the communication session over the second network. The “communication session” may be any real-time or near real-time communication, such as a wireline or wireless live voice call, an instant messaging session, a Short Message Service or SMS session, chat session, and the like.
In one exemplary configuration, a common call controller separates the call control used to service the subscribers from the call control needed to establish the bearer channel. The intervening network used to establish the bearer channel is separate from the network used to control the gateways to which the local subscribers involved in the call connect. For example when subscriber A places a call to subscriber B and the gateways that service the subscribers are separated across a packet-switched WAN, the system launches a separate call into the circuit-switched network using a trunk from the gateway of subscriber A or other local gateways reachable from subscriber A's gateway. As will be appreciated, the call that is launched may not be in the same direction as the original call from subscriber A to subscriber B. The system may decide to launch the call from subscriber A to subscriber B or vice versa.
The reasons for choosing the separate circuit-switched connection network versus placing the bearer channel over the packet-switched network can be many. For example, sufficient bandwidth on the packet-switched network or gateway resources may be unavailable or the desired voice QoS or GOS level may not be realizable on the packet-switched network. The separate bearer call dials a common pre-determined public address number that corresponds to the set of far-end trunks on the gateways in the destination LAN. The bearer call does not use the public address number of either subscriber A or B. The bearer call arrives at the pre-determined public address number and is answered automatically. A unique code or identifier is exchanged within the bearer path. The identifier is commonly unique relative to other identifiers transmitted by the call controller during a selected period of time. By way of example, the identifier may be a user identifier (e.g., a subscriber identifier or phantom user-identifier, a service record identifier, a port identifier, a random or pseudorandom number, and the like). The identifier allows the system call controller, which is managing the gateways at each end of the connection to associate the incoming trunk with the outgoing trunk. Once this association has been made, the controller connects one of the circuit-switched trunks to subscriber A and the other to subscriber B. Neither subscriber A or B is aware of the presence of the circuit-switched trunks in the connection.
The bearer path setup occurs outside the boundaries of the subscriber-originated call. Internally, the system has a first record for the call from subscriber A to subscriber B; a second for the outgoing trunk; and a third for the incoming trunk. At the connection layer, subscriber A talks/listens to the trunk on his end and subscriber B talks/listens to the trunk on his end. The subscribers may end their call but this has no direct effect on the circuit-switched trunk connection. The circuit-switched trunk connection may be torn down by the call controller or it may be preserved (cached) and later re-used by another call between a new pair of users.
In traditional VoIP systems, both the call control and bearer channels are carried over the same IP network. In this embodiment, call control (e.g., H.248, proprietary CMS, H.323 Annex L, and SIP) is carried over the IP network, but bearer connections between gateways are carried over public or private network circuit-switched facilities. The circuit-switched bearer connections may be used to connect any media stream at each gateway. These media streams may belong to announcements, music sources, video, an audio terminal (telephone), etc. By allowing multiple components to be controlled by one media server and preserving the voice quality of circuit-switching, larger systems can be built that allow for simpler management and more flexible configurations.
These and other advantages will be apparent from the disclosure of the invention(s) contained herein.
As used herein, “at least one . . . and”, “at least one . . . or”, “one or more of . . . and”, “one or more of . . . or”, and “and/or” are open-ended expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions “at least one of A, B and C”, “at least one of A, B, or C”, “one or more of A, B, and C”, “one or more of A, B, or C” and “A, B, and/or C” means A alone, B alone, C alone, A and B together, A and C together, B and C together, and A, B and C together.
The above-described embodiments and configurations are neither complete nor exhaustive. As will be appreciated, other embodiments of the invention are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a prior art call control architecture;
FIG. 2 is a block diagram according to an embodiment of the present invention;
FIG. 3A is a block diagram of the data structures associated with an Inter-gateway Alternate Route or IGAR bandwidth management call;
FIG. 3B is a block diagram of the data structures associated with an IGAR network fragmentation call;
FIG. 4 is a flowchart depicting an operational embodiment of the inter-gateway routing agent; and
FIG. 5 is a flowchart depicting another operational embodiment of the inter-gateway routing agent.



DETAILED DESCRIPTION
FIG. 2 depicts an architecture according to an embodiment of the present invention. The architecture is in a single enterprise network having geographically dislocated first and second regions 202 and 206. The first region 202 includes a primary or active media server 200 connected to a plurality of subscriber digital stations 204a-i and a plurality of subscriber IP stations 208a-j via Control LAN or C-LAN 212 and bearer LAN 216, and first gateway 220. The second region 206 includes a spare or secondary media server 228 connected to a plurality of subscriber digital stations 232a-k and a plurality of subscriber packet-switched stations 236a-l via C-LAN 240 and bearer LAN 244 and a second gateway 224. The first and second gateways 220 and 224 are interconnected via the PSTN 248 and a WAN 252.
Each of the subscriber digital stations and packet-switched stations can be one or more wireline or wireless packet-switched and/or circuit-switched communication devices, respectively. For example, the digital stations can be digital telephones such as Digital Communications Protocol or DCP phones, voice messaging and response units, traditional computer telephony adjuncts, and wired and wireless circuit-switched telephones, and the packet-switched stations can be Avaya Inc.'s, 4600 Series IP PhonesTM, IP softphones such as Avaya Inc.'s, IP SoftphoneTM, Personal Digital Assistants or PDAs, Personal Computers or PCs, laptops, and H.320 video phones and conferencing units.
Each of the first and second gateways is an electronic signal repeater and protocol converter that commonly provides a telephone exchange service, supporting the connection of the various types of stations and outside packet-switched and/or circuit-switched telephone lines (such as analog trunks, ISDN lines, E1/T1 voice trunks, and WAN routing IP trunks). Telephone lines are typically connected to the gateway via ports and media modules on the chassis, with different media modules providing access ports for different types of stations and lines. Voice and signaling data between packet-switched and circuit-switched protocols is normally effected by the media modules converting the voice path to a TDM bus inside the gateway. An engine, such as a Voice Over IP or VoIP engine, converts the voice path from the TDM bus to a compressed or uncompressed and packetized VoIP, typically on an Ethernet connection. Each gateway commonly includes a number of port and trunk circuit packs for performing selected telecommunications functions, such as (DTMF) tone detection, tone generation, playing audio (music and/or voice) announcements, traffic shaping, call admission control, and a media processor, and one or more IP server interfaces. Examples of gateways include Avaya Inc.'s SCC1TM, MCC1TM, CMCTM, G350TM, G600TM, G650TM, and G700TM.
The C-LANs 212 and 240, bearer LANs 216 and 244, and WAN 252 are packet-switched and may employ any suitable protocol, such as the TCP/IP suite of protocols, the Ethernet protocol, the Session Initiation Protocol or SIP, and/or the H.323 protocol.
The primary and spare media servers controlling the gateways can be any converged architecture for directing circuit-switched and/or packet-switched customer contacts to one or more stations. As will be appreciated, the primary media server normally controls the first and second gateways. In the event of a loss of communication with the second gateway, such as through a catastrophic WAN failure, the spare media server becomes active and takes over control of the second gateway 224. A loss of control or connectivity is typically determined by a heartbeat or polling mechanism. Commonly, the media servers are stored-program-controlled systems that conventionally include interfaces to external communication links, a communications switching fabric, service circuits (e.g., tone detectors and generators, announcement circuits, etc.), memory for storing control programs and data, and a processor (i.e., a computer) for executing the stored control programs to control the interfaces and the fabric and to provide automatic contact-distribution functionality. Illustratively, the media servers can be a modified form of the subscriber-premises equipment disclosed in U.S. Pat. Nos. 6,192,122; 6,173,053; 6,163,607; 5,982,873; 5,905,793; 5,828,747; and 5,206,903, all of which are incorporated herein by this reference; Avaya Inc.'s DefinityTM Private-Branch Exchange (PBX)-based ACD system; Avaya Inc.'s IP600TM LAN-based ACD system, or an S8100TM, S8300TM, S8500TM, S8700TM, or S8710TM media server running a modified version of Avaya Inc.'s Communication ManagerTM voice-application software with call processing capabilities and contact center functions. Other types of known switches and servers are well known in the art and therefore not described in detail herein.
Each of the primary and spare media servers 200 and 228 include call controller functionality 256, an inter-gateway routing agent 260, and call-related data structures 264. Call controller 256 performs call control operations, such as call admission control, progressive call control, and originating call control, and the inter-gateway routing agent alternately routes calls (referred to as (Inter-Gateway Alternate Route or IGAR calls) over circuit-switched trunks (e.g., public or private ISDN PRI/BRI trunks and R2MFC trunks) in the PSTN 248 when the WAN 252 is determined to be incapable of carrying the bearer connection. The WAN may be determined to be incapable of carrying the bearer connection when one or more of the following is true: a desired QoS and/or GOS for a communication is not currently available using the WAN, the communication may not be effected using the WAN, a system configuration precludes or impedes the use of the WAN for selected type of communication, a would-be contactor does not desire to use the WAN for the communication, and the like. The WAN 252 is typically determined to be incapable when the number of calls or bandwidth (e.g., Kbits/sec or Mbits/sec on a packet-switched station, trunk, and/or media gateway and/or an explicit number of connections) allocated via call admission control (or bandwidth limits) has been reached, Voice over IP or VoIP resource (e.g., RTP resource) exhaustion in the first and/or second gateway occurs, a codec set between a network region pair is not specified, forced redirection between a pair of network regions is in effect, or when control of the second gateway 224 is lost by the primary media server (e.g., when the packet-switched WAN 252 has a catastrophic failure thereby resulting in partitioning of the network with each region 202 and 206 having an active media server). The agent can preserve the internal makeup of the IGAR call between a pair of gateways in separate port network regions even though the voice bearer portion of the IGAR call is rerouted over alternative PSTN facilities. In this manner, the agent 260 can provide desired levels of QoS and/or GOS to large distributed single-server telecommunications networks having numerous branch offices and distributed call centers.
As will be appreciated, an IGAR call may be routed over the PSTN for reasons other than a call between subscribers. For example, a station in one network region can bridge onto a call appearance of a station in another network region, an incoming trunk in one network region is routed to a hunt group with agents in another network region, and an announcement or music source from one network region must be played to a party in another network region.
In one configuration, each network region is assigned one or more unique DID numbers (also referred to as an IGAR Listed Directory Number or LDN) that is dialed during set up of the call over the PSTN facilities. The IGAR LDN is a group-type number that is able to answer multiple calls and assign each call to a phantom IGAR user (that is commonly unrelated to the caller and callee). The LDN acts as a single DID number that may be dialed to reach any member of a set of subscribers located in a selected network region. This configuration in essence provides “virtual receptionist” or auto attendant that can direct a call without requiring the caller to dial a discrete DID number for each user. Typically, Automatic Route Selection or ARS or Automatic Alternate Routing or AAR is used to route a trunk (IGAR) call from one network region to the LDN extension administered for the other network region. In this manner, the gateway receiving an incoming IGAR call can determine, from the collected digits, that the call is directed to the LDN extension corresponding to the host network region.
In one configuration, when an IGAR call or feature invocation is terminated the agent 260 caches the IGAR trunk connection for a specified time period and/or until a pre-determined event ends (such as service being restored in the WAN or bandwidth and/or VoIP resources becoming available). Caching provides an available connection in the event that the connection is needed for a later call between the same or different subscribers. Setting up a trunk inter-gateway connection is costly in terms of user-perceived call setup time, typically requiring at least several seconds to complete. Caching can provide a new trunk inter-gateway connection immediately, thereby eliminating the observable delays as perceived by the caller. When the time period expires and/or the specified event ends, the cached trunk inter-gateway connection may be dropped, with the outgoing and incoming trunks again becoming available for normal calls.
A trunk inter-gateway connection is commonly selected from the cache when at least one of the two trunks defining the inter-gateway connection is selected such as by ARS routing as noted above, and the other end of the trunk inter-gateway connection terminates in the desired far-end network region. If a trunk is needed between two network regions and no trunk is currently available due to a network region maximum trunk limit being exceeded and if a trunk inter-gateway between that network region and another network region is available in the cache, the cached trunk inter-gateway connection may be dropped and the newly available outgoing trunk used to set up the trunk inter-gateway connection.
To minimize the impact on users of the length of time required to set up a trunk inter-gateway connection, the called party is commonly not alerted (e.g., no flashing lamps, no display updates, and no ringing) until the trunk call is active (i.e., answered, verified, and cut through). The calling party hears ringback tone immediately and, if the trunk inter-gateway connection takes longer to set up than the administered number of rings for local coverage, the call may proceed to the first coverage point.
In one configuration, there are two types of IGAR calls, namely an IGAR bandwidth management call and an IGAR network fragmentation call. An IGAR bandwidth management call is placed when the number of calls or bandwidth allocated via call admission control (or bandwidth limits) has been reached, Voice over IP or VoIP resource exhaustion in the first and/or second gateway is encountered, a codec set between a network region pair is not specified, or forced redirection between a pair of network regions is in effect. In an IGAR bandwidth management call, the bearer path or channel for the call is routed over the PSTN 248 and the signaling channel over the WAN 252. An IGAR network fragmentation call is placed when the primary media server loses control of the second gateway 224. As will be appreciated, when network fragmentation or partitioning occurs, the second gateway becomes unregistered and the spare media server 228 assumes control of the second gateway 224. Because the WAN is unavailable, both the bearer and signaling channels of the IGAR call are routed over the PSTN 248.
FIG. 3A depicts the data structures 264 for the various call components in an IGAR bandwidth management call. The call components include the main or original call 300 dialed by the subscriber, the IGAR outgoing call 304 using a phantom IGAR user (that is unrelated to the caller) as the originator, and the IGAR incoming call 308 using a different phantom IGAR user (that is unrelated to the callee) as the destination. In the example of FIG. 3A, “CID” or “cid” refers to call identifier, “uid” to user identifier, “SID” to service identifier, and “Portid” to port identifier. As will be appreciated, the call, user, and service identifiers can be any numerical, alphabetical, or alphanumerical variable or collection of variables that is unique with respect to other identifiers of the same type. With reference to the variables of FIG. 3A, “A” is the call originator in the first network region 202, “B” is the callee in the second network region 206, “X” is the call identifier for the main call (dialed by subscriber A), “Y” is the call identifier for the outgoing IGAR call from the phantom IGAR user “IRTE/2” at the first gateway to the outgoing trunk “TG-out” extending from the first gateway, “Z” is the call identifier for the incoming IGAR call from the incoming trunk “Trk-In” from the first gateway to the phantom IGAR user “IRTE/1” at the second gateway, “Portid(A)” refers to the port identifier corresponding to A's respective station in the first network region, “Portid(B)” refers to the port identifier corresponding to B's respective station in the second network region, “NetworkRegion=1” refers to the first network region, “NetworkRegion=2” refers to the second network region, “Portid(Trk-Out)” is the port identifier corresponding to the outgoing trunk in the first network region, and “Portid(Trk-In)” is the port identifier corresponding to the incoming trunk in the second network region. The upper level 312 depicts the data structures maintained at the call processing layer; the middle level 316 to the data structures maintained at the user layer; and the lower level 320 to the data structures maintained at the connection layer. The main call data structures are completed by the agent 260 after in-band signaling is provided by the first gateway to the second gateway as described below with reference to FIGS. 4 and 5.
FIG. 3B depicts the data structures for the call components in an IGAR network fragmentation call. Unlike the three call components of FIG. 3A, there are only two call components for a network fragmentation call, namely the outgoing and incoming calls. No phantom users are employed in the data structures. Rather, user identifiers for A and B are employed. The acronyms are otherwise the same as those in FIG. 3A.
Turning now to FIGS. 3-5, the operation of the agent 260 will now be described.
In step 400, the call controller 256 receives a new port connect request for an existing service “SID=X” and determines, in decision diamond 404, that an IGAR connection is required to connect the new port (Portid(B)) to the other port (portid(A)) in the service. The controller 256 makes an IGAR request to the agent 260 indicating the identifiers of the two network regions which need to be connected with trunk facilities. The request typically includes an IGAR call identifier, IGAR call-type identifier, the port index and system identifier of port(B), the source gateway identifier (of port B) and destination gateway identifier (or port A). The network, gateway, IGAR, and IGAR call-type identifiers can be any numerical, alphabetical, or alphanumerical variable or collection of variables that is unique with respect to other identifiers of the same type.
In decision diamond 408, the agent 260 determines whether there are available trunk members in each region. If there are insufficient trunk members in each region, the agent 260 rejects the request. In that event or in decision diamond 404 if no inter-gateway connection is required, the call controller 256 proceeds with conventional processing of the call. In the event that there are sufficient trunk members in each region, the agent 260 proceeds to step 416.
In step 416, the agent 260 originates an outgoing call. For an IGAR bandwidth management call, the call is originated by the phantom IGAR user (IRC-Y), and, for an IGAR network fragmentation call, the call is originated by subscriber A. The IGAR user is typically identified by a table index of user IRC-Y. The call controller 256 receives the IGAR call origination and a new call record/service record for the IGAR call is created (i.e., CID=Y and SID=Y) as shown in FIGS. 3A and 3B.
In step 420, the agent 260 constructs and dials a public network number that will route through the PSTN trunking network and terminate at a trunk on the second gateway. The agent first selects and seizes a trunk by making a series of passes through the members of a trunk group. The first pass searches for a member in the originator's gateway. If the first pass is unsuccessful, the second pass looks for members not in the originator's gateway but still in the originator's network region. If the first and second passes are unsuccessful, the third pass selects a trunk from another network region. As will be appreciated, a trunk may be taken from another network region if that network region is still connected and accessible to the originating network region.
In step 428, the dialed digits are sent into the PSTN 248, and the call controller 254 adds the selected trunk “TG-Out” to the service SID=Y for an IGAR bandwidth management call and to the service SID=X for an IGAR network fragmentation call.
The agent 260, in step 432, prepares for IGAR call association and suspends the call. Upon successful trunk termination on CID=Y for an IGAR bandwidth management call and on CID=X for an IGAR network fragmentation call, the agent 260 requests digit collection resources for the digits to be forwarded by the second gateway in connection with the IGAR call.
In FIG. 5, the second gateway 224 receives the incoming IGAR call in step 500. The second gateway notifies the controlling media server (whether the primary or spare media server) of the incoming call information.
In step 504, the controlling media server performs normal call processing on the incoming call and creates a new call record (CID=Z and SID=Z). Until the digits are analyzed, the controlling media server is not aware that this is an incoming IGAR call. Accordingly, the data structures initially created are those normally created for an incoming call.
In step 508, the incoming IGAR call digits are collected, provided to the controlling media server, and mapped by the controlling media server to the IGAR LDN corresponding to the second network region. The call is now recognized by the controlling media server as an incoming IGAR call.
In step 512, the call is routed and termed by the controlling media server to a selected phantom IGAR user (“IRTE/1”). Because the type of IGAR call is unknown, the data structures of FIG. 3B for the incoming call have a phantom IGAR user substituted for user B.
In step 516, the incoming trunk call is automatically answered. After the trunk is cut-through, a handshake involving bi-directional DTMF transmission occurs to determine the type of IGAR call. For both types of IGAR calls and when the call is answered, the controlling media server instructs the second gateway to repeatedly end-to-end signal a digit or collection of digits to indicate answer back to the first gateway.
The further process for an IGAR bandwidth management call is now discussed with reference to steps 520-528 and 440-444. In step 520, the primary media server suspends call processing on CID=Z when receipt of the digit is acknowledged and waits for the incoming call association information. In step 440, when the digit is recognized by the primary media server, the first gateway end-to-end in-band signals a series of digits back toward the incoming trunk and terminating user. The signals include identifiers for the type of IGAR call and the IRC-Y user. In step 444, the primary media server then suspends call processing on CD=Y. In step 524, the digits are collected identifying the IRC-Y user and passed by the primary media server to the IRC-Y user or agent 260. The agent 260 extracts CID=Y and CID=Z and informs the call controller that CID=Y and CID=Z contain the two inter-region trunk ports that satisfy the IGAR request. In step 528, the call controller, in step 528, finds the two trunk ports, one in each service, and connects port A with Trk-Out and port B withTrk-In.
The further process for an IGAR network fragmentation call is now discussed with reference to steps 532-536 and 448-452. The spare media server suspends call processing on CID=Z when receipt of the digit is acknowledged and waits for the incoming call association information. In step 448, when the digit is recognized by the primary media server, the first gateway, in-band signals a series of digits back toward the incoming trunk and terminating user. The series of digits include identifiers for the type of IGAR call and user B. In step 524, the digits are collected identifying user B and normal call processing for a PSTN call thereafter occurs.
In step 544, further call processing is continued on either type of IGAR call using conventional techniques. For example, further call processing can include call coverage and hunting.
A number of variations and modifications of the invention can be used. It would be possible to provide for some features of the invention without providing others.
For example in one alternative embodiment, an LDN is assigned to each circuit-switched trunk connected to a selected network region. Although this configuration would simplify call association, it requires the enterprise to purchase a much larger number of public network numbers, which can be expensive. Additionally, certain resources, such as a music-on-hold and/or announcement resource, do not have a public addressable extension.
In another alternative embodiment, the first media server calls the second media server and then attaches a Touch Tone Receiver, waiting for the second media server to answer. When the second network region answers, the second media server immediately signals the (typically unique) identifier to the first media server. The second media server repeats the transmission a selected number of times in case the digits are lost in prior attempts. The identifier is encoded specially to ensure that the first media server can be confident that it has received a complete and correct identifier. For example, the identifier can be encoded in “octal” and use the digit “9” as a delimiter. In this case, the first media server does not reply but simply begins to use the trunk call as a bearer channel after the unique identifier is verified to be valid.
In yet another embodiment, the present invention is not restricted to a single distributed enterprise network but may be employed by media servers of different enterprises provided appropriate translation information is available at each end of the communication.
In yet another embodiment, the logic described above may be implemented as software, a logic circuit, or a combination thereof.
The present invention, in various embodiments, includes components, methods, processes, systems and/or apparatus substantially as depicted and described herein, including various embodiments, subcombinations, and subsets thereof. Those of skill in the art will understand how to make and use the present invention after understanding the present disclosure. The present invention, in various embodiments, includes providing devices and processes in the absence of items not depicted and/or described herein or in various embodiments hereof, including in the absence of such items as may have been used in previous devices or processes, e.g., for improving performance, achieving ease and/or reducing cost of implementation.
The foregoing discussion of the invention has been presented for purposes of illustration and description. The foregoing is not intended to limit the invention to the form or forms disclosed herein. In the foregoing Detailed Description for example, various features of the invention are grouped together in one or more embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the following claims are hereby incorporated into this Detailed Description, with each claim standing on its own as a separate preferred embodiment of the invention.
Moreover, though the description of the invention has included description of one or more embodiments and certain variations and modifications, other variations and modifications are within the scope of the invention, e.g., as may be within the skill and knowledge of those in the art, after understanding the present disclosure. It is intended to obtain rights which include alternative embodiments to the extent permitted, including alternate, interchangeable and/or equivalent structures, functions, ranges or steps to those claimed, whether or not such alternate, interchangeable and/or equivalent structures, functions, ranges or steps are disclosed herein, and without intending to publicly dedicate any patentable subject matter.

## Claims

1. A method for effecting a communication between subscribers of an enterprise network, comprising:
(a) providing geographically dislocated first and second network regions of an enterprise network, the first and second network regions being in communication with one another through first and second networks and respectively comprising first and second media servers, first and second gateways, and first and second groupings of links connected to the second network, wherein a common electronic address is associated with the second grouping of links;
(b) the first network region receiving, from a first subscriber, a request to initiate an at least substantially real-time communication session with a second subscriber;
(c) the first network region determining that the first network is currently incapable of supporting the bearer channel for the session;
(d) in response to the determining step (c), the first network region transmitting the common electronic address over the second network to the second network region;
(e) after the common electronic address is received by the second network region, at least one of the first and second network regions transmitting in band over the second network to the other of the at least one of the first and second network regions a unique identifier; and
(f) using the identifier to establish a bearer channel for the communication session over the second network, wherein the user identifier transmitted to the second network region is a first phantom user identifier, wherein a first communication-related data structure is associated with the first telephone number, wherein a second communication-related data structure is associated with an outgoing call from the first gateway and the first phantom user, and wherein a third communication-related data structure is associated with an incoming call to the second gateway and a second phantom user.

2. The method of claim 1, wherein the first media server controls both of the first and second gateways and wherein the first phantom user is unrelated to the first and second subscribers.

3. The method of claim 2, wherein the request from the first subscriber comprises a first electronic address of the second subscriber, wherein the first network is packet-switched, wherein the second network is circuit-switched, wherein the common electronic address and first electronic address are each telephone numbers, wherein the substantially real-time communication session is a live voice call, wherein each of the second grouping of links is circuit-switched, and wherein the media server determines that the first network is currently incapable of supporting the bearer channel for the live voice call between the first and second subscribers when at least one of the following conditions exists: (i) at least one of a predetermined the number of the live voice calls and bandwidth allocated for live voice calls has been and/or will be reached if the bearer channel of the live voice calls is configured over the first network, (ii) resource exhaustion has occurred and/or will occur if the bearer channel of the live voice call is configured over the first network, (iii) a codec set is not specified with respect to transmissions over the first network between the first and second network regions, (iv) forced redirection from the first network to the second network between the first and second network regions is in effect, and (v) the first media server in the first or second network region has lost control of the gateway in the other of the first and second network regions.

4. The method of claim 3, wherein condition (i) exists, wherein the user identifier is associated with the phantom user, wherein, at the first gateway, a first phantom user represents an originator of the outgoing call, and wherein, at the second gateway, the second phantom user represents a destination of an incoming call.

5. The method of claim 3, wherein condition (ii) exists and the user identifier is associated with the phantom user, wherein, at the first gateway, a first phantom user represents an originator of the outgoing call, wherein the links in the first and second groupings are trunks, and wherein, at the second gateway, the second phantom user represents a destination of an incoming call.

6. The method of claim 3, wherein condition (iii) exists and the user identifier is associated with the phantom user, wherein, at the first gateway, a first phantom user represents an originator of the outgoing call, wherein the links in the first and second groupings are trunks, and wherein, at the second gateway, the second phantom user represents a destination of an incoming call.

7. The method of claim 3, wherein condition (iv) exists and the user identifier is associated with the phantom user, wherein, at the first gateway, a first phantom user represents an originator of the outgoing call, wherein the links in the first and second groupings are trunks, and wherein, at the second gateway, the second phantom user represents a destination of an incoming call.

8. The method of claim 3, wherein condition (v) exists, wherein the user identifier is associated with the second user, wherein the links in the first and second groupings are trunks, and wherein a second media server has assumed control of the second gateway.

9. The method of claim 3, wherein the first phantom user is determined by the first media server and the second phantom user is determined by a second media server, wherein step (f) comprises the substeps:
(f1) collecting digits corresponding to the user identifier;
(f2) associating the first phantom user with the second phantom user;
(f3) based on the associating step, determining a first port identifier associated with the outgoing communication and a second port identifier associated with the incoming communication; and
(f4) connecting the ports associated with the first and second port identifiers.

10. The method of claim 2, wherein step (e) comprises the substeps:
(e1) transmitting in band a communication-type identifier indicating whether the communication is a network fragmentation-type call or a bandwidth management-type call, wherein, when the communication-type identifier indicates a network fragmentation-type call, the user identifier is associated with the second subscriber and, when the communication-type identifier indicates a bandwidth management-type call, the user identifier is associated with the phantom user.

11. The method of claim 1, wherein the first network region comprises a first plurality of subscribers and the second network region comprises a different second plurality of subscribers and further comprising:
(e) establishing a plurality of simultaneous bearer connections between members of the first and second pluralities of subscribers, wherein the plurality of bearer connections terminate to the common electronic address.

12. A computer readable medium comprising processor executable instructions that, when executed, perform the steps of claim 1.

13. A logic circuit operable to perform the steps of claim 1.

14. An enterprise network, comprising:
geographically dislocated first and second network regions of an enterprise network, the first and second network regions being in communication with one another through first and second networks and respectively comprising first and second gateways and first and second groupings of links connected to the second network, wherein a common electronic address is associated with the second grouping of links; and
a first media server operable to receive, from a first subscriber, a request to initiate an at least substantially real-time communication session with a second subscriber and determine that the first network is currently incapable of supporting the bearer channel for the session, wherein, in response to the determination that the first network is currently incapable of supporting the bearer channel, the first gateway is operable to transmit the common electronic address over the second network to the second gateway, wherein, after the common electronic address is received by the second gateway, at least one of the first and second gateway is operable to transmit in band over the second network to the other of the at least one of the first and second gateway a unique identifier, wherein an inter-gateway routing agent is operable to use the identifier to establish a bearer channel over the second network for the communication session, wherein the user identifier transmitted to the second gateway is a first phantom user identifier, wherein a first communication-related data structure is associated with the first telephone number, wherein a second communication-related data structure is associated with an outgoing call from the first gateway and the first phantom user, and wherein a third communication-related data structure is associated with an incoming call from the first gateway to the second gateway and a second phantom user.

15. The network of claim 14, wherein the first media server controls both of the first and second gateways and wherein the first phantom user is unrelated to the first and second subscribers.

16. The network of claim 15, wherein the request from the first subscriber comprises a first electronic address of the second subscriber, wherein the first network is packet-switched, wherein the second network is circuit-switched, wherein the common electronic address and first electronic address are each telephone numbers, wherein the substantially real-time communication session is a live voice call, wherein each of the second grouping of links is circuit-switched, and wherein the media server determines that the first network is currently incapable of supporting the bearer channel for the live voice call between the first and second subscribers when at least one of the following conditions exists: (i) at least one of a predetermined the number of the live voice calls and bandwidth allocated for live voice calls has been and/or will be reached if the bearer channel of the live voice calls is configured over the first network, (ii) resource exhaustion has occurred and/or will occur if the bearer channel of the live voice call is configured over the first network, (iii) a codec set is not specified with respect to transmissions over the first network between the first and second network regions, (iv) forced redirection from the first network to the second network between the first and second network regions is in effect, and (v) the first media server in the first or second network region has lost control of the gateway in the other of the first and second network regions.

17. The network of claim 16, wherein condition (i) exists, wherein the user identifier is associated with the phantom user, wherein, at the first gateway, a first phantom user represents an originator of the outgoing call, wherein the links in the first and second groupings are trunks, and wherein, at the second gateway, the second phantom user represents a destination of an incoming call.

18. The network of claim 16, wherein condition (ii) exists and the user identifier is associated with the phantom user, wherein, at the first gateway, a first phantom user represents an originator of the outgoing call, wherein the links in the first and second groupings are trunks, and wherein, at the second gateway, the second phantom user represents a destination of an incoming call.

19. The network of claim 16, wherein condition (iii) exists and the user identifier is associated with the phantom user, wherein, at the first gateway, a first phantom user represents an originator of the outgoing call, wherein the links in the first and second groupings are trunks, and wherein, at the second gateway, the second phantom user represents a destination of an incoming call.

20. The network of claim 16, wherein condition (iv) exists and the user identifier is associated with the phantom user, wherein, at the first gateway, a first phantom user represents an originator of the outgoing call, wherein the links in the first and second groupings are trunks, and wherein, at the second gateway, the second phantom user represents a destination of an incoming call.

21. The network of claim 16, wherein condition (v) exists, wherein the user identifier is associated with the second user, and wherein a second media server has assumed control of the second gateway.

22. The network of claim 16, wherein the first phantom user is determined by the first media server and the second phantom user is determined by a second media server, wherein the first gateway is operable to collect digits corresponding to the user identifier, and wherein the first media server is operable to associate the first phantom user with the second phantom user; based on the associating operation, determine a first port identifier associated with the outgoing call and a second port identifier associated with the incoming call; and connect the ports associated with the first and second port identifiers.

23. The network of claim 16, wherein the inter-gateway routing agent is operable to effect transmission in band of a communication-type identifier indicating whether the communication is a network fragmentation-type call or a bandwidth management-type call; when the communication-type identifier indicates a network fragmentation-type call, associate the user identifier with the second subscriber; and, when the communication-type identifier indicates a bandwidth management-type call, associate the user identifier with the phantom user.

24. The network of claim 14, wherein the first network region comprises a first plurality of subscribers and the second network region comprises a different second plurality of subscribers and wherein the first media server is operable to establish a plurality of simultaneous bearer connections between members of the first and second pluralities of subscribers, wherein the plurality of bearer connections terminate to the common electronic address.

25. An enterprise network, comprising:
geographically dislocated first and second network regions of an enterprise network, the first and second network regions being in communication with one another through first and second networks and respectively comprising:
first and second gateways means for repeating electronic signals and converting protocols; and
first and second groupings of trunk means for carrying communication signals and being connected to one of the packet-switched and circuit-switched networks, wherein a common electronic address is associated with the second grouping of trunk means; and
first media server means for receiving, from a first subscriber, a request to initiate an at least substantially real-time communication session with a second subscriber and determining that the first network is currently incapable of supporting the bearer channel for the session, wherein, in response to the determination that the first network is currently incapable of supporting the bearer channel, the first gateway means transmits the common electronic address over the second network to the second gateway means, wherein, after the common electronic address is received by the second gateway means, at least one of the first and second gateway means transmits in band over the second network to the other of the at least one of the first and second gateway means a unique identifier, and wherein the other of the at least one of the first and second media server means comprises inter-gateway routing agent means for using the identifier to establish a bearer channel over the second network for the communication session, wherein the user identifier transmitted to the second network region means is a first phantom user identifier, wherein a first communication-related data structure is associated with the first telephone number, wherein a second communication-related data structure is associated with an outgoing call from the first gateway means and the first phantom user, and wherein a third communication-related data structure is associated with an incoming call to the second gateway means and a second phantom user.

26. The network of claim 25, wherein the first media server means controls both of the first and second gateway means and wherein the first phantom user is unrelated to the first and second subscribers.

27. The network of claim 26, wherein the request from the first subscriber comprises a first electronic address of the second subscriber, wherein the first network is packet-switched, wherein the second network is circuit-switched, wherein the common electronic address and first electronic address are each telephone numbers, wherein the substantially real-time communication session is a live voice call, wherein each of the second grouping of trunk means is circuit-switched, and wherein the first media server means determines that the first network is currently incapable of supporting the bearer channel for the live voice call between the first and second subscribers when at least one of the following conditions exists: (i) at least one of a predetermined the number of the live voice calls and bandwidth allocated for live voice calls has been and/or will be reached if the bearer channel of the live voice calls is configured over the first network, (ii) resource exhaustion has occurred and/or will occur if the bearer channel of the live voice call is configured over the first network, (iii) a codec set is not specified with respect to transmissions over the first network between the first and second network regions, (iv) forced redirection from the first network to the second network between the first and second network regions is in effect, and (v) the first media server means in the first or second network region has lost control of the gateway means in the other of the first and second network regions.

28. The network of claim 26, wherein condition (i) exists, wherein the user identifier is associated with the phantom user, wherein, at the first gateway means, a first phantom user represents an originator of the outgoing call, wherein the trunk means in the first and second groupings are trunks, and wherein, at the second gateway means, the second phantom user represents a destination of an incoming call.

29. The network of claim 26, wherein condition (ii) exists and the user identifier is associated with the phantom user, wherein, at the first gateway means, a first phantom user represents an originator of the outgoing call, wherein the trunk means in the first and second groupings are trunks, and wherein, at the second gateway means, the second phantom user represents a destination of an incoming call.

30. The network of claim 26, wherein condition (iii) exists and the user identifier is associated with the phantom user, wherein, at the first gateway means, a first phantom user represents an originator of the outgoing call, wherein the trunk means in the first and second groupings are trunks, and wherein, at the second gateway means, the second phantom user represents a destination of an incoming call.

31. The network of claim 26, wherein condition (iv) exists and the user identifier is associated with the phantom user, wherein, at the first gateway means, a first phantom user represents an originator of the outgoing call, wherein the trunk means in the first and second groupings are trunks, and wherein, at the second gateway means, the second phantom user represents a destination of an incoming call.

32. The network of claim 26, wherein condition (v) exists, wherein the user identifier is associated with the second user, and wherein a second media server has assumed control of the second gateway means.

33. The network of claim 26, wherein the first phantom user is determined by the first media server means and the second phantom user is determined by a second media server means wherein the first gateway means is operable to collect digits corresponding to the user identifier, and wherein the first media server means associates the first phantom user with the second phantom user; based on the associating operation, determines a first port identifier associated with the outgoing call and a second port identifier associated with the incoming call; and connects the ports associated with the first and second port identifiers.

34. The network of claim 26, wherein the inter-gateway means routing agent means effects transmission in band of a communication-type identifier indicating whether the communication is a network fragmentation-type call or a bandwidth management-type call; when the communication-type identifier indicates a network fragmentation-type call, associates the user identifier with the second subscriber; and, when the communication-type identifier indicates a bandwidth management-type call, associates the user identifier with the phantom user.

35. The network of claim 25, wherein the first network region comprises a first plurality of subscribers and the second network region comprises a different second plurality of subscribers and wherein the first media server means establishes a plurality of simultaneous bearer connections between members of the first and second pluralities of subscribers, wherein the plurality of bearer connections terminate to the common electronic address.