Methods and systems for call processing in a wireline and wireless network

Information

  • Patent Grant
  • 9215318
  • Patent Number
    9,215,318
  • Date Filed
    Thursday, January 8, 2015
    9 years ago
  • Date Issued
    Tuesday, December 15, 2015
    9 years ago
Abstract
Methods and systems are described for routing call in a wireless network environment. In one embodiment, a phone address is assigned to a subscriber and/or a subscriber's mobile telecommunications device. A call directed to the phone address is routed to a call processing system. An outbound call from the call processing system is placed to a wireless communication service provider so as to cause, at least in part, the wireless communication service provider to route the outbound call to the subscriber's mobile telecommunications device, wherein the call processing system configures call signaling parameters associated with the outbound call so that the outbound call appears to be to a phone number ported to the wireless communication service provider, and wherein the phone number has not been ported to the wireless communication service provider. The outbound call is bridged with the inbound call.
Description
STATEMENT REGARDING FEDERALLY SPONSORED R&D

Not applicable.


PARTIES OF JOINT RESEARCH AGREEMENT

Not applicable.


REFERENCE TO SEQUENCE LISTING, TABLE, OR COMPUTER PROGRAM LISTING

Not applicable.


BACKGROUND OF THE INVENTION

1. Field of the Invention


The present invention is related to telecommunications, and in particular, to methods and systems for call processing.


2. Description of the Related Art


People are increasingly associated with a multiplicity of communication devices and phone numbers. For example, an individual may have a work phone, a home phone connected to a switched telephone network, a phone connected to an Internet protocol network, and a cellular phone.


In addition, mobile virtual network operators have become increasingly common as niche target consumers are identified that can be better addressed with offerings more focused on their needs. The existence of mobile virtual network operators can add additional complexity to the operation of a telecommunications system.


SUMMARY OF THE INVENTION

The present invention is related to telecommunications, and in particular, to methods and systems for call processing.


Certain example embodiments provide integrated wireline and wireless call processing. Further, certain embodiments integrate the contributions of wireless, wireline, and mobile virtual network operators (MVNOs). In an example embodiment, a communications service provider and a wireline carrier optionally integrate with a wireless MVNO to provide certain call processing services.


An example embodiment provides a method of routing calls: receiving at a softswitch a call from a first phone address intended for a user associated with a second phone address; using signaling information associated with the call to access account information for the user; determining if a client application associated with the user is online; if the client application is online, transmitting information over a data network regarding the call to the client application while the call is in progress; placing an outbound call from the call processing system to a wireless communications service provider, wherein the call processing system configures call signaling parameters so as to preserve the first phone address in the outbound call signaling information, and so that the outbound call appears to be to a phone address ported to the wireless communication service provider, and to cause, at least in part, the wireless communication service provider to route the outbound call to the user's mobile telecommunications device; and causing at least in part the outbound call to be bridged with the call intended for the user.


An example embodiment provides a method of routing calls: receiving at a softswitch a call intended for a user, the call associated with a calling party phone address; using signaling information associated with the call to access account information for the user; placing an outbound call from the call processing system to a wireless communications service provider associated with a user phone address, wherein the call processing system configures call signaling parameters so as to preserve the calling party phone address in the outbound call signaling information, wherein the outbound call appears to be to a phone address ported to the wireless communication service provider, and to cause, at least in part, the wireless communication service provider to route the outbound call to the user's mobile telecommunications device; and causing at least in part the outbound call to be bridged with the inbound call.


An example embodiment provides a method of routing calls: receiving at a softswitch a call from a calling phone address intended for a user; using signaling information associated with the call to access account information for the user; determining if a client application associated with the user is online; if the client application is online, transmitting information over a data network regarding the call to the client application while the call is in progress; placing a first outbound call from the call processing system to a wireless communications service provider wherein the call processing system configures call signaling parameters so as to preserve the calling party phone address, wherein the outbound call appears to be to a phone address ported to the wireless communication service provider, and to cause, at least in part, the wireless communication service provider to route the first outbound call to the user's mobile telecommunications device; placing a second outbound call from the call processing system to a phone address associated with the user; and causing at least in part an outbound call to be bridged with the call.


An example embodiment provides a method of routing calls, the method comprising: receiving at a softswitch a call intended for a user; using signaling information associated with the call to access account information for the user; determining if a client application associated with the user is online; if the client application is online, transmitting information over a data network regarding the call to the client application while the call is in progress; receiving a call handling instruction from the user via the telecommunications client application regarding the call; placing a first outbound call from the call processing system to a wireless communications service provider wherein the call processing system configures call signaling parameters associated with the outbound call so as to preserve the calling party phone address and to cause, at least in part, the wireless communication service provider to route the first outbound call to the user's mobile telecommunications device; and causing at least in part the outbound call to be bridged with the call.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 illustrates an example system and process for providing converged telecommunication services.



FIG. 2 illustrates an example telecommunications client user interface.



FIG. 3 illustrates an example browser-based telecommunications client user interface.



FIGS. 4A-B illustrates an example web widget-based telecommunications client.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

As discussed above, people are increasingly associated with a multiplicity of communication devices, such as a work phone, a home phone connected to a switched telephone network, a phone connected to an Internet protocol network, a cellular phone, etc. Thus, it is often difficult for a caller wishing to reach a person to decide which of the many phone numbers associated with the person to call. For example, a caller may first try a work phone, and if the person is not there or does not answer, the caller may then call the person's home phone, then the person's mobile phone, etc. It would be advantageous to have a phone address, such as a single phone number, which can be used to reach a person whether the person is at a landline phone, mobile phone, or a VoIP phone.


There are challenges in routing calls seamlessly across wireline and wireless networks. As described herein, certain example embodiments provide integrated wireline and wireless call processing that is seamless to the subscriber. Further, certain embodiments integrate the contributions of wireless, wireline, and mobile virtual network operators (MVNOs). For example, an MVNO may not own a licensed frequency spectrum, but instead resells wireless telecommunications services under the MVNO's brand name using a mobile phone network of another (e.g., a mobile phone network operator which may provide mobile phone services on a wholesale and/or retail level, which will sometimes be referred to herein as the “underlying wireless service provider”).


While the following description refers to example Web page, network and telephony standards and protocols, other standards and protocols can be used as well. In addition, unless otherwise indicated, the functions described herein may be performed by executable code and instructions stored in computer readable memory and running on one or more processor-based systems. However, state machines, and/or hardwired electronic circuits can also be utilized. Further, with respect to the example processes described herein, not all the process states need to be reached, nor do the states have to be performed in the illustrated order. Further, certain process states that are illustrated as being serially performed can be performed in parallel.


Similarly, while certain examples may refer to a personal computer system, other computer or electronic systems can be used as well, such as, without limitation, an interactive television, a networked-enabled personal digital assistant (PDA), a networked game console, a networked entertainment device, and so on. While certain references are made to certain system components or services, other components and services can be used as well. In addition, while certain user inputs are described as being provided via key presses or by clicking on a button, optionally, user inputs can be provides using other techniques, such as by voice or otherwise. While certain phone numbers are referenced for purposes of illustration, other phone numbers or electronic addresses or locators can be used as well.


Unless otherwise specified, the term phone number refers generally to a telephonic address, such as, without limitation, a standard POTs telephone number, an E.164 phone number (ITU-T recommendation which defines the international public telecommunication numbering plan and telephone format used in the PSTN and certain data networks), or a VoIP address.


The following is a glossary of certain abbreviations.


GLOSSARY

BTS—Base Transceiver Station


CP MVNO—Carrier Partner MVNO


FCI—Forward Call Indicator


HLR—Home Location Register


ISDN—Integrated Services Digital Network


ISUP—ISDN User Part


LERG—Local Exchange Routing Guide


LNP—Local Number Portability


LRN—Location Routing Number


MDN—Mobile Device Number


MSC—Mobile Switching Center


MVNO—Mobile Virtual Network Operator


PSTN—Public Switched Telephone Network


SIP—Session Initiation Protocol


SMS—Short Message Service


SMSC—Short Message Service Center


TCNI—Translated Called Number Indicator


In an example embodiment, a communications service provider (e.g., offering enhanced telecommunication services) and a wireline carrier optionally integrate with a wireless MVNO to provide certain call processing services, such as a mobile one-number service. In this example embodiment, phone numbers owned/controlled by the wireline carrier are utilized as the Mobile Device Numbers (MDN) (sometimes referred to as a Mobile Directory Number) for the MVNO's wireless, mobile phones. Calls to these MDNs route through a call processing system (also referred to herein as a softswitch) associated with the communications service provider, which in turn routes the calls to the wireless MVNO. The softswitch optionally also communicates with a telecommunications client associated with a subscriber or other user.


The telecommunications client application is used to provide communication services, although such interfaces can be provided using other applications, such as a browser accessing call processing user interfaces and information from a remote server. In an example embodiment, the telecommunications client application connects to and communicates with the softswitch via the Internet, a cable network, or other communication medium. The client application, executing on a subscriber's computer terminal, can make the subscriber's online presence known to the softswitch (e.g., by transmitting a message from the client application host to the softswitch).


The softswitch can be used to receive and display call log data from the softswitch (e.g., a list of calls placed to/received by the subscriber, or placed by the subscriber, including phone numbers, caller or called party names, date/time of the call, an indication as to whether a call was an outbound/inbound call, the city/state of the caller/called party, etc.), and call alert data (e.g., listing the caller phone number, name, city/state, and/or call status (e.g., ringing, playing message, recording caller message, terminating call)). The client application can display a log of recorded messages from callers, and can provide playback controls for playing back the recorded message via the client computer terminal. The client optionally can also be used to screen calls in substantially real time while calls are in progress and to instruct the softswitch to accept calls on the host computer terminal, forward calls, refuse calls, initiate call conferencing, and/or to otherwise provide call handling instructions.


An example telecommunications client providing a call log 202 and a contacts user interface 214 is shown in FIG. 2. In this example, a first area 201, informs the user how many new calls the user has received. The call log 202 in this example includes the name of the caller (if available) as obtained using call signaling information (e.g., callerID) or otherwise, the date of the call (e.g., “today”, “yesterday”, or the date including the month, day, and year), the time of the call, and the length of the message left by the caller (e.g., the message length in seconds/minutes, or a no message indication if no message was left). In addition, if the call was a fax, the log can so indicate, and further indicate the length of the fax (e.g., in pages), and the time and date of the fax call. Less, more, and/or different information can be provided and displayed as well.


A play caller message control 204 (which when activated by the user causes a caller message to be played back on the host) and a stop/pause message playback control 206 are optionally provided. In addition, optionally, a delete log entry control 208, a reply to caller (e.g., via a text or multimedia message) control 210, and/or a forward caller message (and/or log entry) control 212 are provided. The contact user interface can list one or more contacts of the user (e.g., including some or all of the following: contact name; contact location, contact email address, one or more contact phone addresses, a designation for one or more of the phone addresses indicated if the phone address is a mobile phone address, a home phone address, a work phone address, an IP phone address, or a fax phone address). An edit contact record control 216, a create new contact record control 218, and a send contact record control 220 are optionally provided. Examples of certain of such controls are described below. A second example telecommunication client, with call log and contacts accessed and displayed via a Web browser, is illustrated in FIG. 3.


Clicking on or otherwise moving a cursor to a call entry in an example call log selects the call, and then applicable button controls then apply to that call. Optionally, the first time the call log is displayed in a given session, the first (most recent) call is selected by default. Optionally, when switching between call log and contacts user interfaces, the previously selected call is remembered and redisplayed when the call log is again selected.


If a message (e.g., a recorded message from a caller) is associated with the call, the message can be played by clicking on a Play button (e.g., control 204). While a call is playing, optionally a sliding cursor shows play progress. Playing can be stopped at a desired point by clicking a stop/pause button (e.g., control 206), or a play cursor can be repositioned to restart play at another point. Optionally, call volume can be adjusted via a client application call control and/or via a separate operating system or other volume control.


A Delete control (e.g., delete control 208) is provided, which, when activated, causes the deletion of a call log entry. An Undo control is optionally provided, which, when activated can undelete previously deleted calls (e.g., up to a certain limit, such as the last 10 deleted calls).


A Forward control (e.g., control 212) is optionally provided, which, when activated causes information regarding the currently selected call to be forwarded to a designated recipient (e.g., via email, SMS, MMS, instant messaging, etc.). Activating the Forward control optionally causes a drop down list of the user's contacts, or a portion thereof, to be displayed. Optionally, the user contacts are listed alphabetically by name, and optionally contact entries without a name are excluded or listed after those entries with a name.


A Reply control (e.g., control 210) is optionally provided, which, when activated causes, by way of example, a text message field and/or a multimedia message field to be presented to the user into which the user can enter a reply message (e.g., text or multimedia). The message address field will optionally be pre-populated with the name/address of a selected call log entry. Optionally, if the reply is to a cell phone message, the default prepopulated address field can be the caller's SMS or MMS address. Optionally, the address field can be overwritten by the sender or an email address stored in the caller's contact record can be used.


A Send control is optionally provided, which, when activated causes, by way of example, a text message field to be presented to the user into which the user can enter a text or multimedia message. The message address field can be prepopulated with the name/address of a selected call log entry or contact.


An Invite button control provided is provided (optionally, when the contact has not yet been sent an email or other electronic invitation via the softswitch to try certain services (e.g., TYF email or other electronic communication) to the given address (e.g., email address) or if the address is blank; if an invitation had previously been sent, a Reinvite control is optionally provided. Optionally, users who click on or otherwise activate the Invite button control for a blank email address are asked to enter an email address first; otherwise, both Invite and Reinvite display a TYF form with this entry's email address pre-populated.


The user's call log is optionally stored on the user's computer and is available when the application client is offline. As similarly discussed elsewhere herein, the call log stored on the user's computer is synchronized with the softswitch when the telecommunications client logs in to the softswitch, and synchronization is optionally periodically performed while online (e.g., every minute, every two minutes, or at other interval) while the client is online.


Optionally, when an incoming call is received, the telecommunications client is automatically maximized or increased in size if it is currently minimized, the information about the caller (e.g., name, phone number, and/or city/state) is displayed, and the message being left by the caller is played, unless the speaker mute control is activated, as discussed below. When the call completes, the call is optionally displayed as the first call in the call log and it is highlighted or otherwise emphasized (e.g., via a new call icon) to indicate it is a new call. Optionally, an indication is provided (e.g., via a blinking icon) that new calls have been received until the indicator is clicked on or the new calls in the call log are clicked.


If incoming calls are received by the softswitch when a telecommunications client is offline, when the telecommunications client goes online and a session is established with the softswitch, information related to those incoming calls is transmitted by the softswitch to the client. The call information for the calls is optionally displayed at the top of the call log (or at another designated position) with highlighting or other indicator that indicates the calls are new calls, and optionally, an icon is blinked or otherwise emphasized to indicate that new calls have been received.


Optionally, the telecommunications client has a user accessible control (e.g., with a speaker icon) for muting telecommunications sound signals that would otherwise be produced by the host computer speaker. When clicked on or depressed, sound from the client application to the speaker is muted, and when not depressed or when clicked on again, the sound is unmuted. Optionally, the user can control the default state/position of the mute control for incoming calls (e.g., via the option setting “Enable speaker during incoming calls”). Optionally, by default the client application sound to the speaker is not muted for incoming calls. If the user clicks on a message entry in a call log to play the message (or otherwise activates a play message control), optionally the mute control automatically changes to the unmuted position/state, and again changes to its specified default position/state if an incoming call is received. The mute control can be clicked while playing a message or receiving a call to change the speaker/mute behavior.



FIGS. 4A-B illustrate example telecommunications user interfaces provided via a widget or gadget that can provide some or all of the functionality described above with respect to FIG. 2. A widget can be in the form of a portable code that can be installed and executed within a Web page (e.g., an HTML-based web page) by an end user without requiring additional compilation. By way of illustration, a widget can be in the form of a window (with or without a border) with a particular appearance and behavior, a text box, a media player, etc. A widget can optionally accept and process user inputs. A gadget is equivalent to a widget that works in a Google framework. Other types of applications can be used as well to provide the functionality of a widget or gadget.



FIG. 4A illustrates the example widget user interface displaying call information for the most recent received call. The user interface includes the name/identifier (if available) of the caller, the date of the call, the time of the call, and the connect time, length of message left (if any), or length of fax received (if any). An expand control is provided to expand the size and/or amount of information displayed. An account control is provided, which when activated causes an account management Web page to be presented. A feedback control is provided which, when activated, causes a form to be presented via which the user can submit feedback to the system operator/provider (e.g., like and dislikes regarding the system and services, problem issues, etc.), access a help interface, and/or access answers to frequently asked questions. A “see all calls” control is provided, which when activated, causes the user interface to list numerous past calls (e.g., all past calls, all past call received in a certain time period whose entries have not been deleted, a certain number of past calls, etc.), optionally in a scrollable user interface.



FIG. 4B illustrates an example expanded version of the user interface illustrated in FIG. 4A. The example view displays the calling number (if available) and a message playback status bar.


In an example embodiment, a “one-number” communication process is used, wherein a user is assigned a phone address (e.g., a phone number) that externally identifies one or more telecommunication devices (e.g., a wireless telephone), and can be used as follows:


The “one-number” is the number the customer publishes for people to call the telecommunication device (e.g., a telephone) or send messages (e.g., SMS text messages or MMS messages) to the “one-number”.


The “one-number” is the number that is published as the caller ID when the customer makes calls with the phone or sends SMS/MMS messages.


Optionally, calls to this “one-number” are routed through the softswitch on their way to the phone to provide enhanced call management services.


In an example illustrative embodiment, the CP MVNO allocates phone numbers for its mobile phones from its own number pool. Calls to numbers in this pool will route through the PSTN and terminate on the softswitch because it would own the assigned point code (node address). Optionally, the CP MVNO provisions one or more phone number blocks as wireless (e.g., coded as NXXTYPE=51, which indicates that the NXX (the 3 digits after the area code in the United States) is shared between wireless and POTs). This phone address provisioning step may simplify SMS routing for wireless carriers that rely upon this wireless designation in routing databases (e.g., the LERG). Certain example embodiments include a call processing system softswitch that configures call signaling parameters associated with an outbound call so that the outbound call appears to be to a phone number ported to a wireless communication service provider, even though the phone number has not been ported to the wireless communication service provider.


In an example embodiment, the CP MVNO contracts with an inter-carrier SMS gateway to broadcast the CP MVNO number blocks to other inter-carrier SMS gateway providers and to route SMS messages addressed to the numbers in the block to the underlying wireless service provider's SMSC. Otherwise, in certain telecommunication systems, because the phone number appears to be landline phone number, if a pool of landline phone numbers are used, an SMS message would pass to the gateway MSC provider associated with the landline phone number, which would discard it (e.g., because the SMS message is not deliverable to a landline phone) or otherwise fail to deliver the SMS message.


In an example embodiment, when provisioning service for a CP MVNO mobile phone, the phone numbers that are offered to the customer to choose from come from the CP MVNO number pool. Optionally, the underlying wireless service provider assigns the chosen phone number as the phone's MDN and disables or inhibits optimal routing for the phone, as discussed below.


In this example, the underlying wireless service provider MSC and SMSC are configured to accept/route calls and SMS messages directed to MDN's of mobile phones it is servicing, even though these MDN's are not owned (from a call routing database (e.g., LERG) perspective) by the underlying wireless service provider.


CallWave, Inc. is an example of an enhanced service provider providing integrated wireline and wireless enhanced call processing. Sprint Wireless, Verizon, Cingular are examples of wireless phone operators currently providing wholesale Mobile Virtual Network Operator services. Of course, other providers can be used instead or in addition.



FIG. 1 depicts an example call scenario in which a caller 102 initiates a call to a CP MVNO mobile phone, where the call is routed to a MVNO mobile phone 120 associated with the called party (e.g., a customer of the enhanced telecommunications service provider, MVNO, landline telecommunications provider) via a softswitch 104. An example call handling sequence is as follows:


State 1. A caller associated with a telecommunications device 102 dials the phone number of the CP MVNO mobile phone 120.


State 2. The PSTN system compares the phone number with a database of phone numbers that indicates the “ownership” of the phone number. The phone number is recognized in the PSTN 106 as “owned” by the CP MVNO with a point code assigned to the softswitch 104. The PSTN 106 routes the call to the softswitch 104, which then receives the call.


State 3. In this example, the softswitch 104 utilizes signaling information associated with the call (e.g., the called phone number) to identify the customer being called, accesses account information associated with the customer using the called phone number, utilizes the account information to identify address information associated with the customer's telecommunications client 108, and determines that the customer's telecommunications client 108 (e.g., CP MVNO-branded telecommunications client hosted on a personal computer, networked television, smart phone, etc.) is online (e.g., from a message sent by the client to the softswitch).


The softswitch 104 transmits over the Internet 122 (or other network) to the telecommunications client 108 a notification regarding the call (optionally including the name, phone number, city and/or state of the caller), and the client 108 provides the customer with some or all of the received call information (e.g., initiates or otherwise provides a ringing sound indicating the existence of an inbound call and/or displays call information/status, such as the number/identity of the caller, the geographical (city, state) location from which the call originated, etc.). This gives the customer the opportunity to screen the call (e.g., via the caller information associated with the call or via a message being left by the caller on a voice answering system, which may be include in the softswitch, and streamed to the customer's terminal in substantially real time so the customer can decide whether or not to take the call), take the call on the telecommunication application client host, and/or transfer the call to another phone (e.g., a mobile phone, a landline phone, a broadband phone, a VoIP phone, etc.


By way of example, the client application 108 can provide a “take the call” control (e.g., via a soft button or link), which when activated by the customer, causes the call to be connected to the client host (e.g., using VoIP where the host is equipped with VoIP software, microphone, speaker) so that the customer and caller can converse. By way of further example, the client application 108 can provide a “forward the call” control, which when activated by the customer, causes a listing of predefined destinations to be presented and/or a phone address field in which the customer can enter a destination phone address. The customer can select a destination or enter a phone address, and the call is forwarded to the new destination (e.g., the softswitch 104 places an outcall to the new destination and bridged the inbound call from the caller with the outcall).


State 4. The softswitch routes the call (e.g., by placing an outcall) to a Gateway MSC 110 (Mobile Switching Center) that optionally is operated and/or owned by an underlying wireless service provider (e.g., that provides a wireless network and wireless cellular services compatible with one or more standards, such as CDMA, GSM, HSDPA, HSUPA, etc.) to the MVNO. In this example, the softswitch causes the call to be routed to the MSC 110 via the SS7 ISUP (ISDN User Part) Initial Address Message used to originate the call by: a) setting the Generic Address parameter to the called party number, b) setting the Called Party Number parameter to the LRN (Location Routing Number) of the underlying wireless service provider Gateway MSC (Mobile Switching Center), and c) setting the Translated Called Number Indicator (TCNI) bit in the Forward Call Parameter. Other routing techniques can be used as well.


State 5. The Gateway MSC 110 queries it's HLR 116 with the called party phone number. In this example, the HLR 116 stores and locates a match on the MDN of the CP MVNO mobile phone 120, and the query returns the phone's presence/location and the MSC that is currently serving the phone 120.


State 6. The Gateway MSC 110 routes the call to the serving MSC 112, which routes it to the appropriate BTS (Base Transceiver Station) 114.


State 7. The BTS 114 transmits an indication regarding the incoming call to the mobile phone 120, and in response, the mobile phone 120 rings and is answered by the customer. The answer state status is provided to the softswitch 104. When the softswitch 104 detects the answer state, it begins screening the call to the mobile phone (e.g., transmitting caller identification information and/or transmitting in substantially real time a message being left by the caller (e.g., in response to a “leave message” request played by the softswitch 104 to the caller) to the mobile phone while optionally preventing or not enabling the caller to hear the called party). The mobile phone user can then press 1 on the mobile phone 120 to take the call or 2 to transfer the call. Other user inputs can be used as well (e.g., voice commands, different key presses, etc.). If a take the call instruction is received, the softswitch can bridge the original call and the outcall in full duplex mode. Alternatively or in addition, the telecommunications user can take action on the call (e.g., take the call, forward the call, etc.).


Optionally, the Gateway MSC 110 is configured so that if the mobile phone had been turned off, was out of range, was busy, or was otherwise unavailable, the Gateway MSC 110 would have followed the forwarding rules configured in the HLR 116. For example, the forwarding rules can be configured to call the softswitch 104. The softswitch 104, configured to detect loopbacks and to take a message or attempt to deliver calls to another destination which such a loopback condition occurs, would detect this loopback situation and would act appropriately to take a message or attempt to deliver the call to a different phone used by the customer, as configured in a customer account database (e.g., where the customer specifies the telecommunication device order in which the softswitch should attempt to reach the customer if a higher ranked device is unavailable and/or not answered).


In this example, “optimal routing” (which, when a mobile phone is not in its home system, allows a call to be routed directly from the originating switch to the MSC currently serving the mobile phone, replacing the leg from the originating switch to the home MSC and the leg from the home MSC to the Serving MSC) in the HLR 116, would be disabled for the CP MVNO mobile phone 120. Thus, if a mobile phone being served by the underlying wireless service provider originates a call, the call will still route through PSTN 106 to the softswitch 104.


If the CP MVNO mobile phone 120 originates a call, the call is routed via standard or other wireless process, optionally without passing through the softswitch 104 unless the call is to another CP MVNO mobile phone.


In an example embodiment, for proper routing of SMS messages, the CP MVNO contracts with or otherwise arranges with an inter-carrier SMS gateway vendor to service the CP MVNO's block of mobile phone numbers. The SMS gateway is configured to route SMS messages addressed to phone numbers in the block to the underlying wireless service provider SMSC (Short Message Service Center). An SMS message sent by the CP MVNO mobile phone would have the phone's MDN in the HLR as the sending address signaled to the device receiving the message. If the address is not marked as private, the number, may be displayed via the receiving device (e.g., via a Caller ID display).


If the MDN assigned to a CP MVNO mobile phone had been ported to the CP MVNO, routing of calls and SMS messages still works properly. In the case of a call to the mobile phone, the LNP (Local Number Portability) dip is performed in the PSTN to cause the call to be routed to the softswitch. After that, the softswitch's routing to the wireless network is the same as or substantially similar to the above described scenario. Similarly for SMS messages, the inter-carrier SMS gateways perform an LNP dip to get the LRN identifying the owner of the addressed phone number. This LRN is recognized by the gateway as being associated with the CP MVNO's number block, which is designated to route to the underlying wireless service provider SMSC.


The foregoing description details certain embodiments of the invention. It will be appreciated, however, that no matter how detailed the foregoing appears in text, the invention can be practiced in many ways. As is also stated above, it should be noted that the use of particular terminology when describing certain features or aspects of the invention should not be taken to imply that the terminology is being re-defined herein to be restricted to including any specific characteristics of the features or aspects of the invention with which that terminology is associated.

Claims
  • 1. A system, comprising: a data network interface;a telecommunications interface;a call processing system, including at least one processing device, coupled to the data network interface and the telecommunications interface, the call processing system configured to perform operations, comprising:receiving, using the data network interface, a communication from a computing device of a user;determining, from the communication received using the data network interface, that the computing device of the user is online;receiving a first call over the telecommunications interface from a first calling party, the first call directed to a first phone address associated with the user, wherein the first call is associated with a calling party phone address;at least partly in response to the first call and the determination that the computing device of the user is online, automatically causing a notification of the incoming first call to be presented in a web page on the computing device of the user, wherein the incoming first call notification includes the calling party phone address and wherein the incoming first call notification is presented during the received call; andsubsequent to the received first call and at least in part in response to a web page interface control selection on the computing device of the user, causing a call from the computing device of the user to be presented to the first calling party with the first phone address.
  • 2. The system as defined in claim 1, wherein the computing device of the user is a mobile user computing device.
  • 3. The system as defined in claim 1, wherein the incoming first call notification includes a caller name.
  • 4. The system as defined in claim 1, the operations further comprising: enabling the user, via the web page on the computing device of the user, to create a contact associated with the first call.
  • 5. The system as defined in claim 1, the operations further comprising: enabling the user, via the web page on the computing device of the user, to take the first call.
  • 6. The system as defined in claim 1, the operations further comprising: enabling the user, via the web page on the computing device of the user, to direct the first call to a telephonic device associated with the user.
  • 7. The system as defined in claim 1, the operations further comprising: enabling the user, via the web page on the computing device of the user, to compose a text message.
  • 8. A system, comprising: a data network interface;a telecommunications interface;a call processing system, including at least one processing device, coupled to the data network interface and the telecommunications interface, the call processing system configured to perform operations, comprising:receiving, using the data network interface, a communication from a computing device of a user;determining, from the communication received using the data network interface, that the computing device of the user is online;receiving a first call over the telecommunications interface, from a first calling party, the first call directed to a first phone address associated with the user, wherein the first call is associated with a calling party phone address;at least partly in response to the first call and the determination that the computing device of the user is online, automatically causing a notification of the incoming first call to be presented in a browser on the computing device of the user, wherein the incoming first call notification includes the calling party phone address and wherein the incoming first call notification is presented during the received call; andplacing an outbound call via a wireless network of a wireless communications service provider the user is subscribed to, wherein call signaling parameters of the outbound call are configured to preserve the calling party phone address.
  • 9. The system as defined in claim 8, wherein the first phone address is not a phone number of the wireless communications service provider.
  • 10. The system as defined in claim 8, wherein the first phone address has not been ported to the wireless communications service provider.
  • 11. The system as defined in claim 8, wherein placing the outbound call to the wireless network comprises placing the outbound call to a mobile switching center associated with the wireless communications service provider via an SS7 ISUP (Signaling System 7 Integrated Services Digital Network User Part) Initial Address Message.
  • 12. The system as defined in claim 8, the operations further comprising: enabling the user, via the browser on the computing device of the user, to create a contact associated with the first call.
  • 13. The system as defined in claim 8, wherein the computing device of the user is a mobile user computing device.
  • 14. The system as defined in claim 8, wherein the incoming first call notification includes a caller name.
  • 15. The system as defined in claim 8, the operations further comprising: enabling the user, via the browser on the computing device of the user, to take the first call.
  • 16. The system as defined in claim 8, the operations further comprising: enabling the user, via the browser on the computing device of the user, to direct the first call to a telephonic device associated with the user.
  • 17. A system, comprising: a data network interface;a telecommunications interface;a call processing system, including at least one processing device, coupled to the data network interface and the telecommunications interface, the call processing system configured to perform operations, comprising:receiving a first call over the telecommunications interface from a first calling party, the first call directed to a first phone address associated with the user, wherein the first call is associated with a calling party phone address;at least partly in response to the first call, automatically causing a notification of the incoming first call to be presented in a web page on the computing device of the user, wherein the incoming first call notification includes the calling party phone address and wherein the incoming first call notification is presented during the received call; andsubsequent to the received first call and at least in part in response to a web page interface control selection on the computing device of the user, causing a call from the computing device of the user to be presented to the first calling party with the first phone address.
  • 18. The method as defined in claim 17, wherein the computing device of the user is a mobile user computing device.
  • 19. The system as defined in claim 17, wherein the incoming first call notification includes a caller name.
  • 20. The system as defined in claim 17, the operations further comprising: enabling the user, via the web page on the computing device of the user, to create a contact associated with the first call.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 14/218,444, filed Mar. 18, 2014, which is a continuation of U.S. application Ser. No. 13/798,963, filed Mar. 13, 2013, now U.S. Pat. No. 8,682,305, which is a continuation of U.S. application Ser. No. 13/450,113, filed Apr. 18, 2012, now U.S. Pat. No. 8,401,533, which is a continuation of U.S. application Ser. No. 11/676,479, filed Feb. 19, 2007, now U.S. Pat. No. 8,165,572, which claims priority from U.S. Patent Application No. 60/775,601, filed Feb. 22, 2006, the contents of which are incorporated herein by reference in their entirety.

US Referenced Citations (177)
Number Name Date Kind
3936613 Nishigori et al. Feb 1976 A
3956595 Sobanski May 1976 A
4009337 Sakai et al. Feb 1977 A
4022983 Braun et al. May 1977 A
4485470 Reali Nov 1984 A
4736405 Akiyama Apr 1988 A
4809321 Morganstein et al. Feb 1989 A
4893336 Wuthnow Jan 1990 A
4994926 Gordon et al. Feb 1991 A
5040208 Jolissaint Aug 1991 A
5046087 Sakai Sep 1991 A
5291302 Gordon et al. Mar 1994 A
5361295 Solomon et al. Nov 1994 A
5384831 Creswell et al. Jan 1995 A
5404537 Olnowich et al. Apr 1995 A
5434908 Klein Jul 1995 A
5440620 Slusky Aug 1995 A
5459584 Gordon et al. Oct 1995 A
5467388 Redd, Jr. et al. Nov 1995 A
5526524 Madduri Jun 1996 A
5533102 Robinson et al. Jul 1996 A
5533106 Blumhardt Jul 1996 A
5548636 Bannister et al. Aug 1996 A
5577111 Iida et al. Nov 1996 A
5583918 Nakagawa Dec 1996 A
5619557 Van Berkum Apr 1997 A
5640677 Karlsson Jun 1997 A
5651054 Dunn et al. Jul 1997 A
5668861 Watts Sep 1997 A
5751795 Hassler et al. May 1998 A
5774067 Olnowich et al. Jun 1998 A
5805587 Norris et al. Sep 1998 A
5809128 McMullin Sep 1998 A
5812551 Tsukazoe et al. Sep 1998 A
5825867 Epler et al. Oct 1998 A
5832060 Corlett et al. Nov 1998 A
5835573 Dee et al. Nov 1998 A
5862208 MeLampy et al. Jan 1999 A
5894504 Alfred et al. Apr 1999 A
5912948 Nelson et al. Jun 1999 A
5946386 Rogers et al. Aug 1999 A
5960064 Foladare et al. Sep 1999 A
5960073 Kikinis et al. Sep 1999 A
5963629 Jung Oct 1999 A
5991367 Robuck Nov 1999 A
5995594 Shaffer et al. Nov 1999 A
5995603 Anderson Nov 1999 A
5999806 Kaplan et al. Dec 1999 A
6014436 Florence et al. Jan 2000 A
6023503 Schneider et al. Feb 2000 A
6031896 Gardell et al. Feb 2000 A
6032051 Hall et al. Feb 2000 A
6034956 Olnowich et al. Mar 2000 A
6035031 Silverman Mar 2000 A
6041103 La Porta et al. Mar 2000 A
6044059 Olnowich Mar 2000 A
6055430 Cooper et al. Apr 2000 A
6078581 Shtivelman et al. Jun 2000 A
6100873 Bayless et al. Aug 2000 A
6101249 Weber Aug 2000 A
6104800 Benson Aug 2000 A
6144644 Bajzath et al. Nov 2000 A
6160881 Beyda et al. Dec 2000 A
6167127 Smith et al. Dec 2000 A
6169795 Dunn et al. Jan 2001 B1
6169796 Bauer et al. Jan 2001 B1
6173054 Beyda et al. Jan 2001 B1
6175622 Chiniwala et al. Jan 2001 B1
6178183 Buskirk, Jr. Jan 2001 B1
6181691 Markgraf et al. Jan 2001 B1
6208638 Rieley et al. Mar 2001 B1
6212261 Meubus et al. Apr 2001 B1
6230009 Holmes et al. May 2001 B1
6243378 Olnowich Jun 2001 B1
6253249 Belzile Jun 2001 B1
6278704 Creamer et al. Aug 2001 B1
6292478 Farris Sep 2001 B1
6304565 Ramamurthy Oct 2001 B1
6310939 Varney Oct 2001 B1
6337898 Gordon Jan 2002 B1
6350066 Bobo, II Feb 2002 B1
6353660 Burger et al. Mar 2002 B1
6353663 Stevens et al. Mar 2002 B1
6363414 Nicholls et al. Mar 2002 B1
6374102 Brachman et al. Apr 2002 B1
6381459 Gervens et al. Apr 2002 B1
6405035 Singh Jun 2002 B1
6411601 Shaffer et al. Jun 2002 B1
6411692 Scherer Jun 2002 B1
6411805 Becker et al. Jun 2002 B1
6438216 Aktas Aug 2002 B1
6438222 Burg Aug 2002 B1
6477246 Dolan et al. Nov 2002 B1
6496569 Pelletier et al. Dec 2002 B2
6496576 Tanaka et al. Dec 2002 B2
6501750 Shaffer et al. Dec 2002 B1
6505163 Zhang et al. Jan 2003 B1
6510162 Fijolek et al. Jan 2003 B1
6510417 Woods et al. Jan 2003 B1
6512930 Sandegren Jan 2003 B2
6519258 Tsukazoe et al. Feb 2003 B1
6529587 Cannon et al. Mar 2003 B1
6539084 Long Mar 2003 B1
6545589 Fuller et al. Apr 2003 B1
6546087 Shaffer et al. Apr 2003 B2
6549612 Gifford et al. Apr 2003 B2
6553222 Weiss Apr 2003 B1
6564264 Creswell et al. May 2003 B1
6564321 Bobo, II May 2003 B2
6567505 Omori et al. May 2003 B1
6574319 Latter et al. Jun 2003 B2
6621892 Banister et al. Sep 2003 B1
6643034 Gordon et al. Nov 2003 B1
6658100 Lund Dec 2003 B1
6661785 Zhang et al. Dec 2003 B1
6661886 Huart et al. Dec 2003 B1
6662232 Nicholls et al. Dec 2003 B1
6690785 Stelter et al. Feb 2004 B1
6751299 Brown et al. Jun 2004 B1
6775370 Burg Aug 2004 B2
6782088 Gabara Aug 2004 B1
6785021 Gordon et al. Aug 2004 B1
6792094 Kirkpatrick Sep 2004 B1
6829332 Farris et al. Dec 2004 B2
6857074 Bobo, II Feb 2005 B2
6898275 Dolan et al. May 2005 B2
6968174 Trandal et al. Nov 2005 B1
7003087 Spencer et al. Feb 2006 B2
7120455 Chen et al. Oct 2006 B1
7209964 Dugan et al. Apr 2007 B2
7254219 Hansen et al. Aug 2007 B1
7382773 Schoeneberger et al. Jun 2008 B2
7388949 Contractor et al. Jun 2008 B2
7412050 Renner et al. Aug 2008 B2
7522580 Miller et al. Apr 2009 B2
7548756 Velthuis et al. Jun 2009 B2
7688958 Dolan et al. Mar 2010 B2
20020010616 Itzhaki Jan 2002 A1
20020035616 Diamond et al. Mar 2002 A1
20020097710 Burg Jul 2002 A1
20030039339 Luehrig et al. Feb 2003 A1
20030063731 Woodring Apr 2003 A1
20030123629 Hussain et al. Jul 2003 A1
20030156700 Brown et al. Aug 2003 A1
20030191823 Bansal et al. Oct 2003 A1
20030215078 Brahm et al. Nov 2003 A1
20040028203 Wurster et al. Feb 2004 A1
20040066926 Brockbank et al. Apr 2004 A1
20040073566 Trivedi Apr 2004 A1
20040105536 Williams Jun 2004 A1
20040174983 Olschwang et al. Sep 2004 A1
20040190706 Fleischer, III et al. Sep 2004 A1
20040247105 Mullis et al. Dec 2004 A1
20040249650 Freedman et al. Dec 2004 A1
20040258220 Levine et al. Dec 2004 A1
20050010573 Garg Jan 2005 A1
20050053216 Spencer et al. Mar 2005 A1
20050078612 Lang Apr 2005 A1
20050117726 DeMent et al. Jun 2005 A1
20050123118 Terry et al. Jun 2005 A1
20050154599 Kopra et al. Jul 2005 A1
20050186950 Jiang Aug 2005 A1
20050201362 Klein et al. Sep 2005 A1
20050207556 Gonzalez et al. Sep 2005 A1
20050265322 Hester Dec 2005 A1
20050286498 Rand et al. Dec 2005 A1
20050287993 Gogic Dec 2005 A1
20060013374 Fleischer, III et al. Jan 2006 A1
20060268007 Gopalakrishnan Nov 2006 A1
20060276193 Itzkovitz et al. Dec 2006 A1
20070002077 Gopalakrishnan Jan 2007 A1
20070067738 Flynt et al. Mar 2007 A1
20070153999 Daigle Jul 2007 A1
20070160188 Sharpe et al. Jul 2007 A1
20070202898 Bae et al. Aug 2007 A1
20090100027 Malik Apr 2009 A1
20100008356 Boni et al. Jan 2010 A1
Foreign Referenced Citations (8)
Number Date Country
1329852 Sep 1989 CA
1120954 Aug 2001 EP
10-513632 Dec 1998 JP
11-506292 Jun 1999 JP
2001-168989 Jun 2001 JP
WO 9726749 Jul 1997 WO
WO 0060840 Oct 2000 WO
WO 0176210 Oct 2001 WO
Non-Patent Literature Citations (3)
Entry
Johnson, D., “Now You're Talking—voice—response systems for home offices—Product Information”; http://www.findarticles.com, Feb. 1999.
“Widget MySpace Widget”; posted by 4INFO Bob; http://4info.typepad.com/blog/2006/09/widget—myspace—.html; Sep. 15, 2006; 3 pages.
Communications—SMS, Dashboard Widgets—Showcase; http://www.dashboardwidgets.com/showcase/details.php?wid=1082; Oct. 14, 2005; 2 pages.
Related Publications (1)
Number Date Country
20150189077 A1 Jul 2015 US
Provisional Applications (1)
Number Date Country
60775601 Feb 2006 US
Continuations (4)
Number Date Country
Parent 14218444 Mar 2014 US
Child 14592733 US
Parent 13798963 Mar 2013 US
Child 14218444 US
Parent 13450113 Apr 2012 US
Child 13798963 US
Parent 11676479 Feb 2007 US
Child 13450113 US