WO2013096768A2 - Systems and methods for terminating telephony communications to mobile telephony devices - Google Patents

Systems and methods for terminating telephony communications to mobile telephony devices Download PDF

Info

Publication number
WO2013096768A2
WO2013096768A2 PCT/US2012/071248 US2012071248W WO2013096768A2 WO 2013096768 A2 WO2013096768 A2 WO 2013096768A2 US 2012071248 W US2012071248 W US 2012071248W WO 2013096768 A2 WO2013096768 A2 WO 2013096768A2
Authority
WO
WIPO (PCT)
Prior art keywords
telephony
forwarding
native
service provider
mobile
Prior art date
Application number
PCT/US2012/071248
Other languages
French (fr)
Other versions
WO2013096768A3 (en
Inventor
Guy Fighel
Baruch Sterman
Kurt ROGERS
John P. SON
Original Assignee
Vonage Network Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US13/334,849 priority Critical
Priority to US13/334,849 priority patent/US8600364B2/en
Priority to US13/492,361 priority
Priority to US13/492,361 priority patent/US8744422B2/en
Priority to US13/562,542 priority
Priority to US13/562,542 priority patent/US8989721B2/en
Priority to US13/568,416 priority patent/US9020477B2/en
Priority to US13/568,416 priority
Priority to US13/569,384 priority
Priority to US13/569,384 priority patent/US8862109B2/en
Priority to US13/597,485 priority
Priority to US13/597,916 priority
Priority to US13/597,485 priority patent/US9002335B2/en
Priority to US13/597,396 priority
Priority to US13/597,916 priority patent/US8693994B2/en
Priority to US13/597,396 priority patent/US9020478B2/en
Priority to US13/649,847 priority
Priority to US13/649,847 priority patent/US8958785B2/en
Priority to US13/669,009 priority patent/US8934882B2/en
Priority to US13/669,009 priority
Priority to US13/668,826 priority patent/US9491600B2/en
Priority to US13/668,826 priority
Priority to US13/671,162 priority patent/US9002336B2/en
Priority to US13/671,006 priority patent/US8571060B2/en
Priority to US13/671,162 priority
Priority to US13/671,006 priority
Priority to US13/673,043 priority patent/US8855612B2/en
Priority to US13/673,043 priority
Application filed by Vonage Network Llc filed Critical Vonage Network Llc
Publication of WO2013096768A2 publication Critical patent/WO2013096768A2/en
Publication of WO2013096768A3 publication Critical patent/WO2013096768A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/16Communication-related supplementary services, e.g. call-transfer or call-hold
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/80Rating or billing plans; Tariff determination aspects
    • H04M15/8038Roaming or handoff
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/54Arrangements for diverting calls for one subscriber to another predetermined subscriber
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Interconnection arrangements between switching centres
    • H04M7/0024Services and arrangements where telephone services are combined with data services
    • H04M7/0033Notification or handling of incoming calls by a computer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Interconnection arrangements between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Interconnection arrangements between switching centres
    • H04M7/12Interconnection arrangements between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step, decimal and non-decimal, circuit-switched and packet-switched, i.e. gateway arrangements
    • H04M7/1205Interconnection arrangements between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step, decimal and non-decimal, circuit-switched and packet-switched, i.e. gateway arrangements where the types of switching equipement comprises PSTN/ISDN equipment and switching equipment of networks other than PSTN/ISDN, e.g. Internet Protocol networks
    • H04M7/1225Details of core network interconnection arrangements
    • H04M7/1235Details of core network interconnection arrangements where one of the core networks is a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/20Aspects of automatic or semi-automatic exchanges related to features of supplementary services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2207/00Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place
    • H04M2207/18Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place wireless networks

Abstract

Systems and methods for terminating telephony communications to a mobile telephony device that is roaming outside of its native service area make use of a mobile roaming termination service. The mobile roaming termination service causes the native mobile telephony service provider that provides service to the mobile telephony device to forward incoming telephony communications directed the native telephone number of the mobile telephony device to a forwarding access number. The mobile roaming termination service receives telephony communications directed to the forwarding access number, and then terminates the telephony communication to the mobile telephony device via any one of multiple different methods. The mobile telephony service provider can be instructed to implement and cancel call forwarding instructions by dialing a special character string on the mobile telephony device.

Description

SYSTEMS AND METHODS FOR TERMINATING TELEPHONY COMMUNICATIONS TO MOBILE TELEPHONY DEVICES

Field of the Invention

[0001] The invention is related to systems and methods for terminating telephony communications to a mobile telephony device. More specifically, the invention relates to systems and methods for terminating telephony

communications to a mobile telephony device that is roaming out of its native service area.

Background of the Invention

[0002] Mobile telephony devices, such as cellular telephones and mobile computing devices with cellular telephony capabilities, are typically provided with service from a cellular service provider. The cellular service provider typically only provides service to its customers within a defined geographical area, often only within a single country. The area served by the provider is considered the "native" service area for customers who receive cellular telephone service from the provider.

[0003] If a customer who receives cellular telephone service from a first "native" cellular service provider travels to an area outside his native service area, the customer's cellular telephone may be capable of receiving cellular service from a second "non-native" cellular service provider that provides coverage in that location. However, because the non-native cellular service provider is not the customer's regular service provider, the customer will be charged special "roaming" fees for receiving incoming communications and for sending outgoing communications from that location. Typically, the non-native cellular service provider charges the user's native cellular service provider for providing service to the customer's cellular telephone, and the native cellular service provider then passes those charges along to the customer as part of his regular monthly bill. This is true for telephone calls, text messages, and other forms of telephony communications. [0004] Roaming charges can be exorbitant compared to fees charged for telephony communications within the customer's native service area.

International roaming charges are particularly expensive, as the rates negotiated between carriers for overseas call termination has been at a premium.

[0005]

Brief Description of the FIGURES

[0004] Figure 1 is a system level representation of elements that interact with each other to terminate telephony communications to mobile telephony devices;

[0005] Figure 2 is a schematic diagram of a controller that may be used to practice one or more embodiments of the present invention;

[0006] Figure 3 is a block diagram illustrating elements of a mobile roaming connection unit embodying the invention;

[0007] Figure 4 is a diagram illustrating steps of a method embodying the invention for registering a mobile telephony device with a mobile roaming termination service;

[0008] Figure 5 is a diagram illustrating steps of a method embodying the inventor for implementing call forwarding instructions as part of a method of terminating telephony communications to mobile telephony devices;

[0009] Figure 6 is a diagram illustrating steps of a method embodying the inventor for triggering the implementation of call forwarding instructions as part of a method of terminating telephony communications to mobile telephony devices ;

[00010] Figure 7 is a diagram illustrating steps of a method embodying the inventor for terminating telephony communications to a mobile telephony device;

[00011] Figure 8 is a diagram illustrating steps of another method embodying the invention for terminating telephony communications to a mobile telephony device;

[00012] Figure 9 is a flowchart describing a method in which a character string that can be dialed to implement call forwarding is determined and provided to a telephony device;

[00013] Figure 10 is a flowchart describing another method in which in which a character string that can be dialed to implement call forwarding is determined and provided to a telephony device; [00014] Figure 1 1 is a flowchart describing a method in which a mobile telephony device is caused to dial a character string that causes the

implementation of call forwarding instructions;

[00015] Figure 12 is a flowchart describing a method embodying the invention for determining whether call forwarding has been activated by a telephony service provider;

[00016] Figure 13 is block diagram illustrating elements of a communications environment which can be used to implement and cancel call forwarding termination procedures;

[00017] Figure 14 is a flowchart illustrating steps of a method of implementing and performing call forwarding termination procedures using a forwarding agent;

[00018] Figure 15 is a flowchart illustrating steps of a first method that would be performed by a telephony device to cause the implementation of call forwarding termination procedures;

[00019] Figure 16 is a flowchart illustrating steps of a second method that would be performed by a telephony device to cause the implementation of call forwarding termination procedures;

[00020] Figure 17 is a block diagram illustrating elements of a forwarding termination procedures unit;

[00021] Figure 18 is a flowchart describing a method in which an application on a mobile telephony device is enabled to implement call forwarding instructions;

[00022] Figure 9 is a flowchart describing a method in which an IP telephony device causes call forwarding instructions to be implemented;

[00023] Figure 20 is a flowchart illustrating a method that would be performed by an application on a telephony device to handling an incoming telephony communication;

[00024] Figure 21 is a block diagram of elements of an application embodying the invention which may be executed by a telephony device; and

[00025] Figure 22 is a flowchart illustrating steps of a method embodying the invention which allows a calling party to reach a called party via a non-native IP telephony service provider. Detailed Description of Preferred Embodiments

[009] In the following description, references are made to a user's or a customer's mobile telephony device. This term encompass traditional cellular telephones, as well as mobile telephony devices that include additional functionality, such as the ability to wirelessly communicate digital data. These terms also encompass mobile computing devices that include communications capabilities provided by either or both of a cellular transceiver and a wireless digital data transceiver. Examples of such devices include the Apple iPhone™, mobile telephony devices running the Android™ operating system, the

Blackberry™ and mobile telephones running the Symbian operating system.

[0010] The following description also refers to terminating a telephony communication. This phrase refers to completing an incoming telephony communication, such as a voice or video telephone call, to a telephony device. This phrase also encompasses delivering text messages and other forms of text- based or video-based messaging to a telephony device. This phrase also encompasses other forms of communications that may be carried over a telephony network.

[0011] The term "call" or "telephone call" is used in the following description for ease of reference, clarity and brevity. However, all of the systems and methods described below which involve handling, routing and terminating calls would also apply to systems and methods of handling, routing and terminating other forms of telephony-based communications. Thus, the terms call and telephone call are intended to include other forms of telephony-based communications.

[00 2] The invention provides a method, system and apparatus for terminating a telephony communication to a mobile telephony device that is roaming in such a way that roaming charges preferably are not incurred. To accomplish this, the telephony communication is routed through an Internet Protocol (IP) telephony system which is capable of terminating the telephony communication to the mobile telephony device in ways that do not incur roaming charges. In some instances, such as where no other options exist, the IP telephony system might deliberately cause the telephony communication to be terminated to the mobile telephony device through a non-native mobile telephony service provider. While this would result in the user incurring roaming charges, terminating the telephony communication in this fashion may be the only way to reach the user.

[0013] In some systems and methods embodying the invention, telephony communications are effected over a packet-based data network. Signaling that is conducted in the packet-based data network is preferably executed using Session Initiation Protocol (SIP). SIP is a popular communication protocol for initiating, managing and terminating media (e.g., voice, data and video) sessions across packet-based data networks that typically use the Internet Protocol (IP), of which Voice Over Internet Protocol (VOIP) is an example. The details and functionality of SIP can be found in the Internet Engineering Task Force (IETF) Request for Comments (RFC) Paper No. 3261 entitled, "SIP: Session Initiation Protocol" herein incorporated in its entirety by reference.

[0014] SIP establishes and negotiates a session, including the modification or termination of a session. It uses a location-independent address system feature in which called parties can be reached based on a party's name. SIP supports name mapping and redirection, allowing users to initiate and receive communications from any location. Of course, while SIP is a preferred protocol for establishing communications over a data network, other signaling protocols could also be used to perform the invention.

[0015] Figure 1 depicts various elements that may be involved in terminating telephony communications to a mobile telephony device. The elements in Figure 1 include a subscriber mobile telephony device 112. The subscriber mobile telephony device 1 12 may have a native ability to handle voice over Internet protocol telephony communications sent via a data channel. In other instances, an application running on the subscriber mobile telephony device 1 12 may provide the capability of handling voice over Internet protocol telephony communications sent via a data channel.

[0016] Mobile telephony service provider A 1 14 is located in country 1 and provides telephony service to mobile telephony devices located in country 1 . Mobile telephony service provider A 1 14 could be, for example, a cellular telephone network. For purposes of the following description, mobile telephony service provider A 114 is the native mobile telephony service provider that provides service to the subscriber mobile telephony device 1 12.

[0017] Figure 1 also depicts a traditional publically switched telephone network (PSTN) 130. An analog telephone 132 can utilize the PSTN 130 to place and receive calls. The analog telephone 132 could call the subscriber mobile telephony device 112, and the call would be routed through the PSTN 130, then through mobile telephony service provider B 140 to the subscriber mobile telephony device 1 12.

[0018] Figure 1 also depicts a cellular telephone 1 10 that is provided with service by mobile telephony service provider A 114. The cellular telephone 1 10 could call the subscriber mobile telephony device 1 12 through mobile telephony service provider B 140.

[0019] Figure 1 further depicts an IP telephony device 1 1 1 that maintains a data connection to a packet network, such as the Internet 1 16. The IP telephony device 1 1 1 is provided with telephony service by an IP telephony system 124 which is also connected to the Internet 1 16. If the user of the IP telephony device

1 1 1 wishes to establish a call with the subscriber mobile telephony device 1 12, the IP telephony device 1 11 sends a call setup request to the IP telephony system 124 via the Internet 1 16. The IP telephony system 124 then routes the call through mobile telephony service provider B 140 to the subscriber mobile telephony device 1 12. Figure 1 also depicts that the IP telephony system 124 may use gateways 120A, 120B to communicate with the PSTN 130, mobile telephony service provider A 1 14, as well as other telephony service providers.

[0020] Figure 1 further depicts that mobile telephony service provider B 140 is located in country 2 and provides service to mobile telephony devices located in country 2. Mobile telephony service provider B 140 could also be a cellular service provider.

[0021] Finally, Figure 1 illustrates that the subscriber mobile telephony device

1 12 is located in country 2, and it is capable of wirelessly accessing the Internet 1 16 via a wireless interface 118. This allows the subscriber mobile telephony device 1 12 to send and receive data communications over the Internet 1 16. The wireless interface 1 18 could be a wireless router operating under the WiFi or WiMax standards, or any other type of wireless interface device that is capable of communicating with the subscriber mobile telephony device 1 12 and the Internet 116. In other instances, the subscriber mobile telephony device 1 12 could establish a data link to the Internet, or to some other data network, in other ways. For example, the subscriber mobile telephony device 1 2 could communicate through a wireless Local Area Network (LAN), a Wide Area Network (WAN) gateway, a hardwired Internet connection and the like.

[0022] Although the subscriber mobile telephony device 112 is capable of sending and receiving data communications through the wireless interface 1 18, the subscriber mobile telephony device 112 is also capable of establishing a data channel through a mobile telephony service provider. The data channel would be separate from a channel used for audio communications. Thus, the subscriber mobile telephony device 1 12 is capable of sending and receiving data

communications via two independent pathways.

[0023] As explained above, mobile telephony service provider A 114, located in country 1 , is the native service provider for the subscriber mobile telephony device 112. When located in country 2, the subscriber mobile telephony device 112 only has access to mobile telephony service provider B 140 to send and receive telephony communications. This results in the subscriber incurring roaming charges.

[0024] As will be described in more detail below, elements of the IP telephony system 124 are capable of terminating telephony communications to the subscriber mobile telephony device 1 12 via a data connection passing over the Internet 1 16. In some instances, the IP telephony system 124 may also be capable of terminating telephony communications to the subscriber mobile telephony device 112 via a data connection passing over a data channel provided by mobile telephony service provider B 140. So long as the cost of obtaining that data connection is lower than the cost of receiving a telephone call via mobile telephony service provider B 140 over a mobile voice channel, this may be a preferred way of terminating the telephony communication to the subscriber mobile telephony device 1 12. [0025] Figure 2 illustrates elements of a computer processor 250 that can be used as part of the system operated by the IP telephony service provider 124 to accomplish various functions. The IP telephony service provider 124 could utilize multiple processors 250 located at various locations, along with their operating components and programming, each carrying out a specific or dedicated portion of the functions performed by the IP telephony service provider 124.

[0026] The processor 250 shown in Figure 2 may be one of any form of a general purpose computer processor used in operating an IP based

communication system. The processor 250 comprises a central processing unit (CPU) 252, a memory 254, and support circuits 256 for the CPU 252. The processor 250 also includes provisions 258/260 for connecting the processor 250 to customer equipment via one or more access point, such as the packet network 1 16, gateways 120A, 120B and a data channel provided by a cellular service provider, as well as possibly one or more input/output devices (not shown) for accessing the processor and/or performing ancillary or administrative functions related thereto. The provisions 258/260 are shown as separate bus structures in Figure 2; however, they may alternately be a single bus structure without degrading or otherwise changing the intended operability of the processor 250.

[0027] Another form of processor 250 that assists in execution and is otherwise part of the subject invention is found within one or more of the mobile telephony devices. Such devices are sufficiently advanced beyond early generation cellular telephones that they contain processors capable of running operating systems developed by device manufactures, as well as third party applications that are downloaded and installed by users to performing a myriad of communications and non-communications oriented tasks.

[0028] The memory 254 is coupled to the CPU 252. The memory 254, or computer-readable medium, may be one or more of readily available memory such as random access memory (RAM), read only memory (ROM), floppy disk, hard disk, flash memory or any other form of digital storage, local or remote, and is preferably of non-volatile nature. The support circuits 256 are coupled to the CPU 252 for supporting the processor in a conventional manner. These circuits include cache, power supplies, clock circuits, input/output circuitry and

subsystems, and the like.

[0029] A software routine 262, when executed by the CPU 252, causes the processor 250 to perform processes of the disclosed embodiments, and is generally stored in the memory 254. The software routine 262 may also be stored and/or executed by a second CPU (not shown) that is remotely located from the hardware being controlled by the CPU 252. Also, the software routines could also be stored remotely from the CPU. For example, the software could be resident on servers and memory devices that are located remotely from the CPU, but which are accessible to the CPU via a data network connection.

[0030] The software routine 262, when executed by the CPU 252, transforms the general purpose computer into a specific purpose computer that performs one or more functions of the IP telephony system 124. Although the processes of the disclosed embodiments may be discussed as being implemented as a software routine, some of the method steps that are disclosed therein may be performed in hardware as well as by a processor running software. As such, the embodiments may be implemented in software as executed upon a computer system, in hardware as an application specific integrated circuit or other type of hardware implementation, or a combination of software and hardware. The software routine 262 of the disclosed embodiments is capable of being executed on any computer operating system, and is capable of being performed using any CPU architecture.

[0031] The IP telephony system 124 includes a mobile roaming connection unit 300, as illustrated in Figure 3. The mobile roaming connection unit 300 includes a registration unit 302, a triggering unit 304, a forwarding instruction unit 306, a call termination unit 308, and an optional call forwarding code database 310. These elements act together to register a mobile telephony device with a mobile roaming termination service provided by the IP telephony system 124. These elements also act to determine when the service should be activated or deactivated, and to route telephony communications to registered mobile telephony devices when they are roaming out of their native service area.

Whenever possible, the mobile roaming connection unit 300 terminates telephony communications to a roaming mobile telephony device in a manner that does not result in the user incurring roaming charges.

[0032] In some embodiments, any time that the subscriber mobile telephony device 1 12 detects the availability of a data network connection, such as through the wireless interface 1 18, the subscriber mobile telephony device 1 12 contacts the mobile roaming connection unit 300 and registers with same. Once registered, the IP telephony system 124 is capable of routing telephony communications to the subscriber mobile telephony device 112 via the data network connection. In some embodiments, however, the subscriber mobile telephony device 1 12 may only attempt to register with the mobile roaming connection unit if the subscriber mobile telephony device determines that it is outside of its native service area and is roaming. In still other embodiments, the subscriber mobile telephony device may attempt to register with the mobile roaming connection unit 300 when it is still within its native service area, but when the device is unable to establish a connection to its native mobile telephony service provider.

[0033] Also, in some instances, the subscriber mobile telephony device 1 12 may deliberately choose to register itself with the mobile roaming connection unit 300 when it is within its native service area, and when a cellular channel to mobile telephony service provider A 114 is available. This might allow the subscriber mobile telephony device to receive incoming calls without using up minutes of a calling plan. In this instance, the subscriber might configure his subscriber device 112 such that whenever the subscriber device 1 12 detects the availability of a data network connection, such as a wireless router 118 connected to the Internet 116, use of the system and methods described above are automatically initiated.

[0034] The registration unit 302 will act to register individual mobile telephony devices with the mobile roaming termination service. Typically a subscriber will already have an existing account with the IP telephony system 124. However, in some instances, a subscriber could register for the mobile roaming termination service as its only service from the IP telephony system 124. [0035] Figure 4 illustrates steps of a method of registering a mobile telephony device with the mobile roaming termination service. As illustrated in Figure 4, in step S402, the registration unit 302 obtains the native telephone number associated with the subscriber mobile telephony device 112. This native telephone number may have been assigned by mobile telephony service provider A 114, or by some other mobile telephony service provider. The registration unit 300 then creates a new entry in a registration database for the subscriber mobile telephony device 1 2 that includes the native telephone number.

[0036] In step S404, the registration unit 302 obtains an identifier associated with the subscriber mobile telephony device 1 12 from mobile telephony service provider A 1 14. In one embodiment of the invention, the identifier is an international mobile subscriber identity (IMSI) number. The IMSI number is a unique identifier associated with all GSM and UMTS network mobile telephone users and conforms to the ITU E.212 numbering standard.

[0037] The IMSI number is actually associated with the SIM card present in the subscriber mobile telephony device 1 12, and it would be contained in a home location register that is maintained by mobile telephony service provider A 114. The IMSI number is often required to be used in certain communications with a mobile telephony service provider when the mobile service provider is being asked to take certain actions with respect to a mobile telephony device. In step S406, the registration unit 302 stores the IMSI number in the record established for the subscriber mobile telephony device 1 12 in the registration database.

[0038] Once the subscriber mobile telephony device 112 has been registered, the mobile roaming connection unit 300 will have the information it requires to cause telephony communications directed to the regular native telephone number associated with the subscriber mobile telephony device 1 2 to be redirected to the IP telephony system 124. This is accomplished by instructing mobile telephony service provider A 114 to forward calls directed to the native telephone number associated with the subscriber mobile telephony device 1 12 to a new access number that is maintained by the IP telephony system 124. Once call forwarding instructions have been implemented, all calls placed to the subscriber mobile telephony device 112 will instead be received by the IP telephony system 124. In some embodiments, this would be accomplished using the RTP and SIP protocols. The IP telephony system 124 can then terminate the call to the subscriber mobile telephony device 1 12 in a fashion that will not incur roaming charges.

[0039] Figure 5 illustrates steps of a method that would be performed by the mobile roaming connection unit 300 to cause the implementation of call forwarding instructions. The method starts in step S502 when the triggering unit 304 of the mobile roaming connection unit 300 decides that forwarding

instructions should be issued. The triggering unit 304 determines that it is appropriate to implement call forwarding instructions in response to a variety of different conditions, as will be described in more detail below.

[0040] In step S504, the forwarding instruction unit 306 assigns a forwarding access telephone number. The forwarding access telephone number is stored in a registration database maintained by the IP telephony system 124 against the native telephone number and IMSI number of the subscriber mobile telephony device 1 12. Once the forwarding access number has been assigned, in step S506 the forwarding instruction unit 306 issues call forwarding instructions to mobile telephony service provider A 114 to cause mobile telephony service provider A 1 14 to forward all calls made to the native telephone number of the subscriber mobile telephony device 1 12 to the assigned forwarding access number. Typically, the IMSI number for the subscriber mobile telephony device 112 must be used in the communications with mobile telephony service provider A 1 14 to cause the implementation of the call forwarding instructions.

[0041] The forwarding access telephone number is controlled by the IP telephony system 124. Once the call forwarding instructions have been implemented, any calls made to the native telephone number of the subscriber mobile telephony device 2 are received by the IP telephony system 124. Also, when the IP telephony system 124 receives a call directed to a forwarding access telephone number, the IP telephony system 124 consults the registration database to determine which subscriber mobile telephony device is associated with that forwarding access telephone number. In this fashion, the IP telephony system 124 knows which mobile telephony device the caller is trying to reach. [0042] The subscriber mobile telephony device 1 12 registers itself with the mobile roaming connection unit 300 via communications that pass over a data network. Those communications could be sent to the mobile roaming connection unit 300 over the Internet, via a wireless interface 1 18. Those communications could also pass over a data channel of a cellular connection. Regardless, the subscriber mobile telephony device 112 would contact the mobile roaming connection unit 300 and provide information, such as an IP address and a port number, that allows the mobile roaming connection unit 300 to contact the subscriber mobile telephony device 112 and establish a voice over Internet protocol link with the subscriber mobile telephony device 1 12. This information would also be stored in the registration database against the other information being maintained for the subscriber mobile telephony device 1 12.

[0043] Once call forwarding instructions have been issued, and once the subscriber mobile telephony device 112 has registered with the mobile roaming connection unit 300, the mobile roaming connection unit 300 can route incoming calls to the subscriber mobile telephony device 1 12 through a data network. The mobile roaming connection unit 300 establishes a VOIP call with the subscriber mobile telephony device 112, and that call is then connected to the inbound call forwarded from mobile telephony service provider A 1 14.

[0044] Because the incoming call is routed through the data network, rather than through non-native mobile telephony service provider B 140, no roaming charges will be incurred by the user. The user may have to pay to obtain access to the data network. But in many instances, the cost of accessing the data network will be lower than the cost of roaming charges that would otherwise be incurred. For example, if the subscriber mobile telephony device 1 12 uses a wireless access point, such as a WiFi router, to obtain access to the data network, the charges for such access would likely be far lower than the cost of roaming charges. Even when the subscriber mobile telephony device 1 12 uses a cellular data channel to obtain access to a data network, the user would likely incur lower charges for data access than the cost of typical roaming charges.

[0045] When the subscriber mobile telephony device 1 12 registers with the mobile roaming connection unit 300, this event may trigger the forwarding instruction unit 306 to issue call forwarding instructions to mobile telephony service provider A 1 14. However, a variety of other triggering events might also cause the forwarding instruction unit 306 to issue call forwarding instructions. Also, the triggering events that cause the implementation or cancellation of call forwarding instructions could be customized for an individual user or for an individual subscriber mobile telephony device.

[0046] Figure 6 illustrates steps of a method that results in call forwarding instructions being issued. The method starts in step S602 when the triggering unit 304 of the mobile roaming connection unit 300 obtains information about the location of the subscriber mobile telephony device 1 12. This could be accomplished by having the triggering unit 304 interrogate the subscriber mobile telephony device 1 12 to obtain location information. Alternatively, an application running on the subscriber mobile telephony device 112 may periodically report the position of the subscriber mobile telephony device to the triggering unit 304.

[0047] In step S604, the triggering unit 304 compares the location of the subscriber mobile telephony device 1 12 to the known native service area of the device to determine if the subscriber mobile telephony device 1 12 has roamed out of its native service area. If the subscriber mobile telephony device 1 12 is roaming, then in step S606, the triggering unit issues forwarding instructions to mobile telephony service provider A 114 to have calls placed to the native telephone number of the subscriber mobile telephony device 1 12 forwarded to a forwarding access number, as described above. A similar process would be used to cancel call forwarding instructions when the triggering unit 304 determines that the subscriber mobile telephony device has returned to its native service area.

[0048] In alternate embodiments, the triggering unit 304 of the mobile roaming connection unit 300 may monitor the movements of the subscriber mobile telephony device 1 12 over an extended period of time. If an analysis of the movements of the subscriber mobile telephony device indicate that the device travels outside its native service area according to a regular pattern, such as every Monday morning, and/or that the device travels back into its native service area according to a regular pattern, such as every Friday evening, then this pattern information may be used to trigger the implementation and cancellation of call forwarding instructions. Rather than waiting for the actual location of the subscriber mobile telephony device to be obtained or reported, forwarding instructions may be automatically implemented and canceled based on the predicted movements of the device.

[0049] In the methods discussed above, the forwarding instruction unit 306 acts to automatically implement and cancel call forwarding instructions based on the occurrence of an event, or based on a prediction. Likewise, an application running on the subscriber mobile telephony device may itself automatically cause the implementation and cancellation of call forwarding instructions if the application detects that the device has moved out of or back into the subscriber's native calling area. The application may also automatically cause the

implementation and cancellation of call forwarding instructions when the application detects that the subscriber mobile telephony device 1 12 does not have a cellular connection to its native mobile telephony service provider A 1 4. Similarly, the application may automatically cause the implementation and cancellation of call forwarding instructions when the application detects that a data network connection is available.

[0050] Also, the user might take direct actions to cause the implementation and cancellation of call forwarding instructions. For example, an application running on the subscriber mobile telephony device may provide a user with the ability to manually cause the implementation and cancellation of call forwarding instructions.

[0051] When an application running on the subscriber mobile telephony device 112 is causing the implementation of call forwarding instructions, the application may be directly communicating with the mobile telephony service provider, or the application may communicate with the mobile roaming connection unit 300 to request that it cause the implementation or cancellation of call forwarding instructions. If the application is directly interacting with the mobile telephony service provider, the application may contact the mobile roaming connection unit 300 via a data network connection to obtain a forwarding access number. Such communications would also inform the mobile roaming connection unit 300 that calls received on the forwarding access number should be terminated to the subscriber mobile telephony device 1 12. Examples of such embodiments are discussed in more detail below.

[0052] In another embodiment of the invention, all incoming telephony communications are forwarded to the IP telephony system 124 at all times. This would require that a dedicated forwarding access number be assigned to the subscriber mobile telephony device 112, and call forwarding instructions would always be active. Each time that a call is received on the forwarding access number, the mobile roaming connection unit 300 checks the connection status of the subscriber mobile telephony device 1 12 to determine what type of access the subscriber mobile telephony device 1 12 has. The call is then terminated to the subscriber mobile telephony device 1 12 in the most appropriate manner. This could mean sending the call through a cellular service provider in a normal manner, or setting up a VOIP telephone link via a data network. If more than one connection method is possible, preference rules would determine how the call is connected.

[0053] If there is no such access, the incoming telephony communication could be sent to voicemail, or to some type of interactive voice response system.

Alternatively, the incoming telephony communication could be forwarded to another subscriber device or telephone number.

[0054] Figure 7 illustrates steps of a control method embodying the invention which terminates incoming telephony communications to a subscriber mobile telephony device 1 12 via the most appropriate path. This method would be executed by the mobile roaming connection unit 300 of an IP telephony system 24 after call forwarding instructions have been implemented. For purposes of the following explanation, the subscriber mobile telephony device 1 12 is located in country 2 (see Figure 1 ), and the subscriber mobile telephony device is capable of receiving incoming telephony communications from mobile telephony service provider B 140.

[0055] The method begins in step S702 when an incoming telephony communication is received on a forwarding access number that has been assigned for the subscriber mobile telephony device 1 12. In step S704, the call termination unit 308 of the mobile roaming connection unit 300 checks to determine if the subscriber mobile telephony device 1 12 is registered and reachable via a data network connection. If the subscriber mobile telephony device 1 12 is registered, in step S706 the call termination unit 308 checks to determine the quality of the data connection. If the data connection is capable of supporting a VOIP call to the subscriber mobile telephony device 112, then in step S708 a VOIP call is established between the IP telephony system 124 and the subscriber mobile telephony device 112 over the data network. The received telephony communication is then terminated to the subscriber mobile telephony device 1 12 through the VOIP call.

[0056] If the quality of the data network connection to the subscriber mobile telephony device 1 12 is not sufficient, then in step S710 a check is made to determine if the user has authorized calls to be terminated to the subscriber mobile telephony device 1 12 through non-native mobile telephony service provider B 140. This will likely result in roaming charges. However, the user may choose to accept the roaming charges if there is no other way of receiving an incoming telephony communication. In this scenario, the mobile roaming connection unit 300 first checks to see if it is possible to terminate the call through alternate means. But if no other means are available, the call is ultimately terminated through the non-native mobile telephony service provider B 140, after call forwarding has been canceled.

[0057] The result of the decision reached in step S710 could be conditioned on various things. For instance, the user may have instructed that all calls be terminated through non-native mobile telephony service provider B 140 if no other method of terminating the call exists. In other instances, the user might specify that calls should only be terminated through a non-native telephony service provider if the call will cost less than a threshold amount to complete. In still other instances, the user might specify that only calls originating from a particular set of telephone numbers should be completed through a non-native mobile telephony service provider. This would allow the user to specify that certain important people be put through, but that other calls are not. [0058] If the decision in step S710 is that the call should not be terminated through a non-native mobile telephony service provider, then in step S718 the call is terminated in some other fashion. As discussed above, this could include sending the call to voicemail, playing a recording to the caller that the called party is unavailable, forwarding the call to an alternate telephone number, or terminating the call in some other fashion.

[0059] If the decision in step S710 is to terminate the call to the subscriber mobile telephony device 1 12 through non-native mobile telephony service provider B 140, in step S712 the forwarding instruction unit 306 contacts mobile telephony service provider A 114 and cancels the call forwarding instructions. The call termination unit 308 then sends the call to the regular native telephone number of the subscriber mobile telephony device 1 12 in step S714. This will cause mobile telephony service provider A 114 to send the call on to mobile telephony service provider B 140, which ultimately completes the call to the subscriber mobile telephony device 112.

[0060] Because the call is being routed through the IP telephony system 124, the mobile roaming connection unit 300 is able to monitor the status of the call. Once the call is completed, the method proceeds to step S716, where the call forwarding instructions are re-implemented. This ensures that further calls directed to the subscriber mobile telephony device 1 12 will be forwarded to the IP telephony system 124.

[0061] If the check made in step S704 indicated that the subscriber mobile telephony device 1 12 is not registered with the mobile roaming connection unit 300, then in step S720 a check is made to determine if it is acceptable to terminate the communication through the non-native mobile telephony service provider B 140. If the system determines that the call should not be terminated through non-native mobile telephony service provider B 140, then in step S728 the call would be terminated in some other fashion.

[0062] If the decision in step S720 is to terminate the call to the subscriber mobile telephony device 1 12 through a non-native mobile telephony service provider, then in step S722 the forwarding instruction unit 306 contacts mobile telephony service provider A 1 14 and cancels the call forwarding instructions. The call termination unit 308 then sends the call to the regular native telephone number of the subscriber mobile telephony device 1 12 in step S724. This will cause mobile telephony service provider A 114 to send the call on to mobile telephony service provider B 140, which ultimately completes the call to the subscriber mobile telephony device 112. Once the call is completed, the method proceeds to step S726, where the call forwarding instructions are re- implemented.

[0063] Figure 8 illustrates steps of another method embodying the invention. This method results in a telephony communication being terminated to a subscriber mobile telephony device 1 12 that is roaming. The call is completed through the non-native mobile telephony service provider B 140. However, the call is completed in a fashion that will not result in roaming charges.

[0064] When a mobile telephony device is located outside of its native calling area, the device will communicate with a non-native mobile telephony service provider. During an initial communication process, the non-native mobile telephony service provider will recognize that the mobile telephony device is a non-native device. As a result, the non-native mobile telephony service provider will assign a temporary local access telephone number to the device. The temporary number is often known as a mobile subscriber roaming number (MSRN). The non-native mobile telephony service provider then communicates with the user's native mobile telephony service provider and informs the native mobile telephony service provider of the assigned local access telephone number. This can be accomplished using a MAP Update Location Message.

[0065] The native mobile telephony service provider stores the temporary local access telephone number in a home location register that it maintains. The native mobile telephony service provider can obtain the temporary local access telephone number using a MAP Provide Roaming Number message. Whenever a call comes in for the subscriber's mobile telephony device, the native mobile telephony service provider forwards the call to the temporary local access telephone number. This will route the call to the non-native mobile telephony service provider, which then completes the call to the subscriber's mobile telephony device. [0068] Because the local access number assigned to the subscriber mobile telephony device 1 12 by the non-native mobile telephony service provider B 140 is stored in the home location register of the native mobile telephony service provider A 114, this information may be available to the IP telephony system 124. For purposes of the following explanation, the subscriber mobile telephony device 112 is roaming in country 2, and mobile telephony service provider B 140 has assigned a local access number to the subscriber mobile telephony device 1 12. The mobile roaming connection unit 300 has obtained the local access number from the native mobile telephony service provider 1 14. Finally, forwarding instructions for the subscriber mobile telephony device have been implemented.

[0067] The method begins in step S802, when an incoming telephony communication directed to the subscriber mobile telephony device 1 12 is received by the IP telephony system 124. In step S804 a check is performed to determine if the subscriber mobile telephony device 1 12 is registered with the mobile roaming connection unit 300 and available over a data connection. If so, then in step S806 the call is completed to the subscriber mobile telephony device 112 over the data connection.

[0068] If the subscriber mobile telephony device is not available over a data connection, the method proceeds to step S810, where a check is performed to determine if the mobile roaming connection unit 300 has the local access number assigned by the non-native mobile telephony service provider B 140. If the local access number is available, in step S812 the mobile roaming connection unit 300 routes the call over a data network to a gateway located in country 2. The gateway in country 2 then contacts and hands the call off to the non-native mobile telephony service provider B 140. The non-native mobile telephony service provider B 140 then completes the call to the subscriber mobile telephony device 1 12.

[0069] The IP telephony system 124 already has multiple agreements in place with mobile telephony service providers in multiple countries. Those agreements allow the IP telephony system 124 to route calls over a data network to gateways located in various countries. Those gateways can then hand calls off to the mobile telephony service providers in those countries.

[0070] By routing the call over the data network until the call arrives in the desired country, and by having the non-native mobile telephony service provider then complete the call from a local gateway to the subscriber mobile telephony device 112, the call can be completed for a considerably lower cost than if the call was handled in a traditional manner, and roaming charges were incurred. The user would likely have to pay a small charge to terminate the call in this fashion. But the charge would be less than the cost of the roaming charges.

[0071] Returning now to Figure 8, if the local access number is not available, in step S814 a check is made to determine if it is acceptable to terminate the communication in the traditional manner through the non-native mobile telephony service provider B 140. If the system determines that the call should not be terminated through the non-native mobile telephony service provider B 140, then in step S822 the call would be terminated in some other fashion.

[0072] If the decision in step S814 is to terminate the call to the subscriber mobile telephony device 112 in the traditional manner through the non-native mobile telephony service provider B 140, then in step S816 the forwarding instruction unit 306 contacts mobile telephony service provider A 1 14 and cancels the call forwarding instructions. The call termination unit 308 then sends the call to the regular native telephone number of the subscriber mobile telephony device 112 in step S818. This will cause mobile telephony service provider A 114 to send the call on to mobile telephony service provider B 140, which ultimately completes the call to the subscriber mobile telephony device 1 12. Once the call is completed, the method proceeds to step S820, where the call forwarding instructions are re-implemented.

[0073] As an additional feature of the call termination processes presented above, an enhanced security option is made available. That is, once a communication request is passed to the IP telephony system 124, call signaling and media connections between the IP telephony system 124 and the subscriber mobile telephony device 1 12 may be encrypted to provide a secure

communication session. The encryption techniques that are used could be RSA encryption, as described in PKCS#1 v2.1 : RSA Cryptography Standard, RSA Laboratories, dated June 14, 2002, or AES encryption as described in Advanced Encryption Standard (AES), Federal Information Processing Standards

Publication 197, dated November 26, 2001 , or the techniques described in

Secure Socket Layer (now Transport Layer Security) Protocol, Version 1.2 as described in IETF RFC 5246, dated August 2008, all of which are incorporated herein by reference.

[0074] In the methods described above, a call forwarding number is assigned by the mobile roaming connection unit 300 when call forwarding instructions are being implemented. This would likely result in different forwarding access telephone numbers being used for the same device at different times. However, in other embodiments, the forwarding access telephone number could be a dedicated telephone number that is used only for a particular mobile telephony device.

[0075] In the systems and methods described above, a forwarding instruction unit 306 of a mobile roaming connection unit 300 assigns a forwarding access telephone number and issues call forwarding instructions to mobile telephony service provider A 1 14. This causes mobile telephone service provider A 114 to forward all calls made to the native telephone number of the subscriber mobile telephony device 1 12 to be forwarded to the assigned forwarding access number.

[0076] In some cases, it may be impossible for the forwarding instruction unit 306 of a mobile roaming connection unit 300 to interact directly with a mobile telephony service provider to cause the mobile telephony service provider to implement and/or cancel call forwarding instructions. In those cases, however, it may be possible for call forwarding instructions to be implemented and canceled by issuing such instructions to the mobile telephony service provider from a subscriber's mobile telephony device. As will be explained below, in some embodiments, a software application running on a subscriber's mobile telephony device can cause call forwarding instructions to be issued from the subscriber's mobile telephony device. In other embodiments, the subscriber may need to take some type of positive action to cause appropriate call forwarding instructions to be issued from the subscriber's mobile telephony device. [0077] Instructions to implement and cancel call forwarding can be issued to a mobile telephony service provider from a subscriber's mobile telephony device by dialing predetermined patterns of characters and/or numbers. The call forwarding activation and deactivation codes can vary from one mobile telephony service provider to the next. Thus, it is important to know which mobile telephony service provider is providing the native service to a subscriber's mobile telephony device to thereby know which string of characters must be dialed implement or cancel call forwarding instructions.

[0078] Also, many mobile telephony service providers allow for different types of call forwarding instructions. Some call forwarding instructions can be unconditional, whereas other call forwarding instructions can be conditional based on various factors. For example, in many mobile telephony systems a first call forwarding activation code causes all calls placed to the native telephone number of a subscriber's mobile telephony device to be forwarded to a specified forwarding telephone number. A second call forwarding activation code causes a call placed to the native telephone number of a subscriber's mobile telephony device to be forwarded to a specified forwarding telephone number only if the subscriber's mobile telephony device is already busy with another call. A third call forwarding activation code causes calls to the native telephone number of a subscriber's mobile telephony device to be forwarded to a forwarding telephone number only if the call is not answered by the subscriber's mobile telephony device within a certain period of time after ringing begins.

[0079] As with the call forwarding activation codes, different deactivation codes may be required to deactivate each of these different types of call forwarding instructions. The deactivation codes may also vary from one mobile telephony service provider to the next.

[0080] Most subscribers are not aware of the codes that must be dialed on their mobile telephony device to activate and deactivate call forwarding. Also, in many systems and methods embodying the invention, the call forwarding number that is assigned by the mobile roaming connection unit 300 will not be known until it is actually issued by the mobile roaming connection unit 300. And that may not occur until the subscriber's mobile telephony device registers with the mobile roaming connection unit 300 via a data connection.

[0081] For these reasons, if it is necessary for a subscriber to issue call forwarding instructions to the mobile telephony service provider by dialing a particular string of characters on the subscriber's mobile telephony device, it is helpful for the mobile roaming connection unit 300 to provide the subscriber, or an application on the subscriber's mobile telephony device, with the string of characters that must be dialed. Several different ways of accomplishing this task are explained below.

[0082] In many mobile telephony systems, a subscriber can cause

unconditional call forwarding to be implemented by dialing the string

"*21 *[forwarding telephone number]#". The forwarding telephone number is the telephone number to which calls will be forwarded. In the United States, the forwarding telephone number typically includes 10 digits, including the area code and the assigned telephone number. Once unconditional call forwarding instructions have been implemented, they can be canceled by dialing the string "##21#".

[0083] In many of those same mobile telephony systems, several different types of conditional call forwarding can be implemented by dialing different strings of characters. For example, some telephony systems can be instructed to forward a call to a forwarding telephone number if the subscriber's mobile telephony device is busy with another call by dialing the character string

"*67*[forwarding telephone number]#". This type of conditional call forwarding can be canceled by dialing the character string "##67#". Other types of conditional call forwarding can be implemented and canceled by dialing other character strings.

[0084] In the context of this invention, the point of issuing call forwarding instructions is to cause a subscriber's native mobile telephony service provider to forward an incoming call directed to the native telephone number of the subscriber's mobile telephony device to be forwarded to a forwarding access number that has been assigned by a mobile roaming connection unit 300 of an IP telephony system 124. Once the incoming call is re-directed to the forwarding access number, the IP telephony system 124 completes the call to the

subscriber's mobile telephony device over a data connection. This requires that the subscriber's mobile telephony device already be registered with the mobile roaming connection unit 300 via a data connection.

[0085] If the forwarding instruction unit 306 of a mobile roaming connection unit 300 is unable to interact directly with the subscriber's native mobile telephony service provider to cause the implementation and cancellation of call forwarding instructions, then it would be advantageous for such call forwarding instructions to be issued by dialing the appropriate character string from the subscriber's mobile telephony device. Typically, the call forwarding instructions would be issued from the subscriber's mobile telephony device shortly after the subscriber's mobile telephony device registers with a registration unit 302 of the mobile roaming connection unit 300. If a forwarding access telephone number is selected upon registration, this is the earliest point in time at which the forwarding access telephone number will be known.

[0086] In the following example, the mobile roaming connection unit 300 provides the subscriber, or an application on the subscriber's mobile telephony device, with a character string that must be dialed from the subscriber's mobile telephony device to implement appropriate call forwarding instructions. In some instances, the subscriber then causes that character string to be dialed to implement the call forwarding instruction. In other instances, an application on the subscriber's mobile telephony device causes the character string to be dialed to implement the call forwarding instructions.

[0087] Figure 9 illustrates steps of a method that would be performed when a subscriber's mobile telephony device registers with a mobile roaming connection unit 300 to implement mobile roaming procedures by dialing a character string from the subscriber's mobile telephony device. As explained above, in some embodiments, the subscriber's mobile telephony device automatically contacts the mobile roaming connection unit 300 whenever it is able to establish a data connection, regardless of how that connection is established. In other instances, the subscriber takes direct action to cause his mobile telephony device to register with the mobile roaming connection unit 300. In still other instances, the mobile roaming connection unit may initiate contact to the subscriber's mobile telephony device to cause registration to occur.

[0088] The method begins in step S902, where the forwarding instruction unit 306 assigns a forwarding access telephone number for the subscriber's mobile telephony device. As explained above, the forwarding access telephone number is stored in a registration database maintained by the IP telephony system 124 against the native telephone number and the I SI number of the subscriber's mobile telephony device.

[0089] Once the forwarding access number is assigned, in step S904 the forwarding instruction unit 306 determines the string of characters which must be dialed from the subscriber's mobile telephony device to instruct the subscriber's native mobile telephony service provider to implement the desired type of call forwarding.

[0090] As explained above, different codes are used by different mobile telephony service providers to implement and cancel the same type of call forwarding instructions. Thus, the forwarding instruction unit 306 needs to know what mobile telephony service provider is providing the native mobile telephony service to the subscriber's telephony device so that the correct character string can be determined. In some embodiments, a call forwarding code database 310 containing the codes or character strings that are used by various different mobile telephony service providers to implement and cancel various different types of call forwarding is part of the mobile roaming connection unit 300, or part of the IP telephony system 124. The call forwarding instruction unit would consult this database to obtain information about how to determined the correct character string.

[0091] As also explained above, many mobile telephony service providers are capable of implementing multiple different types of call forwarding, each of which is implemented and canceled by different character strings. Thus, the forwarding instruction unit 306 also needs to determine what type of call forwarding the subscriber wishes to implement, and then determine the character string to use to implement the desired type of call forwarding within the subscriber's mobile telephony service provider system. [0092] In some embodiments, the subscriber's preferences about the type of call forwarding will already have been provided to the mobile roaming connection unit 300 during a registration process. In other instances, the subscriber may be queried about the type of call forwarding he would like to implement each time that the subscriber's mobile telephony device registers with the mobile roaming connection unit 300. In some embodiments, if the subscriber has not made a selection regarding the type of call forwarding instructions he wishes to implement, the mobile roaming connection unit 300 selects a default type of call forwarding, such as unconditional call forwarding.

[0093] Once the forwarding instruction unit 306 has determined the character string that must be dialed to implement the desired type of call forwarding to the assigned forwarding access number, in step S906, the forwarding instruction unit 306 provides the determined character string to the subscriber and/or to the subscriber's mobile telephony device in any one of multiple different ways. In some embodiments, the forwarding instruction unit 306 causes a message to be displayed on the subscriber's mobile telephony device. The message includes the determined character string. The message may also include instructions for dialing the determined character string.

[0094] In some embodiments, the message could be sent to a software application that is running on the subscriber's mobile telephony device, or that is present on a memory card or SIM card of the device, and which is in

communication with the forwarding instruction unit 306 via a data connection. The software application then causes the message to be displayed on the subscriber's mobile telephony device. In other embodiments, the forwarding instruction unit 306 could cause a SMS or MMS message to be sent to the subscriber's mobile telephony device via a telephony system connection. In still other embodiments, a push notification service could be used to send the desired message to the user's mobile telephony device.

[0095] In the example given above, the character string "*21 *[forwarding telephone number]#" is used to implement unconditional call forwarding to the forwarding telephone number. If the forwarding access number assigned by the forwarding instruction unit 306 is 703.555.1234, the message sent to the subscriber's mobile telephony device would include the string

"*21 *7035551234#". The subscriber would dial that character string from his mobile telephony device to implement call forwarding to the telephone number 703.555.1234.

[0098] In some instances, it may be relatively easy for the subscriber to copy the provided character string, and to then insert that copied character string into the native telephone dialer of the subscriber's mobile telephony device. In other instances, the subscriber's mobile telephony device may have functionality that allows the subscriber to highlight or select the character string in the displayed message, and to then cause the mobile telephony device to dial the

highlighted/selected character string. In such instances, it will be relatively easy for the subscriber to cause his mobile telephony device to dial provided character string to cause the implementation of call forwarding instructions.

[0097] One type of call forwarding activation code causes calls to the native telephone number of a subscriber's mobile telephony device to be forwarded to a forwarding telephone number if the call is declined by the subscriber (e.g., by pressing decline when the call is first received by the mobile telephony device and the mobile telephony device begins ringing). This fourth type of call forwarding activation code may be advantageous in allowing the subscriber to choose how an incoming call is ultimately connected to his mobile telephony device.

[0098] For example, in some instances, a subscriber may find that he experiences superior call quality using a cellular telephony channel, as opposed to a data channel. Thus, depending upon the nature of the phone call, the user may prefer that an incoming call be connected to his mobile telephony device via a cellular telephony channel, which would incur roaming charges, as opposed to receiving the call through a data network via an assigned call forwarding number.

[0099] If conditional call forwarding instruction are issued to the subscriber's native mobile telephony service provider that only result in a call being forward to a forwarding access number if the subscriber declines an incoming call, the subscriber will be able to choose how the call is connected to his mobile telephony device. If the subscriber simply answers an incoming telephone call when his mobile telephony device begins to ring, the call will be connected to the subscriber's mobile telephony device via a roaming cellular connection, which might provide higher call quality. On the other hand, if the subscriber declines the call, the subscriber's native mobile telephony service provider will forward the call to a forwarding access number assigned by the mobile roaming connection unit, and the call will be routed to the subscriber's mobile telephony device via a data connection, as described above.

[00100] Fig. 10 illustrates a method in which the forwarding instruction unit 306 sends a character string that is to be used to implement call forwarding to a subscriber's mobile telephony device in a way that makes it easy for the subscriber to dial the provided string. In step S1002, the forwarding instruction unit 306 assigns a forwarding access telephone number. Once the forwarding access telephone number is assigned, the forwarding instruction unit 306 determines the character string that must be dialed from the subscriber's mobile telephony device to implement a desired type of call forwarding to the assigned forwarding access number in step S1004. In step S1006, the forwarding instruction unit 306 provides the character string to the subscriber's mobile telephony device in a manner that allows the character string to be recorded as part of a contact in a contact list that is present on the subscriber's mobile telephony device.

[00101] In some embodiments, the forwarding instruction unit 306 causes a telephone call or a SMS/MMS message to be sent to the subscriber's mobile telephony device. The call or SMS/MMS message includes user ID information. The user ID information includes the determined character string as the

"telephone number" of the calling party. The name provided in the caller ID information could provide an indication of the function of the character string. For example, the name in the caller ID information could read "Implement Call Forwarding for Mobile Roaming."

[00102] When the call or message is received by the subscriber's mobile telephony device, the caller ID information that includes the determined character string, and possibly a label indicating the purpose of the character string, will be recorded in the incoming call log of the subscriber's mobile telephony device. Many mobile telephony devices provide the subscriber with the ability to use the caller ID information that has been captured for an incoming telephony

communication to populate a new contact entry in a contact list that is stored on the subscriber's mobile telephony device. Thus, the subscriber is able to store a new contact in his contact list that includes the character string that must be dialed to implement call forwarding as the "telephone number" of the new contact. Likewise, the name in the caller ID information, which can include a label indicating the purpose of the character string, will appear as the name of the new contact.

[00103] Once the new contact has been stored on the subscriber's mobile telephony device, the subscriber can request that a call be placed to that contact. This would cause the subscriber's mobile telephony device to dial the character string which implements the required type of call forwarding.

[00104] The forwarding instruction unit 306 could also place multiple calls or send multiple messages to the subscriber's mobile telephony device to deliver character strings and corresponding labels for multiple different types of call forwarding instructions. For example, the forwarding instruction unit 306 could place a first call to the subscriber's mobile telephony device with a character string used to implement unconditional call forwarding to an assigned forwarding access number. The subscriber would cause this first character string to be stored as part of a first new contact under the name "Implement Unconditional Call Forwarding." The forwarding instruction unit 306 could then place a second call to the subscriber's mobile telephony device with the character string used to implement a type of conditional call forwarding to the assigned forwarding access number which occurs only if the subscriber's mobile telephony device is busy, or if the subscriber declines an incoming call. The subscriber would cause this second character string to be stored as part of a second new contact under the name "Implement Conditional Call Forwarding." The subscriber could then choose which type of call forwarding is to be implemented by placing a call to the contact which causes the desired type of call forwarding instructions to be implemented. [00105] In the same way that a character string can be stored as a contact that is used to implement a desired form of call forwarding, a contact with a character string that is dialed to cancel call forwarding could also be stored on the subscriber's mobile telephony device under a name such as "Cancel Call Forwarding." As noted above, in some mobile telephony service provider systems, the character string "##21#" can be dialed from a mobile telephony device to cancel unconditional call forwarding. Thus, the forwarding instruction unit 306 could send a call or a message to the subscriber's mobile telephony device that includes caller ID information including the character string "##21#" as the source telephone number, and "Cancel Unconditional Call Forwarding" as the name. The subscriber could then create a new contact with this information. And once created, the subscriber could simply request that a call be placed to the contact with the name "Cancel Unconditional Call Forwarding" to cause his mobile telephony device to dial the character string which causes the cancellation of unconditional call forwarding.

[00106] Because the character string used to cancel call forwarding instructions does not typically include a telephone number, it would be possible for a subscriber to store contacts having the character strings for cancellation of each type of call forwarding instructions. Those contacts could then be re-used multiple times whenever a subscriber wishes to cancel a particular type of call forwarding.

[00107] On the other hand, if a new call forwarding access number is assigned to a subscriber's mobile telephony device each time the mobile telephony device registers with the mobile roaming connection unit 300, it would be necessary for the subscriber to store a new contact in his contact list (with a character string that includes the newly assigned forwarding access telephone number) each time that the mobile telephony device re-registers with the mobile roaming connection unit 300. It is unlikely that a previously stored contact could be re-used to implement mobile roaming operations at a later point in time, because at that later point in time a new forwarding access number will have been assigned to the subscriber's mobile telephony device. And that new forwarding access telephone number will not be reflected in the telephone number information that is present in the first contact that was stored in the subscriber's contact list.

[00108] However, if the mobile roaming connection unit 300 assigns a static forwarding access number to the subscriber's mobile telephony device for an enduring period of time, the subscriber could store a contact in his contact list having a telephone number that is the character string including the static forwarding access number. That contact could be re-used multiple times by the subscriber to implement call forwarding instructions. Software on the

subscriber's mobile telephony device could automatically create the contact.

[00109] For example, assume that a subscriber travels to another country on business, that country being outside the subscriber's native telephony service area, and the subscriber intends to remain in the country for a week. Under those circumstances, the mobile roaming connection unit 300 could assign a forwarding access number to the subscriber's mobile telephony device that will remain tied to the mobile telephony device for the entire week. A first contact including the character string for implementing call forwarding to the assigned forwarding access number could then be stored on the subscriber's mobile telephony device. A second contact having the character string used to cancel those call forwarding instructions could also be stored on the subscriber's mobile telephony device. This would allow the subscriber to selectively implement and cancel call forwarding instructions (and thus, mobile roaming operations) by requesting that calls be placed to the first and second stored contacts over the duration of his visit to the foreign country.

[00 0] In the systems and methods described above in connection with Figures 9 and 10, it was assumed that the mobile roaming connection unit 300 was unable to interact directly with the mobile telephony service provider that provides telephony service to a subscriber's mobile telephony device to selectively implement and cancel call forwarding instructions. For this reason, in the systems and methods discussed above, the character strings required to implement and cancel call forwarding instructions are provided to the subscriber, via his mobile telephony device. The subscriber directly interacts with his device to selectively implement and cancel call forwarding instructions (and thus mobile roaming operations).

[00111] Unfortunately requiring the subscriber to implement and cancel call forwarding instructions is not ideal. Some subscriber will likely view this as inconvenient and/or too difficult. Also, there is a danger that a subscriber may implement call forwarding instructions (to implement mobile roaming operations), and then forget to cancel the call forwarding instructions once mobile roaming is not longer needed or desired.

[00112] In other situations, the subscriber may not be aware when his mobile telephony device can no longer maintain a data connection with the mobile roaming connection unit 300. If that occurs, the subscriber may not even be aware that he should cancel call forwarding instructions so that incoming calls can be received (albeit in a more expensive fashion) via a normal cellular connection.

[00113] For all these reasons, in some situations it is desirable for the

implementation and cancellation of call forwarding instructions to be performed automatically at the appropriate times. However, as also explained above, in some situations the only way to implement and cancel call forwarding instructions is have the subscriber's mobile telephony device dial a particular character string.

[00114] Figure 11 illustrates steps of a method where call forwarding

instructions can be automatically implemented and canceled, without requiring the user to take any active steps, even through a character string must be dialed by the subscriber's mobile telephony device to implement and cancel the call forwarding instructions. In step S1102, the forwarding instruction unit 306 assigns a forwarding access telephone number. Once the forwarding access telephone number is assigned, in step S1 104 the forwarding instruction unit 306 determines the character string that must be dialed from the subscriber's mobile telephony device to implement the desired type of call forwarding to the assigned forwarding access number.

[00115] In step S1106, the forwarding instruction unit 306 causes the

subscriber's mobile telephony device to dial the determined character string. In some embodiments, it may be possible for the forwarding instruction unit 306 to interact directly with the subscriber's mobile telephony device via a data connection to cause the native dialer of the subscriber's mobile telephony device to dial the determined character string. In other embodiments, the forwarding instruction unit 306 may provide the character string to an application that is present on the subscriber's mobile telephony device, along with a direction to cause the character string to be dialed. The application would then cause the native dialer on the subscriber's mobile telephony device to dial the character string.

[00116] In a similar fashion, the forwarding instruction unit 306 can determine a character string that will cause call forwarding to be canceled, and the forwarding instruction unit 306 can cause the native dialer on the subscriber's mobile telephony device to dial the character string that cancels call forwarding. This could occur because the forwarding instruction unit 306 is able to interact directly with the native dialer via a data connection, or because the forwarding instruction unit 306 instructs an application on the subscriber's mobile telephony device to cause the dialing of the cancellation string.

[00117] In alternate embodiments, the forwarding instruction unit 306 may contact and/or control the native dialer of the user's mobile telephony device through a connection via a cellular data channel, as opposed some other type of data connection. The forwarding instruction unit 306 might also provide instructions to an application running on the subscriber's mobile telephony device via the cellular data connection.

[00118] In still other embodiments, the forwarding instruction unit 306 may provide instructions to an application running on the subscriber's mobile telephony device via a push notification. For example, the forwarding instruction unit 306 may cause a push notification to be sent to the subscriber's mobile telephony device that includes the message "Would you like to implement mobile roaming operations?" If the user responds affirmatively, a message would be delivered to an application on the subscriber's mobile telephony device that causes the application to access and control the native dialer on the subscriber's mobile telephony device so that a character string is dialed to implement call forwarding to an assigned forwarding access number. In some instances, the push notification will also cause the application to load and run. Similar push notifications could be used in a similar fashion to cause the cancellation of call forwarding instructions, and thus the termination of mobile roaming operations.

[00119] In many of the foregoing descriptions, instructions were provided to a software application running on a subscriber mobile telephony device 1 12, or instructions or communications were received from such an application. Also, in some of the foregoing examples, a software application on a subscriber mobile telephony device 1 12 takes various actions, such as displaying messages to a user, reporting the current location of the subscriber mobile telephony device 1 12, causing a forwarding connection unit 300 to implement or cancel call forwarding instructions, or instructing a native dialer of the subscriber mobile telephony device to dial character strings used to implement and cancel call forwarding instructions.

[00120] In alternate embodiments of the invention, a browser running on the subscriber mobile telephony device 112 may access a software application that is running on some other device via a data network connection. The software application could be running on a remote server that is accessible via a data network connection. The software application running elsewhere, and accessible via a browser on the subscriber mobile telephony device 1 12 may provide all of the same functionality as an application running on the subscriber mobile telephony device itself 1 12. Thus, any references in the foregoing description and the following claims to an application running on the subscriber mobile telephony device 1 12 are intended to also encompass embodiments and implementations where a browser running on the subscriber mobile telephony device 112 accesses a software application running elsewhere via a data network.

[00121] In the systems and methods described above, a forwarding instruction unit 306 of a mobile roaming connection unit 300 assigns a forwarding access telephone number and issues call forwarding instructions to mobile telephony service provider A 114. As explained above, this feature can be initiated by dialing a character string from the mobile telephony device 1 12 to instruct the mobile telephony service provider A 114 to route calls going from a native telephone number to a forwarding access number assigned by the IP telephony system 124.

[00122] In certain circumstances, even though a user may have attempted to initiate call forwarding using the mobile telephony device 1 12, the mobile telephony service provider A 114 may not have actually initiated the call forwarding feature correctly. For example, the device 1 12 may have submitted an incorrect character string to the service provider A 1 14. It is also possible that the character string may not have been transmitted to or received by the provider A 114.

[00123] In these situations, the provider A 1 14 may not actually implement the call forwarding feature after the user has attempted to active the feature using the device 1 12. However, all of this may be unbeknownst to the user and the user may place/receive phone calls or other communications using the device 1 12 via the native telephone number of the device 112. If the user is roaming, then the user may incur unnecessary roaming charges even though the user believes that call forwarding has been activated.

[00124] The systems and methods described below are directed to testing whether or not the call forwarding feature has been activated by the mobile telephony service provider A 1 14. More specifically, the IP telephony system 124 can initiate a method for testing if call forwarding has been activated after issuing instructions to the mobile telephony device 112 for activating call forwarding to route calls from a native telephony number with the provider A 1 14 through a forwarding access number with the IP telephony system 124.

[00125] Although the IP telephony system 124 can provide the device 112 with a character string for activating call forwarding with the provider 1 14 A, the IP telephony system 124 may not know when exactly call forwarding has been activated, or if it was activated at all. However, the IP telephony system 124 can be configured with a routine for testing whether calls being made to the device 112 are being routed through the native telephone number of the device 112 through the call forwarding access number associated with the IP telephony system 124. In particular, the IP telephony system 124 can be configured so that it attempts to call the device 12 after a predetermined period of time following communicating instructions to the device 1 12 for activating call forwarding. The IP telephony system 124 can then determine if the call is successfully routed back to the IP telephony system 124 via the call forwarding access number.

[00126] Fig. 12 illustrates steps of a method 1200 embodying the invention for determining whether call forwarding has been activated at the mobile telephony service provider A 1 14. In an example embodiment, this method can be performed by the IP telephony system 124 and can be initiated after the IP telephony system 124 transmits the character string to the mobile telephony device 1 12 for activating call forwarding.

[00127] The process starts and proceeds to S1202 by determining a period of time for testing whether call forwarding has been activated by the service provider A 1 4. In one embodiment, the period of time represents a duration of time after the IP telephony system 124 has provided the mobile telephony device 1 12 with a character string for activating call forwarding. For example, the IP telephony system 124 can be configured to attempt to test the call forwarding feature after 10 minutes from when the system 124 transmitted the character string to the device 1 12. Of course, the IP telephony system 124 can be configured for any particular period of time and in no way is limited to a period of 10 minutes.

[00128] After determining the period of time to test whether call forwarding has been activated, the system 124 will attempt to call the native telephone number of the telephony device 1 12 after the predetermined period of time has elapsed (S1204). The native telephone number can be the number associated with the device 1 12 at the mobile telephony service provider A 1 14. For example, the subscriber mobile telephony device 1 12 may have a native telephone number of (703) 555-1234. The system 124 can initiate a phone call to (703) 555-1234 and as discussed in more detail below, determine if call forwarding has been activated.

[00129] After calling the native telephone number of the device 112, the system 124 can determine if calls are now being forwarded to the forwarding access number provided by the IP telephony system 124 (S1206). In one embodiment, when the call forwarding has been successfully activated by the mobile telephony service provider A 1 14, the call will be routed from the mobile telephony service provider A 1 14 to the IP telephony system 124 via the call forwarding access number. That is, the IP telephony system 124 will provide the device 1 12 with a character string to transmit to the provider A 1 14 to activate call forwarding. The device 1 12 will transmit the string to the provider A 1 14 where the string contains the code for activating call forwarding and a call forwarding access number directing the provider A 114 to route calls going from a native phone number of the device 1 12 to a call forwarding access number with the IP telephony system 124. Then, after a predetermined period of time (e.g., 30 minutes) the IP telephony system 124 will attempt to place a call to the native telephone number of the device 1 12. If call forwarding has been successfully activated, the call will be received at the IP telephony system 124 from the mobile telephony service provider A 114 via the call forwarding access number. That is, the call will be directed to the native telephone number with the mobile telephony service provider A 1 14 which will then forward the call to the assigned call forwarding access number assigned from the IP telephony system 124. If the call forwarding has not been successfully activated (e.g., because the user has not activated it yet, the character string was never received by the provider A 1 14), the call will not be received by the IP telephony system 124.

[00130] If it is determined that call forwarding has not been successfully activated, the process terminates the phone call (S1208) and sets the Call Forwarding Status indication at the IP telephony system 124 to 'INACTIVE' (S1210). In one embodiment, setting the Call Forward Status indication can be implemented by changing a value in a database entry. For example, a database entry may be set to Ό' to indicate that the Call Forward Status indication for the device 1 12 is 'INACTIVE.' Likewise, the database entry may be set to '1 ' to indicate that the Call Forward Status indication is 'ACTIVE.'

[00131] After setting the Call Forwarding Status indication, the IP telephony system 124 can be configured to send a notification to the mobile telephony device 1 12 (S1212). In one embodiment, the IP telephony system 124 can send a text message to the device 1 12 indicating that call forwarding has not been activated. An example message could read "Call forwarding has not been activated. Please attempt to set up call forwarding again." Of course, any other form of message could be sent to the device 112 including, but not limited to, a multimedia message (MMS), an email message, and/or a push notification.

[00132] An application on the telephony device 1 12 may also be updated to indicate that call forwarding has not been activated. For example, the application may provide a message box or an indicator to indicate that call forwarding has not been currently activated at the mobile telephony service provider A 1 14. This indication could be in addition to or as a substitute to sending a message from the system 124 to the device 2.

[00133] If the system 124 determines that call forwarding was successfully activated (S1206), the system then terminates the phone call (S1214) and sets the Call Forwarding Status indication to 'ACTIVE' (S1216). As explained above, the system 124 can implement the Call Forwarding Status indication as a database entry and may set a value to '1 ' to indicate that the Call Forwarding Status indication is 'ACTIVE.'

[00134] Once the Call Forwarding Status indication has been set to 'ACTIVE,' the system 124 can be configured to send a message to the device 12 (S1218). The message could indicate, for example, that call forwarding has been successfully activated and that all calls will be going through the IP telephony system 124. For example, the message might read "Call forwarding successfully activated. All calls will be routed through the IP telephony service." As explained above, the messages may come in the form of text messages, MMS messages, email messages, and/or push notifications. Similarly, the application on the device may have a separate indicator in the application to show that the call forwarding has been successfully implemented. It should be appreciated that the application can be configured so that only messages are received to confirm the activation of call forwarding or that no messages should be received when call forwarding is successfully activated. The method ends after one of the above discussed notifications is sent.

[00135] It should be appreciated that the call may be terminated before the call is routed from the IP telephony system 124 to the device 1 12. For example, if call forwarding was successfully initiated, the call from the IP telephony system 124 will be routed from the provider A 114 back to the IP telephony system 124 via the call forwarding access number. Prior to routing the call to the device 1 12, the system 124 can terminate the call and set the appropriate statuses for indicating that call forwarding succeeded.

[00136] It should also be appreciated that the system 124 may determine that call forwarding has not been successfully activated by virtue of a predetermined period of time passing after placing the test phone call. For example, the system 124 may call the native telephone number of the device 112 and if the call is not received by the system 124 via the forwarding access number after 60 seconds, the system 124 determines that call forwarding has not been successfully implemented. This is also true in a case where the call is placed to the native telephone number and the user intentionally declines the phone call because the user can tell that the phone call is being placed to the native telephone number instead of the call forwarding access number.

[00137] In one embodiment, if the system 124 determines that the call forwarding feature has not been activated, the system 124 can again attempt to activate the call forwarding feature. As described above, the system 124 can provide the device 1 12 with a character string that will be transmitted from the device 1 12 to the mobile telephony service provider A 1 14. Likewise, the system 124 can provide the device 1 12 with instructions for activating call forwarding with the mobile telephony service provider A 114. Similarly, the system 124 can attempt to activate the call forwarding feature by communicating directly with the provider A 1 14. For example, the system 124 can be configured to instruct the provider A 1 14 to forward calls for a native telephone number associated with the device 112 to a call forwarding access number associated with the device 1 12 in the IP telephony system 124.

[00138] In another example implementation, the IP telephony system 124 can be configured to send a message to the device 112 notifying the device that it will test whether call forwarding has been activated. The message can be in the form of a text message, MMS message, email message, and/or push notification. The message can be sent to the device 1 12 after the device 112 has been provided with a character string for activating call forwarding with the mobile telephony service provider A 1 14.

[00139] In many of the foregoing descriptions, instructions were provided to a software application running on a subscriber mobile telephony device 1 12, or instructions or communications were received from such an application. Also, in some of the foregoing examples, a software application on a subscriber mobile telephony device 1 12 takes various actions, such as displaying messages to a user, reporting the current location of the subscriber mobile telephony device 112, causing a forwarding connection unit 300 to implement or cancel call forwarding instructions, or instructing a native dialer of the subscriber mobile telephony device to dial character strings used to implement and cancel call forwarding instructions.

[00140] In alternate embodiments of the invention, a browser running on the subscriber mobile telephony device 1 12 may access a software application that is running on some other device via a data network connection. The software application could be running on a remote server that is accessible via a data network connection. The software application running elsewhere, and accessible via a browser on the subscriber mobile telephony device 1 12 may provide all of the same functionality as an application running on the subscriber mobile telephony device itself 112. Thus, any references in the foregoing description and the following claims to an application running on the subscriber mobile telephony device 1 12 are intended to also encompass embodiments and implementations where a browser running on the subscriber mobile telephony device 112 accesses a software application running elsewhere via a data network.

[00141] In the embodiments discussed above, either the forwarding connection unit 300 of an IP telephony system 124 or a telephony device 1 12 provided instructions to a mobile telephony service provider 1 14 to cause the mobile telephony service provider 1 14 to implement and cancel call forwarding instructions. In alternate embodiments, a third party forwarding agent is responsible for causing a mobile telephony service provider to implement and canceling call forwarding instructions. [00142] Figure 13 illustrates elements of a communications environment which includes a forwarding agent 1200. The communications environment also includes an IP telephony system 124 having a forwarding connection unit 300. Mobile telephony service provider A 114 provides a subscriber mobile telephony device 1 2 with its native telephony service. However, when the subscriber mobile telephony device 1 12 is located outside its native service area, such as in country 2, mobile telephony service provider B 140 can connect telephony communications to the subscriber mobile telephony device 112. Alternatively, telephony communications can be terminated to the subscriber mobile telephony device 1 12 through a data network, such as the Internet 1 16, by the forwarding connection unit 300 of the IP telephony system 124.

[001 3] The forwarding agent 1200 can be implemented as a network server or a general purpose computer running appropriate software. The forwarding agent 1200 receives instructions from a forwarding connection unit 300 of an IP telephony system 124 and/or from a telephony device 1 12, the instructions requesting that the forwarding agent 1200 cause a mobile telephony service provider 1 14 to implement or cancel forwarding instructions. Upon receipt of those instructions, the forwarding agent 1200 contacts the mobile telephony service provider 1 14 and requests that call forwarding instructions be

implemented or canceled for a particular telephony device.

[00144] In some embodiments, the forwarding agent 1200 is controlled by an entity that is completely separate from the IP telephony system 124. In other embodiments, the forwarding agent 1200 may be controlled by the IP telephony system 124.

[00145] Figure 14 illustrates steps of a method of implementing and conducting call forwarding termination procedures involving a forwarding agent 1200. As illustrated in Figure 14, the method begins and proceeds to step S1302, where a request to implement call forwarding instructions for a subscriber telephony device 1 12 is sent to a forwarding agent 1200. The request could originate from a forwarding connection unit 300 of an IP telephony system 124, or from the telephony device 1 12 itself. In either instance, the request could include both the native telephone number of the telephony device 1 2, as well as the forwarding telephone number to which calls should be forwarded. The request could include additional information identifying the telephony device 1 12, such as an IMSI number associated with the telephone device 1 12, or a SIM card present in the telephony device 1 12.

[00146] In some embodiments, the forwarding number to which calls are to be forwarded will be assigned by the forwarding connection unit 300. In this situation, the request sent to the forwarding agent 1200 would include the assigned forwarding access number.

[00147] In alternate embodiments, the forwarding access number that is to be used may be assigned by the forwarding agent 1200. For example, the forwarding agent may be informed of a block of telephone numbers that can be used as forwarding access numbers in advance. When a request to cause forwarding instructions to be implemented is received from the forwarding connection unit 300 of an IP telephony system 124, or from a telephony device 112, the forwarding agent 1200 selects one of the forwarding telephone numbers from the block of available numbers. The forwarding agent 1200 then causes the mobile telephony service provider 1 14 to implement call forwarding instructions so that incoming calls directed to the telephony device's native telephone number are forwarded to the selected forwarding access telephone number.

[00148] In this situation, the forwarding agent 1200 sends a message back to either or both of the forwarding connection unit 300 and telephony device 112 to inform them of the forwarding access number that was assigned to the telephony device 1 12. This ensures that when an incoming telephony communication is received by the IP telephony system 124 on the assigned forwarding access telephone number, the IP telephony system 124 knows which telephony device 112 that the call should be terminated to via a data network.

[00149] The method illustrated in Figure 14 then moves on to step S1304 where the IP telephony system 124 receives an incoming telephony communication on the assigned forwarding access telephone number. Then, in step S1306, the IP telephony system 124 terminates the incoming telephony communication in accordance with predetermined instructions. As described above in the foregoing examples, this could include terminating the telephony communication to the telephony device 1 12 via a data network, terminating the telephony communication via non-native mobile telephony service provider B 140, sending the telephony communication to a voicemail system, forwarding the telephony communication to an alternate telephone number, as well as other termination options. Subsequently, the method ends.

[00150] A method as illustrated in Figure 14 uses the forwarding agent 1200 to cause the mobile telephony service provider 114 to implement and cancel call forwarding instructions. Thus, neither the forwarding connection unit 300 nor the telephony device 1 12 need to directly interact with the mobile telephony service provider 114 to cause the implementation and cancelation of the forwarding instructions.

[00151] Figure 15 illustrates steps of a method that would be performed by a subscriber mobile telephony device 1 12 to cause the implementation of call forwarding termination procedures. The method begins and proceeds to step S1402, where the telephony device 1 12 sends a message to the forwarding connection unit 300 of an IP telephony system 124 that requests that forwarding termination procedures be implemented. This could occur because an application on the telephony device 112 determined that the telephony device 112 was roaming outside its native service area, because a user specifically requested that forwarding termination procedures be implemented, or for a variety of other reasons.

[00 52] In step S1404, the telephony device 112 sends a message to a forwarding agent 1200 requesting that the forwarding agent 1200 cause the telephony device's native mobile telephony service provider 114 to implement call forwarding instructions. Once the forwarding agent 1200 acts, incoming telephony communications directed to the telephony device's native telephone number will be forwarded to the IP telephony system 124, which can terminate the telephony communication according to predetermined instructions, as discussed above. Subsequently, the method ends.

[00153] In some embodiments, when the forwarding connection unit 300 receives a request from the telephony device 112 to implement call forwarding termination procedures, the forwarding connection unit 300 selects a forwarding access telephone number, and provides that forwarding access telephone number back to the telephony device 1 12. The message sent from the telephony device 1 2 to the forwarding agent 1200 will then include the assigned

forwarding access telephone number. The forwarding agent 1200 uses this information to cause the mobile telephony service provider 1 14 to implement the correct forwarding instructions.

[00154] In alternate embodiments, the forwarding connection unit 300 may assign the forwarding access telephone number, but send a message directly to the forwarding agent 1200 indicating the forwarding access telephone number that has been assigned to the telephony device 1 12.

[00155] In still other embodiments, when the telephony device 1 12 sends a message to the forwarding agent 1200 asking for the forwarding agent 1200 to cause the mobile telephony service provider 114 to implement call forwarding instructions, the forwarding agent 1200 selects the forwarding access telephone number. Here again, the forwarding agent 1200 may have previously been provided with a block of forwarding numbers that are available for this purpose. In this situation, the forwarding agent 1200 could contact the IP telephony system 124 to inform the IP telephony system 124 of the forwarding access telephone number that has been assigned to the telephony device 1 12. Alternatively, the forwarding agent 1200 may send a message back to the telephony device 112 to inform it of the assigned forwarding access telephone number, and the telephony device 1 12 can relay this information to the IP telephony system 124.

[00156] When it is necessary or desirable for call forwarding termination procedures to be canceled, the telephony device 1 12 could send a message to the IP telephony system 124 informing the IP telephony system 124 that forwarding termination procedures are to be canceled. Likewise, the telephony device 1 12 can send a message to the forwarding agent 1200 requesting that the forwarding agent 1200 cause the mobile telephony service provider 1 14 to cancel the previously implemented call forwarding procedures.

[00157] Figure 16 illustrates an alternate method of implementing call forwarding termination procedures where the telephony device 1 12 interacts with the forwarding agent 1200. This method begins and proceeds to step S1502, where a telephony device 112 receives a message from the forwarding

connection unit 300 of an IP telephony system 124 indicating that call forwarding termination procedures are to be implemented. This could occur because the call forwarding termination unit 300 determined that the telephony device 1 12 has roamed out of its native service area, or for other reasons, as discussed above. Then, in step S1504, the telephony device 1 12 sends a message to the forwarding agent 1200 asking the forwarding agent 200 to cause the mobile telephony service provider 114 to implement call forwarding instructions.

[00158] In some embodiments, the message the telephony device 112 receives from the forwarding connection unit 300 will include a forwarding access telephone number that has been assigned by the forwarding connection unit 300. In this situation, the message that the telephony device 1 12 sends to the forwarding agent 1200 will include the forwarding access telephone number.

[00159] In other embodiments, the forwarding agent 1200 may assign the forwarding access telephone number. In this situation, the forwarding agent 1200 may send a message directly to the IP telephony system 124 to inform it of the forwarding access telephone number that has been assigned for the telephony device 1 12. Alternatively, the forwarding agent 1200 may send a message to the telephony device 12 with the assigned forwarding access telephone number, and the telephony device 112 will forward the number to the IP telephony system.

[00160] When it is desirable or necessary to cancel the call forwarding termination procedures, the call termination unit 300 may send another message to the telephony device 1 12 to inform the telephony device 112 that call forwarding termination procedures are to be canceled. The telephony device 1 12 then sends a message to the forwarding agent 1200 to request that the forwarding agent 1200 cause the mobile telephony service provider 1 14 to cancel the previously implemented call forwarding instructions.

[00161] In the methods illustrated in Figures 15 and 16, the telephony device 1 12 issues requests to the forwarding agent 1200 to request that call forwarding instructions be implemented and canceled by the mobile telephony service provider 114. But the forwarding agent 1200 is the entity that directly interacts with the mobile telephony service provider 1 14 to cause that to happen.

[00162] As explained above, the IP telephony system 124 can provide instructions to the mobile telephony device 1 12 for activating a call forwarding feature with the mobile telephony service provider A 114. In alternate methods which are described below, an application on a mobile telephony device 1 12 can determine that it is advantageous to implement or cancel forwarding termination procedures, and the application can take action to cause that to occur.

[00163] More specifically, an application on the mobile telephony device 1 12 can be configured to automatically request and/or send instructions for implementing or canceling forwarding termination procedures when the situation requires such. For example, a user may be unaware that the mobile telephony device 1 12 is out of range of its native telephony service provider, and the native telephony service provider may likewise have no way of determining that the mobile telephony device 1 12 has left the native service area. However, if an application on the user's mobile telephony device 1 12 is able to determine that it has begun roaming, the application could notify the IP telephony system 124 that the user is roaming so that the IP telephony system 124 can attempt to implement forwarding termination procedures. Similarly, if the application determines that the mobile telephony device 112 has returned to within its native service area, the application could request that the IP telephony system 124 cancel forwarding termination procedures.

[00164] Figure 17 illustrates elements of a forwarding termination procedures unit 1700 that could be present on a user's mobile telephony device 1 12. The forwarding termination procedures unit 1700 could be implemented as a software application that can be run on the user's mobile telephony device 112.

[00165] The forwarding termination procedures unit 1700 includes a triggering unit 1710, which determines when it would be advantageous to implement or cancel forwarding termination procedures. The triggering unit could use any one of various methods and means for determining that the mobile telephony device 1 12 is roaming outside its native service area. If so, the triggering unit could take steps to have forwarding termination procedures implemented. Likewise, if the triggering unit 1710 determines that the mobile telephony device has returned to within its native service area, the triggering unit 17 0 could take steps to have forwarding termination procedures canceled.

[00166] The triggering unit could determine that the mobile telephony device 112 has begun roaming by noting a roaming setting that is native to the mobile telephony device itself has changed to indicate that the device has begun roaming. Alternatively, this fact could be determined by examining coordinates of the current position of the mobile telephony device 1 12 and comparing those coordinates to the known native service area of the mobile telephony device 1 12. In still other instances, the time zone setting of the mobile telephony device 1 12 may provide an indication that the mobile telephony device 1 12 is outside its native service area. If the mobile telephony device 1 12 has established a connection to a data network via a wireless access point, the IP address assigned to the wireless access point could provide an indication of the location of the mobile telephony device 1 12, and thus whether the device is outside its native service area. Of course, any other suitable method could also be used to determine that the mobile telephony device 1 12 is outside its native service area. Or, conversely, that the mobile telephony device 1 12 has returned to within its native service area.

[00167] The mobile telephony device 1 12 roaming outside of its native service area is not the only instance where the triggering unit 1710 might determine that it is advantageous to cause forwarding termination procedures to be

implemented. For example, if the triggering unit 1710 determines that the mobile telephony device 112 has a good connection to a wireless access point that provides the mobile telephony device 1 12 with access to a data network, that fact alone might be sufficient to cause the triggering unit 1710 to take steps to cause forwarding termination procedures to be implemented. This would mean that telephony communications to the mobile telephony device are routed through the data network, instead of the native mobile telephony service provider, as described above. This could result in the telephony communication being implemented for a lower cost, or with higher call quality. For example, if the mobile telephony device has no connection to the native telephony service provider, or a poor connection, but the mobile telephony device 1 12 has a good connection to a data network, the triggering unit 1710 could determine that it is advantageous to implement forwarding termination procedures.

[00168] In still other embodiments, the triggering unit may determine that it is advantageous or desirable to implement or cancel forwarding termination procedures for other reasons.

[00169] Figure 18 illustrates steps of a first method that would be performed by a forwarding connection unit 300 of an IP telephony system 124 when the forwarding connection unit 300 receives a communication from the triggering unit 1710 of a forwarding termination procedures unit 1700 on a user's mobile telephony device 112 requesting that forwarding termination procedures be implemented. The method begins and proceeds to step S1802 where the forwarding connection unit 300 receives a request from the triggering unit 1710. Next, in step S 804, the forwarding connection unit 300 attempts to cause the native telephony service provider that provides native telephony service to the mobile telephony device 1 12 to implement a call forwarding feature, as discussed above. This includes informing the native telephony service provider of a forwarding termination number to which the native telephony service provider should forward all telephony communications sent to the native telephone number of the mobile telephony device 1 12.

[00170] In step S1806, the forwarding connection unit determines if the call forwarding feature has been successfully implemented by the native telephony service provider. This step could be performed by a testing unit 312 of the forwarding connection unit 300. In some instances, the testing is conducting by having the IP telephony system 124 send a test communication to the native telephone number of the mobile telephony device 1 12. If the call forwarding feature has been implemented, the native telephony service provider will forward the test communication to the forwarding termination number, which means the communication will be received by the IP telephony system 124 on the number assigned by the forwarding connection unit 300. If the test communication is received on the forwarding termination number, the testing unit can confirm that the call forwarding feature was successfully implemented by the native telephony service provider. If, instead, the test communication is sent directly to the mobile telephony device 1 12, the testing unit 312 will know that the native telephony service provider failed to implement the call forwarding feature.

[00171] If the testing unit 312 determines that the call forwarding feature has been implemented by the native telephony service provider, in step S1808, the forwarding connection unit send a communication to the forwarding termination procedures unit 1700 on the mobile telephony device 1 12 indicating that forwarding termination procedures are in effect. Alternatively, if the testing unit 312 determines that the native telephony service provider failed to implement the call forwarding feature, in step S1810, the forwarding connection unit 300 sends a communication to the forwarding termination procedures unit 1700 on the mobile telephony device 112 indicating that the direct attempt to cause the forwarding feature to be implemented has failed.

[00 72] As explained in detail above, in instances where the forwarding connection unit 300 of an IP telephony system 124 cannot successfully cause a native telephony service provider to implement a call forwarding feature, it is still usually possible for a string of characters to be dialed from the mobile telephony device 1 12 itself to cause the native telephony service provider to implement a call forwarding feature.

[00173] In the methods illustrated in Figure 18, if the forwarding connection unit 300 is unable to directly cause the native telephony service provider to implement the call forwarding feature, then after forwarding a notification to that effect in step S1810, the forwarding connection unit 300 sends information to the forwarding termination procedures unit 1700 on the mobile telephony device 112 that will allow the forwarding termination procedures unit 1700 to contact the native telephony service provider directly to cause the forwarding feature to be implemented. This information can include a forwarding telephone number assigned by the forwarding connection unit 300, as well as characters that must be dialed to cause the forwarding feature to be implemented. A full discussion of the various ways that such information can be provided to the mobile telephony device 1 12 is provided above. [00174] When the forwarding termination procedures unit 1700 receives a message indicating that the forwarding connection unit 300 has not been successful in causing the native telephony service provider to implement the call forwarding feature, the forwarding termination instruction unit 1720 will use the information provided by the forwarding connection unit 300 to dial a character string which is intended to cause the native telephony service provider to implement the call forwarding feature. These procedures are also fully discussed above.

[00175] The forwarding connection unit 300 assumes that the forwarding termination procedures unit 1700 on the mobile telephony device will make a direct attempt to cause the native telephony service provider to implement the call forwarding feature. In alternative embodiments, the forwarding termination instruction unit 1720 may send a communication back to the forwarding connection unit 300 of the IP telephony system 124 after the attempt has been made.

[00176] Once a small delay period has elapsed, to give the native telephony service provider time to implement the call forwarding feature, in step S1814 the testing unit 312 conducts another test to determine if the forwarding feature has been implemented. If so, the method proceeds to step S1808, and the forwarding connection unit 300 informs the forwarding termination procedures unit 1700 of the mobile telephony device 112 that forwarding termination procedures are in effect. If not, the method proceeds to step S18 6, and the forwarding connection unit 300 informs the forwarding termination procedures unit 1700 of the mobile telephony device 1 12 that its first attempt was

unsuccessful, and that it should make a second attempt.

[00177] Once again, the forwarding connection unit 300 waits for a delay period to expire, and then in step S1818, the testing unit 312 conducts another test to determine if the native telephony service provider implemented the call forwarding feature. If so, the method proceeds to step S1808, and the forwarding connection unit 300 informs the forwarding termination procedures unit 1700 of the mobile telephony device 112 that forwarding termination procedures are in effect. If not, the method ends. [00178] Several of the steps of the above described method may be omitted in alternate embodiments. For example, step S1816 of informing the forwarding termination procedures unit 1700 of the mobile telephony device 1 12 that it should make a second attempt to cause the native telephony service provider to implement the call forwarding feature, and the corresponding testing step S1818, may be omitted.

[00179] Also, the step S1812 of providing information to the forwarding termination procedures unit 1700 may be omitted if the forwarding termination procedures unit 1700 already has sufficient information to dial a string of characters that will cause the native telephony service provider to implement the call forwarding feature.

[00180] The method described above in connection with Figure 18 is performed by the elements of the IP telephony system 124 when the IP telephony system 124 receives a communication from a mobile telephony device 1 12 indicating that call forwarding termination procedures should be implemented. A similar method is performed by elements of the IP telephony system 124 when the IP telephony system 124 receives a communication from a mobile telephony device 1 12 indicating that call forwarding termination procedures should be canceled.

[00181] Figure 19 illustrates steps of a method that would be performed by the forwarding termination procedures unit 1700 of a mobile telephony device 1 12 to determine when it is desirable to implement forwarding termination procedures, and to then cause the implementation of the call forwarding termination procedures. The method begins and proceeds to step S1902 where the triggering unit 1710 of the forwarding termination procedures unit 1700

determines that it would be desirable to implement forwarding termination procedures. As noted above, the triggering unit 1710 could use any of multiple different methods to determine that it is desirable to implement forwarding termination procedures.

[00182] Next, in step S1904, the triggering unit 1710 informs an IP telephony system 124 that it is desirable to implement forwarding termination procedures. As explained above, the forwarding connection unit 300 of an IP telephony system 124 could then attempt to cause the native telephony service provider to implement a call forwarding feature. Whether the forwarding connection unit 300 is successful or not, it will ultimately send a communication back to the forwarding termination procedures unit 1700 on the mobile telephony device 1 12 reporting the status. In step S1906, the forwarding termination procedures unit 1700 determines if the forwarding connection unit 300 was successful in causing the native telephony service provider to implement the call forwarding feature. If so, the method proceeds to step S1908, and future communications are conducted via the IP telephony system 124 using a data network connection.

[00183] If the forwarding connection unit 300 was not successful, the method proceeds to step S1910, where the forwarding termination procedures unit 1700 receives information from the IP telephony system 124 that will allow the mobile telephony device 1 12 to dial a string of characters to cause the native telephony service provider to implement the call forwarding feature. The method then proceeds to step S9412, where the forwarding termination instruction unit 1720 dials the character string. If the native telephony service provider then

implements the call forwarding feature, future communications are conducted via the IP telephony system over the data network. If the native telephony service provider fails to implement the call forwarding feature, the method ends.

[00184] As noted above, in some embodiments, the forwarding termination instruction unit 1720 may receive a communication back from the IP telephony system indicating that a first attempt has proved unsuccessful, and instructing the forwarding termination instruction unit 1720 to make a second attempt. If this occurs, the method illustrated in Figure 19 could include additional steps of receiving such a communication, and making a second attempt to cause the native telephony service provider to implement the call forwarding feature.

[00185] Figure 19 illustrates steps of a method performed by an application on a mobile telephony device to determine that it may be advantageous to implement forwarding termination procedures, and to then cause the forwarding termination procedures to be implemented. A similar method may also be performed by the application to determine that it may be advantageous to cancel forwarding termination procedures, and to then take steps to have the forwarding termination procedures canceled. [00186] The application on a mobile telephony device may perform the above described methods automatically, without user intervention, to cause forwarding termination procedures to be implemented or canceled when the application determines that it is desirable or advantageous to do so. Alternatively, when the application determines that it is desirable or advantageous to implement or cancel the forwarding termination procedures, the application may ask the user for authorization to cause the implementation or cancellation of the forwarding termination procedures.

[00187] The application on the mobile telephony device may be configurable by the user to automatically implement and/or cancel forwarding termination procedures or to seek user permission. Further, the application may be user configurable to automatically implement and/or cancel forwarding termination procedures under some conditions, and to seek user approval to implement or cancel forwarding termination procedures under other conditions.

[00188] In the foregoing descriptions, the user could either receive an incoming telephony communication on his subscriber mobile telephony device 112 via a data network, or via a mobile telephony service provider. As explained, the mobile telephony service provider can be instructed to forward telephony communications directed to the native telephone number of the subscriber mobile telephony device 1 12 to a forwarding number, so that the telephony

communication is received by the IP telephony system 124. The IP telephony system 124 then terminates the telephony communication to the subscriber mobile telephony device 1 12 via the data network.

[00189] As also explained above, one type of call forwarding which can be implemented by the mobile telephony service provider causes an incoming call to the native telephone number of the subscriber's mobile telephony device 1 12 to be forwarded to a forwarding telephone number only if the call is declined by the subscriber (e.g., by pressing decline when the call is first received by the mobile telephony device and the mobile telephony device begins ringing). As noted above, this type of call forwarding may be advantageous, because it allows the subscriber to choose how the incoming call is ultimately connected to his mobile telephony device. If the user accepts the call, it will be connected through the cellular network. If the user declines the call, it will be forwarded to the IP telephony system 124, and the call will be terminated to the subscriber mobile telephony device 1 12 via the data network.

[00190] It would be advantageous if the user could be provided with additional information about the relative strength of any cellular system connection that the subscriber mobile telephony device 1 12 has with a cellular base station and/or the strength or quality of a data network connection that the subscriber mobile telephony device 1 12 has at the time the user must decide whether to accept or decline the call. If the strength or quality of a data network connection is good, the user may wish to decline the incoming call so that the call will be connected through the data network. On the other hand, if the strength or quality of the data network connection is poor at the time the call is being received, the user may wish to accept the call so that it will be connected through the cellular system.

[00191] To provide the user with this type of information, it is first necessary to obtain the information. In the case of a cellular network connection, the subscriber mobile telephony device will likely have a native ability to assess the strength of the connection that it has to a cellular base station. This information is often presented to the user as part of the background information that is always present on the display screen of a mobile telephony device. The user could review this information at the time that an incoming telephony

communication is received to determine if the signal strength is good or poor.

[00192] In the case of a data network connection, an application on the subscriber mobile telephony device 1 12 that is responsible for interacting with the IP telephony system 124 to conduct an IP telephone call over the data network may also be configured to assess the strength and/or quality of a data network connection that exists between the subscriber mobile telephony device 112 and the forwarding connection unit 300 of the IP telephony system 124. This determination could include an assessment of data packet delivery statistics such as latency, packet loss and jitter. This determination could also include an assessment of the strength of a wireless connection that the subscriber mobile telephony device 1 12 has with a wireless access point. These items of information may be combined in some fashion to provide an overall indication of the strength and/or quality of the data network connection that exists between the subscriber mobile telephony device 112 and the forwarding connection unit 300 of the IP telephony system 124.

[00193] If this information is available, the information would be presented to the user in some fashion when an incoming call is received, and before the user must act to either accept or decline the call. If the user sees that the strength of the data network connection is acceptable, he could then decline the incoming call so that it will be terminated to his mobile telephony device 1 12 via the forwarding connection unit 300 of an IP telephony system 124, as described above. If the user sees that the strength of the data network connection is poor, but that the strength of the cellular connection is good, the user could accept the call so that it will be connected via the cellular system.

[00194] In the above example, conditional call forwarding was implemented by the mobile telephony service provider so that the user could have greater control over how incoming telephony communications are handled. In alternate embodiments, an application on the subscriber mobile telephony device could provide similar and enhanced functionality.

[00195] In one embodiment of the invention, an application on the subscriber mobile telephony device 1 12 is designed to present the user with information and/or options when the forwarding connection unit 300 attempts to terminate a telephony communication to the subscriber mobile telephony device 1 12 via a data network. This would occur when forwarding termination procedures are in effect, and the forwarding connection unit 300 has received an incoming telephony communication that was originally directed to the native telephone number of the subscriber mobile telephony device 1 12, but which was forwarded to a forwarding telephone number assigned by the forwarding connection unit 300 by the telephony device's native mobile telephony service provider. Figure 20 illustrates steps of a method that would be performed by the application. Figure 21 illustrates elements of the application 1300 itself which are partially responsible for performing the method illustrated in Figure 20.

[00196] The method begins and proceeds to step S2002 where the application on the subscriber mobile telephony device 1 12 receives the incoming telephony communication. As illustrated in Figure 21 , a receiving and handling unit 2100 of the application would initially receive the incoming telephony communication.

[00197] Next, in step S2004, an information display unit 2106 of the application presents the user with information. The user may also be presented with options about how the incoming telephony communication can be handled. The information and/or the options could be presented to the user on a display screen of the subscriber mobile telephony device 1 12. Alternatively, or in addition, such information could be played to the user in an audio form via a speaker of the subscriber mobile telephony device 112. In still other instances, a video presentation may be given to the user.

[00198] The information presented to the user could include many different items which may be of interest to the user. For example, the information could include an indication regarding the strength or quality of a connection that the subscriber mobile telephony device 112 has with the forwarding connection unit 300 via a data network. Likewise, the information may include an indication of the strength of the connection that the subscriber mobile telephony device 1 12 has with a cellular network. As explained above, this information could be used to determine whether to have the call terminated to the subscriber mobile telephony device 1 12 via a data network, via the forwarding connection unit 300, or via a mobile telephony service provider via a cellular network.

[00199] The information presented to the user may also include information indicative of the cost of terminating the telephony communication to the subscriber mobile telephony device 1 12 through the data network, via the forwarding termination unit 300. The information could also be indicative of the cost of terminating the telephony communication to the subscriber mobile telephony device 112 through a mobile telephony service provider via a cellular network. This cost information could include a cost to terminate the call via a normal cellular voice channel, or through the forwarding connection unit 300 via a data channel provided by the cellular network. Here again, this information could be used to determine how the call should be terminated to the subscriber mobile telephony device 1 12. [00200] The information could also be indicative of the rate at which battery power will be consumed by the subscriber mobile telephony device 1 12 if the telephony communication is terminated through the data network, and the rate at which power will be consumed if the telephony communication is terminated through the cellular network. Further, the present battery level may also be presented to the user. This information could also be used to determine how the telephony communication should be terminated.

[00201] In step S2006, a user input receiving unit 2108 of the application receives input from the user which is indicative of how the user wishes for the telephony communication to be handled. For example, the user may be presented with any or all of the above-described items of information, and the options of either having the telephony communication terminated to the subscriber mobile telephony device through the data network, via the forwarding connection unit 300, or through the cellular network via a mobile telephony service provider. In some instances, the user may be provided with the option of having the telephony communication terminated via the forwarding connection unit 300, but via a data channel provided by the cellular service provider, as opposed to through a separate data network connection. In step S2006, the user input receiving unit 2108 receives and processes the user's selection.

[00202] In step S2008, the receiving and handling unit 2102 then handles the telephony communication in accordance with the received user input. For example, if the user indicates that the telephony communication is to be terminated through the data network, the receiving and handling unit 2102 causes an IP telephone call to be established with the forwarding connection unit 300, and the call would begin. In some instances, this could include routing the IP telephone call via a data network such as the Internet. In other instances, this could include routing the IP telephone call via a data channel provided by a cellular service provider.

[00203] If the user indicates that the call is to be terminated via a normal voice channel of a cellular network, the receiving and handling unit 2102 would cause the native mobile telephony service provider to cancel call forwarding, and the telephony communication would be routed back to the native telephone number of the subscriber mobile telephony device 112 so that the telephony

communication will be terminated to the subscriber mobile telephony device 112 via the cellular network.

[00204] The options presented to the user could include options other than terminating the telephony communication through the data network or the cellular network. For example, the user could also be presented with the option of sending the telephony communication to a voicemail system, or of simply not answering the telephony communication in any fashion. The user might also have the option of having the telephony communication forwarded to a different telephone number. In some instances, the user may also have the option of having the telephony communication answered, and having a pre-recorded message played to the calling party. These and other options would be presented to the user by the information display unit 2106. The user input receiving unit 2108 would receive the user's instructions, and the receiving and handling unit 2102 would thereafter handle the telephony communication based on the received user input. Of course, other options for handling the telephony communication may also be available to the user.

[00205] In some instances, it may be necessary to obtain the information that is to be presented to the user. In those instances, an information acquisition unit 2104 of the telephony communication handling unit 2100 would be responsible for obtaining the information. For example, information about the strength or quality of a data network connection that the subscriber mobile telephony device 12 has with the forwarding connection unit 300 over a data network could be obtained or determined by the information acquisition unit 2104. Likewise, information about the strength of a cellular data connection could be obtained by the information acquisition unit 2104. Other items of information, such as the costs to terminate a telephony communication via various paths, the battery strength, the amount of battery power that will be consumed by various different termination options, as well as other forms of information could also be obtained by the information acquisition unit 2104.

[00206] In the foregoing methods, an incoming telephony communication that is to be terminated to a subscriber mobile telephony device 1 12 is first directed to the native telephone number of the subscriber mobile telephony device 1 12. As a result, the telephony communication is first received by mobile telephony service provider A 1 14, which provides the subscriber mobile telephony device 1 12 with its native telephony service. Mobile telephony service provider A 1 14 then forwards the telephony communication to a forwarding access number that is assigned to the telephony device. A forwarding connection unit 300 of an IP telephony system 124 receives the forwarded telephony communication, and the forwarding connection unit 300 attempts to terminate the telephony

communication to the subscriber mobile telephony device 1 12.

[00207] In alternate embodiments, which are described below, it is possible for a calling party to dial an access number that has been associated with the subscriber mobile telephony device 1 12 to reach the forwarding connection unit 300 of the IP telephony system 124 in the first instance. In other words, the calling party dials an assigned access number associated with the subscriber mobile telephony device 1 12, instead of the native telephone number of the subscriber mobile telephony device 112, which results in the calling party directly contacting the forwarding connection unit 300 of the IP telephony system 124. The forwarding connection unit 300 then attempts to terminate the telephony communication to the subscriber mobile telephony device 1 12 using any of the methods described above. In these alternate methods, the telephony

communication is never received by or forwarded by mobile telephony service provider A 1 14.

[00208] In these alternate embodiments, it is first necessary for a calling party to be informed of an access telephone number which has been assigned to a subscriber mobile telephony device, and which can be dialed by the calling party to directly reach the forwarding connection unit 300 of an IP telephony system 124. In some embodiments, this would occur when the calling party initially dials the native telephone number of the subscriber mobile telephony device 1 12. One such method embodying the invention, which would be performed by a forwarding connection unit 300 of an IP telephony system 124, will now be described with reference to Figure 22. [00209] As noted above, when a calling party dials the native telephone number of the subscriber mobile telephony device 1 12, the telephony communication is first received by mobile telephony service provider A 114. Mobile telephony service provider A 1 12 then forwards the telephony communication to the forwarding connection unit 300 of an IP telephony system 24. The method illustrated in Figure 22 begins and proceeds to step S2202 where the telephony communication is received by the forwarding connection unit 300 from mobile telephony service provider A 14. Because mobile telephony service provider A 114 has been instructed to forward all calls directed to the native telephone number to a forwarding access number assigned by the forwarding connection unit 300, the forwarding connection unit 300 would received the forwarded telephony communication on that telephone number.

[00210] In step S2204, the forwarding connection unit 300 attempts to terminate the telephony communication to the subscriber mobile telephony device 1 12. This could include attempting to terminate the telephony communication via a data network, via a non-native mobile telephony service provider, or via a gateway or proxy server that is in communication with a non-native mobile telephony service provider that provides service to the location where the subscriber mobile telephony device 1 12 is presently located.

[00211] In step S2206 a check is performed to determine if the attempt to terminate the communication to the subscriber mobile telephony device 112 has been successful. If so, the method ends. If not, the method proceeds to step S2208. In some embodiments, the forwarding connection unit 300 might make several attempts to terminate the telephony communication to the subscriber mobile telephony device 1 12 via one or more alternate means. In other embodiments, if the forwarding connection unit 300 cannot terminate the telephony communication to the subscriber mobile telephony device 112 via a preferred method, such as via a data network, the method would immediately proceed to step S2208.

[00212] In step S2208 a message is provided to the calling party. The message informs the calling party that the subscriber mobile telephony device 112 is presently unavailable, but also provides the calling party with an alternate access telephone number that the calling party can use to send a telephony

communication to the subscriber mobile telephony device 1 12. In some embodiments, the access telephone number provided to the calling party may be the same forwarding access number that has been assigned to the subscriber mobile telephony device 1 12, and to which mobile telephony service provider A 114 forwards telephony communications that are originally directed to the native telephone number. In other embodiments, the forwarding connection unit 300 may assign a second access telephone number to the subscriber mobile telephony device 112, and the second access telephone number is provided to the calling party. In embodiments where a second access telephone number is assigned, the second access telephone number could be one that the calling party can dial without incurring long distance charges.

[00213] The message that is delivered to the calling party could take any of numerous different forms. In some embodiments, the forwarding connection unit 300 could simply cause an audio or video message to be played to the calling party. In other embodiments, the forwarding connection unit 300 could cause an SMS or MMS message to be delivered to the calling party's telephony device. Because caller ID information would be included with the incoming telephony communication received from the calling party, the forwarding connection unit 300 would have the information required to cause such a SMS or MMS message to be delivered to the calling party. The message would include the access telephone number that the calling party can dial to directly reach the forwarding connection unit 300 to get a telephony communication terminated to the subscriber mobile telephony device.

[00214] In still other embodiments, the forwarding connection unit 300 could cause an e-mail message to be delivered to the calling party. The forwarding connection unit may be able to determine an e-mail address associated with the calling party's telephone number, which would allow such an e-mail message to be sent to the calling party.

[00215] In still other embodiments, the forwarding connection unit could cause an audio or video message to be stored or recorded in a voicemail system associated with the calling party's telephony device. The audio or video message would include the access telephone number that the user can dial to reach the subscriber mobile telephony device 1 12 directly through the forwarding connection unit. 300.

[00216] Once the calling party has been provided with the access telephone number, the forwarding connection unit 300 waits to see if the calling party will make an attempt to reach the subscriber mobile telephony device 1 12 via the access telephone number. If the calling party dials the access telephone number, in step S2210, the forwarding connection unit 300 receives the new incoming telephony communication directly from the calling party. Because the call is received on the access telephone number assigned to the subscriber mobile telephony device 1 12, the forwarding connection unit 300 knows that the calling party is attempting to reach the subscriber mobile telephony device 112. For this reason, in step S2212, the forwarding connection unit 300 attempts to terminate the telephony communication to the subscriber mobile telephony device 1 12.

[00217] Once again, a check is performed in step S2214 to determine if the telephony communication has been successfully terminated to the subscriber mobile telephony device 1 12. If so, the method ends. If not, in step S2216 the forwarding connection unit 300 plays a message to the calling party informing the calling party that the subscriber mobile telephony device is not available.

[00218] In the above embodiment, a calling party is informed of an access number that can be dialed to reach a subscriber mobile telephony device 1 12, and the call is originally received by the forwarding connection unit 300 of an IP telephony system. This means that once the calling party has been informed of the access telephone number, the involvement of the mobile telephony service provider that provides native telephony service to the subscriber mobile telephony device is no longer necessary.

[00219] Although in the above-described embodiment, the calling party is only informed of the access telephony number after first attempting to call the native telephony number of the subscriber mobile telephony device, in alternate embodiments, it may never be necessary for the calling party to dial the native telephone number. For example, in alternate embodiments the user of the subscriber mobile telephony device 1 12 could be informed of the access telephone number, and the user could provide the access telephone number to people who are interested in reaching the user. Similarly, an application on the subscriber mobile telephony device 112 could be informed of the access telephone number, and the application could send the access telephone number to interested calling parties in an automated fashion.

[00220] In still other instances, the IP telephony system 124 could provide an information service that is accessible to calling parties, and the information service could allow individuals to look up the access telephone number that has been assigned to a subscriber mobile telephony device 1 12 using the native telephone number of the subscriber mobile telephone device 112 or the user's name or other identifying information. In still other embodiments, the access telephone number assigned to a subscriber mobile telephony device 1 12 could be broadcast to one or more parties in an automated fashion.

[00221] While foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof.

Claims

CLAIMS:
1. A method of terminating a telephony communication to a mobile telephony device, the mobile telephony device being assigned a native telephone number and being associated with a native mobile telephony service provider, the method comprising:
determining whether to implement roaming termination procedures; causing, based on the result of the determining step, the native mobile telephony service provider to implement call forwarding instructions that result in incoming telephony communications directed to the native telephone number to be directed to a forwarding access number assigned to the mobile telephony device;
receiving an incoming telephony communication directed to the forwarding access number; and
terminating the incoming telephony communication based on predetermined instructions associated with the mobile telephony device.
2. The method of claim 1 , wherein the determining step comprises receiving an instruction to implement roaming termination procedures from an application running on the mobile telephony device.
3. The method of claim 1 , wherein the determining step comprises: determining the location of the mobile telephony device;
determining whether the mobile telephony device is outside of its native service area based on the determined location; and
determining that roaming termination procedures should be implemented if the mobile telephony device is outside of its native service area.
4. The method of claim 3, wherein the step of determining the location of the mobile telephony device comprises receiving location information from the mobile telephony device.
5. The method of claim 3, wherein the step of determining the location of the mobile telephony device comprises receiving location information from an application running on the mobile telephony device.
6. The method of claim 1 , wherein the causing step comprises:
assigning a forwarding access number for the mobile telephony device; and
causing the mobile telephony service provider to forward incoming telephony communications directed to the native telephone number to the assigned forwarding access number.
7. The method of claim 6, wherein the causing step comprises using an International Mobile Subscriber Identity number associated with the mobile telephony device to communicate with the mobile telephony service provider.
8. The method of claim 1 , wherein the terminating step comprises terminating the telephony communication to the mobile telephony device via a data channel.
9. The method of claim 8, wherein the data channel is a data channel provided by a mobile telephony service provider.
10. The method of claim 1 , wherein the terminating step comprises: determining a quality of a data connection between the mobile telephony device and the mobile roaming termination service; and
terminating the telephony communication to the mobile telephony device via the data connection if the quality of the data connection is greater than a predetermined threshold value.
11. The method of claim 10, wherein if the quality of the data connection between the mobile telephony device and the mobile roaming termination service is lower than the threshold value, the telephony communication is terminated to the mobile telephony device via a non-native mobile telephony service provider.
12. The method of claim 1 , wherein the terminating step comprises: determining if the mobile telephony device is registered with a mobile roaming termination service via a data channel; and
terminating the telephony communication to the mobile telephony device via a non-native mobile telephony service provider if the mobile telephony device is not registered with the mobile termination service via a data channel.
13. The method of claim 12, wherein the terminating step comprises: causing the native mobile telephony service provider to cancel the call forwarding instructions; and
forwarding the telephony communication to the native telephone number associated with the mobile telephony device.
14. The method of claim 13, further comprising checking to determine if the incoming telephony communication should be terminated to the mobile telephony device through a non-native mobile telephony service provider, and wherein the causing and forwarding steps recited in claim 13 are only performed if the result of the checking step is positive.
15. The method of claim 14, wherein the checking step comprises determining if a cost to terminate the telephony communication through a non- native mobile telephony service provider is less than a threshold cost.
16. The method of claim 14, wherein the checking step comprises determining if an identity of a party initiating the telephony communication is contained within a predetermined list.
17. The method of claim 13, further comprising causing the native mobile telephony service provider to re-implement call forwarding instructions once the telephony communication has been completed.
18. The method of claim 1 , wherein the terminating step comprises: obtaining a local access number that has been assigned to the mobile telephony device by a non-native mobile telephony service provider; and terminating the telephony communication to the local access number.
19. The method of claim 18, wherein the obtaining step comprises obtaining the local access number from a home location register maintained by the native mobile telephony service provider.
20. The method of claim 18, wherein the terminating step comprises terminating the telephony communication to the local access number via a data connection to a telephony services gateway that communicates directly with the non-native telephony service provider that assigned the local assess number.
21 . A system for terminating a telephony communication to a mobile telephony device, the mobile telephony device being assigned a native telephone number and being associated with a native mobile telephony service provider, comprising:
means for determining whether to implement roaming termination procedures;
means for causing, based on the result of the determining step, the native mobile telephony service provider to implement call forwarding instructions that result in incoming telephony communications directed to the native telephone number to be directed to a forwarding access number assigned to the mobile telephony device;
means for receiving an incoming telephony communication directed to the forwarding access number; and means for terminating the incoming telephony communication based on predetermined instructions associated with the mobile telephony device.
22. A system for terminating a telephony communication to a mobile telephony device, the mobile telephony device being assigned a native telephone number and being associated with a native mobile telephony service provider, comprising:
a triggering unit that determines whether to implement roaming termination procedures;
a forwarding instruction unit that causes the native mobile telephony service provider to implement call forwarding instructions that result in incoming telephony communications directed to the native telephone number to be directed to a forwarding access number assigned to the mobile telephony device;
a receiving unit that receives an incoming telephony communication directed to the forwarding access number; and
a call termination unit that terminates the incoming telephony communication based on predetermined instructions associated with the mobile telephony device.
23. The system of claim 22, wherein the triggering unit receives an instruction to implement roaming termination procedures from an application running on the mobile telephony device.
24. The system of claim 22, wherein the triggering unit determines that roaming termination procedures should be implemented if the mobile telephony device is outside of its native service area.
25. The system of claim 22, wherein the forwarding instruction unit assigns a forwarding access number for the mobile telephony device, and wherein the forwarding instruction unit causes the mobile telephony service provider to forward incoming telephony communications directed to the native telephone number to the assigned forwarding access number.
26. The system of claim 22, wherein the call termination unit determines a quality of a data connection to the mobile telephony device, and wherein the call termination unit terminates the telephony communication to the mobile telephony device via the data connection if the quality of the data connection is greater than a predetermined threshold value.
27. The system of claim 26, wherein the call termination unit terminates the telephony communication to the mobile telephony device via a non-native mobile telephony service provider if the quality of the data connection to the mobile telephony device is lower than the threshold value.
28. The system of claim 27, wherein the call termination unit terminates the telephony communication to the mobile telephony device via a non-native mobile telephony service provider by causing the native mobile telephony service provider to cancel the call forwarding instructions, and then forwarding the telephony communication to the native telephone number associated with the mobile telephony device.
29. The system of claim 22, wherein the call termination unit obtains a local access number that has been assigned to the mobile telephony device by a non-native mobile telephony service provider, and wherein the call termination unit terminates the telephony communication to the local access number.
30. The system of claim 29, wherein the call termination unit terminates the telephony communication to the local access number via a data connection to a telephony services gateway that communicates directly with the non-native telephony service provider that assigned the local assess number.
31 . A method of assisting a subscriber to a mobile telephony service in causing the mobile telephony service to activate a call forwarding feature, comprising:
determining a character string that can be dialed from the subscriber's mobile telephony device to cause the mobile telephony service provider that provides native telephony service to the subscriber's mobile telephony device to activate a call forwarding feature which results in telephony communications that are directed to a native telephone number of the
subscriber's mobile telephony device to be forwarded to a forwarding access telephone number; and
providing the determined character string to the subscriber's mobile telephony device.
32. The method of claim 31 , wherein the providing step comprises causing a message to be displayed or played on the subscriber's mobile telephony device, the message including the determined character string.
33. The method of claim 31 , wherein the providing step comprises sending a text message to the subscriber's mobile telephony device, wherein the text message includes the determined character string.
34. The method of claim 31 , wherein the providing step comprises sending a push notification to the subscriber's mobile telephony device, wherein the push notification includes the determined character string.
35. The method of claim 31 , wherein the providing step comprises providing the determined character string to a software application loaded on the subscriber's mobile telephony device.
36. The method of claim 31 , wherein the providing step comprises sending a telephony communication to the subscriber's telephony device, wherein the telephony communication includes caller ID information that includes the determined character string.
37. The method of claim 36, wherein the determined character string is provided as the calling telephone number in the caller ID information of the telephony communication.
38. The method of claim 31 , further comprising assigning the
forwarding access telephone number.
39. The method of claim 31 , wherein the determining step comprises: determining a type of call forwarding that the subscriber would like to activate; and
determining the character string that will cause the subscriber's mobile telephony service to implement the desired type of call forwarding.
40. The method of claim 39, wherein the step of determining the type of call forwarding that the subscriber would like to activate comprises:
issuing a query to the subscriber that asks what type of call forwarding the subscriber would like to activate; and
receiving, from the subscriber, a response to the query.
41. The method of claim 39, wherein the step of determining the character string that will cause the subscriber's mobile telephony service to implement the desired type of call forwarding comprises consulting a database of call forwarding codes for a plurality of mobile telephony service providers.
42. The method of claim 31 , further comprising causing the subscriber's mobile telephony device to dial the determined character string.
43. The method of claim 42, wherein the step of causing the
subscriber's mobile telephony device to dial the determined character string comprises instructing a native dialer of the subscriber's mobile telephony device to dial the determined character string.
44. The method of claim 42, wherein the step of causing the
subscriber's mobile telephony device to dial the determined character string comprises instructing a software application on the subscriber's mobile telephony device to cause the subscriber's mobile telephony device to dial the determined character string.
45. The method of claim 44, wherein the step of instructing a software application on the subscriber's mobile telephony device to cause the subscriber's mobile telephony device to dial the determined character string comprises sending a push notification to the subscriber's mobile telephony device, wherein the push notification instructs the software application on the subscriber's mobile telephony device to cause the subscriber's mobile telephony device to dial the determined character string.
46. A method for terminating telephony communications to a mobile telephony device comprising:
determining a character string that can be dialed from the mobile telephony device to activate a call forwarding feature;
providing the determined character string to the mobile telephony device;
invoking a communication from the mobile telephony device to a telephony service provider native to the mobile telephony device regarding the determined character string;
receiving a telephony communication that was originally directed to a native telephone number of the mobile telephony device but which has been forwarded to a forwarding access telephone number; and
terminating the received telephony communication to the mobile telephony device.
47. The method of claim 46, wherein the invoking is a result of a communication that is automatically sent from the mobile telephony device to a telephony service provider native to the mobile telephony device.
48. The method of claim 46, wherein the invoking is a result of a communication that is manually sent from the mobile telephony device to a telephony service provider native to the mobile telephony device.
49. A system for assisting a subscriber to a mobile telephony service in causing the mobile telephony service to activate a call forwarding feature, comprising:
means for determining a character string that can be dialed from the subscriber's mobile telephony device to cause the mobile telephony service provider that provides native telephony service to the subscriber's mobile telephony device to activate a call forwarding feature which results in telephony communications that are directed to a native telephone number of the
subscriber's mobile telephony device to be forwarded to a forwarding access telephone number; and
means for providing the determined character string to the subscriber's mobile telephony device.
50. A system for assisting a subscriber to a mobile telephony service in causing the mobile telephony service to activate a call forwarding feature, comprising:
a mobile roaming connection unit that determines a character string that can be dialed from the subscriber's mobile telephony device to cause the mobile telephony service provider that provides native telephony service to the subscriber's mobile telephony device to activate a call forwarding feature which results in telephony communications that are directed to a native telephone number of the subscriber's mobile telephony device to be forwarded to a forwarding access telephone number; and a forwarding instruction unit that provides the determined character string to the subscriber's mobile telephony device.
51. The system of claim 50, wherein the forwarding instruction unit causes a message to be displayed or played on the subscriber's mobile telephony device, the message including the determined character string.
52. The system of claim 50, wherein the forwarding instruction unit sends a text message to the subscriber's mobile telephony device, wherein the text message includes the determined character string.
53. The system of claim 50, wherein the forwarding instruction unit sends a push notification to the subscriber's mobile telephony device, wherein the push notification includes the determined character string.
54. The system of claim 50, wherein the forwarding instruction unit provides the determined character string to a software application on the subscriber's mobile telephony device.
55. The system of claim 50, wherein the forwarding instruction unit sends a telephony communication to the subscriber's telephony device, wherein the telephony communication includes caller ID information that includes the determined character string.
56. The system of claim 55, wherein the determined character string is provided as the calling telephone number in the caller ID information of the telephony communication.
57. The system of claim 50, wherein the mobile roaming connection unit determines a type of call forwarding that the subscriber would like to activate, and determines the character string that will cause the subscriber's mobile telephony service to implement the desired type of call forwarding.
58. The system of claim 50, wherein the forwarding instruction unit causes the subscriber's mobile telephony device to dial the determined character string.
59. The system of claim 58, wherein the forwarding instruction unit instructs a native dialer of the subscriber's mobile telephony device to dial the determined character string.
60. The system of claim 58, wherein the forwarding instruction unit instructs a software application on the subscriber's mobile telephony device to cause the subscriber's mobile telephony device to dial the determined character string.
61. A method implemented by an Internet Protocol (IP) telephony system having one or more processors and for confirming that a call forwarding feature implemented by a native telephony service has been activated, the method comprising:
calling a native telephone number of a telephony device after a first predetermined period of time following a first attempt to cause the native telephony service to activate a call forwarding feature associated with the telephony device; and
determining, via the one or more processors, if the call forwarding feature has been activated.
62. The method of claim 61 , further comprising sending a notification regarding the call forwarding status.
63. The method of claim 61 , wherein determining if the call forwarding feature was activated comprises determining whether a call is received from the native telephony service by the IP telephony system via a call forwarding access number associated with the telephony device.
64. The method of claim 63, wherein if a call is received by the IP telephony system via the forwarding access number, the method further comprises disconnecting the call before the call is completed.
65. The method of claim 63, further comprising sending a message to the telephony device indicating that the call forwarding feature has not been activated if a call is not received by the IP telephony system via the call forwarding access number after a second predetermined period of time elapses after the call is placed to the native telephone number.
66. The method of claim 63, further comprising sending a message to the telephony device indicating that the call forwarding feature has not been activated if the call is not received by the IP telephony system via the call forwarding access number and the call is declined by the telephony device.
67. The method of claim 61 , further comprising:
updating a call forwarding status associated with the telephony device in the IP telephony system indicating whether the call forwarding feature has been activated; and
sending a notification indicating the call forwarding status to the telephony device.
68. The method of claim 67, wherein sending a notification to the telephony device comprises sending a text message to the telephony device.
69. The method of claim 67, wherein sending a notification to the telephony device comprises sending an email message to the telephony device.
70. The method of claim 67, wherein sending a notification to the telephony device comprises sending a push notification to the telephony device.
71 . The method of claim 61 , wherein if the call forwarding feature is determined not to have been activated, the method further comprises causing a second attempt to be made to activate the call forwarding feature associated with the telephony device.
72. The method of claim 71 , wherein causing the second attempt to be made comprises communicating instructions to the telephony device asking that the telephony device make a second attempt to activate the call forwarding feature.
73. The method of claim 71 , wherein causing the second attempt to be made comprises causing the IP telephony system to send a communication to the native telephony service asking that the call forwarding feature be activated.
74. The method of claim 61 , further comprising sending a message to the telephony device prior to calling the native telephone number, the message indicating that the IP telephony system will test if the call forwarding feature has been activated by the native telephony service.
75. A system for confirming that a call forwarding feature implemented by a native telephony service has been activated, comprising:
means for calling a native telephone number of a telephony device after a first predetermined period of time following a first attempt to cause the native telephony service to activate a call forwarding feature associated with the telephony device; and
means for determining if the call forwarding feature has been activated.
76. A system having an Internet Protocol (IP) telephony system and for confirming that a call forwarding feature implemented by a native telephony service has been activated, comprising:
a calling unit that calls a native telephone number of a telephony device after a first predetermined period of time following a first attempt to cause the native telephony service to activate a call forwarding feature associated with the telephony device; and
a call forwarding determination unit that determines if the call forwarding feature has been activated.
77. The system of claim 76, further comprising a notification sending unit that sends a notification regarding the call forwarding status.
78. The system of claim 76, wherein the call forwarding determination unit comprises determining whether a call is received from the native telephony service by the IP telephony system via a call forwarding access number associated with the telephony device.
79. The system of claim 78, wherein if a call is received by the IP telephony system via the forwarding access number, the method further comprises disconnecting the call before the call is completed.
80. The system of claim 78, further comprising message sending unit that sends a message to the telephony device indicating that the call forwarding feature has not been activated if a call is not received by the IP telephony system via the call forwarding access number after a second predetermined period of time elapses after the call is placed to the native telephone number.
81. The system of claim 78, further comprising a message sending unit that sends a message to the telephony device indicating that the call forwarding feature has not been activated if the call is not received by the IP telephony system via the call forwarding access number and the call is declined by the telephony device.
82. The system of claim 76, further comprising: an updating unit that updates a call forwarding status associated with the telephony device in the IP telephony system indicating whether the call forwarding feature has been activated; and
a notification sending unit that sends a notification indicating the call forwarding status to the telephony device.
83. The system of claim 82, wherein the notification sending unit sends a text message to the telephony device.
84. The system of claim 82, wherein the notification sending unit sends an email message to the telephony device.
85. The system of claim 82, wherein the notification sending unit sends a push notification to the telephony device.
86. The system of claim 76, wherein if the call forwarding feature is determined not to have been activated, the system further comprises causing a second attempt to be made using the calling unit to activate the call forwarding feature associated with the telephony device.
87. The system of claim 86, wherein causing the second attempt to be made comprises communicating instructions to the telephony device asking that the telephony device make a second attempt to activate the call forwarding feature.
88. The system of claim 86, wherein causing the second attempt to be made comprises causing the IP telephony system to send a communication to the native telephony service asking that the call forwarding feature be activated.
89. The system of claim 76, further comprising a message sending unit that sends a message to the telephony device prior to calling the native telephone number, the message indicating that the IP telephony system will test if the call forwarding feature has been activated by the native telephony service.
90. A method of terminating a telephony communication to a telephony device, the telephony device being assigned a native telephone number and being associated with a native telephony service provider, the method
comprising:
causing the native telephony service provider to implement call forwarding instructions that result in the native telephony service provider forwarding incoming telephony communications directed to the native telephone number to a forwarding access number assigned to the telephony device;
receiving an incoming telephony communication that has been forwarded to the forwarding access number; and
terminating the incoming telephony communication based on instructions associated with the telephony device.
91 . The method of claim 90, wherein the causing step comprises: assigning a forwarding access number for the telephony device; and
causing the telephony service provider to forward incoming telephony communications directed to the native telephone number to the assigned forwarding access number.
92. The method of claim 91 , wherein the causing step comprises using an International Mobile Subscriber Identity number associated with the telephony device to communicate with the telephony service provider.
93. The method of claim 90, wherein the terminating step comprises terminating the telephony communication to the telephony device via a data channel.
94. The method of claim 93, wherein the data channel is a data channel provided by a mobile telephony service provider.
95. The method of claim 90, wherein the terminating step comprises: determining a quality of a data connection to the telephony device; and
terminating the telephony communication to the telephony device via the data connection if the quality of the data connection is greater than a threshold value.
96. The method of claim 95, wherein if the quality of the data
connection to the telephony device is lower than the threshold value, the telephony communication is terminated to the telephony device via a non-native telephony service provider.
97. The method of claim 90, wherein the terminating step comprises: determining if the telephony device is registered with a forwarding termination service via a data channel; and
acting to terminate the telephony communication to the telephony device via a non-native telephony service provider if the telephony device is not registered with the forwarding termination service via a data channel.
98. The method of claim 97, wherein the acting step comprises:
causing the native telephony service provider to cancel the call forwarding instructions; and
forwarding the telephony communication to the native telephone number associated with the telephony device.
99. The method of claim 98, further comprising checking to determine if the incoming telephony communication should be terminated to the telephony device through a non-native telephony service provider, and wherein the causing and forwarding steps recited in claim 98 are only performed if the result of the checking step is positive.
100. The method of claim 99, wherein the checking step comprises determining if a cost to terminate the telephony communication through a non- native telephony service provider is less than a threshold cost.
101. The method of claim 99, wherein the checking step comprises determining if an identity of a party initiating the telephony communication is contained within a list.
102. The method of claim 98, further comprising causing the native telephony service provider to re-implement call forwarding instructions once the telephony communication has been completed.
103. The method of claim 90, wherein the terminating step comprises: obtaining a local access number that has been assigned to the telephony device by a non-native telephony service provider; and
terminating the telephony communication to the local access number. 04. The method of claim 103, wherein the obtaining step comprises obtaining the local access number from a home location register maintained by the native telephony service provider.
105. The method of claim 103, wherein the terminating step comprises terminating the telephony communication to the local access number via a data connection to a telephony services gateway that communicates directly with the non-native telephony service provider that assigned the local assess number.
106. The method of claim 90, further comprising receiving a forwarding implementation communication from the telephony device that indicates that the causing step should be performed, and wherein the causing step is not performed until the forwarding implementation communication is received.
107. The method of claim 90, further comprising determining whether to implement forwarding termination procedures, wherein the determining step comprises:
determining whether the telephony device is located outside of its native service area; and
determining that forwarding termination procedures should be implemented if the telephony device is determined to be outside of its native service area.
108. The method of claim 107, wherein the step of determining whether the telephony device is located outside of its native service area comprises:
determining the location of the telephony device; and determining whether the location of the telephony device is outside the native service area of the telephony device.
109. The method of claim 108, wherein determining the location of the telephony device comprises receiving information regarding the location of the telephony device.
110. The method of claim 108, wherein determining the location of the telephony device comprises receiving information from the telephony device.
11 1. A method for canceling call forwarding instructions that have previously been implemented by a native telephony service provider that provides a telephony device with its native telephony service, the telephony device having a native telephone number, where the call forwarding instructions resulted in incoming telephony communications directed to the native telephone number being directed to a forwarding access number, the method comprising:
determining whether previously implemented call forwarding instructions for the telephony device should be canceled, wherein the
determining step is performed by at least one processor of a computing device; and
causing, if the result of the determining step is positive, the native telephony service provider to cancel the previously implemented call forwarding instructions such that incoming telephony communications directed to the native telephone number are no longer directed to the forwarding access number and are instead routed to the native telephone number.
112. The method of claim 111 , wherein the causing step comprises communicating with the native telephony service provider to cause the native telephony service provider to cancel the call forwarding instructions.
1 13. The method of claim 11 1 , further comprising:
determining a character string that can be dialed from the telephony device to cause the native telephony service provider to cancel the call forwarding instructions; and
providing the determined character string to the telephony device.
114. The method of claim 113, further comprising causing the telephony device to dial the determined character string.
115. The method of claim 113, wherein the providing step comprises providing the determined character string to an application running on the telephony device, and further comprising instructing the application to cause the telephony device to dial the determined character string.
116. The method of claim 113, wherein the providing step comprises causing a message to be displayed or played on the telephony device, the message including the determined character string.
117. The method of claim 113, wherein the providing step comprises sending a telephony communication to the telephony device, wherein the telephony communication includes caller ID information that includes the determined character string.
118. The method of claim 117, wherein the determined character string is provided as the calling telephone number in the caller ID information of the telephony communication.
119. The method of claim 11 1 , wherein the determining step comprises checking a status of a data connection between a non-native telephony service provider and the telephony device, and wherein the determination about whether the call forwarding instructions should be canceled is based on the status of the data connection.
120. The method of claim 119, wherein if no data connection exists between the non-native telephony service provider and the telephony device, it is determined that the call forwarding instructions should be canceled.
121. The method of claim 119, wherein if a quality of a data connection between the non-native telephony service provider and the telephony device is below a threshold value, it is determined that the call forwarding instructions should be canceled.
122. The method of claim 111 , wherein the determining step comprises: determining a location of the telephony device; and determining if the telephony device is within its native service area, and wherein it is determined that the call forwarding instructions should be canceled if the telephony is determined to be located within its native service area.
123. The method of claim 122, wherein determining a location of the telephony device comprises receiving location information from the telephony device.
124. The method of claim 11 1 , wherein the determining step comprises receiving a communication indicating that call forwarding instructions should be canceled.
125. The method of claim 124, wherein the communication is received from the telephony device.
126. The method of claim 124, wherein the communication is received from an application running on the telephony device.
127. A system for canceling call forwarding instructions that have previously been implemented by a native telephony service provider that provides a telephony device with its native telephony service, the telephony device having a native telephone number, where the call forwarding instructions resulted in incoming telephony communications directed to the native telephone number being directed to a forwarding access number, the method comprising:
means for determining whether previously implemented call forwarding instructions for the telephony device should be canceled, wherein the determining step is performed by at least one processor of a computing device; and
means for causing, if the result of the determining step is positive, the native telephony service provider to cancel the previously implemented call forwarding instructions such that incoming telephony communications directed to the native telephone number are no longer directed to the forwarding access number and are instead routed to the native telephone number.
128. A system for canceling call forwarding instructions that have previously been implemented by a native telephony service provider that provides a telephony device with its native telephony service, the telephony device having a native telephone number, where the call forwarding instructions resulted in incoming telephony communications directed to the native telephone number being directed to a forwarding access number, the method comprising:
a triggering unit that determines whether previously implemented call forwarding instructions for the telephony device should be canceled; and a forwarding instruction unit that causes the native telephony service provider to cancel the previously implemented call forwarding instructions such that incoming telephony communications directed to the native telephone number are no longer directed to the forwarding access number and are instead routed to the native telephone number.
129. The system of claim 128, wherein the forwarding instruction unit determines a character string that can be dialed from the telephony device to cause the native telephony service provider to cancel the call forwarding instructions, and wherein the forwarding instruction unit provides the determined character string to the telephony device.
130. The system of claim 129, wherein the forwarding instruction unit also causes the telephony device to dial the determined character string.
131. The system of claim 129, wherein the forwarding instruction unit causes a message to be displayed or played on the telephony device, the message including the determined character string.
32. The system of claim 128, wherein the triggering unit checks a status of a data connection between a non-native telephony service provider and the telephony device, and determines whether the call forwarding instructions should be canceled based on the status of the data connection.
133. The system of claim 132, wherein if the triggering unit determines that a quality of a data connection between the non-native telephony service provider and the telephony device is below a threshold value, the triggering unit determines that the call forwarding instructions should be canceled.
134. The system of claim 128, wherein the triggering unit determines that the call forwarding instructions should be canceled if the telephony is determined to be located within its native service area.
135. The system of claim 128, wherein the triggering unit determines that the call forwarding instructions should be canceled in response to receipt of a communication sent from the telephony device.
136. A method of terminating a telephony communication to a telephony device, the telephony device being assigned a native identifier and being associated with a native telephony service provider, the method comprising:
determining whether to implement forwarding instructions that will make it possible for a Voice over Internet Protocol (VOIP) telephony system to terminate telephony communications to the telephony device via a data network;
causing the native telephony service provider to implement forwarding instructions based on the determining step, wherein implementation of the forwarding instructions results in incoming telephony communications directed to the native identifier being directed to a forwarding identifier assigned to the telephony device;
receiving an incoming telephony communication directed to the forwarding identifier; and terminating the incoming telephony communication based on predetermined instructions associated with the telephony device.
137. The method of claim 136, wherein the causing step comprises: assigning a forwarding identifier for the telephony device; and causing the native telephony service provider to forward incoming telephony communications directed to the native identifier to the assigned forwarding identifier.
138. The method of claim 136, wherein the terminating step comprises terminating the telephony communication to the telephony device via a data channel.
139. The method of claim 138, wherein the data channel is a data channel provided by a mobile telephony service provider.
140. The method of claim 136, wherein the terminating step comprises: determining if a data connection can be established to the telephony device via a data channel; and
terminating the telephony communication to the telephony device via a non-native telephony service provider if a data connection cannot be established to the telephony device via a data channel.
141. The method of claim 140, wherein terminating the telephony communication to the telephony device via a non-native telephony service provider comprises:
causing the native telephony service provider to cancel previously implemented forwarding instructions; and
forwarding the telephony communication to the native identifier associated with the telephony device.
142. The method of claim 141 , further comprising causing the native telephony service provider to re-implement forwarding instructions once the telephony communication has been completed.
143. The method of claim 136, wherein the determining step comprises: determining whether the telephony device is located outside of its native service area; and
determining that forwarding instructions should be implemented if the telephony device is determined to be outside of its native service area.
144. The method of claim 143, wherein the step of determining whether the telephony device is located outside of its native service area comprises:
receiving information that is indicative of a location of the telephony device; and
using the received information to determine whether the telephony device is outside of its native service area.
145. The method of claim 136, wherein the determining step comprises receiving a communication from the telephony device that indicates whether forwarding instructions should be implemented.
146. The method of claim 136, wherein the determining step comprises: determining a cost to terminate telephony communications to the telephony device; and
determining that forwarding instructions should be implemented if the cost to terminate telephony communications to the telephony device is greater than a threshold value.
147. A system for terminating a telephony communication to a telephony device, the telephony device being assigned a native identifier and being associated with a native telephony service provider, comprising: means for determining whether to implement forwarding
instructions that will make it possible for a Voice over Internet Protocol (VOIP) telephony system to terminate telephony communications to the telephony device via a data network;
means for causing the native telephony service provider to implement forwarding instructions, wherein implementation of the forwarding instructions results in incoming telephony communications directed to the native identifier being directed to a forwarding identifier assigned to the telephony device;
means for receiving an incoming telephony communication directed to the forwarding identifier; and
means for terminating the incoming telephony communication based on predetermined instructions associated with the telephony device.
148. A system for terminating a telephony communication to a telephony device, the telephony device being assigned a native identifier and being associated with a native telephony service provider, comprising:
a triggering unit that determines whether to implement forwarding instructions that will make it possible for a Voice over Internet Protocol (VOIP) telephony system to terminate telephony communications to the telephony device via a data network;
a forwarding instruction unit that causes the native telephony service provider to implement forwarding instructions, wherein implementation of the forwarding instructions results in incoming telephony communications directed to the native identifier being directed to a forwarding identifier assigned to the telephony device; and
a call termination unit that receives an incoming telephony communication directed to the forwarding identifier, and that terminates the incoming telephony communication based on predetermined instructions associated with the telephony device.
149. The system of claim 148, wherein the forwarding instruction unit assigns a forwarding identifier for the telephony device and causes the native telephony service provider to forward incoming telephony communications directed to the native identifier to the assigned forwarding identifier.
150. The system of claim 148, wherein the call termination unit terminates the telephony communication to the telephony device via a data channel.
151. The system of claim 150, wherein the data channel is a data channel provided by a mobile telephony service provider.
152. The system of claim 148, wherein the call termination unit determines if a data connection can be established to the telephony device via a data channel, and terminates the telephony communication to the telephony device via a non-native telephony service provider if a data connection cannot be established to the telephony device via a data channel.
153. The system of claim 152, wherein the call termination unit terminates the telephony communication to the telephony device via a non-native telephony service provider by causing the native telephony service provider to cancel previously implemented forwarding instructions, and by forwarding the telephony communication to the native identifier associated with the telephony device.
154. The system of claim 153, wherein the call termination unit also causes the native telephony service provider to re-implement forwarding instructions once the telephony communication has been completed.
155. The system of claim 148, wherein the triggering unit determines whether the telephony device is located outside of its native service area, and determines that forwarding instructions should be implemented if the telephony device is determined to be outside of its native service area.
156. The system of claim 155, wherein the triggering unit determines whether the telephony device is located outside of its native service area by receiving information that is indicative of a location of the telephony device, and by using the received information to determine whether the telephony device is outside of its native service area.
157. The system of claim 148, wherein the triggering unit receives a communication from the telephony device that indicates whether forwarding instructions should be implemented.
158. The system of claim 148, wherein the triggering unit determines a cost to terminate telephony communications to the telephony device, and determines that forwarding instructions should be implemented if the cost to terminate telephony communications to the telephony device is greater than a threshold value.
159. A method of facilitating the termination of telephony
communications to a telephony device, the telephony device being assigned a native identifier and being associated with a native telephony service provider, the method comprising:
sending a forwarding implementation request to a forwarding agent that results in the native telephony service provider forwarding incoming telephony communications directed to the native identifier to a forwarding identifier;
receiving an incoming telephony communication; and terminating the incoming telephony communication based on predetermined instructions associated with the telephony device.
160. The method of claim 159, wherein the forwarding implementation request asks the forwarding agent to cause the native telephony service provider to implement call forwarding instructions that result in the native telephony service provider forwarding incoming telephony communications directed to the native identifier to a forwarding identifier.
161. The method of claim 160, wherein receiving an incoming telephony communication comprises receiving an incoming telephony communication that is directed to the forwarding identifier.
162. The method of claim 159, further comprising selecting a forwarding identifier for the telephony device, and wherein the forwarding implementation request sent to the forwarding agent includes the forwarding identifier.
163. The method of claim 159, further comprising receiving a message from the forwarding agent after the sending step is performed and before the receiving and terminating steps are performed, wherein the message received from the forwarding agent includes the forwarding identifier.
164. The method of claim 159, wherein the terminating step comprises terminating the telephony communication to the telephony device via a data channel.
165. The method of claim 159, wherein the terminating step comprises: determining if a data connection can be established to the telephony device via a data channel; and
terminating the telephony communication to the telephony device via a non-native telephony service provider if a data connection cannot be established to the telephony device via a data channel.
166. The method of claim 165, wherein terminating the telephony communication to the telephony device via a non-native telephony service provider comprises:
sending a forwarding cancellation request to the forwarding agent that results in incoming telephony communications directed to the native identifier being sent to the native identifier; and
forwarding the telephony communication to the native identifier associated with the telephony device.
167. The method of claim 166, wherein the forwarding cancellation request asks the forwarding agent to cause the native telephony service provider to cancel previously implemented forwarding instructions such that the native telephony service provider causes incoming telephony communications directed to the native identifier to be sent to the native identifier.
168. The method of claim 166, further comprising sending a new forwarding implementation request to the forwarding agent asking the forwarding agent to cause the native telephony service provider to re-implement the forwarding instructions after the telephony communication has been completed.
169. The method of claim 159, further comprising determining whether forwarding instructions should be implemented, wherein the sending, receiving and terminating steps are only performed if it is determined that forwarding instructions should be implemented.
170. The method of claim 169, wherein the step of determining whether forwarding instructions should be implemented comprises:
determining whether the telephony device is located outside of its native service area; and
determining that forwarding instructions should be implemented if the telephony device is determined to be outside of its native service area.
171. The method of claim 170, wherein the step of determining whether the telephony device is located outside of its native service area comprises:
receiving information that is indicative of a location of the telephony device; and
using the received information to determine whether the telephony device is outside of its native service area. 72. The method of claim 169, wherein the determining step comprises receiving a communication from the telephony device that indicates whether forwarding instructions should be implemented.
173. The method of claim 169, wherein the determining step comprises: determining a cost to terminate telephony communications to the telephony device; and
determining that forwarding instructions should be implemented if the cost to terminate telephony communications to the telephony device is greater than a threshold value.
174. A system for facilitating the termination of telephony
communications to a telephony device, the telephony device being assigned a native identifier and being associated with a native telephony service provider, comprising:
means for sending a forwarding implementation request to a forwarding agent that results in the native telephony service provider forwarding incoming telephony communications directed to the native identifier to a forwarding identifier;
means for receiving an incoming telephony communication; and means for terminating the incoming telephony communication based on predetermined instructions associated with the telephony device.
175. A system for facilitating the termination of telephony
communications to a telephony device, the telephony device being assigned a native identifier and being associated with a native telephony service provider, comprising:
a forwarding instruction unit that sends a forwarding implementation request to a forwarding agent that results in the native telephony service provider forwarding incoming telephony communications directed to the native identifier to a forwarding identifier; and
a call termination unit that receives an incoming telephony communication and that terminates the incoming telephony communication based on predetermined instructions associated with the telephony device.
176. The system of claim 175, wherein the forwarding implementation request asks the forwarding agent to cause the native telephony service provider to implement call forwarding instructions that result in the native telephony service provider forwarding incoming telephony communications directed to the native identifier to a forwarding identifier.
177. The system of claim 176, wherein the call termination unit receives an incoming telephony communication that is directed to the forwarding identifier.
178. The system of claim 175, wherein the forwarding instruction unit selects a forwarding identifier for the telephony device, and wherein the forwarding implementation request sent to the forwarding agent includes the forwarding identifier.
179. The system of claim 175, wherein the forwarding instruction unit receives a message from the forwarding agent after a forwarding implementation request is sent and before the call termination unit receives an incoming telephony communication, wherein the message received from the forwarding agent includes the forwarding identifier.
180. The system of claim 175, wherein the call termination unit terminates the telephony communication to the telephony device via a data channel.
181. The system of claim 175, wherein the call termination unit determines if a data connection can be established to the telephony device via a data channel, and terminates the telephony communication to the telephony device via a non-native telephony service provider if a data connection cannot be established to the telephony device via a data channel.
182. The system of claim 181 , wherein the call termination unit terminates the telephony communication to the telephony device via a non-native telephony service provider by causing a forwarding cancellation request to sent to the forwarding agent that results in incoming telephony communications directed to the native identifier being sent to the native identifier, and by forwarding the telephony communication to the native identifier associated with the telephony device.
183. The system of claim 182, wherein the forwarding cancellation request asks the forwarding agent to cause the native telephony service provider to cancel previously implemented forwarding instructions such that the native telephony service provider causes incoming telephony communications directed to the native identifier to be sent to the native identifier.
184. The system of claim 182, wherein the call termination unit also causes a new forwarding implementation request to be sent to the forwarding agent asking the forwarding agent to cause the native telephony service provider to re-implement the forwarding instructions after the telephony communication has been completed.
185. The system of claim 175, further comprising a triggering unit that determines whether forwarding instructions should be implemented.
186. The system of claim 185, wherein the triggering unit determines whether the telephony device is located outside of its native service area, and determines that forwarding instructions should be implemented if the telephony device is determined to be outside of its native service area.
187. The system of claim 186, wherein the triggering unit determines whether the telephony device is located outside of its native service area by receiving information that is indicative of a location of the telephony device, and using the received information to determine whether the telephony device is outside of its native service area.
188. The system of claim 185, wherein the triggering unit receives a communication from the telephony device that indicates whether forwarding instructions should be implemented.
189. A method of facilitating the termination of telephony
communications to a telephony device, the telephony device being assigned a native identifier and being associated with a native telephony service provider, the method comprising:
sending, to a voice over Internet protocol (VOIP) telephony service provider, a request to implement forwarding termination procedures; and
sending, to a forwarding agent, a request that results in the native telephony service provider forwarding incoming telephony communications directed to the native identifier to a forwarding identifier.
190. The method of claim 189, wherein the request asks the forwarding agent to cause the native telephony service provider to implement forwarding instructions that result in the native telephony service provider forwarding incoming telephony communications directed to the native identifier to a forwarding identifier.
191. The method of claim 189, further comprising receiving, from the VOIP telephony service provider, an indication of a forwarding identifier that has been assigned to the telephony device, wherein the request sent to the forwarding agent includes the assigned forwarding identifier.
192. The method of claim 189, further comprising:
receiving, from the forwarding agent, an indication of a forwarding identifier that has been assigned to the telephony device; and
sending a message to the VOIP service provider that includes the assigned forwarding identifier.
193. A method of facilitating the termination of telephony
communications to a telephony device, the telephony device being assigned a native identifier and being associated with a native telephony service provider, the method comprising:
receiving, from a voice over Internet protocol (VOIP) telephony service provider, a message indicating that forwarding termination procedures are to be implemented; and
sending, to a forwarding agent, a request that results in the native telephony service provider forwarding incoming telephony communications directed to the native identifier to a forwarding identifier.
194. The method of claim 193, wherein the request asks the forwarding agent to cause the native telephony service provider to implement forwarding instructions that result in the native telephony service provider forwarding incoming telephony communications directed to the native identifier to a forwarding identifier
195. The method of claim 194, wherein the message received from the VOIP telephony service provider includes the forwarding identifier, and wherein the request sent to the forwarding agent includes the forwarding identifier.
196. The method of claim 194, further comprising:
receiving, from the forwarding agent, a message including the forwarding identifier; and
sending, to the VOIP telephony service provider, a message that includes the forwarding identifier.
197. A system for facilitating the termination of telephony
communications to a telephony device, the telephony device being assigned a native identifier and being associated with a native telephony service provider, the system comprising:
means for sending, to a voice over Internet protocol (VOIP) telephony service provider, a request to implement forwarding termination procedures; and
means for sending, to a forwarding agent, a request that results in the native telephony service provider forwarding incoming telephony
communications directed to the native identifier to a forwarding identifier.
198. A non-transitory computer readable medium storing instructions thereon which, when performed by one or more processors, cause the processors to perform a method of facilitating the termination of telephony communications to a telephony device, the telephony device being assigned a native identifier and being associated with a native telephony service provider, the method comprising:
sending, to a voice over Internet protocol (VOIP) telephony service provider, a request to implement forwarding termination procedures; and
sending, to a forwarding agent, a request that results in the native telephony service provider forwarding incoming telephony communications directed to the native identifier to a forwarding identifier.
199. The non-transitory computer readable medium of claim 98, wherein the request asks the forwarding agent to cause the native telephony service provider to implement forwarding instructions that result in the native telephony service provider forwarding incoming telephony communications directed to the native identifier to a forwarding identifier.
200. The non-transitory computer readable medium of claim 198, wherein the method performed by the one or more processors also comprises receiving, from the VOIP telephony service provider, an indication of a forwarding identifier that has been assigned to the telephony device, wherein the request sent to the forwarding agent includes the assigned forwarding identifier.
201. The non-transitory computer readable medium of claim 198, wherein the method performed by the one or more processors further comprises:
receiving, from the forwarding agent, an indication of a forwarding identifier that has been assigned to the telephony device; and
sending a message to the VOIP service provider that includes the assigned forwarding identifier.
202. A non-transitory computer readable medium storing instructions thereon which, when performed by one or more processors, cause the
processors to perform a method of facilitating the termination of telephony communications to a telephony device, the telephony device being assigned a native identifier and being associated with a native telephony service provider, the method comprising:
receiving, from a voice over Internet protocol (VOIP) telephony service provider, a message indicating that forwarding termination procedures are to be implemented; and
sending, to a forwarding agent, a request that results in the native telephony service provider forwarding incoming telephony communications directed to the native identifier to a forwarding identifier.
203. The non-transitory computer readable medium of claim 198, wherein the request asks the forwarding agent to cause the native telephony service provider to implement forwarding instructions that result in the native telephony service provider forwarding incoming telephony communications directed to the native identifier to a forwarding identifier
204. The non-transitory computer readable medium of claim 203, wherein the message received from the VOIP telephony service provider includes the forwarding identifier, and wherein the request sent to the forwarding agent includes the forwarding identifier.
205. The non-transitory computer readable medium of claim 203, wherein the method performed by the one or more processors further comprises:
receiving, from the forwarding agent, a message including the forwarding identifier; and
sending, to the VOIP telephony service provider, a message that includes the forwarding identifier.
206. A method, performed by one or more computer processors, of performing forwarding termination procedures for a telephony device, wherein implementing the forwarding termination procedures results in an incoming telephony communication which is directed to a native identifier of the telephony device being forwarded to a forwarding identifier associated with the telephony device such that the telephony communication can be terminated to the telephony device via a non-native telephony service provider, the method comprising:
determining whether a connection quality event that the telephony device experiences with either a mobile telephony service provider or an Internet protocol (IP) telephony service provider has occurred; and
causing forwarding termination procedures to be implemented or canceled if the determining step indicates that the connection quality event has occurred.
207. The method of claim 206, wherein the determining step comprises determining that forwarding termination procedures should be implemented if the telephony device does not have a connection to a mobile telephony service provider.
208. The method of claim 207, further comprising:
checking, periodically, after forwarding termination procedures have been implemented, to determine whether the telephony device has established a connection with a mobile telephony service provider; and
causing the forwarding termination procedures to be canceled if it is determined that the telephony device has established a connection with a mobile telephony service provider.
209. The method of claim 206, wherein the determining step comprises determining that forwarding termination procedures should be implemented if a quality of a connection that the telephony device has with a mobile telephony service provider is below a threshold value.
210. The method of claim 209, further comprising:
checking, periodically, after forwarding termination procedures have been implemented, to determine a quality of a connection that the telephony device has established with the mobile telephony service provider; and
causing the forwarding termination procedures to be canceled if it is determined that the quality of the connection that the telephony device has with the mobile telephony service provider is above the threshold value.
21 1. The method of claim 206, wherein the determining step comprises determining that forwarding termination procedures should be implemented if a quality of a connection that the telephony device currently has with an IP telephony service provider via a data network is above a threshold value.
212. The method of claim 211 , further comprising:
checking, periodically, after forwarding termination procedures have been implemented, to determine whether a quality of the connection that the telephony device has with the IP telephony service provider is still above the threshold value; and
causing the forwarding termination procedures to be canceled if it is determined that the quality of the connection that the telephony device has with the IP telephony service provider has fallen below the threshold value,
213. The method of claim 206, wherein the determining step comprises: determining a quality of a connection that the telephony device has with a mobile telephony service provider; and
determining a quality of a connection that the telephony device has with an IP telephony system via a data network.
214. The method of claim 213, wherein the determining step comprises determining that forwarding termination procedures should be implemented if a quality of the connection that the telephony device has with the IP telephony system is above a first threshold value, and a quality of a connection that the telephony device has with the mobile telephony service provider is below a second threshold value.
215. The method of claim 213, wherein the determining step comprises determining that forwarding termination procedures should be canceled if a quality of the connection that the telephony device has with the IP telephony system is below a first threshold value, and a quality of a connection that the telephony device has with the mobile telephony service provider is above a second threshold value.
216. The method of claim 206, wherein the step of causing forwarding termination procedures to be implemented or canceled comprises automatically causing the implementation or cancelation of call forwarding procedures without seeking or obtaining user input.
217. The method of claim 206, wherein the step of causing forwarding termination procedures to be implemented or canceled comprises:
causing a query to be sent to a user of the telephony device, the query asking whether the user wishes for forwarding termination procedures to be implemented or canceled; and
receiving a response to the query, wherein the causing step is only performed if the received response to the query indicates that the user wishes for forwarding termination procedures to be implemented or canceled.
218. A system for performing forwarding termination procedures for a telephony device, wherein implementing the forwarding termination procedures results in an incoming telephony communication which is directed to a native identifier of the telephony device being forwarded to a forwarding identifier associated with the telephony device such that the telephony communication can be terminated to the telephony device via a non-native telephony service provider, comprising:
means for determining whether a connection quality event that the telephony device experiences with either a mobile telephony service provider or an Internet protocol (IP) telephony service provider has occurred; and
means for causing forwarding termination procedures to be implemented or canceled if the determining step indicates that the connection quality event has occurred.
219. A system for performing forwarding termination procedures for a telephony device, wherein implementing the forwarding termination procedures results in an incoming telephony communication which is directed to a native identifier of the telephony device being forwarded to a forwarding identifier associated with the telephony device such that the telephony communication can be terminated to the telephony device via a non-native telephony service provider, comprising: a triggering unit that determines whether a connection quality event that the telephony device experiences with either a mobile telephony service provider or an Internet protocol (IP) telephony service provider has occurred; and a forwarding instruction unit that causes forwarding termination procedures to be implemented or canceled if the triggering unit determines that the connection quality event has occurred.
220. The system of claim 219, wherein the triggering unit determines whether the telephony device has a connection to the mobile telephony service provider, and wherein the forwarding instruction unit causes forwarding termination procedures to be implemented if the triggering unit determines that the telephony device does not have a connection to the mobile telephony service provider.
221. The system of claim 220, wherein after forwarding termination procedures have been implemented, the triggering unit periodically checks to determine whether the telephony device has established a connection with the mobile telephony service provider, and wherein the forwarding instruction unit causes forwarding termination procedures to be canceled if the triggering unit determines that the telephony device has established a connection with the mobile telephony service provider.
222. The system of claim 219, wherein the triggering unit determines whether a quality of a connection that the telephony device has with the mobile telephony service provider is below a threshold value, and wherein the forwarding instruction unit causes forwarding termination procedures to be implemented if the triggering unit determines that the quality of the connection that the telephony device has with the mobile telephony service provider is below the threshold value.
223. The system of claim 222, wherein after forwarding termination procedures have been implemented, the triggering unit periodically checks to determine whether the quality of a connection that the telephony device has established with the mobile telephony service provider has risen above the threshold value, and wherein the forwarding instruction unit causes the
forwarding termination procedures to be canceled if the quality of the connection that the telephony device has with the mobile telephony service provider is above the threshold value.
224. The system of claim 219, wherein the triggering unit determines if a quality of a connection that the telephony device currently has with an IP telephony service provider via a data network is above a threshold value, and wherein the forwarding instruction unit causes forwarding termination procedures to be implemented if the quality of the connection that the telephony device currently has with the IP telephony service provider via a data network is above the threshold value.
225. The system of claim 224, wherein after forwarding termination procedures have been implemented, the triggering unit periodically checks to determine whether a quality of the connection that the telephony device has with the IP telephony service provider is still above the threshold value, and wherein the forwarding instruction unit causes the forwarding termination procedures to be canceled if the triggering unit determines that the quality of the connection that the telephony device has with the IP telephony service provider has fallen below the threshold value.
226. The system of claim 219, wherein the triggering unit determines a quality of a connection that the telephony device has with the mobile telephony service provider, and a quality of a connection that the telephony device has with the IP telephony system via a data network, and wherein the forwarding instruction unit causes forwarding termination procedures to be implemented if a quality of the connection that the telephony device has with the IP telephony system is above a first threshold value, and a quality of a connection that the telephony device has with the mobile telephony service provider is below a second threshold value.
227. The system of claim 226, wherein after forwarding termination procedures have been implemented, the forwarding termination unit causes the forwarding termination procedures to be canceled if a quality of the connection that the telephony device has with the IP telephony system is below the first threshold value, and a quality of a connection that the telephony device has with the mobile telephony service provider is above the second threshold value.
228. The system of claim 219, wherein the forwarding instruction unit causes forwarding termination procedures to be automatically implemented or canceled without seeking or obtaining user input if the triggering unit determines that the connection quality event has occurred.
229. The system of claim 219, wherein if the triggering unit determines that the connection quality event has occurred, the forwarding instruction unit causes a query to be sent to a user of the telephony device, the query asking whether the user wishes for forwarding termination procedures to be
implemented or canceled, wherein the forwarding instruction unit receives a response to the query from the user, and wherein the forwarding instruction unit causes the forwarding termination procedures to be implemented or canceled only if the received response to the query indicates that the user wishes for forwarding termination procedures to be implemented or canceled.
230. A method, performed by one or more computer processors, of performing forwarding termination procedures for a telephony device, wherein implementing the forwarding termination procedures results in an incoming telephony communication which is directed to a native identifier of the telephony device being forwarded to a forwarding identifier associated with the telephony device such that the telephony communication can be terminated to the telephony device via a non-native telephony service provider, the method comprising:
determining whether the telephony device is or might be located outside of its native service area; and
causing forwarding termination procedures to be implemented if the determining step indicates that the telephony device is or might be located outside of its native service area.
231. The method of claim 230, wherein determining whether the telephony device is or might be located outside of its native service area comprises:
determining a time zone to which the telephony device is set; and determining whether the telephony device may be located outside of its native service area based on the determined time zone,
232. The method of claim 231 , further comprising:
checking, periodically, after forwarding termination procedures have been implemented, to determine the time zone to which the telephony device is set; and
causing the forwarding termination procedures to be canceled if the time zone to which the telephony device is set indicates that the telephony device has or might have returned to a location within its native service area.
233. The method of claim 230, wherein determining whether the telephony device is or might be located outside of its native service area comprises:
determining whether the telephony device has been set into an airplane mode in which the telephony device does not communicate with a mobile telephony service provider; and
determining whether the telephony device is or might be located outside of its native service area based on whether the telephony device has been set into an airplane mode.
234. The method of claim 230, wherein determining whether the telephony device is or might be located outside of its native service area comprises:
obtaining location data that is indicative of a location of the telephony device; and
determining whether the telephony device is or might be located outside of its native service area based on the obtained location data.
235. The method of claim 234, further comprising:
obtaining, periodically, after forwarding termination procedures have been implemented, location data that is indicative of the location of the telephony device; and
causing the forwarding termination procedures to be canceled if the obtained location data indicates that the telephony device is or might be located inside its native service area.
236. The method of claim 230, wherein determining whether the telephony device is or might be located outside of its native service area comprises:
obtaining information about travel plans for a user of the telephony device; and
determining whether the telephony device is or might be located outside of its native service area based on the obtained information about travel plans for the user of the telephony device.
237. The method of claim 236, wherein the obtaining step comprises obtaining information about travel plans for the user of the telephony device from an organization that provides travel services.
238. The method of claim 236, wherein after forwarding termination procedures have been implemented, the method further comprises: determining whether the telephony device is or might be located within its native service area based on the obtained information about travel plans for the user of the telephony device; and
causing the forwarding termination procedures to be canceled if the determining step indicates that the telephony device is or might be located within its native service area.
239. The method of claim 230, wherein determining whether the telephony device is or might be located outside of its native service area comprises:
obtaining information about movements of a user of the telephony device; and
determining whether the telephony device is or might be located outside of its native service area based on the obtained information about movements of the user of the telephony device.
240. The method of claim 239, wherein after forwarding termination procedures have been implemented, the method further comprises:
determining whether the telephony device is or might be located within its native service area based on the obtained information about
movements of a user of the telephony device; and
causing the forwarding termination procedures to be canceled if the determining step indicates that the telephony device is or might be located within its native service area.
241 The method of claim 239, wherein the obtaining step comprises obtaining information about movements of the user from a travel service provider that transported the user.
242. The method of claim 230, wherein determining whether the telephony device is or might be located outside of its native service area comprises: determining an Internet Protocol (IP) address of a wireless access point that the telephony device is using to access a data network; and
determining whether the telephony device is or might be located outside of its native service area based on the determined IP address.
243. The method of claim 242, wherein determining whether the telephony device is or might be located outside of its native service area based on the determined IP address comprises determining whether a location of the wireless access point that is assigned the IP address is located outside the native service area of the telephony device.
244. The method of claim 242, wherein after forwarding termination procedures have been implemented, the method further comprises:
determining a new Internet Protocol (IP) address of a new wireless access point that the telephony device has begun using to access a data network;
determining whether the telephony device is or might be located within its native service area based on the determined new IP address; and
causing the forwarding termination procedures to be canceled if the determining step indicates that the telephony device is or might be located within its native service area.
245. The method of claim 244, wherein determining whether the telephony device is or might be located within its native service area based on the determined new IP address comprises determining whether a location of a wireless access point that is assigned the new IP address is located within the native service area of the telephony device.
246. The method of claim 230, wherein the step of causing forwarding termination procedures to be implemented comprises automatically causing the implementation of call forwarding procedures without seeking or obtaining user input.
247. The method of claim 230, wherein the step of causing forwarding termination procedures to be implemented comprises:
causing a query to be sent to a user of the telephony device, the query asking whether the user wishes for forwarding termination procedures to be implemented; and
receiving a response to the query, wherein the causing step is only performed if the received response to the query indicates that the user wishes for forwarding termination procedures to be implemented.
248. The method of claim 230, further comprising:
determining whether the telephony device is or might have moved from a location outside of its native service area to a location within its native service area; and
causing forwarding termination procedures to be canceled if the determining step indicates that the telephony device is or might have moved from a location outside of its native service area to a location within its native service area.
249. The method of claim 248, wherein the step of causing forwarding termination procedures to be canceled comprises automatically causing the cancelation of call forwarding termination procedures without seeking or obtaining user input.
250. The method of claim 248, wherein the step of causing forwarding termination procedures to be canceled comprises:
causing a query to be sent to a user of the telephony device, the query asking whether the user wishes for forwarding termination procedures to be canceled; and
receiving a response to the query, wherein the forwarding termination procedures are only canceled if the received response to the query indicates that the user wishes for forwarding termination procedures to be canceled.
251. A system for performing forwarding termination procedures for a telephony device, wherein implementing the forwarding termination procedures results in an incoming telephony communication which is directed to a native identifier of the telephony device being forwarded to a forwarding identifier associated with the telephony device such that the telephony communication can be terminated to the telephony device via a non-native telephony service provider, comprising:
means for determining whether the telephony device is or might be located outside of its native service area; and
means for causing forwarding termination procedures to be implemented if the determining means determines that the telephony device is or might be located outside of its native service area.
252. A system for performing forwarding termination procedures for a telephony device, wherein implementing the forwarding termination procedures results in an incoming telephony communication which is directed to a native identifier of the telephony device being forwarded to a forwarding identifier associated with the telephony device such that the telephony communication can be terminated to the telephony device via a non-native telephony service provider, comprising:
a triggering unit that determines whether the telephony device is or might be located outside of its native service area; and
a forwarding instruction unit that causes forwarding termination procedures to be implemented if the triggering unit determines that the telephony device is or might be located outside of its native service area.
253. The system of claim 252, wherein after forwarding termination procedures have been implemented, the triggering unit periodically checks to determine if the telephony device has or might have returned to a location within its native service area, and wherein the forwarding instruction unit causes forwarding termination procedures to be canceled if the triggering unit determines that the telephony device has or may have returned to a location within its native service area.
254. The system of claim 252, wherein the forwarding instruction unit automatically causes the implementation of call forwarding procedures without seeking or obtaining user input.
255. The system of claim 252, wherein if the triggering unit determines that the telephony device is or might be located outside its native service area, the forwarding instruction unit causes a query to be sent to a user of the telephony device, the query asking whether the user wishes for forwarding termination procedures to be implemented, wherein the forwarding instruction unit receives a response to the query from the user, and wherein the forwarding instruction unit causes forwarding termination procedures to be implemented only if the received response to the query indicates that the user wishes for forwarding termination procedures to be implemented.
256. The system of claim 252, wherein the triggering unit determines whether the telephony device has or might have returned to a location within its native service area, and wherein the forwarding instruction unit causes forwarding termination procedures to be canceled if the triggering unit determines that the telephony device has or might have returned to a location within its native service area.
257. The system of claim 256, wherein the forwarding instruction unit causes the forwarding termination procedures to be automatically canceled without seeking or obtaining user input.
258. The system of claim 256, wherein if the triggering unit determines that the telephony device has or might have returned to a location within its native service area, the forwarding instruction unit causes a query to be sent to a user of the telephony device, the query asking whether the user wishes for forwarding termination procedures to be cancelled, wherein the forwarding instruction unit receives a response to the query from the user, and wherein the forwarding instruction unit causes forwarding termination procedures to be cancelled only if the received response to the query indicates that the user wishes for forwarding termination procedures to be cancelled.
259. A method of initiating call forwarding termination procedures, the method being performed by an application on a telephony device having one or more processors, the method comprising:
determining, through the application and using the one or more processors, that it is desirable to implement call forwarding termination procedures which result in a mobile telephony service provider that provides the telephony device with its native telephony service forwarding telephony communications directed to a native identifier of the telephony device to a forwarding access identifier; and
causing forwarding termination procedures to be implemented.
260. The method of claim 259, wherein causing forwarding termination procedures to be implemented comprises notifying an IP telephony system that call forwarding termination procedures should be implemented.
261. The method of claim 260, further comprising receiving an indication from the IP telephony system that the mobile telephony service provider has implemented a call forwarding feature.
262. The method of claim 259, wherein causing forwarding termination procedures to be implemented comprises:
notifying an IP telephony system that call forwarding termination procedures should be implemented; receiving, from the IP telephony system, an indication that the IP telephony system is unable to cause the native telephony service provider to implement a call forwarding feature; and
causing the telephony device to send a communication to the native telephony service provider that instructs the native telephony service provider to implement the call forwarding feature.
263. The method of claim 262, wherein the receiving step further comprises receiving information from the IP telephony system that can be used to send the communication to the native telephony service provider.
264. The method of claim 263, wherein causing the telephony device to send a communication to the native telephony service provider comprises using the information received from the IP telephony system to cause a string of characters to be dialed by the telephony device, and wherein dialing the string of characters causes the native telephony service provider to implement the call forwarding feature.
265. The method of claim 259, wherein determining that it is desirable to implement call forwarding termination procedures comprises determining that the telephony device is outside its native service area.
266. The method of claim 265, wherein the determining step comprises determining that the telephony device is outside of its native service area based on coordinate data indicating a location of the telephony device.
267. The method of claim 265, wherein the determining step comprises determining that the telephony device is outside of its native service area based on an IP address associated with the telephony device or a wireless access point which the telephony uses to access a data network.
268. The method of claim 265, wherein the determining step comprises determining that the telephony device is outside of its native service area based on a roaming indication provided by the telephony device.
269. The method of claim 259, further comprising:
determining, through the application and using the one or more
processors, that it is desirable to cancel forwarding termination procedures; and causing forwarding termination procedures to be canceled.
270. A system for initiating call forwarding termination procedures, comprising:
means for determining that it is desirable to implement call forwarding termination procedures which result in a mobile telephony service provider that provides a telephony device with its native telephony service forwarding telephony communications directed to a native telephone number of the telephony device to a forwarding access telephone number; and
means for causing forwarding termination procedures to be implemented.
271. A system for initiating call forwarding termination procedures, comprising:
a triggering unit that determines that it is desirable to implement call forwarding termination procedures which result in a mobile telephony service provider that provides a telephony device with its native telephony service forwarding telephony communications directed to a native telephone number of the telephony device to a forwarding access telephone number; and
a forwarding termination instruction unit that causes forwarding termination procedures to be implemented.
272. The system of claim 271 , wherein the forwarding termination instruction unit notifies an IP telephony system that call forwarding termination procedures should be implemented when the triggering unit determines that it is desirable to implement call forwarding termination procedures.
273. The system of claim 272, wherein the forwarding termination instruction unit receives an indication from the IP telephony system that the mobile telephony service provider has implemented a call forwarding feature if the IP telephony system is successful in interacting directly with the native telephony service provider to cause the native telephony service provider to implement the call forwarding feature.
274. The system of claim 271 , wherein, the forwarding termination instruction unit:
notifies an IP telephony system that call forwarding termination procedures should be implemented;
receives from the IP telephony system, an indication that the IP telephony system is unable to cause the native telephony service provider to implement a forwarding feature; and
causes the telephony device to send a communication to the native telephony service provider that instructs the native telephony service provider to implement the forwarding feature.
275. The system of claim 274, wherein the forwarding termination instruction unit also receives information from the IP telephony system that can be used to send the communication to the native telephony service provider.
276. The system of claim 275, wherein the forwarding termination instruction unit causes the telephony device to dial a string of characters that cause the native telephony service provider to implement the forwarding feature.
277. The system of claim 271 , wherein the triggering unit determines that it is desirable to implement call forwarding termination procedures when it determines that the telephony device is outside its native service area.
278. The system of claim 277, wherein the triggering unit determines that the telephony device is outside of its native service area based on coordinate data indicating a location of the telephony device.
279. The system of claim 277, wherein the triggering unit determines that the telephony device is outside of its native service area based on an IP address associated with the telephony device or a wireless access point which the telephony device uses to access a data network.
280. The system of claim 277, wherein the triggering unit determines that the telephony device is outside of its native service area based on a roaming indication provided by the telephony device.
281. The system of claim 271 , wherein the triggering unit also
determines that it is desirable to cancel forwarding termination procedures, and wherein the forwarding termination instruction unit causes the forwarding termination procedures to be canceled.
282. A method for causing a mobile telephony service provider to implement a forwarding feature for a telephony device which receives its native telephony service from the mobile telephony service provider, wherein
implementing the forwarding feature results in the mobile telephony service provider forwarding telephony communications directed to a native identifier of the telephony device to a forwarding identifier, the method comprising:
receiving a communication from the telephony device that indicates that forwarding termination procedures should be implemented for the telephony device; and
attempting to cause the mobile telephony service provider to implement the forwarding feature by directly communicating with the mobile telephony service provider and instructing the mobile telephony service provider to forward telephony communications directed to the native identifier of the telephony device to a forwarding identifier.
283. The method of claim 282, further comprising testing whether the forwarding feature has been implemented by the mobile telephony service provider after performing the attempting step.
284. The method of claim 283, further comprising notifying the telephony device that the forwarding feature has been implemented if the result of the testing indicates that the mobile telephony service provider has implemented the forwarding feature
285. The method of claim 283, further comprising providing information to the telephony device that enables the telephony device to cause the mobile telephony service provider to implement the forwarding feature if the result of the testing step indicates that the forwarding feature has not been implemented by the mobile telephony service provider.
286. The method of claim 285, further comprising selecting a forwarding identifier for the telephony device, and wherein the information provided to the telephony device includes the forwarding identifier.
287. The method of claim 286, wherein the information provided to the telephony device includes a string of characters that can be dialed from the telephony device to cause the mobile telephony service provider to implement the forwarding feature.
288. The method of claim 285, wherein the information provided to the telephony device includes a string of characters that can be dialed from the telephony device to cause the mobile telephony service provider to implement the forwarding feature.
289. The method of claim 285, further comprising conducting a second test to determine whether the forwarding feature has been implemented by the mobile telephony service provider after providing information to the telephony device.
290. The method of claim 289, further comprising sending a
communication to the telephony device to cause the telephony device to make a second attempt to cause the mobile telephony service provider to implement the forwarding feature if the result of the second testing step indicates that the mobile telephony service provider has not implemented the forwarding feature.
291. A system for causing a mobile telephony service provider to implement a forwarding feature for a telephony device which receives its native telephony service from the mobile telephony service provider, wherein
implementing the forwarding feature results in the mobile telephony service provider forwarding telephony communications directed to a native identifier of the telephony device to a forwarding identifier, the system comprising:
means for receiving a communication from the telephony device that indicates that forwarding termination procedures should be implemented for the telephony device; and
means for attempting to cause the mobile telephony service provider to implement the forwarding feature by directly communicating with the mobile telephony service provider and instructing the mobile telephony service provider to forward telephony communications directed to the native identifier of the telephony device to a forwarding identifier.
292. A system for causing a mobile telephony service provider to implement a forwarding feature for a telephony device which receives its native telephony service from the mobile telephony service provider, wherein
implementing the forwarding feature results in the mobile telephony service provider forwarding telephony communications directed to a native identifier of the telephony device to a forwarding identifier, the system comprising: a receiving unit that receives a communication from the telephony device that indicates that forwarding termination procedures should be implemented for the telephony device; and
a forwarding instruction unit that attempts to cause the mobile telephony service provider to implement the forwarding feature by directly communicating with the mobile telephony service provider and instructing the mobile telephony service provider to forward telephony communications directed to the native identifier of the telephony device to a forwarding identifier.
293. The system of claim 292, further comprising a testing unit that tests whether the forwarding feature has been implemented by the mobile telephony service provider after the forwarding instruction unit attempts to cause the mobile telephony service provider to implement the forwarding feature.
294. The system of claim 293, wherein the forwarding instruction unit notifies the telephony device that the forwarding feature has been implemented if the testing unit determines that the mobile telephony service provider has implemented the forwarding feature
295. The system of claim 293, wherein the forwarding instruction unit provides information to the telephony device that enables the telephony device to cause the mobile telephony service provider to implement the forwarding feature if the testing unit determines that the forwarding feature has not been
implemented by the mobile telephony service provider.
296. The system of claim 295, wherein the forwarding instruction unit selects a forwarding identifier for the telephony device, and wherein the information provided to the telephony device includes the forwarding identifier.
297. The system of claim 2965, wherein the information provided to the telephony device includes a string of characters that can be dialed from the telephony device to cause the mobile telephony service provider to implement the forwarding feature.
298. The system of claim 295, wherein the information provided to the telephony device includes a string of characters that can be dialed from the telephony device to cause the mobile telephony service provider to implement the forwarding feature.
299. The system of claim 295, wherein the testing unit conducts a second test to determine whether the forwarding feature has been implemented by the mobile telephony service provider after providing information to the telephony device.
300. The system of claim 299, wherein the forwarding instruction unit sends a communication to the telephony device to cause the telephony device to make a second attempt to cause the mobile telephony service provider to implement the forwarding feature if the second test performed by the testing unit indicates that the mobile telephony service provider has not implemented the forwarding feature.
301. A method of handling an incoming telephony communication, comprising:
receiving an incoming telephony communication at a telephony device, wherein the telephony communication was originally directed to a native identifier of the telephony device, wherein the telephony communication was forwarded by a telephony system that provides native telephony service to the telephony device to a forwarding identifier associated with the telephony device, and wherein the telephony communication was thereafter received by an IP telephony system which attempts to terminate the telephony communication to the telephony device via a data network;
presenting a user of the telephony device with information;
receiving input from the user; and handling the received telephony communication based on the received input.
302. The method of claim 301 , wherein presenting a user of the telephony device with information comprises presenting the user with options about how the received telephony communication could be handled.
303. The method of claim 302, wherein receiving input from the user comprises receiving an indication from the user about how the user would like the received telephony communication to be handled.
304. The method of claim 301 , wherein presenting a user of the telephony device with information comprises presenting the user with information about a quality or strength of a data connection that the telephony device has with the IP telephony system.
305. The method of claim 304, further comprising obtaining information about the quality or strength of a data connection that the telephony device has with the IP telephony system.
306. The method of claim 304, wherein presenting a user of the telephony device with information further comprises presenting the user with information about a quality or strength of a cellular connection that the telephony device has with a mobile telephony service provider.
307. The method of claim 301 , wherein presenting a user of the telephony device with information comprises presenting the user with information about a quality or strength of a cellular connection that the telephony device has with a mobile telephony service provider.
308. The method of claim 301 , wherein presenting a user of the telephony device with information comprises presenting the user with information about an estimated quality of an IP telephone call that could be established between the telephony device and the IP telephony system.
309. The method of claim 301 , wherein presenting a user of the telephony device with information comprises presenting the user with information about a rate at which battery power will be consumed by the telephony device if an IP telephone call is established between the telephony device and the IP telephony system.
310. The method of claim 309, wherein presenting a user of the telephony device with information further comprises presenting the user with information about a rate at which battery power will be consumed by the telephony device if a cellular telephone call is established between the telephony device and a mobile telephony service provider.
31 1. The method of claim 301 , wherein presenting a user of the telephony device with information comprises presenting the user with information about a cost of conducting an IP telephone call between the telephony device and the IP telephony system.
312. The method of claim 311 , wherein presenting a user of the telephony device with information further comprises presenting the user with information about a cost of conducting a cellular telephone call between the telephony device and a mobile telephony service provider.
313 A system for handling an incoming telephony communication, comprising:
means for receiving an incoming telephony communication at a telephony device, wherein the telephony communication was originally directed to a native identifier of the telephony device, wherein the telephony
communication was forwarded by a telephony system that provides native telephony service to the telephony device to a forwarding identifier associated with the telephony device, and wherein the telephony communication was thereafter received by an IP telephony system which attempts to terminate the telephony communication to the telephony device via a data network;
means for presenting a user of the telephony device with information;
means for receiving input from the user; and
means for handling the received telephony communication based on the received input.
314. A system for handling an incoming telephony communication, comprising:
a receiving and handling unit that receives an incoming telephony communication at a telephony device, wherein the telephony communication was originally directed to a native identifier of the telephony device, wherein the telephony communication was forwarded by a telephony system that provides native telephony service to the telephony device to a forwarding identifier associated with the telephony device, and wherein the telephony communication was thereafter received by an IP telephony system which attempts to terminate the telephony communication to the telephony device via a data network;
an information display unit that causes a user of the telephony device to be presented with information; and
a user input receiving unit that receives input from the user, wherein the receiving and handling unit handles the received telephony communication based on the received input.
315. The system of claim 314, wherein the information display unit causes the user to be presented with information regarding options for how the received telephony communication could be handled.
316. The system of claim 315, wherein the user input receiving unit receives an indication from the user about how the user would like the received telephony communication to be handled.
317. The system of claim 314, wherein the information display unit causes the user to be presented with information about a quality or strength of a data connection that the telephony device has with the IP telephony system.
318. The system of claim 317, further comprising an information acquisition unit that obtains information about the quality or strength of a data connection that the telephony device has with the IP telephony system.
319. The system of claim 317, wherein the information display unit causes the user to be presented with information about a quality or strength of a cellular connection that the telephony device has with a mobile telephony service provider.
320. The system of claim 314, wherein the information display unit causes the user to be presented with information about a quality or strength of a cellular connection that the telephony device has with a mobile telephony service provider.
321. The system of claim 314, wherein the information display unit causes the user to be presented with information about an estimated quality of an IP telephone call that could be established between the telephony device and the IP telephony system.
322. The system of claim 314, wherein the information display unit causes the user to be presented with information about a rate at which battery power will be consumed by the telephony device if an IP telephone call is established between the telephony device and the IP telephony system.
323. The system of claim 322, wherein the information display unit also causes the user to be presented with information about a rate at which battery power will be consumed by the telephony device if a cellular telephone call is established between the telephony device and a mobile telephony service provider.
324. The system of claim 314, wherein the information display unit causes the user to be presented with information about a cost of conducting an IP telephone call between the telephony device and the IP telephony system.
325. The system of claim 324, wherein the information display unit also causes the user to be presented with information about a cost of conducting a cellular telephone call between the telephony device and a mobile telephony service provider.
326. A method of terminating a telephony communication to a telephony device that receives its native telephony service from a native telephony service provider, where the telephony communication is terminated to the telephony device via a non-native telephony service provider, comprising:
receiving, at the non-native telephony service provider, a first telephony communication that was originally sent from a calling party to a native telephone number of the telephony device and which has been forwarded from the native telephony service provider to the non-native telephony service provider;
providing a communication to the calling party, the communication including information that enables the calling party to send a telephony communication intended for the telephony device directly to the non-native telephony service provider;
receiving, at the non-native telephony service provider, a second telephony communication from the calling party that is to be terminated to the telephony device; and
attempting to terminate the second telephony communication to the telephony device.
327. The method of claim 326, wherein attempting to terminate the second telephony communication to the telephony device comprises attempting to terminate the telephony communication to the telephony device via a data network.
328. The method of claim 326, wherein attempting to terminate the second telephony communication to the telephony device comprises sending a call setup request to a gateway or a proxy server that is in communication with a mobile telephony service provider that provides telephony service to the area where the telephony device is presently located.
329. The method of claim 328, wherein the call setup request identifies a local access number that has been assigned to the telephony device by the mobile telephony service provider.
330. The method of claim 326, wherein providing a communication to the calling party comprises providing a communication to the calling party that informs the calling party of a forwarding access telephone number associated with the telephony device.
331. The method of claim 330, wherein the forwarding access telephone number is the same telephone number that is used by the native telephony service provider to forward telephony communications that are originally directed to the native telephone number of the telephony device to the non-native telephony service provider.
332. The method of claim 326, further comprising assigning an access telephone number to the telephony device, and wherein providing a
communication to the calling party comprises sending or playing a
communication to the calling party that informs the calling party of the access telephone number.
333. The method of claim 332, wherein the step of receiving a second telephony communication from the calling party comprises receiving, at the non- native telephony service provider, a telephony communication from the calling party that is directed to the access telephone number.
334. The method of claim 332, wherein assigning an access telephone number comprises assigning an access telephone number that the calling party can call without incurring long distance charges.
335. The method of claim 326, wherein providing a communication to the calling party comprises causing an audio or video message to be played to the calling party.
336. The method of claim 326, wherein providing a communication to the calling party comprises causing a text or MMS message to be sent to a telephony device used by the calling party.
337. The method of claim 326, wherein providing a communication to the calling party comprises causing an e-mail message to be sent to the calling party.
338. The method of claim 326, wherein providing a communication to the calling party comprises causing a voicemail message to be stored or recorded for the calling party.
339. A system for terminating a telephony communication to a telephony device that receives its native telephony service from a native telephony service provider, where the telephony communication is terminated to the telephony device via a non-native telephony service provider, comprising:
means for receiving, at the non-native telephony service provider, a first telephony communication that was originally sent from a calling party to a native telephone number of the telephony device and which has been forwarded from the native telephony service provider to the non-native telephony service provider;
means for providing a communication to the calling party, the communication including information that enables the calling party to send a telephony communication intended for the telephony device directly to the non- native telephony service provider;
means for receiving, at the non-native telephony service provider, a second telephony communication from the calling party that is to be terminated to the telephony device; and
means for attempting to terminate the second telephony communication to the telephony device.
340. A system for terminating a telephony communication to a telephony device that receives its native telephony service from a native telephony service provider, where the telephony communication is terminated to the telephony device via a non-native telephony service provider, comprising:
a forwarding instruction unit that receives a first telephony communication that was originally sent from a calling party to a native telephone number of the telephony device and which has been forwarded from the native telephony service provider to the non-native telephony service provider, wherein the forwarding instruction unit provides a communication to the calling party, the communication including information that enables the calling party to send a telephony communication intended for the telephony device directly to the non- native telephony service provider, and wherein the forwarding instruction unit also receives a second telephony communication from the calling party that is to be terminated to the telephony device; and
a termination unit that attempts to terminate the second telephony communication to the telephony device.
341. The system of claim 340, wherein the termination unit attempts to terminate the telephony communication to the telephony device via a data network.
342. The system of claim 340, wherein the termination unit sends a call setup request to a gateway or a proxy server that is in communication with a mobile telephony service provider that provides telephony service to the area where the telephony device is presently located.
343. The system of claim 342, wherein the call setup request identifies a local access number that has been assigned to the telephony device by the mobile telephony service provider.
344. The system of claim 340, wherein the forwarding instruction unit provides a communication to the calling party that informs the calling party of a forwarding access telephone number associated with the telephony device.
345. The system of claim 344, wherein the forwarding access telephone number is the same telephone number that is used by the native telephony service provider to forward telephony communications that are originally directed to the native telephone number of the telephony device to the non-native telephony service provider.
346. The system of claim 340, wherein the forwarding instruction unit assigns an access telephone number to the telephony device, and wherein the forwarding instruction unit provides a communication to the calling party that informs the calling party of the access telephone number.
347. The system of claim 346, wherein the forwarding instruction unit receives a second telephony communication from the calling party that is directed to the access telephone number.
348. The system of claim 346, wherein the forwarding instruction unit assigns an access telephone number that the calling party can call without incurring long distance charges.
349. The system of claim 340, wherein the forwarding instruction unit causes an audio or video message to be played to the calling party.
350. The system of claim 340, wherein the forwarding instruction unit causes a text or MMS message to be sent to a telephony device used by the calling party.
351. The system of claim 340, wherein the forwarding instruction unit causes an e-mail message to be sent to the calling party.
352. The system of claim 340, wherein the forwarding instruction unit causes a voicemail message to be stored or recorded for the calling party.
PCT/US2012/071248 2011-12-22 2012-12-21 Systems and methods for terminating telephony communications to mobile telephony devices WO2013096768A2 (en)

Priority Applications (28)

Application Number Priority Date Filing Date Title
US13/334,849 2011-12-22
US13/334,849 US8600364B2 (en) 2011-12-22 2011-12-22 Systems and methods for terminating telephony communications to mobile telephony devices
US13/492,361 2012-06-08
US13/492,361 US8744422B2 (en) 2011-12-22 2012-06-08 Systems and methods for terminating telephony communications to mobile telephony devices
US13/562,542 US8989721B2 (en) 2011-12-22 2012-07-31 Systems and methods for terminating telephony communications to mobile telephony devices
US13/562,542 2012-07-31
US13/568,416 US9020477B2 (en) 2011-12-22 2012-08-07 Systems and methods for terminating telephony communications to mobile telephony devices
US13/568,416 2012-08-07
US13/569,384 US8862109B2 (en) 2011-12-22 2012-08-08 Systems and methods for terminating telephony communications to mobile telephony devices via a non-native telephony service provider
US13/569,384 2012-08-08
US13/597,916 2012-08-29
US13/597,485 US9002335B2 (en) 2011-12-22 2012-08-29 Systems and methods for terminating telephony communications to mobile telephony devices
US13/597,396 2012-08-29
US13/597,916 US8693994B2 (en) 2011-12-22 2012-08-29 Systems and methods for terminating telephony communications to mobile telephony devices
US13/597,396 US9020478B2 (en) 2011-12-22 2012-08-29 Systems and methods for terminating telephony communications to mobile telephony devices
US13/597,485 2012-08-29
US13/649,847 US8958785B2 (en) 2011-12-22 2012-10-11 Systems and methods for terminating telephony communications to mobile telephony devices
US13/649,847 2012-10-11
US13/669,009 2012-11-05
US13/668,826 US9491600B2 (en) 2011-12-22 2012-11-05 Systems and methods for terminating telephony communications to mobile telephony devices
US13/668,826 2012-11-05
US13/669,009 US8934882B2 (en) 2011-12-22 2012-11-05 Systems and methods for terminating telephony communications to mobile telephony devices
US13/671,006 US8571060B2 (en) 2011-12-22 2012-11-07 Systems and methods for terminating telephony communications to mobile telephony devices
US13/671,162 2012-11-07
US13/671,006 2012-11-07
US13/671,162 US9002336B2 (en) 2011-12-22 2012-11-07 Systems and methods for terminating telephony communications to mobile telephony devices
US13/673,043 2012-11-09
US13/673,043 US8855612B2 (en) 2011-12-22 2012-11-09 Systems and methods of terminating telephony communications to mobile telephony devices

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA2873603A CA2873603A1 (en) 2011-12-22 2012-12-21 Systems and methods for terminating telephony communications to mobile telephony devices
EP20120812490 EP2865207A2 (en) 2011-12-22 2012-12-21 Methods, apparatuses and computer readable media for terminating telephony communications to mobile telephony devices making use of a mobile roaming termination service

Publications (2)

Publication Number Publication Date
WO2013096768A2 true WO2013096768A2 (en) 2013-06-27
WO2013096768A3 WO2013096768A3 (en) 2013-11-14

Family

ID=48669705

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2012/071248 WO2013096768A2 (en) 2011-12-22 2012-12-21 Systems and methods for terminating telephony communications to mobile telephony devices

Country Status (3)

Country Link
EP (1) EP2865207A2 (en)
CA (1) CA2873603A1 (en)
WO (1) WO2013096768A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105659643A (en) * 2013-10-22 2016-06-08 诺基亚技术有限公司 Method and apparatus for managing communications with multiple identification profiles

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU5232298A (en) * 1996-12-13 1998-07-03 British Telecommunications Public Limited Company Communications system
US6285750B1 (en) * 1998-12-03 2001-09-04 At&T Corp. Method and apparatus for remotely controlling telephone call-forwarding
US8478277B2 (en) * 2003-02-18 2013-07-02 Roamware Inc. Network-based system for rerouting phone calls from phone networks to VoIP clients for roamers and subscribers who do not answer
US20030003900A1 (en) * 2001-06-29 2003-01-02 Goss Stephen C. Proximity-based call forwarding
US7551920B1 (en) * 2003-09-18 2009-06-23 Sprint Spectrum L.P. Signal strength-based call forwarding for wireless phones
US20080153480A1 (en) * 2005-02-23 2008-06-26 Yue Jun Jiang Integrated cellular VoIP for call rerouting

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105659643A (en) * 2013-10-22 2016-06-08 诺基亚技术有限公司 Method and apparatus for managing communications with multiple identification profiles

Also Published As

Publication number Publication date
WO2013096768A3 (en) 2013-11-14
EP2865207A2 (en) 2015-04-29
CA2873603A1 (en) 2013-06-27

Similar Documents

Publication Publication Date Title
US9374455B2 (en) Systems and methods for providing emergency callback procedures
US9215318B2 (en) Methods and systems for call processing in a wireline and wireless network
US7917159B1 (en) Method and apparatus for controlling a quiet zone for wireless units
AU2007313049C1 (en) Client controlled dynamic call forwarding
RU2316911C2 (en) Method and device for finishing participation of a user in group call in group communication network
ES2425441T3 (en) Redirecting a call from a private IP network to a wireless communication network
EP1982445B1 (en) Method for placing call in voice call continuity and terminal and server thereof
US7116975B1 (en) Systems and methods for automatic call forwarding in a wireless mobile station
JP5193030B2 (en) Multi-mode handset service
CA2673268C (en) Method, system and apparatus for causing a communication device to join a communication session
CN1711794B (en) Method and device for providing of route information in communication system
KR101120628B1 (en) Method, system, and apparatus for processing service message with a plurality of terminals
US10230726B2 (en) Verifying an application identifier on a mobile device through a telecommunication network
JP4629482B2 (en) Mobile communication terminal, IC card, mobile communication system, program, and communication charge notification method
US8369265B2 (en) Remote call control for mobile telecommunication devices and services
US8718605B2 (en) Method and apparatus for providing information in response to the grant of a subscriber's permission
EP2074858B1 (en) Dynamic carrier selection
US8605870B2 (en) Virtual subscriber service
US10244007B2 (en) Method and apparatus for VOIP communication completion to a mobile device
US9621735B2 (en) Mobile electronic communications combining voice-over-IP and mobile network services
US20150024739A1 (en) Communications device, communications service and methods for providing and operating the same
CN102884817B (en) Improved short message delivery
US8064957B2 (en) Communication apparatuses for handling apparatus terminated or originated communication requests with increased communication capability and methods thereof
CA2808463C (en) Systems and methods of providing communications services
US20070049342A1 (en) MTA-cradle personal gateway

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12812490

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 2012812490

Country of ref document: EP

ENP Entry into the national phase in:

Ref document number: 2873603

Country of ref document: CA