Hybrid Cloud PBX
20220377179 · 2022-11-24
Inventors
Cpc classification
H04M7/0084
ELECTRICITY
H04M3/4234
ELECTRICITY
H04L65/1053
ELECTRICITY
H04M3/12
ELECTRICITY
International classification
H04M7/00
ELECTRICITY
H04L65/1053
ELECTRICITY
Abstract
Disclosed is a system for telephones by providing an improved and streamlined user experience and enhanced fail over mechanisms. A decentralized system managed through a web site which allows for continued operation even when the primary systems fail includes a mechanism for restoring the primary systems automatically when they become available again. Phones connect to two PBX systems at the same time, one local and one at a remote location. The two PBX systems synchronize configuration data and media files between them. The website can also be used to manage any number of systems allowing any size organization to manage every phone system in their organization from a single interface.
Claims
1. A hybrid PBX, comprising: at least two private branch exchanges (PBXs), each PBX having at least one connection to an external telephone service provider, each connection selected from the group consisting of: a connection to a VoIP provider, and a connection to a PSTN; one or more extensions, each extension having: a primary connection to a PBX of the at least two PBXs, and a secondary connection to another PBX of the at least two PBXs; and a website operable by a user to configure the at least two PBXs as a single system, wherein the at least two PBXs are operative to route calls to and from the one or more extensions.
2. The hybrid PBX as recited in claim 1, further comprising a mesh network wherein the at least two PBXs operate as nodes in the mesh network.
3. The hybrid PBX as recited in claim 2, wherein mesh headers are used to route calls to and from the one or more extensions.
4. The hybrid PBX as recited in claim 3, wherein SIP headers are used to implement the mesh headers.
5. The hybrid PBX as recited in claim 3, wherein a PBX acting as a node attempts to route a call arriving for a number outside the mesh network through a connection of the at least one connection to an external telephone service provider.
6. The hybrid PBX as recited in claim 5, wherein the PBX adds mesh headers to the call arriving for a number outside the mesh network and routes the call to a neighboring node when it is unable to route the call to a connection of the at least one connection to an external telephone service provider.
7. The hybrid PBX as recited in claim 3, wherein a PBX acting as a node adds or updates mesh headers for a call arriving for a number inside the mesh network, wherein the PBX routes the call to an extension of the one or more extensions if the PBX is the destination node, and wherein the PBX routes the call to the destination node if the PBX is not the destination node.
8. The hybrid PBX as recited in claim 1, wherein each PBX further comprises a database.
9. The hybrid PBX as recited in claim 8, wherein the databases of the PBXs are synchronized between the PBXs.
10. The hybrid PBX as recited in claim 9, wherein the at least two PBXs are configured to route calls from an extension of the one or more extensions through the secondary connection of the extension when the PBX associated with the primary connection of the extension is inoperative.
11. A hybrid PBX, comprising: a first onsite private branch exchange (PBX) at a first location, having a connection to an external telephone provider; a second onsite PBX at a second location, having a connection to an external telephone provider; a plurality of first onsite PBX extensions, each extension of the first onsite PBX extensions having a primary connection to the first onsite PBX and a secondary connection to the second onsite PBX; and a plurality of second onsite PBX extensions, each extension of the second onsite PBX extensions having a primary connection to the second onsite PBX and a secondary connection to the first onsite PBX, wherein the second onsite PBX is operative to facilitate calls made and received by the first onsite PBX extensions when the first onsite PBX is inoperative, and wherein the first onsite PBX is operative to facilitate calls made and received by the second onsite PBX extensions when the second onsite PBX is inoperative.
12. The hybrid PBX as recited in claim 11, wherein the connection to an external telephone provider of the first onsite PBX comprises a connection to a voice over Internet protocol (VoIP) provider.
13. The hybrid PBX as recited in claim 12, wherein the first onsite PBX comprises a second connection to an external telephone provider, comprising a connection to a public switched telephone network (PTSN).
14. The hybrid PBX as recited in claim 13, wherein the first onsite PBX further comprises at least three inbound call flows, comprising a normal call flow, a no-internet call flow, and an first-onsite-PBX-offline call flow, wherein the normal call flow routes calls via the VoIP provider through the first onsite PBX to an extension of the one or more first onsite extensions, the no-internet call flow routes calls via the VoIP through the second onsite PBX and the PTSN to an extension of the one or more extensions, and the first-onsite-PBX-offline call flow routes calls via the VoIP through the second onsite PBX to an extension of the one or more extensions.
15. The hybrid PBX as recited in claim 11, wherein the first and second onsite PBXs each comprise a database, wherein the databases are synchronized between the first and second onsite PBXs.
16. The hybrid PBX as recited in claim 11, further comprising one or more additional onsite PBXs in additional locations, each additional onsite PBX having one or more extensions, and wherein each PBX of the first onsite PBX, second onsite PBX, and additional onsite PBXs is operable to facilitate calls made and received by extensions of one or more other PBXs of the first onsite PBX, second onsite PBX, and additional onsite PBXs when the one or more other PBXs is inoperative.
17. A hybrid PBX comprising: a plurality of private branch exchanges (PBXs), each PBX comprising: a connection to an external telephone service provider, and one or more extensions, wherein each extension of the one or more extensions comprises a primary connection to a PBX of the plurality of PBXs and one or more secondary connections, each secondary connection to a separate PBX of the plurality of PBXs, and wherein each PBX of the plurality of PBXs is operative to facilitate calls made and received by extensions having a secondary connection to the PBX when the PBX of the primary connection of the extension is inoperative.
18. The hybrid PBX of claim 17, further comprising a website operative to configure the plurality of PBXs as a single system.
19. The hybrid PBX of claim 18, wherein each PBX of the plurality of PBXs is connected to a cloud platform to receive configuration changes from the website.
20. The hybrid PBX of claim 17, wherein each PBX of the plurality of PBXs comprises at least three inbound call flows, comprising a normal call flow, a no-internet call flow, and an onsite-PBX-offline call flow, wherein the normal call flow routes calls via a voice over Internet protocol (VoIP) provider through the PBX to an extension of the one or more extensions, the no-internet call flow routes calls via the VoIP through another PBX of the plurality of PBXs and a public switched telephone network (PTSN) to an extension of the one or more extensions, and the onsite-PBX-offline call flow routes calls via the VoIP through the other PBX to an extension of the one or more extensions.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The novel features of this invention, as well as the invention itself, both as to its structure and its operation, will be best understood from the accompanying drawings, taken in conjunction with the accompanying description, in which similar reference characters refer to similar parts, and in which:
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
DETAILED DESCRIPTION
[0030] Referring initially to
[0031] Referring now to
[0032] Referring now to
[0033] Configuration of the hybrid cloud PBX is performed through a web site 130, which may be hosted on a cloud platform. Administrators 132 use the website 130 to perform configuration tasks such as adding or removing extensions. Users 134 perform configuration tasks related to their assigned extension, such as setting voicemail options or prompts. The website 130 provides configuration changes over the Internet to the onsite PBX 110 and the remote PBX 112.
[0034] For simplicity in description, the extensions of the hybrid PBX are represented as phones 118 in
[0035] Although a single onsite PBX 110 and a single remote PBX 112 are described herein for simplicity, it is fully contemplated that multiple onsite PBXs 110, multiple remote PBXs 112, or multiple of both may be used depending on the needs and circumstances of the organization, such as for additional redundancy or to service multiple sites. Moreover, preferred embodiments use multiple websites 130 for redundancy and traffic balancing.
[0036] Referring now to
[0037] Referring now to
[0038] Without onsite Internet access, changes made through the website 130 cannot be propagated directly and immediately to the onsite PBX 110, although the changes would be propagated to remote PBX 112. The configuration changes would later be synchronized with onsite PBX 110 when the onsite Internet connection is restored.
[0039] In an alternative embodiment, the remote cloud PBX 112 will communicate configuration changes received from website 130 to the offline onsite PBX 110 through the PSTN 114. In this way, configuration changes may be applied even when the onsite Internet connection is interrupted, although there may be some delay in the application of the changes due to the necessity of communicating them to the onsite PBX 110 over the standard telephone network, PSTN 114.
[0040] Referring now to
[0041] A device configured for use with traditional (or “analog”) telephone service requires a foreign exchange station (“FXS”), that is, an RJ11 jack through which is provided power, a dial tone, and traditional line signaling protocols. In an embodiment, onsite PBX 110 differs from remote PBX 112 in that FXS ports are provided by onsite PBX 110 for analog devices, including analog telephones and analog fax machines. In this way, analog extensions may connect to the business telephone system, but do not benefit from automatic rollover to the remote PBX 112 when the onsite PBX 110 is inoperative.
[0042] As shown in
[0043] Referring now to
[0044] Referring now to
[0045] Referring now to
[0046]
[0047] To accomplish the goals of the mesh network, mesh call control headers (hereinafter “mesh headers”) are used. In a preferred embodiment, SIP headers are used to implement the mesh headers. Alternative embodiments use other call control protocols. Among the mesh headers are a globally unique ID (“Mesh ID”), a destination header (“MeshDst”) to specify which node should handle the call, and a hop count (“MeshHop”) to prevent endless traversal of the whole mesh network while passing calls between nodes.
[0048] As shown in
[0049] If there are no mesh headers for the call, the node looks up 220 routing data for the number being called in database 120. Based on the routing data, the node determines 222 whether the called number is within the mesh network. If not, the node attempts 224 to make the call to VoIP provider 116, if available. If the node is not connected to VoIP provider 116 or otherwise cannot make the call, it attempts to make the call directly to the PSTN 114, if available. If it is unable to make the call through its own available resources (e.g. the VoIP provider and the PSTN), then it adds 226 a set of mesh headers designating the VoIP provider 116 or the PSTN 114 as the destination in the MeshDst header and passes 228 the call to a neighboring node.
[0050] If the number being called is in the mesh network—that is, the number is an extension 118 connected to an onsite PBX 110 (or a remote PBX 112 if its onsite PBX is unavailable)—the node adds 230 mesh headers designating the onsite PBXs 110 and/or remote PBXs 112 to which the called extension 118 is connected as the destination in the MeshDst header. The node then determines 232 whether the destination contains the node's hostname. If so, the node 234 accepts and handles the call. Otherwise, the route call loop 236 is used to iterate through destination nodes.
[0051] If the route call loop 236 failed 238 to send the call to a destination, the node sets 242 the destination in the MeshDst header to a list of nodes for the called number and sends 244 the call to a neighboring node. If the node is unable to send the call to a neighboring node, the node calls 248 a failover number using the connected VoIP provider 116 or PSTN 114, if available. If no resources are available on the node to call the failover number, the node sets 252 the destination header to the VoIP provider 116 or PSTN 114 and sends it to a neighboring node to make the call.
[0052] As seen in
[0053] The node then determines 266 whether the MeshDst header contains the node's hostname, instructions to make the call through VoIP provider 116 or PSTN 114, or neither. If MeshDst contains the node's hostname, the node accepts 268 and handles the call. If MeshDst indicates that the call is to be directed to the VoIP provider 116 or the PSTN 114, the node directs 270 the call through the appropriate mechanism, if available. Otherwise, it sends 274 the call to a neighboring node to do so, as long as the MeshHop header is greater than zero. If MeshDst contains neither the node's hostname nor instructions to direct the call outside the mesh network, the route call loop 236 is used to iterate through destination nodes.
[0054] As seen in
[0055] Referring now to
[0056] The use of website 130 to configure both the onsite PBX 110 and remote PBX 112 allows for an organization's continued cell phone availability even when the organization's ability to operate onsite is curtailed, such as during a major disaster or even a simple LAN outage. Ideally, a mobile phone number corresponding to the extension will already have been entered into the website 130 before the downtime, and thus be present in the database 120. If the cell forward setting were set to “only on down,” the forwarding would automatically take place. However, in some circumstances the field may not have been completed or updated before the downtime. Thus, if the organization's LAN is unavailable, preventing extensions 118 from connecting either to onsite PBX 110 or remote PBX 112, the website 130 may be accessed by an external internet source, such as a mobile phone, and instructed to forward the calls to each extension 118 (or to selected extensions 118) to the mobile phone number of the user of the extension 118.
[0057] As seen in
[0058]
[0059]
[0060] Shown in
[0061]
[0062] While there have been shown what are presently considered to be preferred embodiments of the present invention, it will be apparent to those skilled in the art that various changes and modifications can be made herein without departing from the scope and spirit of the invention.