Establishing telephone calls
10701204 ยท 2020-06-30
Assignee
Inventors
Cpc classification
H04M3/436
ELECTRICITY
H04M3/42374
ELECTRICITY
H04M2203/2011
ELECTRICITY
H04M3/42357
ELECTRICITY
H04M3/50
ELECTRICITY
H04M2215/0116
ELECTRICITY
International classification
H04M11/00
ELECTRICITY
H04M3/436
ELECTRICITY
G07F17/00
PHYSICS
H04M3/50
ELECTRICITY
H04M15/00
ELECTRICITY
Abstract
A method for establishing a telephone call between an originating device and a destination device. A call server receives an originating call made by an originating device to a dedicated number for a destination party. In response to receiving the originating call: (i) the originating call is parked; and (ii) a message is sent to the destination device of the destination party. The message informs the destination device of the originating call to the dedicated number so that the destination device is able to call the call server to be connected to the parked originating call.
Claims
1. A method for establishing a telephone call between an originating device and a destination device, the method comprising: receiving at a call server an originating call made by an originating device to a dedicated number for a destination party; in response to receiving the originating call: (i) parking the originating call; and (ii) sending an invitation message to the destination device of the destination party via any of HTTP, email, SMS or MMS to inform the destination device of the originating call to the dedicated number and to invite the destination device to call the call server to allow the call server to connect the destination device call to the parked originating call; receiving at the call server a destination party call from the destination device; and connecting the destination party call to the parked originating call to establish the telephone call between the originating device and the destination device.
2. A method according to claim 1, wherein the destination party call is made to a telephone number which is charged at a preferential rate to the destination party.
3. A method according to claim 1, further comprising, in response to receiving the originating call to the dedicated number for the destination party: (i) identifying an identifier of the destination device of the destination party; and (ii) associating the identifier of the destination device with the parked originating call.
4. A method according to claim 3, wherein connecting the destination party call to the parked originating call comprises receiving a call having the identifier and connecting the call with the identifier to the parked originating call.
5. A method according to claim 4, wherein associating the identifier of the destination device with the parked originating call is for a predetermined amount of time and wherein connecting the call with the identifier to the parked originating call is performed in dependence on a call with the identifier being received within the predetermined amount of time.
6. A method according to claim 5, comprising routing the parked originating call to a voicemail facility for the destination party if a call from the destination device is not received within the predetermined amount of time.
7. A method according to claim 3, wherein the identifier is the telephone number of the destination device.
8. A method according to claim 1, comprising, before sending the message to the destination device, making a status enquiry to enquire of the current status of the destination device and, if the status of the destination device is available, sending the message to the destination device, optionally wherein, if the response to the status enquiry indicates that the destination device is not available, routing the call to a voicemail facility for the destination party.
9. A method according to claim 1, wherein receipt of the message by the destination device initiates an inbound call experience on the destination device in which acceptance of the call causes the destination device to call the call server to be connected to the parked originating call, optionally wherein if an indication is received from the destination device that the call has been rejected, transferring the parked originating call to a voicemail facility for the destination party.
10. A method according to claim 1, wherein the message is sent to one of an IP address and a telephone number of the destination device.
11. A method according to claim 1, wherein the message includes the caller ID of the originating device.
12. A non-transitory computer-readable medium having computer-executable instructions adapted to cause a call server to perform the method of claim 1.
13. A call server arranged to perform the method of claim 1.
14. A method according to claim 1, the message being configured to initiate an imitation inbound call experience at the destination device, the imitation inbound call experience being an imitation of an inbound call experience at the destination device and comprising an acceptance actuator, wherein actuation of the acceptance actuator causes the destination device to call the call server to be connected to the parked originating call.
15. A method for a destination device of a destination party to establish a telephone call with an originating device, wherein an originating call from the originating device to a dedicated number for the destination party has been parked at a call server and wherein an invitation message has been sent from the call server to the destination device via any of HTTP, email, SMS or MMS to inform the destination device of the originating call to the dedicated number and to invite the destination device to call the call server to be connected to the parked originating call, the method comprising: in response to receiving an invitation message: initiating an inbound call experience on the destination device, wherein acceptance of the call causes the destination device to call the call server to be connected to the parked originating call.
16. A method according to claim 15, wherein at least one of: rejection of the call causes the destination device to send a call rejected notification to the call server; the destination party call is made to a telephone number which is a charged at a preferential rate to the destination party; and the inbound call experience plays an inbound call ringtone.
17. A method according to claim 15, wherein the inbound call experience presents an inbound call notification message on a display of the destination device which presents the option to accept or reject the inbound call.
18. A method according to claim 15, wherein the message includes the caller ID of the originating device and wherein the inbound call experience presents an inbound call notification message on a display of the destination device, the method comprising displaying the caller ID in the inbound call notification message.
19. A non-transitory computer-readable medium having computer-executable instructions adapted to cause a device to perform the method of claim 15.
20. A device configured to perform the method of claim 15.
21. A method for establishing a telephone call between an originating device and a destination device, the method comprising: receiving at a call server an originating call made by an originating device to a dedicated number for a destination party, the dedicated number being hosted or configured at the call server; in response to receiving the originating call: (i) parking the originating call; and (ii) sending an invitation message to the destination device of the destination party via the internet to inform the destination device of the originating call to the dedicated number and to invite the destination device to make a separate, new destination party call to the call server to allow the call server to connect the separate, new destination party call to the parked originating call; receiving at the call server the separate, new destination party call from the destination device; and connecting the destination party call to the parked originating call to establish the telephone call between the originating device and the destination device.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings in which like reference numerals are used to depict like parts. In the drawings:
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTION OF EMBODIMENTS
(8)
(9) The originating device 10, which in the illustrated example is a mobile phone, is connected to a Public Land Mobile Network (PLMN) 20. The PLMN 20 is connected to the internet 50 for data communication and is also connected to a Public Switched Telephone Network (PSTN) 30 for voice communication. The PSTN 30 is also connected to the internet 50 for voice over IP communication.
(10) The destination device 90, which in the illustrated example is a mobile phone, is connected to another Public Land Mobile Network (PLMN) 40. The PLMN 40 is connected to the internet 50 for data communication and is also connected to PSTN 30 for voice communication. The PLMN 40 could be connected to a different PSTN which in turn is connected to the PSTN 30, but for simplicity only one PSTN has been depicted.
(11)
(12)
(13) The call server plays a dialling tone to the originating party.
(14) The call server 60 has a data structure such as table 120 of
(15) As can be seen from
(16) Referring back to
(17) The parked call is associated with the telephone number of the destination party's device by associating a pointer to the call parking facility (i.e. an identifier of the call parking facility such as its number) with the number of the destination device. In one implementation, the pointer is included as an entry (not shown) in the table of
(18) At Step S5, the call server sends a status enquiry as an HTTP message across the internet 50 to the proxy server 80 to request the current status of the destination device and its current IP address. The status enquiry contains the telephone number of the destination device.
(19) The proxy server 80 has a data structure such as table 130 of
(20) The proxy server 80 keeps the IP address and status information in table 130 up to date using approaches commonly used in presence technologies such as instant messaging (IM) e.g. Skype.
(21) At step S6, the proxy server sends a status request to the destination device identified by its telephone number in the status enquiry received from the call server 60. To do this, the proxy server 80, using its controller 82, reads the telephone number from the status enquiry and looks up the current IP address of the device in the table 130 stored in memory 86. The proxy server then sends the status request as an HTTP message to the destination device at that IP address. The destination device 90 receives the status request and at step S7 it returns a status indication to the proxy server 80. The status indication is returned as an HTTP message and contains the status of the device 90. The proxy server 80, using its controller, 82, reads the status from the status indication and updates the table 130. The proxy server also sends the status response to the call server 60. The status response is sent as an HTTP message and contains the status of destination device 90 and its IP address.
(22) At step S9, the call server receives the status response and at step S10 checks the status of the destination device 90. If the status of the destination device 90 is available, at step S11 the call server 60 sends a message to the destination device 90 to inform the device that the originating call has been made to the dedicated telephone number. To do this, call server 60 using its controller 62 sends an HTTP message to the destination device 90 across the internet 50. The message includes the telephone number of the originating device.
(23) At step S12, the destination device 90 receives the message. In response to, or conditional on, receiving the message the destination device 90 initiates an inbound call experience. The destination device 90 does this, using its controller 92, to present an inbound call notification message 120 on its display 100. The inbound call notification message 120 on the display of device 90 is illustrated in
(24) At step S14, the user of the destination device either accepts or rejects the call by selecting the Accept button 122 or the Reject button 124, respectively. Selection of the Accept button 122 at step S15 causes the destination device 90 to call the call server 60. The destination device 90 calls the call server by the controller 92 causing the call to be made over PLMN 40.
(25) At step S16, the call server 60 receives the call from the destination device 90. When a destination party call arrives at the call server, the telephone service provides the destination device's telephone number as part of the signal. The call server checks to see if a parked call on the call server has that telephone number associated with it, and if such a parked call exists the call server connects the destination party call to that parked originating call. In the implementation where the pointer to the call parking facility is associated with the number of the destination device in table 120, the table can be used to look up the pointer to the call parking facility and the call is routed to the call parking facility. The call or connection between the originating device and the destination device is established.
(26) At step S18, when either party hangs up the call server 60 terminates the calls. Terminating the call involves terminating the calls from the call parking facility (e.g. by dissolution of the one-time-use bridge) as well as the clearing down of all associated resources to their idle state.
(27) Referring back to step S10, if the status of the destination device 90 is unavailable then at step S21 the call server 60 transfers the originating call to a voice mail facility for the destination party which is hosted on the PBX 66. S21 is also performed after a predetermined amount of time which may for instance be configured to 30 seconds (has elapsed since the time at which the originating call was received at step S2. In other words, a time out procedure is provided.
(28) Referring back to step S14, if the call is rejected through selection of the Reject button 124, then at step S19 the destination device sends a call rejected notification to the call server 60. The notification is sent as an HTTP message. At step S20 the call server receives the notification and at step S21 the call server 60 transfers the originating call to the voice mail facility for the destination party. Step S21 may also be performed after a predetermined amount of time 30 seconds has elapsed since the time at which the message was sent at step S12. In other words, another time out procedure is provided.
(29) The caller may leave a message on the voice mail facility and when the caller hangs up the call server 60 terminates the call at step S22. Terminating the call involves terminating the calls from the call parking facility (e.g. by the dissolution of the one-time-use bridge) as well as the clearing down of all associated resources to their idle state.
(30) In certain embodiments, rather than sending the message as an HTTP message the message is sent to the destination device, for example as a text message (e.g. email SMS or MMS message). The text message may contain a link which a user can select to call the call server. This means that only steps S1 to S4, S11, S12 and S16-S18 may be performed in such embodiments.
(31) In certain embodiments, one or more users have a plurality of dedicated numbers. For example, one number can be used for work and another for home. The dialled dedicated number may be included in the message and displayed in the inbound call notification message.
(32) In certain embodiments, the originating device and/or the destination device may be land line or VOIP devices.
(33) In certain embodiments, other details such as address details and billing details are stored in table 120.
(34) In certain embodiments, all of the functionality described as being performed on the call server and proxy server may be performed by the call server or carried out on one server or distributed across multiple servers. For example, Session Internet Protocol (SIP) or switch to mobile technologies may be used at the call server or at a proxy server.
(35) In certain embodiments the PBX may be an IP PBX. In certain embodiments the PBX may be a Time Division Multiplexing (TDM) PBX.
(36) The controller of the devices described herein can include a processor and optionally a memory. The communications adapters of the devices and servers can be one or more wired and/or wireless data connections, such as connections conforming to one or more known information exchange standards, such as wired Ethernet, wireless 802.11x (Wi-Fi), high-speed packet access (HSPA), worldwide interoperability for microwave access (WiMAX), Ultra-wideband (UWB), wireless local area network (WLAN), Universal Serial Bus (USB), Bluetooth, infrared or the like. The memory of the devices and servers can be, for example, a read-only memory (ROM); a random-access memory (RAM) such as, for example, a magnetic disk drive, and/or solid-state RAM such as static RAM (SRAM) or dynamic RAM (DRAM); and/or FLASH memory or a solid data disk (SSD).
(37) The processor can be any of a variety of processors. Such processors can be implemented, for example, as hardware modules such as embedded microprocessors, microprocessors as part of a computer system, Application-Specific Integrated Circuits (ASICs), and Programmable Logic Devices (PLDs). Such processors can also be implemented as one or more software modules.
(38) Certain embodiments described herein relate to a computer-readable medium which includes a non-transitory computer-readable medium (also can be referred to as a non-transitory processor-readable medium) having computer-executable instructions or computer code thereon for performing various computer-implemented operations. The non-transitory computer-readable medium (or processor-readable medium) is non-transitory in the sense that it does not include transitory propagating signals such as a propagating electromagnetic wave carrying information on a transmission medium.
(39) The above embodiments have been described by way of example only, and the described embodiments are to be considered in all respects only as illustrative and not restrictive. It will be appreciated that variations of the described embodiments may be made without departing from the scope of the invention which is indicated by the appended claims rather than by the foregoing description.