Not applicable.
The invention falls within the telecommunications sector and more specifically within agreements for the interconnection between switching centers, to work between exchanges having different types of switching equipment.
The invention herein relates to a system and procedure for establishing hybrid VoIP connections, more specifically a system capable of establishing real-time connection between a user and an agent, where the user connects via VoIP and the agent connects via a standard telephone call over the public switched telephone network (PSTN).
Nowadays, users use the Internet more and more to search for product information, contract services, make on-line purchases, request assistance, customer service, etc.; in other words, the Internet has become a consolidated communication channel between users and companies.
However, it is common that in some cases the assistance of a specialized consultant or sales person is required, or the user needs to contact the company that advertises the products on the Internet. For this reason, many of the web pages publish numbers that a user can call to be attended to personally, meaning that the user has to have a telephone line and stop using the Internet channel momentarily, which causes a decrease in the effectiveness of the contact.
To solve this problem there is VoIP technology, an acronym for Voice over Internet Protocol (Voice over Internet Protocol) that allows communication using the Internet channel.
The problem with VoIP technology is that both the user and the agent need to be able to establish the VoIP connection. When this requirement is taken to large call centers, this implies a significant technological change since call center systems are based on communications over the public switched telephone network (PSTN) and not over the Internet.
The object of the invention herein is, therefore, to develop an improved communication system with respect to those systems currently known, providing a solution to the problem described so that the user can establish communication through VoIP technology and be attended to by an agent through the public switched telephone network (PSTN), regardless of where the agent works, that is, remotely, from his/her office or from a call center with a corporate telephone system.
Based on the prior art, the objective of the invention herein is to provide a system for real-time hybrid VoIP connections, having the features of claim 1.
Another objective of the invention herein is to provide a procedure for making connections via VoIP technology which link up to the public switched telephone network (PSTN), allowing real-time connection.
To complement the description being made and in order to facilitate the understanding of the features of the invention, the descriptive memory herein is accompanied by a set of drawings in which, with illustrative and non-limiting character, the following has been represented:
The system for hybrid VoIP connections, the subject-matter of the invention, essentially comprises:
The aforementioned Front-end (1) is capable of creating a universally unique identifier (UUID) associated with the communication session to be developed, when a user, through a web page or a mobile application that has implemented said Front-end (1), requests to be connected with an agent through the Front-end (1) itself.
For its part, the Back-end (3) enables the hybridization of the VoIP communication system initiated at the Front-end (1) with the agent's DDI (4) connected to the public switched telephone network (PSTN), for which it has a list of accounts (5) for a VoIP protocol, with the necessary credentials to initiate, modify and terminate the connection, and a list of DDIs (6) connected to the public switched telephone network (PSTN).
At least the Back-end (3) is aware of the agent's DDI (4), either because it is provided from the Front-end (1) or because more sophisticated systems are used as we described in some previously filed inventions.
At least one private branch exchange (PBX) (7) having several functionalities for this connection system; namely:
The procedure for real-time hybrid VoIP connections which starts when a user who wishes to connect with a sales agent via a device having internet access arrives at a web page or a mobile application that has implemented a Front-end (1) and a Back-end (3), comprises the following successive phases:
1. A first phase in which a VoIP communication is established between the Front-end (1) and an automatic private branch exchange PBX (7), via a VoIP account (8) from a list of VoIP accounts (5) available by the Back-end (3), while presenting the user with the necessary controls and messages to manage the VoIP session.
2. The Back-end (3) assigns a free DDI (9) from a list of DDIs (6) to the VoIP account (8), and instructs an automatic private branch exchange PBX (7) to execute a call to the DDI (9) assigned to the VoIP account (8) in the previous phase, placing the call on hold when the user accepts it, or it is accepted automatically.
3. Next, the Back-end (3) instructs the automatic private branch exchange PBX (7) to call the agent, and depending on his/her routing tables, makes the call over a public switched telephone network (PSTN) (10) or other network, and, when the agent receives the call on his/her device (Smartphone, computer, or any other means) and accepts the call, the PBX (7) connects the call to the agent with the call it has on hold from the user assigned to the VoIP account (8) in phase 1).
4. The moment either of the two calls is terminated, with the agent or with the VoIP account (8), the call is not accepted, it is disconnected before reaching the previous point or any other incident, the PBX (7) disconnects the party or parties that are still connected and notifies the Back-end (3) to release the blocked resources in the lists of VoIP accounts (5) and DDIs (6) linked to the session.
This system and procedure efficiently solves the existing problem of connecting a user with VoIP technology to an agent of, for example, a large call center based on communications via the public switched telephone network (PSTN).
In essence, the invention proposes a system for real-time hybrid VoIP and public switched telephone network (PSTN) connections.
The system consists of a web page or a mobile application having implemented a Front-end or user interface (1) and a Back-end (3), connected via a communication interface (2).
The Front-end (1) is the front-end layer of the development, which allows the user to enter and interact with the website. This layer is located over the Back-end (3) and usually comprises drop-down menus, images, icons, colors, graphics and animations, and its basic function is to improve the navigation experience on the front side (of the user), whether in a web environment, a mobile application or a desktop application. The only requirement associated with the invention herein is that said front-end (1) be capable of creating a universally unique identifier (UUID) associated with the communication session to be carried out.
The back-end (3) is that part of the application that lies behind, that is opaque to users. This process includes hardware or software layers that allow the hybridization of two communication systems: the VoIP communication that starts at the Front-end (1) with the agent's DDI connected to the public switched telephone network (PSTN).
The communication interface (2) consists of an API or Application Programming Interface, which comprises a set of definitions and protocols used to design and integrate the application software. In this case, its function is to place the Front-end (1) in communication with the Back-end (2) in charge of the process, although there can also be a direct connection between the Front-end (1) and the Back-end (3).
The Back-end (3) has a list of accounts (5) for a VoIP protocol, usually SIP (Session Initiation Protocol) accounts with the necessary credentials to initiate, modify and terminate the connection. It also has a list of DDIs (Direct Dialing Inward) (6) connected to the public switched telephone network (PSTN).
Additionally, the system includes at least one PBX (Private Branch Exchange) (7). This is in fact a telephone exchange directly connected to the public telephone network by means of trunk lines to manage independently not only internal calls, but also incoming and outgoing calls over any other telephone exchange in charge of orchestrating communication and enabling access to the PSTN, VoIP etc. networks and protocols.
The automatic private branch exchange (PBX) (7) includes the DDI functionality with which the telephone company that provides service to the PBX assigns a range of numbers associated with one or more telephone lines. A DDI allows the company to assign a personal number to each employee, without the need for a separate physical telephone line to be connected to the PBX, so that telephone traffic can be more easily separated and managed. In the system of the invention, upon receiving a connection attempt the Back-end (3) assigns a free DDI from the list of DDIs (6) and blocks it, while updating the PBX (7) so that it forwards the call to the DDI of the assigned agent (4).
At least one automatic private branch exchange (PBX) (7) that includes a connection to the public switched telephone network (PSTN) (10) to make calls through the communications network, given that the system knows the telephone number to connect to the agent, that is, the agent's DDI (4), either because it has been pre-configured or provided in real time as we will explain in the process, or because more sophisticated systems are used.
The automatic private branch exchange PBX (7) has pre-configured a list of VoIP accounts, for example, but not exclusively, under SIP protocol, with permission to receive calls. Said PBX (7), not excluding that it is the same, receives calls associated with a list of DDIs (6) connected to the public switched telephone network (PSTN) (10) where it can receive calls.
At least one of the automatic private branch exchanges PBX (7) must have a routing table (dial plan) to allow routing the calls received in the DDIs (6) of the public switched telephone network (PSTN) to the accounts of the list of accounts (5) for VoIP protocol. Said PBX (7) must also be able to make calls over the public switched telephone network PSTN (10) or other configured network.
When a user, who wishes to connect to a sales agent via a device with internet access, arrives at a web page or a mobile application that has the Front-end (1) implemented, the following process is triggered:
1. The user in question requests connection to an agent through the Front-end or user interface (1), which creates a universally unique identifier associated with each session (UUID).
2. The Front-end (1) reports this request to the Back-end process (3) through the communication interface (2) indicating the universally unique identifier associated with the session (UUID) and the agent's DDI (4) if necessary.
3. The Back-end (3) blocks a free account from the list of VoIP accounts (5) and marks it as blocked, while assigning it the UUID of the session. This specific account is identified as (8) in the diagram of
4. The Back-end (3) provides the Front-end (1) with the necessary parameters to establish a VoIP connection (access point, extension ID, credentials), said parameters being previously stored in the list of VoIP accounts (5) and related to the blocked account (8) in the previous point assigned to that session, identified by the UUID.
5. The Front-end (1), using a market VoIP client, for example https://www.pjsip.org/, establishes the connection between the PBX (7) and the Front-end (1) using the information received in the previous point from the account (8) and, via the communication interface (2), constantly informs the Back-end process (3) of the status of the connection, so as to keep the VoIP account (8) blocked.
6. Once the VoIP connection is established, the Front-end (1) communicates said connection to the Back-end (3) via the interface (2). Likewise, the Front-end (1) presents the user with the necessary controls and messages to manage the VoIP session, for example, the option to accept the call, disconnect the call, manage volume, etc. depending on the specific configuration of the user interface.
7. The Back-end (3) assigns a free DDI (9) from the list of DDIs (6) to the VoIP account (8) blocking it. Said DDI (9) will remain in a blocked state as long as the associated VoIP account (8) is blocked.
8. The Back-end (3) updates the PBX (7) so that calls received on said DDI (9) are forwarded to the associated VoIP account (8), instructing it to execute a call to the DDI (9) assigned to the VoIP account (8).
9. The PBX (7) calls the assigned DDI (9), which is received at the PBX (7) and routed to the VoIP account (8) and, when the user accepts the call, or it is accepted automatically, it puts the call on hold in a queue notifying the Back-end (3) of this occurrence.
10. The Back-end (3) instructs the PBX (7) to call the agent providing his/her DDI (4), said DDI having been obtained because it was preconfigured, was communicated in one of the previous steps, for example in step 2, or because more sophisticated systems are used as described in some previously filed inventions.
11. The PBX (7) calls the agent's DDI (4), and depending on its routing tables or dial plan, it will make the call over the PSTN or the appropriate network.
12. The agent receives the call on his/her device, Smartphone, computer, etc. and, when the agent accepts the call, the PBX (7) detects that the call has been accepted by the agent and connects the call to the agent with the call it has on hold from the user, notifying the Back-end (3).
13. The PBX (7) notifies the Back-end (3) that it has connected the agent and the VoIP account (8).
14. If the process does not follow the defined flow at any given moment, the call is not accepted, is disconnected before reaching the previous point or any other incident, and the process is cancelled, thus releasing the blocked resources (5, 6) linked to the session's ID.
15. The moment either of the two calls is terminated, with the agent or with the VoIP account (8), the PBX (7) detects it, disconnecting the party that still remains connected and notifies the Back-end (3) which releases the resources (5, 6) linked to the session.
In an embodiment variant, the list of VoIP credentials (5) and the list of DDIs (6) are created dynamically; currently there are PBXs as a service, for example Twilio, which would allow the creation of VoIP accounts (5) or DDIs dynamically, i.e. it would not be necessary to have them pre-defined, the Back-end (3) would be responsible for creating them on demand.
Having sufficiently described the nature of the invention, as well as an example of preferred embodiment, it is hereby stated for the appropriate purposes that the materials, shape, size and arrangement of the described elements may be modified, provided that this does not involve an alteration of the essential features of the invention claimed below.