The invention concerns in general the technical field of telecommunication. More particularly, the invention concerns a solution for establishing a communication session between parties.
The current trend in customer service is to enable interaction between a customer and a service provider remotely by using modern technologies in a field of telecommunications. Traditionally, the interaction in the remote customer service has been implemented with voice i.e. the customer e.g. calls to service provider's customer service. A more sophisticated solution is that the interaction is performed with a video call by applying a specific hardware and software application executed by the hardware for the service session.
A recent technology taken into use in remote communication in which both voice and video are involved in is so called web real-time communication (WebRTC) technology. The WebRTC technology allows audio or video communication to work inside web pages by allowing direct peer-to-peer communication, eliminating the need to install plugins or download native apps. Hence, the audio or video communication may be established with web browser which simplifies a user experience since an application familiar to the user may be used for voice call or video sessions.
Applying the WebRTC technology for customer service solutions has a deficiency in that the WebRTC does not have tools for implementing a charging of the connection, or on the customer service. Generally speaking, it depends on the type of customer service the payer of the connection and/or the customer service itself may be the end customer or the service provider of the customer service. Hence, there is need to develop solutions which alleviate the deficiency and enables at least a generation of data on the basis of which the charging of the customer service connection may be performed.
The following presents a simplified summary in order to provide basic understanding of some aspects of various invention embodiments. The summary is not an extensive overview of the invention. It is neither intended to identify key or critical elements of the invention nor to delineate the scope of the invention. The following summary merely presents some concepts of the invention in a simplified form as a prelude to a more detailed description of exemplifying embodiments of the invention.
An objective of the invention is to present a method and a communication system for establishing a communication session. Another objective of the invention is that at least portion of the communication session is established with web real-time communication.
The objectives of the invention are reached by a method and a communication system as defined by the respective independent claims.
According to a first aspect, a method for establishing a communication session is provided, the method comprising: receiving, by a server, a request for establishing a communication session from a first web real-time communication, WebRTC, device to a second web real-time communication, WebRTC, device; acknowledging, by the server, the request to the first WebRTC device; and in response to a receipt of the acknowledging: generating a first connection request for a voice call, the first connection request comprising at least a network address of the first WebRTC device towards a WebRTC gateway device for establishing a first connection for voice call to the second WebRTC device, the WebRTC gateway device configured to transfer the first connection request to a public switched telephone network; generating a second connection request comprising an identifier representing the first WebRTC device towards a connection management server implementing WebRTC based communication; and in response to an establishment of the first connection for the voice call by the second WebRTC device: generating an inquiry to the connection management server by the second WebRTC device for determining if a connection request is received from the first WebRTC device with which the first connection for the voice call is established by the second WebRTC device, the inquiry to the connection management server carrying an identifier representing the first WebRTC device from which the first connection for the voice call is established; and in response to a determination that the connection management server stores an indication on the connection request from the first WebRTC device establishing a communication session between the first WebRTC device and the second WebRTC device, the communication session comprising both the first connection for the voice call and a second connection.
The request for establishing a communication session from a first WebRTC device may comprise data for authenticating the first WebRTC device by the server.
Further, the method may comprise a step of generating, by the public switched telephone network, data record for storing charging data associated to the communication session established.
The identifier representing the first WebRTC device from which the first connection for the voice call is established may be obtained by the second WebRTC device by inquiring it from a database storing the identifier associated with the network address of the first WebRTC device, the inquiry to the database comprising a network address of the first WebRTC device obtained from the first connection request for the voice call received by the second WebRTC device.
The identifier representing the first WebRTC device may be the second connection request specific and generated in response to the receipt of the acknowledgement from the server by one of the following: the first WebRTC device, the connection management server.
The identifier representing the first WebRTC device obtained from the database may comprise a link address to the connection management server for associating, by the connection management server, the second connection request from the first WebRTC device with the inquiry to the connection management server from the second WebRTC device.
Moreover, the second connection may be established with web real-time communication technology.
Still further, data may be carried over the second connection, the data being at least one of the following: real-time video data, video data file, document data, chat application data.
According to a second aspect, a communication system for establishing a communication session is provided, the system comprising: a first web real-time communication, WebRTC, device and a second web real-time communication, WebRTC, device; a server configured to acknowledge, to the first WebRTC device, a request for establishing a communication session from the first WebRTC device to the second WebRTC device; a WebRTC gateway device configured to, in response to a receipt of a first connection request for a voice call comprising at least a network address of the first WebRTC device, establish a first connection for the voice call to the second WebRTC device, the WebRTC gateway device configured to transfer the first connection request to a public switched telephone network; a connection management server configured to receive a second connection request comprising an identifier representing the first WebRTC device, the connection management server configured to implement WebRTC based communication; wherein the system in response to an establishment of the first connection for the voice call by the second WebRTC device: the second WebRTC device is configured to generate an inquiry to the connection management server for determining if a connection request is received from the first WebRTC device with which the first connection for the voice call is established by the second WebRTC device, the inquiry to the connection management server is configured to carry an identifier representing the first WebRTC device from which the first connection for the voice call is established; and wherein the system, in response to a determination that the connection management server stores an indication on the connection request from the first WebRTC device, a communication session between the first WebRTC device and the second WebRTC device is configured to be established), the communication session comprising both the first connection for the voice call and a second connection.
The server may be configured to acknowledge the first WebRTC device the request for establishing a communication session from the first WebRTC device to the second WebRTC device in response to an authentication of the first WebRTC device by the server based on authentication data received in the request.
The public switched telephone network may be configured to generate data record for storing charging data associated to the communication session established.
The second WebRTC device may be configured to obtain the identifier representing the first WebRTC device from which the first connection for the voice call is established by inquiring it from a database storing the identifier associated with the network address of the first WebRTC device, the inquiry to the database comprising a network address of the first WebRTC device obtained from the first connection request for the voice call received by the second WebRTC device.
The first WebRTC device or the connection management server may be configured to generate, in response to the receipt of the acknowledgement from the server, the identifier representing the first WebRTC device, the identifier representing the first WebRTC device being the second connection request specific.
The connection management server may be configured to associate the second connection request from the first WebRTC device with the inquiry to the connection management server from the second WebRTC device on a basis of a link address in the identifier representing the first WebRTC device obtained from the database.
Moreover, the communication system may be configured to establish the second connection with web real-time communication technology.
Still further, the communication system may be configured to carry, over the second connection, at least one of the following: real-time video data, video data file, document data, chat application data.
The expression “a number of” refers herein to any positive integer starting from one, e.g. to one, two, or three.
The expression “a plurality of” refers herein to any positive integer starting from two, e.g. to two, three, or four.
Various exemplifying and non-limiting embodiments of the invention both as to constructions and to methods of operation, together with additional objects and advantages thereof, will be best understood from the following description of specific exemplifying and non-limiting embodiments when read in connection with the accompanying drawings.
The verbs “to comprise” and “to include” are used in this document as open limitations that neither exclude nor require the existence of unrecited features. The features recited in dependent claims are mutually freely combinable unless otherwise explicitly stated. Furthermore, it is to be understood that the use of “a” or “an”, i.e. a singular form, throughout this document does not exclude a plurality.
The embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings.
The specific examples provided in the description given below should not be construed as limiting the scope and/or the applicability of the appended claims. Lists and groups of examples provided in the description given below are not exhaustive unless otherwise explicitly stated.
Further, the communication system may comprise a server 100 providing a service for initiating an establishment of a communication session between the parties, i.e. the first WebRTC device 105 and the second WebRTC device 110. Moreover, the communication system may comprise a WebRTC gateway device 115 for establishing the first connection for a voice call to the second WebRTC device 110, wherein the WebRTC gateway device 115 may be configured to transfer the call connection request to PSTN 140, such as a mobile communication network, from the IP based communication network 130. The PSTN 140 advantageously comprises at least one system for generating a data record for storing charging data associated to the communication session established. The charging data to be stored in the data record may be generated in accordance with voice call charging in the PSTN 140 by utilizing existing systems, and functionalities, in the PSTN 140. For example, the charging data may be generated, at least in part, by so called IP multimedia sub-system or by an intelligent network being involved in call connection establishment. Still further, the communication system may comprise a connection management server 120 for establishing the second connection between the parties, the second connection may be associated with the first connection for the voice call for establishing the communication session.
Next the invention will be described by referring to
The server 100 receiving the request may be configured to perform one or more procedures for determining if the first WebRTC device 105 may be provided access to initiate the communication session. The procedure(s) may e.g. comprise identifying the user by comparing the received data to a stored data accessible to the server. For example, it may compare if the user credentials are correct or not. In case the server 100 determines that the communication session may be established with the first WebRTC device 105 it may be configured to acknowledge this to the first WebRTC device 105. In case the server 100 determines, for any reason, that the communication session may not be established with the first WebRTC device 105 it may be configured to cancel the initiation of the communication session 210 e.g. by generating a signal to the first WebRTC device 105 canceling the procedure.
The description of the method as schematically illustrated in
Next, in response to an establishment of the first connection for the voice call 230 experienced by the second WebRTC device 110 further operations may be conducted. The establishment of the first connection for voice call 230 shall in this context be understood at least to cover the following: a receipt of the first connection request in the second WebRTC device 110, accepting the first connection request by the second WebRTC device 110 for establishing the voice call connection over the first connection.
In response to the establishment of the voice call connection over the first connection 230 mentioned above the second WebRTC device 110 may be configured to obtain an identifier of the first WebRTC device 110 from the first connection request for the voice call. Next, the second WebRTC device 110 may be configured to generate an inquiry to the connection management server 120, to any other entity, such as to a predetermined data storage, for determining 235 if a connection request is received from the first WebRTC device 105 with which the first connection for the voice call is established by the second WebRTC device 110. The inquiry to the connection management server 120 may carry an identifier representing the first WebRTC device 105 from which the voice call connection over the first connection is established. The connection management server 120 may be configured to respond to the inquiry in a manner providing information if the connection management server 120, or the data storage, stores in indication that the connection request is received. In case there is no indication on the connection request the second WebRTC device 110 may be configured to terminate the establishment of the communication session. Alternatively, in response to a determination that the connection management server 120 stores an indication on the connection request from the first WebRTC device 105 a communication session may be established 240 between the first WebRTC device 105 and the second WebRTC device 110. As a result, the communication session established in the manner as described comprises both the voice call connection over the first connection and the second connection so that the voice content may be delivered, at least in part, through another route than another content. The other content may e.g. be a real-time video data, data files carrying video data or document data, chat application data, or any combination of these, which other content is carried by utilizing WebRTC technology at least in part. The connection management server 120 may advantageously be configured to implement one or more functionalities which enable carrying the data between the parties over the second connection.
As indicated the connection management server 120 may be configured to convey the data over the second connection. In a further embodiment the transfer of data over the second connection may be implemented so that the connection management server 120 may be configured to link the first and the second WebRTC devices 105, 110 together, but the data transfer is performed over so-called peer-to-peer connection directly between the communicating parties. This may e.g. be achieved so that the connection management server 120 transmits information on at least a network address, such as an IP address, of the other communicating party to each communicating party i.e. the network address of the first WebRTC device 105 to the second WebRTC device 110 and vice versa. In response to a receipt of the network address, or addresses, the second connection may be established directly between the parties as a peer-to-peer connection, for example. In this kind of an embodiment a role of the connection management server 120 is, more or less, to operate as an entity, which enables connection between the devices 105, 110 at least in part by means of identifying that the communicating parties are searching each other.
In an embodiment of the invention in which the second WebRTC device 105 is configured to inquire from a data storage, such as from database, if an indication on the connection request is stored, it may be arranged that the response to the inquiry comprises a link address to the connection in question. The link address may e.g. direct, by activating the link address, the second WebRTC device to initiate the connection towards the connection management server 120 wherein the connection e.g. carries an identifier of the connection in question. In this manner the connection management server 120 may associate the connection requests received from the first WebRTC device 105 and from the second WebRTC device 110 together. The inquiry performed by the second WebRTC device 110 to the data storage may be arranged so that the inquiry is performed directly to the data storage or indirectly over another entity. The other entity may e.g. be a back-end device or a server device, such as a web server, which may be instructed to access the data storage by the second WebRTC device 110 with signaling, for instance.
Next, some aspects with respect to an establishment of the first connection for the voice call, as described above, is discussed by referring to
It is worthwhile to mention that network entities for delivering the first connection for the voice call as described above are non-limiting examples of suitable entities. However, the first connection may be arranged in any other manner over the PSTN than described. For example, in some implementation the IP Multimedia Subsystem may be omitted, and the SIP trunk network element 320 may be configured to take care of the establishment of the first connection for the voice call.
The description of an embodiment of the invention above is mainly based on an idea that the first WebRTC device 105 is configured to establish the voice call connection over the first connection and the second connection towards the mentioned entities, such as the WebRTC gateway device 115 and the connection management server 120. However, the present invention is not limited only to such an implementation, but it may be arranged that the first WebRTC device 105 initiates all communication i.e. both the first connection for the voice call and the second connection to a same network node, which is configured to divide the first connection and the second connection towards different entities, such as towards the WebRTC gateway device 115 and the connection management server 120. The network node for dividing the connections may a distinct network node to the mentioned ones or it may even be one of the following: a server 100, the WebRTC gateway device 115 or the connection server 120.
As mentioned the communication system forming the communication environment may comprise a first communication device 105 and a second communication device 110 both being configured to implement so called web real-time communication (WebRTC) technology among any other communication technology. Moreover, the communication system may comprise a server 100, a WebRTC gateway device 115 and a connection management server 120 for establishing a communication session comprising both the first connection for the voice call and the second connection. An example of the first or the second WebRTC device 105, 110 is schematically illustrated in
The description of at least some aspects of the present invention is performed in a communication system with separate network devices, such as the server 100, the WebRTC gateway device 115, the connection management server 120. Generally speaking, the communication system, according to an embodiment of the invention, may comprise means for performing the described method in the communication system. The means may be arranged in the same computing device, such as in a server, or it may be distributed computing environment, in which the operations and functionalities are shared between separate network nodes.
The specific examples provided in the description given above should not be construed as limiting the applicability and/or the interpretation of the appended claims. Lists and groups of examples provided in the description given above are not exhaustive unless otherwise explicitly stated.
Number | Date | Country | Kind |
---|---|---|---|
20185307 | Apr 2018 | FI | national |
Number | Name | Date | Kind |
---|---|---|---|
8359004 | Cheng | Jan 2013 | B2 |
8861692 | Phelps | Oct 2014 | B1 |
10085124 | Patel | Sep 2018 | B2 |
20150029296 | Ni et al. | Jan 2015 | A1 |
20170171508 | Pang | Jun 2017 | A1 |
20170195391 | Elad | Jul 2017 | A1 |
20200036703 | Håkansson | Jan 2020 | A1 |
20200099789 | Miller | Mar 2020 | A1 |
Number | Date | Country |
---|---|---|
2517760 | Mar 2015 | GB |
2016156256 | Oct 2016 | WO |
Entry |
---|
Finnish Search Report, dated Oct. 30, 2018, from corresponding FI application No. 20185307. |
European Search Report for Application No. 19 16 6665 dated Jul. 8, 2019. |
Number | Date | Country | |
---|---|---|---|
20190306203 A1 | Oct 2019 | US |