USPatent applicationPatented

Communication failover in a distributed network

Granted 23 Aug 2016 · 1 office action

Life of the application

27 dated events
⤢ drag to zoom20142016201820202022202420262028203020322034ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

An initial request is received to establish a communication session. The initial request contains a communication address of a first communication device. A communication server detects that the communication session cannot be established across a primary network. In response, the initial request is repurposed by changing the first communication address to a second communication address. The changed request is sent to a communication system, which adds a field to the changed request that indicates that the changed request is to be sent via a secondary network. The changed request is sent with the field to the communication server. The changed request with the second communication address is sent to a gateway to establish the communication session across a secondary network. A portion of the communication session is established using the second communication address. The first communication address is sent in the portion of the communication session using Dual-Tone-Multi-Frequency (DTMF).

Description

9 parts
›RELATED U.S. PATENT APPLICATION DATA

This application claims the benefit under 35 U.S.C. §119(e) of U.S. Provisional Application No. 61/817,028, filed Apr. 29, 2013 entitled “DPT IN THE DISTRIBUTED ARCHITECTURE REM ADDITIONS.”

›TECHNICAL FIELD

The systems and methods relate to network failover systems and in particular to network failover systems using different protocols.

›BACKGROUND

There are a variety of systems that can fail over a communication from a primary network to a secondary network. This works well when there is a single centralized system in the network that manages all aspects of the communication system. When the primary network fails, the centralized system is able to route a communication to the secondary network without any problems.

However, when the network has been decentralized, the problem becomes more acute. In distributed networks such as Session Initiation Protocol (SIP) networks, functionality has been distributed between devices such as proxy servers and other communication systems. For example, a proxy server may handle the initial call processing and another communication system will handle call features, such as call forwarding (e.g., by using a Back-to-Back User Agent (B2B UA)). In these distributed environments, the proxy server and the other communication system need to be included in the process of directing the communication to a secondary network so that the call features can still operate in a failover situation.

›SUMMARY

Systems and methods are provided to solve these and other problems and disadvantages of the prior art. An initial request is received from a communication device to establish a communication session. The initial request contains a communication address of a first communication device. A communication server or communication system detects that the communication session cannot be established across a primary network. In response, the initial request is repurposed by changing the first communication address to a second communication address. The changed request is sent to a communication system, which adds a field to the changed request that indicates that the changed request is to be sent via a secondary network. The changed request is sent with the field to the communication server. The changed request with the second communication address is sent to a gateway to establish the communication session across a secondary network. A portion of the communication session is established using the second communication address. The first communication address is sent in the portion of the communication session using Dual-Tone-Multi-Frequency (DTMF). The first communication address is used to complete the communication session from the second communication device to the first communication device.

›BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a first illustrative system for failing over a communication session in a distributed network.

FIG. 2 is a flow diagram of a method for failing over a communication session in a distributed network.

FIG. 3 is a flow diagram of a method for failing over a communication session in a distributed network.

›DETAILED DESCRIPTION · 1 of 4

FIG. 1 is a block diagram of a first illustrative system 100 for failing over a communication session in a distributed network. The first illustrative system 100 comprises communication devices 101 A- 101 N, a primary network 110 , a secondary network 111 , communication systems 120 and 121 , communication servers 122 and 123 , and gateways 124 and 125 . In FIG. 1 , communication devices 101 A- 101 C are shown connecting to communication server 122 for illustrative purposes. Likewise communication devices 101 D- 101 N are shown connecting to communication server 123 . However, one of ordinary skill in the art would recognize that the communication devices 101 A- 101 N can be connected via a network that allows the communication devices 101 A- 101 N to connect with any of the communication systems 120 - 121 , the communication servers 122 - 123 , and the gateways 124 - 125 respectively.

The communication devices 101 A- 101 N may be any device that can communicate on the primary network 110 or the secondary network 111 , such as a Personal Computer (PC), a telephone, a video system, a cellular telephone, a Personal Digital Assistant (PDA), a tablet device, a notebook device, a voice server, a video server, a text messaging server, a voice mail system, and the like. As shown in FIG. 1 , any number of communication devices 101 A- 101 N may be connected to the networks 110 and 111 .

The primary network 110 and/or the secondary network 111 can be any network that can send and receive information, such as the Internet, a Wide Area Network (WAN), a Local Area Network (LAN), the Public Switched Telephone Network (PSTN), a packet switched network, a circuit switched network, a cellular network, an enterprise network, a corporate network, a combination of these, and the like. The primary network 110 can use a variety of protocols, such as Ethernet, Internet Protocol (IP), Session Initiation Protocol (SIP), H.323, Integrated Services Digital Network (ISDN), and the like. In one embodiment, the primary network 110 is a SIP network and the secondary network 111 is a PSTN network that uses Plain Old Telephone System (POTS) or ISDN.

The communication systems 120 and 121 can be any communication system that provides services for communications, such as a communication feature server, a JSR 289 server, and/or the like. For example, the communication systems 120 and 121 can be Avaya's Communication Manager™. The communication systems 120 and 121 can provide a variety of services, such as call forwarding, call recording, call screening, call center services, Interactive Voice Response (IVR) services, call transferring, and/or the like. The communication systems 120 and 121 can be a combined communication system. The communication systems 120 and 121 may use a variety of protocols, such as Session Initiation Protocol (SIP), H.323, Integrated Digital Services Network (ISDN), Asynchronous Transfer Mode (ATM), and/or the like.

The communication servers 122 and 123 can be a registrar, a proxy server, a SIP proxy server, a routing device, and/or the like. For example, the communication servers 122 and 123 can be Avaya's Session Manager™. The communication servers 122 and 123 can use a variety of protocols, such as Session Initiation Protocol (SIP), H.323, Integrated Digital Services Network (ISDN), Asynchronous Transfer Mode (ATM), and/or the like.

The gateways 124 and 125 may be any device that can change one protocol to another protocol, such as a session border controller and the like. For example, the gateways 124 and 125 can converts SIP, ISDN, and/or H.323 to Plain Old Telephone System (POTS) in one direction and POTS to SIP, ISDN, and/or H.323 in the other direction.

In one embodiment, the communication device 101 A sends an initial request to establish a communication session with the communication device 101 D across the primary network 110 . The initial request comprises a communication address of the communication device 101 D. For example, the communications address of the communication device 101 D may be a telephone number of the communication device 101 D. However, in other embodiments, the communication address of the communication device 101 D may be another type of address, such as a network address, a device address, and/or the like. The communication session can be any type of communication session, such as a voice session, a text session, a video session, and/or the like.

The communication server 122 receives the initial request. The communication server 122 (and/or the communication system 120 ) detects that the communication session across the primary network 110 cannot be established. The communication server 122 can detect that communication session cannot be established in various ways, such as, based on a packet time-out, based on receiving or not receiving a message, based on a status, and/or the like. In response to the communication server 122 detecting that the communication session across the primary network 110 cannot be established, the communication server 122 repurposes the initial request by changing the communication address of the communication device 101 D to a second communication address.

The changed request is repurposed because the communication session needs to use the second communication address in order to connect to the communication device 101 D. In this embodiment, in order to use the secondary network/complete the communication, the communication server 122 needs one or more services that are provided by the communication system that the communication server 122 does not support (e.g. to send the first communication address via Dual-Tone-Multi-Frequency (DTMF), B2B UA services, and/or the like).

The second communication address is an intermediary address that is used to establish a communication session using the secondary network 111 . The second communication address can be a Listed Directory Number (LDN) that is a designated telephone number (or address) for failover communications. The second communication address can be, depending on the protocol used, in different fields within a packet or header. The communication server 122 sends the changed request with the second communication address to the communication system 120 .

›DETAILED DESCRIPTION · 2 of 4

The communication system 120 receives the changed request. The communication system 120 adds a field that contains a parameter that indicates that the request is to be sent via the secondary network 111 . The field can be in any type of field, including a header, a payload, a Session Initiation Protocol (SIP) invocation attachment, an identifier, an addition to an existing field, a change of an existing field, and/or the like. The communication system 120 sends the changed request with the field to the communication server 122 . In response to receiving the changed request with the field, the communication server 122 recognizes that the request is to be sent via the secondary network 111 (based on the field that indicates that the request is to be sent via the secondary network 111 ). The communication server 122 sends the changed request (with at least the second communication address) to the gateway 124 . The gateway 124 initiates establishment of a portion of the communication session, across the secondary network 111 , using the second communication address with the gateway 125 , the communication server 123 , and/or the communication system 121 .

Once the portion of the communication session is established, the communication system 120 sends the communication address of the communication device 101 D (that was in the changed request that the communication system 120 received) in the established communication session (i.e., in-band) using Dual-Tone-Multi-Frequency (DTMF) tones. The communication system 121 receives the DTMF tones with the communication address of the communication device 101 D. The communication address of the communication device 101 D is used to complete establishment of the communication session with the communication device 101 D.

To illustrate, consider the following example. A user at communication device 101 B makes a voice call to another user at communication device 101 N. The user at communication device 101 B has invoked a voice recording application (a Back-to-Back User Agent) that is running in communication system 120 to record all calls made to the user at communication device 101 N.

The user at communication device 101 B calls the user at communication device 101 N by dialing 303-538-1111 (the communication address of communication device 101 N). An initial SIP INVITE is sent to the communication server 122 (a SIP proxy server) to establish a SIP communication session across the primary network 110 . The communication server 122 detects that the communication session across the primary network 110 cannot be established.

In response to detecting that the communication session cannot be established across the primary network 110 , the communication server 122 repurposes the initial SIP INVITE by changing the communication address of the communication device 101 N (303-538-1111) with a second address (303-538-1000) that is a Listed Directory Number (LDN 303-538-1000) for the location of where the communication device 101 N is located. The LDN is a dedicated telephone number for failover conditions. The changed SIP INVITE may be in the following format: SIP:3035381000@avaya.com;avaya-dpt-dest=303-538-1111 SIP/2.0.

The communication server 122 sends the changed SIP INVITE with the LDN to the communication system 120 . The communication system 120 adds a field that indicates that the SIP INVITE is to be sent via the secondary network 111 . For example, the SIP INVITE may be in the following format: SIP:3035381000@avaya.com;av-dpt-outgoing SIP/2.0. The “av-dpt-outgoing” portion of the SIP INVITE indicates that the SIP INVITE is to be sent via the secondary network 111 . The communication system 120 sends the changed SIP INVITE with the field to the communication server 122 . The communication server 122 (this could be a different communication server 122 than received the initial SIP INVITE) sends the changed request to establish a portion of the communication session using the second address to the gateway 124 . A communication session is established between the communication system 120 and the communication 121 .

The communication system 121 sends a pass code (e.g., five known DTMF digits) back to the communication system 120 . The pass code tells the communication system 120 that it has hit the right termination point and is okay to send the first communication address (303-538-1111). In response to receiving the pass code, the communication system 120 sends the communication address of the communication device 101 N (303-538-1111) using DTMF tones to the communication system 121 . In response to receiving the communication address of the communication device 101 N, the communication system 121 completes the establishment of the communication session with the communication device 101 N. The two parties at communication devices 101 B and 101 N can now communicate with each other. The two parties are unaware of the failure of the primary network 110 .

In another embodiment, when the communication system 120 receives the changed request (e.g., the SIP:3035381000@avaya.com;avaya-dpt-dest=303-538-1111 SIP/2.0 message), instead of adding the field, the communication system 120 sends the request directly to the gateway 124 . In this embodiment, the “avaya-dpt-dest” field is the field that contains the parameter that indicates that the changed request is to be sent via the secondary network 111 . When the communication system 120 sees the “avaya-dpt-dest” field, the communication system 120 knows to send the request to the gateway 124 . The above examples use a specific tag for the field that indicates that the request is to be sent via the secondary network 111 . However, in other embodiments, various types of different fields and/or tags may be used.

In another embodiment, where the secondary network 111 supports a protocol such as SIP, the communication system 120 can send the request directly to the secondary network 111 , thus bypassing the gateway 124 .

In one embodiment, the communication address of the communication device 101 N cannot be directly dialed from the secondary network 111 (e.g., the number is an unlisted extension). In this case, the above process overcomes the issue of not being able to directly dial the communication device 101 N by sending the communication address of the communication device 101 N using DTMF so that the communication session between communication devices 101 B and 101 N can be established seamlessly.

›DETAILED DESCRIPTION · 3 of 4

In another embodiment, the second address (e.g. the LDN) is a number that can be used as a regular number or as a number that supports the above described process. In order to distinguish between a failover communication and a regular communication, once the portion of the communication session has been established, the communication system 120 sends an identifier in the portion of the communication session using DTMF. The identifier is used by the communication system 121 to distinguish between a failover communication and a regular communication. If communication system 121 does not receive the identifier, the communication system 121 assumes that the communication session is a regular communication session. If the communication system 121 receives the identifier, the communication system 121 assumes that the communication session is a failover communication session.

In another embodiment, the identifier can be used to distinguish between different types of arriving communications. For example, instead of distinguishing between a failover communication session, the identifier can distinguish between different types of failover communications. For example, a voice, video, text communication, a specific set of users, an encrypted communication, and/or the like.

FIG. 2 is a flow diagram of a method for failing over a communication session in a distributed network. Illustratively, the communication devices 101 A- 101 N, the communication systems 121 and 122 , the communication servers 122 and 123 , and the gateways 124 and 125 are stored-program-controlled entities, such as a computer or processor, which performs the method of FIGS. 2-3 and the processes described herein by executing program instructions stored in a tangible computer readable storage medium, such as a memory or disk. Although the methods described in FIGS. 2-3 are shown in a specific order, one of skill in the art would recognize that the steps in FIGS. 2-3 may be implemented in different orders and/or be implemented in a multi-threaded environment. Moreover, various steps may be omitted or added based on implementation.

The process starts by the communication device 101 A sending 200 an initial request to establish a communication session with the communication device 101 D across the primary network 110 (i.e., the default is to route the initial request over the primary network 110 ). The initial request comprises the communication address of the communication device 101 D (e.g., in a SIP TO: field). The communication server 122 detects 202 that the communication session across the primary network 110 cannot be established. In response to detecting that the communication session across the primary network 110 cannot be established, the communication server 122 repurposes 204 the initial request by changing the communication address of the communication device 101 D with a second communication address.

The communication server 122 sends 206 the changed request to communication system 120 . The communication system 120 adds 208 a field (e.g. changes a field) to the changed request that indicates that the changed request is to be sent via the secondary network 111 . The communication system 120 sends 210 the changed request with the field to the communication server 122 . The communication server 122 sends 212 the changed request (with at least the second communication address) to the gateway 124 . The gateway 124 (e.g. in combination with communication servers 122 - 123 , communications systems 120 - 121 , and/or gateway 125 ) establishes 214 a portion of the communication session across the secondary network 111 . The communication system 120 sends 216 the communication address of the communication device 101 D using DTMF in the portion of the communication session. Communication system 121 completes establishment 218 of the communication session with the communication device 101 D using the communication address of communication device 101 D. The communication session between the communication devices 101 A and 101 D is now complete as shown in step 220 .

In another embodiment, the communication 121 will establish the communication session by sending a request to establish the communication with communication device 101 D by sending a request message to the communication server 123 to establish the communication session between communication devices 101 A and 101 B.

In an alternative embodiment, instead of the communication system 120 sending the changed request with the field in step 210 and the communication server 122 sending the changed request with the field to the gateway in step 212 , the communication system 120 can send 211 the changed request (with at least the second communication address) directly to the gateway 124 . In this embodiment, the changed request that is sent in step 206 contains the field that indicates that the changed request is to be sent via the secondary network 111 (e.g., the avaya-dpt-dest field described above).

FIG. 3 is a flow diagram of a method for failing over a communication session in a distributed network. The process starts by the communication device 101 A sending 200 an initial request to establish a communication session with the communication device 101 D across the primary network 110 . The initial request comprises the communication address of the communication device 101 D. The communication server 122 detects 202 that the communication session across the primary network 110 cannot be established. In response to detecting that the communication session across the primary network 110 cannot be established, the communication server 122 determines 300 that the remote communication system (e.g., the communication server 123 , the communication system 121 , and the gateway 125 ) related to the communication address of the communication device 101 D does not support the sending of the communication address of the communication device 101 D in the portion of the communication session using DTMF. The communication server 122 can determine that the remote communication system related to the communication address of the communication device 101 D does not support the sending of the communication address of the communication device 101 D in the portion of the communication session using DTMF in various ways, such as, based on an administration, based on not receiving a pass code or other indicator from the remote communication system (after following steps 200 - 214 ), and/or the like.

›DETAILED DESCRIPTION · 4 of 4

In response to determining that the remote communication system related to the address of the communication device 101 A does not support the sending of the first communication address in the portion of the communication session using DTMF, the communication server 122 directly calls 302 the remote communication system on the secondary network 111 using the network address of communication device 101 D (assuming that the communication address of the communication device 101 D can be called directly via the secondary network 111 ). A communication session is then established 304 between the communication device 101 A and the communication device 101 D.

In the above embodiments, the process only describes a single communication session between communication two communication devices 101 . However, in other embodiments, a communication session may involve multiple communication devices. For example, a conference call can be setup between communication devices 101 A- 101 N using the above processes. In addition, one of skill in the art would recognize that the processes described above can be implemented using any number of protocols, such as SIP, ISDN, H.322, POTS, and/or the like.

Of course, various changes and modifications to the illustrative embodiment described above will be apparent to those skilled in the art. These changes and modifications can be made without departing from the spirit and the scope of the system and method and without diminishing its attendant advantages. The following claims specify the scope of the invention. Those skilled in the art will appreciate that the features described above can be combined in various ways to form multiple variations of the invention. As a result, the invention is not limited to the specific embodiments described above, but only by the following claims and their equivalents.

Claims as granted

20 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

3 codes
IPC · International Patent Classification
Section G — Physics
  • G06F11/20
  • G06F11/07
Section H — Electricity
  • H04L12/24

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJul 2013Jan 2014Jul 2014Jan 2015Jul 2015Jan 2016Jul 2016USPTOApplicantNon-final rejectionResponse after non-finalRequest for continued examination
USPTOApplicanthover for detail · click to open
Pendency
3.2 y
1,155 days filing → grant
Office actions
1
non-final + final
Responses
1
1 RCE
Examiner
Chae Ko
art unit 2114 · TC 2100
Citations: 16 back · 6 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20142016201820202022202420262028203020322034Owner 1Owner 2liens, releases & corrections
TitleLienReleasehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock