Method and a module for shifting a call established through a first application server in order to route it through a second application server

A method for shifting an original call established between a first user device (1) and at least a correspondent device (2) through a first application server (3) in order to route it through a second application server (4), the method comprising—instructing the first application server (1) to forward the original call through the second application server (4) to the first user device (1) upon receiving the application server shift instruction, the first application server being instructed to establish a three-way conference communication between the first user device (1), the correspondent device (2) and the second application server (4) in order to forward the original call from the first application server (3) to the second application server (4); —determining that an incoming call routed from the second application server (4) to the first user device (1) has an identification information matches identification information of the original call; —causing the first user device (1) to pick-up the incoming call routed from the second application server (4) to the first user device (1) and instructing to release the call branch between the first application server (3) and the first user device (1) upon determining that the identification information matches.

FIELD OF THE PRESENT INVENTION

The present invention relates to telecommunications and in particular to methods and systems for shifting a call established between a first user device and a correspondent device through a first application server in order to route it through a second application server.

BACKGROUND

Some private application servers, such as enterprise communication application servers, provide much more communication services than public network communication application servers. Enterprise communication servers typically provide supplementary services such as call recording, video conferencing, consultation calls, transferring, call shifting between a set of user terminal devices, and others.

When a user, who is a registered subscriber of such a private application server, happens to initiate or receive a communication directly through the public network, he is not in position to benefit from the full services of the private application server, e.g. his enterprise application server. For example, the user involved in a mobile communication, managed by a mobile network telephony application server, cannot escalate this communication to a full collaboration session, this escalation capability being only available through his enterprise communication application server, which is not involved in the communication so far.

Therefore, in order to benefit from the supplementary services of the private application server, the user must hang-up the communication and, then, he re-establishes the call using the private application server. To that end, the user needs to choose the private application server, re-find the contact of the other user and establish a new call through the private application server.

Such process is bothersome, time consuming and should therefore be avoided.

FR 2 935 858 discloses a telecommunication method that allows shifting a call established through a server of the public network in order to route it to an enterprise application server. FR 2 935 858 discloses that a first user terminal may send a server shift instruction and that upon a server shift instruction has been received, the public network is instructed to reroute the call towards the enterprise application server.

The public network stops the call with the terminal of the first user, suspends the call with the correspondent device and performs a call towards the enterprise application server. Then, the enterprise application server establishes a call with the terminal of the first user which accepts the call.

SUMMARY

Various embodiments provide a method and module for automatically shifting a call established through a first application server in order to route it through a second application server.

In a first embodiment, a method for shifting an original call established between a first user device and a correspondent device through a first application server in order to route it through a second application server is provided. The method comprises:receiving a server shift instruction;instructing the first application server to forward the original call through the second application server to the first user device upon receiving the application server shift instruction, the first application server being instructed to establish a three-way conference communication between the first user device, the correspondent device and the second application server in order to forward the original call from the first application server to the second application server;determining that an incoming call routed from the second application server to the first user device has an identification information which matches identification information of the original call;causing the first user device to pick-up the incoming call routed from the second application server to the first user device and instructing to release the call branch between the first application server and the first user device upon determining that the identification information matches.

Thus, the call can be automatically shifted through the second application server and the users can benefit from the full services of the second application server.

Thanks to these features, the call can be shifted seamlessly.

In some embodiments, such a method may comprise one or more of the features below:the method comprises a step of instructing the first application server to tag the original call forwarded from the first application server to the second application server in order to generate identification information of the original call;the method comprises a preliminary step of determining that there is a valid route between the second application server and the first user device;the method comprises receiving a notification that an original call is established between the first user device and the correspondent device through the first application server and sending an invitation to shift the call through the second application server;the method comprises providing the first application server with the second application server address and information representative of the first user device address, the said information representative of the first user device address being a first user device address or a unique contact address assigned to the first user in order to forward the original call from the first application server to the second application server and route it to the first user device.

In a second embodiment, a module for shifting an original call established between a first user device and a correspondent device through a first application server in order to route it through a second application server is provided. The module comprises:an engine which is configured to:instruct the first application server to forward the original call through the second application server to the first user device upon receiving an application server shift instruction, the first application server being instructed to establish a three-way conference communication between the first user device, the correspondent device and the second application server in order to forward the original call from the first application server to the second application server;determine that an incoming call routed from the second application server to the first user device has an identification information matches identification information of the original call;cause the first user device to pick-up the incoming call routed from the second application server to the first user device upon and cause releasing of the call branch between the first application server and the first user device determining that the identification information matches.

In some embodiments, such a module may comprise one or more of the features below:the engine is configured to instruct the first application to tag the call forwarded from the first application server to the second application server in order to generate identification information of the original call;the engine is configured to determine that there is a valid route between the second application server and the first user device;the module comprises a control user interface or a control user interface connector and the engine is configured to generate through the control user interface or the control user interface connector an invitation to shift the call through the second application server, upon detecting that the original call is established between the first user device and the correspondent user device through a first application server;the module comprises application servers connectors for connecting the said module to the first and the second application servers; and/orthe module comprises a device telephony resources connector for connecting the said module to the first user device.

According to a third embodiment, a system comprising an application server and a module according to the second embodiment associated with the application server is provided.

According to a fourth embodiment, a system comprising a user device and a module according to the second embodiment associated with the user device is provided.

DETAILED DESCRIPTION OF THE EMBODIMENTS

The described exemplary embodiment relates to a method and module for shifting a call established through a first application server3, such as a public application server, in order to route it through a second application server4, such as a private application server, in a SIP (Session Initiation Protocol) supporting network such as an IMS (Internet Multimedia subsystem) network. However, though the invention may be applied within the scope of the IMS network, it may also apply to other architectures.

Typically, the second application server4can provide users with many more services such as recording, video conferencing, consultation calls, transferring, call shifting between a set of user terminal devices.

The network, illustrated inFIGS. 2 and 3, comprises a first user device1, a correspondent device or second user device2, a first application server3, a second application server4and a module5for shifting a call established through the first application server3in order to establish it through the second application server4. The module5is referred to as CAS module5, for Communication Application Shift module, in the hereinafter description.

The first user device1and the correspondent device2may be any kind of telecommunication end user equipment, such as mobile phones, personal digital assistants, fixed phones, etc.

Moreover, the invention is not limited to embodiments in which the network comprises only two application servers and may also be applied with any number n of application servers, n being two or more.

The CAS module5, shown in detail inFIG. 1, comprises an engine51, a control user interface52, a device telephony resources connector53for connecting the said CAS module5to at least the first user device1and application server connectors54for connecting the said CAS module5to the n application servers: the first3and the second4application servers in the illustrated embodiment.

The engine51is a microcontroller or a microprocessor associated with a memory and suitable software or software program.

The CAS module5may be implemented in the first user device and/or in any one of the application servers.

The CAS module5may have its own control user interface52but it may also use the control user interface of the first user device1through a suitable control user interface connector. The control user interface52enables the end user to be notified about an established original call and to communicate application server shift instruction to the CAS module5. Alternatively, instructions for the CAS module5are entered through the control user interface of the first user device1via the control user interface connector.

The method for shifting a call according to an embodiment will now be described in detail.

As a preliminary step (STEP100, STEP101), the engine51of the CAS module5subscribes to both the first3and the second4application servers through their application server connectors54and their respective control interfaces, not shown in details.

Of course, the first user is a registered subscriber of the first application server3and the second application server4.

In an embodiment, the second application server4provides services which allow a user having a set of user devices to answer a call with anyone of his devices and/or to shift a call between his devices. To that end, the second application server4is linked to a user profile register which assigns to the first user a unique contact address which can be used to address a call to a set of first user devices.

The CAS module5is informed of any call directed to the first application user through any of the first3and second4application servers. The engine54is also able to determine whether there is a valid route between the first application server3and the first user device1, whether there is a valid route between the second application server4and the first user device1and whether there is a valid route between the first3and the second4application server.

When an original call is started or received from/by the first user device1through the first application server3so that a call21is established between the first user device1and the correspondent device2through the first application server3, as shown inFIG. 1, the method for shifting can be implemented as follows.

As long as a call20is established through the first application server3, the engine51of the CAS module5received a notification from the first application server through the relevant application server connector54that an original call is established between the first user device1and the correspondent device2through the first application server3(STEP200). Then, the engine51checks whether an application server shift instruction is received from the first user via the control user interface52or via the first user device1through the control user interface connector. In a preferred embodiment, the engine51also generates an invitation (STEP300) to offer the first user with a capability to shift the call through the second application server4. The invitation can be made visible to the first user through the control user interface52so that the first user can trigger an application server shift instruction through the control user interface. Alternatively, the invitation can be made visible to the first user through to the first user device1so that the first user can trigger an application server shift instruction through the first user device1.

The invitation to shift the call21may explicitly invite the first user to shift the call through the second application server or may invite the first user to benefit from one or several services which are only available through the second application server4. The invitation may be implemented as an icon on a touch screen or any similar trigger.

According to another embodiment, an application server shift instruction may be automatically triggered in response to receiving the invitation from the CAS module5.

Upon an application server shift instruction being received (STEP400), the engine51instructs the first server application3through the relevant application server connectors54to forward the call from the first application server3to the second application server4(STEP500).

During the forward instruction step (STEP500), the engine51provides the first application server3with the second application server4address and, optionally, first user address information representative of the first user device address or of the first user himself. The first user address information may be the address of the first user device1for the second application server4or a unique contact address assigned to the first user himself. In that case, as previously mentioned, the user address is mapped to a set of devices of the first user which comprises the first user device1.

According to an embodiment, the engine51instructs the first server application3to transfer the call to the second application server4. In a more advantageous embodiment, the engine51instructs the first server application3to establish a conference communication between the first user device1, the correspondent device2and the second application server4. The instruction to transfer the call or to establish a conference communication is, for instance, a set of instructions, such as an INVITE and/or RE-INVITE SIP requests.

The engine51may also instruct the first application server3to tag the call in order to generate identification information of the original call.

The original call is thus tagged and forwarded from the first application server3to the second application server4(STEP600). Then, the call is routed from the second application server4to the first user device1(STEP700). The CAS module5is simultaneously informed by the second application server4through the application server connector54of the incoming call routed from the second application server4to the first user device1(STEP701).

As a result of step701, an incoming call is received on the first user device1. The engine51determines whether the incoming call routed from the second application server4has identification information which matches identification information of the original call. The identification information may be a call ID or the tag which has been generated by the first application server3and communicated to CAS module5.

If the identification information matches, the engine51instructs the first user device1via the device telephony resources connector53to automatically pick-up the call routed from the second application server4(STEP800).

In the more advantageous embodiment, in which a three-way conference communication is established by the first application server3between the first user device1, the correspondent device2and the second application server4, the engine51instructs the first user device1through the device telephony resources connector53to pick-up the incoming call routed from the second application server4and to release the call branch between the second application server4and the first user device1(STEP800). Depending on multiline capability of the first user device1, the picking-up and the releasing can be simultaneous so that the call is shifted seamlessly or the call routed from the first application server3is firstly released and then the call routed from the second application server4is picked-up.

The communication call21is thus established between the first user device1and the correspondent device2, via the second application server4and eventually via the first application server3, so that the users can benefit from the full services of the second application server4(seeFIG. 2).

The methods described hereinabove may be executed through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the corresponding functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read-only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and/or custom, may also be included.

The invention is not limited to the described embodiments. The appended claims are to be construed as embodying all modification and alternative constructions that may be occurred to one skilled in the art, which fairly fall within the basic teaching here, set forth.

The use of the verb “to comprise” or “to include” and its conjugations does not exclude the presence of elements or steps other than those stated in a claim. Furthermore, the use of the article “a” or “an” preceding an element or step does not exclude the presence of a plurality of such elements or steps.

In the claims, any reference signs placed between parentheses shall not be construed as limiting the scope of the claims.

It is to be understood that, within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.