Establishing a communication session

Parallel communication sessions can be established. A system receives an email communication from a user computer, and sends a reply to the user computer, wherein the reply includes a link allowing the user computer to establish a connection to a server; and wherein the link further includes an identifier. The system then receives from the user computer a connection request based on the link, said connection request including the identifier and specifying a first phone number associated with the user computer. The system then invokes an application for establishing a first voice connection with a first terminal identified by said first phone number, establishing a second voice connection with a second terminal identified by a second phone number indicated as associated with a computer terminal, and interconnecting the first and second voice connections to establish a voice call between the first and second terminals. The system also establishes a data connection with the user computer in response to the connection request, and establishes a data connection with the computer terminal, such that the user computer and the computer terminal can share a multimedia session, such that the voice call and the multimedia session are each associated with the identifier.

TECHNICAL FIELD

This invention relates to establishing a communication session between two parties, and in particular to establishing parallel voice and browser sessions.

BACKGROUND

There is known, for example from EP-1940137A, a method of setting up a call between two parties from within a network. A service provider can have a clickable button on a webpage that can be accessed by a member of the public using a web browser in a user terminal. When the user clicks the button, a web server sets up a call, either between the user terminal and a remote endpoint, or between another terminal associated with the user and the remote endpoint.

There are also known, for example from U.S. Pat. No. 7,003,090, methods that enable document sharing using a web browser, allowing inputs generated by one user to be visible to another user.

SUMMARY

It is an object of the present invention to allow two parties to take part in a voice call, while at the same time sharing a multimedia session, for example for document sharing.

Although separate methods are known for setting up voice calls between parties, and for enabling document sharing, it would be advantageous to be able to provide a single solution that provides both possibilities at the same time.

According to a first aspect of the present invention, there is provided a method of establishing parallel communication sessions, comprising receiving an email message from a user computer; and sending a reply to the user computer, wherein the reply includes a link allowing the user computer to establish a connection to a server; and wherein the link further includes an identifier. The method then comprises receiving from the user computer a connection request based on the link, said connection request including the identifier and specifying a first phone number associated with the user computer. In response, the method comprises invoking an application for establishing a first voice connection with a first terminal identified by said first phone number, establishing a second voice connection with a second terminal identified by a second phone number indicated as associated with a computer terminal, and interconnecting the first and second voice connections to establish a voice call between the first and second terminals. In addition, a data connection is established with the user computer in response to the connection request, and a data connection is established with the computer terminal, such that the user computer and the computer terminal can share a multimedia session, and such that the voice call and the multimedia session are each associated with the identifier.

This has the advantage that parallel voice and multimedia sessions can conveniently be set up.

In some embodiments, the method further comprises storing the identifier at the computer terminal before sending the reply to the user computer, for example in association with relevant information from the email message from the user computer.

The application for establishing and interconnecting the first and second phone connections may be an Intelligent Network application, or may be an Internet Protocol Multimedia Subsystem application.

The reply sent to the user computer may include the first phone number, and the connection request sent from the user computer confirms the first phone number, or the reply sent to the user computer may include a field for inclusion of the first phone number for sending from the user computer.

The step of establishing the data connection with the user computer in response to the connection request may comprise allowing web browser software in said user computer to view a web page hosted on the server, while the multimedia session may allow data inputs at the computer terminal to be displayed in a web browser of the user computer; and may allow data inputs in the web browser of the user computer to be displayed on the computer terminal.

According to a second aspect of the present invention, there is provided a method of establishing parallel communication sessions, comprising receiving a request for an identifier, following an email message from a user computer; and generating an identifier, for inclusion in a link to be sent in reply to the user computer, wherein the link allows the user computer to establish a connection to a server. On receiving from the user computer a connection request based on the link, said connection request including the identifier and specifying a first phone number associated with the user computer, an application is invoked for establishing a first voice connection with a first terminal identified by said first phone number, establishing a second voice connection with a second terminal identified by a second phone number indicated as associated with a computer terminal, and interconnecting the first and second voice connections to establish a voice call between the first and second terminals. Also, a data connection is established with the user computer in response to the connection request, and a data connection is established with the computer terminal, such that the user computer and the computer terminal can share a multimedia session, such that the voice call and the multimedia session are each associated with the identifier.

According to other aspects of the invention, there are provided computer systems operating in accordance with the first aspect of the invention, computer servers operating in accordance with the second aspect of the invention, and computer program products, comprising code for causing devices to operate in accordance with the other aspects of the invention.

DETAILED DESCRIPTION

FIG. 1shows a communication system10, which is of generally conventional form, except as described in more detail below. The communication system10is based around the use of a wide area network for carrying packet data, typically the internet12. Located in the wide area network12is an Intelligent Network (IN) application14that is able to establish telephone calls between users, as will be described in more detail below.

A server20is connected to the internet12. The server20is generally conventional, but is provided with call management software22that operates as described below, and hosts a web page24, which is also described below.

A computer terminal30is also connected to the internet12. The terminal30is generally conventional. For example, the terminal30might take the form of a conventional personal computer (PC), with email software32and web browser software34, and it is also provided with call management client software36that operates as described below.

In a typical embodiment of the invention, the server20is under the control of the same entity as the terminal30, allowing the installation of call management software22and call management client software36that complement each other. In another embodiment, the server20supports terminals30in multiple companies. Also, typically, the server20is able to work with multiple such terminals, although it is necessary to show and describe only one such terminal here for the purposes of explaining the invention. As an alternative, the call management client software36might be running on one computer that controls multiple terminals, each being staffed by a respective helpdesk operator. In principle, it would be possible for all of the functions of the server20and the terminal30, as described herein, to be performed in a single PC. Thus, the server20and the computer terminal30effectively form a single system, and the functions of the server20and the computer terminal30, as described herein, can be distributed between them, and/or shared with any other computer, in any convenient manner.

A second computer terminal, for example in the form of a PC40, is also connected to the internet12. The PC40is generally conventional, with email software42and web browser software44. Although shown here as a PC with a wired connection to the internet, it will be appreciated that equivalent functionality can be provided in a wireless device, including a cellular wireless device, for example a laptop, smartbook or netbook device.

FIG. 1also shows two terminals, in the form of telephones50,52. As illustrated inFIG. 1, the telephones50,52are cellular phones, connected to the packet data network12by means of respective radio access networks54,56. However, this is purely for the purposes of illustration, and the telephones50,52can be landline telephones or telephones of any other type, and they can be connected to any type of call-handling network, provided that the IN application14is able to establish calls therewith.

As described in more detail below, it is the intention that the telephone50should be in use by the same person as the PC40. Similarly, it is the intention that the telephone52should be in use by the same person as the terminal30. It will be appreciated that, while the telephones50,52are shown as completely separate from the PC40and the server30, they might equally be provided by means of voice call software applications installed on the respective computers.

In the illustrative use of the invention, the terminal30is being used by a helpdesk of an equipment or service provider, and the PC40is being used by a customer of the equipment or service provider, and the invention will be described below with reference to this situation, but it will be appreciated that the invention can equally be applied in other situations.

The process is therefore described with reference toFIG. 2, which illustrates the flow of messages between the end user PC40, the call management client software36in the terminal30, and the server20, in one illustrative example.

The process begins with email message M1when the end user on the PC40sends an email (for example describing a problem with a product supplied by an equipment provider or asking a question about the product) from the email client software42to the email client32of the terminal30acting as a support desk, the relevant email address having being notified by the equipment provider to its customers.

It will be appreciated that the email client32may not be directly associated with the terminal30, and may instead for example be located on a different computer in the organization owning or controlling the computer terminal30.

On receipt of the email message M1, the call management client36in the terminal30sends a message M2ato the server20, requesting a unique identifier. The server20responds to the terminal30with a message M2bcontaining the requested unique identifier. Within the call management client36in the terminal30, this identifier is then associated with any relevant information that might be of assistance to the helpdesk operator when eventually dealing with the issue raised in the email message M1. For example, where the helpdesk operator is able to assist customers of multiple companies, or where the server20can support helpdesk operators in multiple companies, the identity of the relevant company is attached to the identifier. As another example, when the telephone number of the customer is already known (for example from information previously supplied by the customer), this is stored with the identifier. Any other relevant information, from the email message M1or from other sources, can also be stored.

The call management client software36then arranges for an email message M3to be sent from the email client32of the server30(or from the separate email client mentioned above) to the PC40via its email client42. The email message M3invites the customer to proceed further to receive browser support. Specifically, the response email message M3contains a link to the web page24hosted on the server20. For example, the link might be provided simply as a clickable URL, or as a clickable icon pointing to the URL, that identifies the web page24. In either case, the unique identifier notified from the server20to the terminal30is included as a parameter in the URL. The message M3indicates to the user of the PC40that he should follow the link to begin a voice/browser communication support session.

When the end user, having received the reply email message M3, clicks on the link provided, this causes the web browser software44on the PC40to start. Using the URL associated with the link, the browser44causes a message M4to be sent to the server20to start a session therewith and open the web page24. In the server20, the unique identifier that was included as a parameter in the URL used by the message M4can be retrieved, and can be used to collect any relevant information that was included in the message M2a.

In addition, the web page24provided to the browser software44allows the user to enter a phone number where he can be reached, that is, the number of the telephone50. The user is informed that submitting this information will cause a voice call to the company to be established. As an alternative, when the same user has previously contacted the helpdesk, or the service provider has previously received the user's telephone number from information provided by the user, the web page can contain this telephone number, and the user can be asked to confirm this number in the web page before submission.

Having received the submission from the user, the server20sends a message M5, initiating communication to the call management client36at the company support desk, and providing the relevant information.

Thus, HTTP sessions70,72are established between the server20and the call management client36, and between the server20and the browser software44of the PC40respectively. This effectively allows a multimedia session to be started between the computer30and the computer40, as will be described in more detail below.

At this time, the call management software22in the server20is able to monitor the availability of the or each helpdesk operator on the or each terminal30. When an operator is available to handle an interaction with the user, this is indicated to the call management client36, and forwarded to the server20, and thus notified to the user by means of a message in the web page24that is visible in the browser software44.

The user is then able at any time to click a ‘submit’ button, or the like, in this web page to send an acknowledgement message M6to the server20.

On receipt of an acknowledgement message M6, the server20establishes a connection M7through an Intelligent Networking application interface to the Intelligent Networking application14. The server20is able to provide the application14with the telephone numbers of the telephones50,52in a suitable protocol message. The application14uses an existing Click-to-Call solution, in order to set up a first network-originated voice call (message M8a) to the user's telephone50, and to set up a second network-originated voice call (message M8b) to the telephone52associated with the support desk. Having set up these two calls, the application14can interconnect the two calls (message M8c). At the same time, the helpdesk operator at the terminal30is provided with relevant information linked to the question or problem mentioned in the original email message M1, allowing the helpdesk operator to provide a more efficient service to the user.

The user is thus able to speak to the helpdesk operator by means of the interconnected voice calls. For example, the user can describe in more detail the problem that led him to call the helpdesk, while the helpdesk operator can provide verbal instructions on how to resolve the problem.

In addition, the server20acts to interconnect the web browsers34,44on the terminal30and on the PC40, respectively, in a multimedia session.

The telephone number of the user's telephone50is contained in the user's submission to the server20, and is then supplied by the server20to the Intelligent Networking application14, and used by the application14to establish the voice call to the user50. This telephone number can for example be a telephone number in accordance with the E.164 numbering plan when the user's telephone is a conventional fixed or mobile telephone, or can be a Session Initiation Protocol (SIP) Uniform Resource Identifier (URI) when the user's terminal is in the form of voice call software on the PC40or on another device. The telephone number of the user's telephone50is used to relate the multimedia session with the voice call.

In the multimedia session, when the helpdesk operator at the terminal30provides images or text on a screen of the terminal30, this is passed to the call management client36, and the information is forwarded to the server20, shown as message M9inFIG. 2. Thus, while the user and the help desk operator discuss the problem, the server20can through the call management software22cause the images or text to be displayed on the browser44of the PC40, shown as message M10inFIG. 2.

For example, the call management client36could cause two areas to be displayed on the screen of the computer terminal30, one for images and one for text. Then, when the helpdesk operator uses the computer mouse to drag an image into the image area, the actual file is uploaded by the call management client36to the call management function22in the server20. The server20then reformats the file if necessary, and packs the image file in a Hypertext Markup Language (HTML) frame, which is then displayed on the browser44in the user computer40. This interaction between the call management function22and the browser44can be based on existing AJAX technology for this purpose.

Conversely, a user can make various inputs on the PC40, such as text inputs to insert new text or modify or highlight text in a document, mouse movements or clicks on the image displayed. These inputs are passed by the browser software44to the server20, shown as message M11inFIG. 2, and then forwarded as message M12to the call management client36for display on the terminal30.

For example, if a user has a problem with a product made by the equipment provider, but is unable to describe clearly which model he owns, the helpdesk operator can cause the web browser software44on the user's computer40to display images of all of the models made by the equipment provider. The user can then identify the intended model, either by telling the helpdesk operator, or by entering text through his computer keyboard, or by using his computer mouse, touch screen, or the like. The text entered by the user, or the mouse position, are then visible to the helpdesk operator.

Similarly, if the helpdesk operator is able to determine how the user should resolve his problem, the helpdesk operator may be able to play a video containing a demonstration of the actions that the user should take, and this can similarly be displayed on the web browser software44of the user's computer40. The user may then be able to pause or replay this video as required. At the same time, the user and the helpdesk operator can hold a conversation, allowing the user to ask additional questions if required.

Thus, while communicating by voice, the two parties are also able to exchange visual images or documents, including pointing each other to certain items in the image or document.

As described above, the Click-to-Call function invoked by the server20is an Intelligent Network application. However, as an alternative, an Internet Protocol (IP) Multimedia Subsystem (IMS) application server and Session Initiation Protocol (SIP) messages can be used to set up and interconnect the voice calls.

Thus, the voice communication between the parties can be enhanced with a multimedia session provided by a linked data communication channel between the two parties in the call, without requiring any special software installation at the end user side.