SPECIAL ROUTING SERVICE
Various embodiments provide for a way of accessing databases and existing hardware with a gateway that can route calls on different legacy networks by using features of existing telecommunication policy and databases. Some embodiments utilize numbers in one or more of a carrier's native number block and an algorithm or database to switch a routing number and enter instead a desired phone number/routing location. Using these techniques, calls can be routed to underlying carriers (e.g., facilities carriers) without the need to own or lease traditional facilities to access the network. For example, in some embodiments, a carrier may map incoming numbers to a different number so that the components of the network route the call for that carrier but terminate the call to another carrier that provides traditional facilities on its behalf.
This application claims priority to U.S. Provisional Application Ser. No. 62/073,007 filed Oct. 30, 2014, which is incorporated herein by reference for all purposes in its entirety.
This application is also related to U.S. Non-Provisional Application Ser. No. ______, entitled “Message Routing Using Location Routing Numbers” filed concurrently herewith, and U.S. Non-Provisional Application Ser. No. ______, entitled “Message Segmentation Using Location Routing Numbers” also filed concurrently herewith, and both of which are incorporated herein by reference for all purposes in their entirety.
BACKGROUNDModern communications devices (such as mobile phones, telephones, computer tablets, or the like) have become an integral part of modern life. In order to route calls, these devices access communications networks owned by various operators. The operators of the communications networks can generally be classified as a public telephone operator or a virtual network operator. Public telephone operators own and build landline and wireless communication networks while a virtual network operator typically leases capacity from a public telephone operator.
Unfortunately, only some telecommunications companies have the facilities to access the legacy networks. As a result, this makes market entry difficult for companies without Public Switched Telephone Network (PSTN) facilities. In addition, there are a variety of regulations that restrict direct access to telephone numbers, telecom databases, etc., in particular for non-traditional carriers (e.g., voice over IP (VoIP)), which can be difficult to navigate. Companies that want to enter the market with direct control over their phone numbers have traditionally been required to invest in or lease facilities from public telephone operators for access to the network (e.g., need to lease lines from those who have the physical infrastructure).
Embodiments of the present invention will be described and explained through the use of the accompanying drawings in which:
The drawings have not been drawn to scale. Similarly, some components and/or operations may be separated into different blocks or combined into a single block for the purposes of discussion of some of the embodiments of the present invention. Moreover, while the invention is amenable to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and are described in detail below. The intention, however, is not to limit the invention to the particular embodiments described. On the contrary, the invention is intended to cover all modifications, equivalents, and alternatives falling within the scope of the invention as defined by the appended claims.
DETAILED DESCRIPTIONOnly a few telecommunication companies have the facilities to access the legacy networks. As a result, this makes market entry difficult for companies without PSTN facilities. In addition, there are a variety of regulations that restrict direct access to telephone numbers, telecom databases, etc. These regulations and restrictions, in particular for non-traditional carriers (e.g., VoIP), can be difficult to navigate. Companies that want to enter the market with direct control over their phone numbers have traditionally been required to invest in or lease facilities from public telephone operators for access to the network (e.g., need to lease lines from those who have the physical infrastructure).
In contrast, various embodiments provide for a creative way of accessing databases and existing hardware with a gateway that can route calls on different legacy networks by taking advantage of a new way to use existing IP policy and databases. Some embodiments utilize numbers in one or more of a carrier's native number block and an algorithm or database to switch a routing number and enter instead a desired phone number/routing location. Using these techniques, calls can be routed to underlying carriers (e.g., facilities carriers) without the need to lease facilities to access the network. For example, in some embodiments, a carrier may map incoming numbers to a different number so that the components of the network believe the call is originating from that carrier even though the call originated from another carrier without dedicated equipment.
In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of embodiments of the present invention. It will be apparent, however, to one skilled in the art that embodiments of the present invention may be practiced without some of these specific details. While, for convenience, embodiments of the present invention are described with reference to circuit switched call routing, embodiments of the present invention are equally applicable to all packet switched networks (e.g., IP networks).
The techniques introduced here can be embodied as special-purpose hardware (e.g., circuitry), as programmable circuitry appropriately programmed with software and/or firmware, or as a combination of special-purpose and programmable circuitry. Hence, embodiments may include a machine-readable medium having stored thereon instructions which may be used to program a computer (or other electronic devices) to perform a process. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, compact disc read-only memories (CD-ROMs), magneto-optical disks, ROMs, random access memories (RAMs), erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), magnetic or optical cards, flash memory, or other type of media / machine-readable medium suitable for storing electronic instructions.
The phrases “in some embodiments,” “according to some embodiments,” “in the embodiments shown,” “in other embodiments,” and the like generally mean the particular feature, structure, or characteristic following the phrase is included in at least one implementation of the present invention, and may be included in more than one implementation. In addition, such phrases do not necessarily refer to the same embodiments or different embodiments.
To allow a user to make use of the various services and features of devices 110A-110N, some of the devices can include a display, a keypad, touchpad or touch screen, a microphone, applications, and/or a speaker. In addition, a call may originate and/or terminate at any of devices 110A-110N. For example, the call may originate from an end-user device and terminate at an end-user device. In other cases, a call may originate and terminate at various network components such as, but not limited to, telephone switches, soft-switches, VoIP devices, private branch exchanges, endpoints, proxies, and the like.
In addition, communication devices 110A-110N can include network communication components that enable the devices (e.g., mobile, wireline, VoIP, etc.) to communicate with remote servers, switches, gateways, or other network components by transmitting and receiving wireless signals using licensed, semi-licensed or unlicensed spectrum over communications network 120. In some cases, communication network 120 may be comprised of multiple networks, even multiple heterogeneous networks, such as one or more border networks, voice networks, broadband networks, service provider networks, Internet Service Provider (ISP) networks, and/or PSTNs, interconnected via gateways operable to facilitate communications between and among the various networks. Communications network 120 can also include third-party communications networks such as a Global System for Mobile (GSM) mobile communications network, a code/time division multiple access (CDMA/TDMA) mobile communications network, a 3rd or 4th generation (3G/4G) mobile communications network (e.g., General Packet Radio Service (GPRS/EGPRS)), Enhanced Data rates for GSM Evolution (EDGE), Universal Mobile Telecommunications System (UMTS), or Long Term Evolution (LTE) network), or other communications network.
Those skilled in the art will appreciate that various other components (not shown) may be included in devices 110A-110N to enable network communication. For example, a communication device may be configured to communicate over a GSM mobile telecommunications network. As a result, the mobile device may include a Subscriber Identity Module (SIM) card that stores an International Mobile Subscriber Identity (IMSI) number that is used to identify the communication device on the GSM mobile communications network or other networks (e.g., those employing 3G and/or 4G wireless protocols). If the communication device is configured to communicate over another communications network, the communication device may include other components that enable it to be identified on the other communications networks. In some embodiments, devices 110A-110N include components that enable them to connect to a communications network using Generic Access Network (GAN) or Unlicensed Mobile Access (UMA) standards and protocols. For example, a communication device may include components that support Internet Protocol (IP)-based communication over a Wireless Local Area Network (WLAN) and components that enable communication with the telecommunications network over the IP-based WLAN.
Typically, an LRN uses the format of a ten-digit telephone number following the North American Numbering Plan (NANP) and is stored in a routing database (e.g., the Number Portability Administration Center Database). The full LRN or a subset of digits within the LRN can be used to route the call. For example, in some cases, the first six digits (i.e., the number plan area and the prefix (NPA-NXX)) of the LRN can be used to route the call with the last four digits representing a line number. The LRN generally can be used to map serving telephone numbers to a serving switch, however, and is not intended to convey any rate information. Rate information, for example, is typically stored in a separate database.
As illustrated in
NPAC database 315 can return the LRN needed to route the call. NPAC database 315 does not have restrictions on the creation of an LRN for a service provider identifier (SPID) other than the LRN cannot already exist. A number under a certain SPID in the NPAC database (i.e., a service version record) can only be configured to use an LRN that is registered to that same SPID in the NPAC. In accordance with various embodiments, using write-access to the database, an LRN is created (“New LRN”) in NPAC database 315 that is in any of the facilities carrier's native number blocks but is different than the LRN managed and/or used by the facilities carrier in the NPAC. Furthermore, entries (i.e., service version records) are created in the NPAC database 315 that will route calls to the New LRN. This allows the switch to route calls to underlying carriers without a dedicated circuit.
Originating switch 310 then also checks the local exchange routing guide (LERG) database 330 to retrieve data which can be used for routing the call. The LERG is a database that contains information on every telephone switch in the North American Numbering Plan and which native (i.e., not ported) phone numbers they cover; most telephone companies build their routing tables using the LERG database 330. The data stored within the LERG database 330 can include, for example, operating company numbers, company names, routing contacts, NPA information (i.e., Area Codes), destination codes (i.e., NPA NXX and Thousands-Blocks), switching entity record details, rate center details, and other information that can be used for routing calls.
In the example illustrated in
Upon receiving and processing the call setup message, network 335 routes the message to switch 340, which handles the native number blocks from which the New LRN was assigned. Switch 340 can then query a database 345 to determine how the call should be completed (e.g., by using the called party number, GAP field contents, or SIP) to destination device 350. For example, in some embodiments, switch 340 can then route the call using a variety of infrastructure including plain old telephone system (POTS), VoIP, mobile infrastructure, and the like.
Memory 410 can be any device, mechanism, or populated data structure used for storing information. In accordance with some embodiments of the present invention, memory 410 can encompass any type of, but is not limited to, volatile memory, nonvolatile memory and dynamic memory. For example, memory 410 can be random access memory, memory storage devices, optical memory devices, media magnetic media, floppy disks, magnetic tapes, hard drives, SDRAM, RDRAM, DDR RAM, erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), compact disks, DVDs, and/or the like. In accordance with some embodiments, memory 410 may include one or more disk drives, flash drives, one or more databases, one or more tables, one or more files, local cache memories, processor cache memories, relational databases, flat databases, and/or the like. In addition, those of ordinary skill in the art will appreciate many additional devices and techniques for storing information which can be used as memory 410.
Memory 410 may be used to store instructions for running one or more applications or modules on processor(s) 420. For example, memory 410 could be used in one or more embodiments to house all or some of the instructions needed to execute the functionality of operating system 440, translation module 450, and/or identification module 460.
Processors 420 are the main processors of switch 310 and can provide the processing power to support software applications or modules, memory management, and multimedia. Processors 420 may be communicably coupled with memory 410 and configured to run operating system 440 and any applications stored on memory 410. Operating system 440 provides a software package that is capable of managing the hardware resources of switch 310. Operating system 440 can also provide common services for software applications or modules running on processors 420.
In accordance with some embodiments, translation module 450 can be used to generate a translated call setup message based on a New LRN. To generate the call setup message, translation module 450 can identify the originating number, a New LRN, and a destination number. The origination number and the destination number can be identified using the incoming call setup message. To identify the New LRN, for example, translation module 450 can access a routing database (e.g., NPAC database 315) and retrieve an entry with the New LRN. Translation module 450 can then generate the translated call setup message by placing the New LRN in a field for routing (e.g., the Called Party Number field) and the destination number in non-routing field (e.g., the GAP field).
Identification module 460 can monitor for calls to a number that has a service version record in the routing database with an LRN that is in a second carrier's native number block. For example, as a call message comes into the switch, identification module 460 can review the call message and identify call messages that meet these criteria. Once identified, identification module 460 can segment and/or tag messages generated by the switch. The segmentation and/or tagging can be used to prioritize messages, route messages, adjust billing rates, and the like. For example, in some embodiments, traffic can be segmented based on a routing number, generic address parameter, dialed number or the called party number.
As illustrated in
After the entry is created using creation operation 630 or modified using modification operation 640, monitoring operation 650 can then monitor for calls to the number that has the service version record with the LRN that is in the second carrier's native number block. For example, as a call comes into the switch, the switch can access entries in the routing database to identify such messages. Once identified, the service version record can be used by completion operation 660 to segment, route, or identify traffic in the telephone network.
Subscription information can include telephone number field 805, service version identifier field 810 and LNP type field 815. Telephone number field 805 can be used to identify the telephone number. Service version identifier field 810 is a unique identifier of the database entry. LNP type field 815 can be used to classify porting activity into three types: 1) LSPP—inter-service provider port—a number that has been ported between two different SPIDs; 2) LISP—intra-service provider port—a number that has been ported within the same SPID; and 3) POOL—a number contained in a pooled thousand block.
Service provider information can include information about the new and old service provider. As illustrated in
Network information can include information about an associated LRN 830 and the Destination Point Code (DPC) and the Sub System Number (SSN). The DPC is an address of a device on the Common Channel Signaling (SS7) network. The DPCs, illustrated in
For example, the line information database (LIDB) field 835 can identify a database that allows a toll operator to determine whether a telephone number may be billed for a call (Collect or Third Number) by indicating whether the billed number is a public phone. The LIDB can also be used to indicate that a number will accept Collect calls. Caller ID with name (CNAM) field 840 identifies the CNAM database that can be used to provide caller ID with name information. Custom Local Area Signaling Services (CLASS) field 845 identifies a group of vertical service features such as Caller ID (calling number delivery), Calling Name delivery, and call filtering (either to accept or to reject calls from specified numbers). Inter-Switch Voice Mail (ISVM) field 850 can be used to identify a centralized voice mail system associated with the telephone number. Wireless Short Message Service Center (WSMSC) field 855 can be used to identify the network element responsible for short message service for this telephone number.
Identification operation 1120 can identify the LRN associated with the message. For example, the LRN may be in a field (e.g., the destination field) or header associated with the message. As another example, the switch may query the NPAC to retrieve the LRN. Destination operation 1130 then determines a destination for each message based on the LRN used to route the message to the telecommunications switch. In accordance with some embodiments, destination operation 1130 can select a portion of the LRN (e.g., first six digits) associated with each of the received messages and then determine a destination for each of the messages based on the portion of the LRN associated with each of the messages. For example, destination operation 1130 may access a database having stored thereon routing entries indexed by portions of the LRNs.
Once a destination is determined, routing operation 1140 can route the message, from the telecommunications switch to the destination based on the LRN (e.g., within or outside of an office network). In some embodiments, the messages received at the telecommunications switch can be segmented based on the LRN. For example, when there are multiple LRNs associated with a telecommunications switch, the traffic can be segmented apart (or locally divided) for some purpose by using the LRN (or a portion of the LRN) as an identifier. The LRN (or portion of the LRN) can be used to segment for the purpose of routing, billing, normalization, monitoring, access controls, etc.) The segmentation can be event-triggered, scheduled, always occurring, or manually switched on and off in accordance with various embodiments.
Other NPAC fields could be included in the messages. These additional NPAC fields could be used to segment the traffic. While not shown in
Illustrative embodiments of systems and methods for special call routing are described and set forth. This illustration is not intended to be exhaustive, but rather to additionally highlight some of the benefits and advantages associated with embodiments and features.
Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to.” As used herein, the terms “connected,” “coupled,” or any variant thereof means any connection or coupling, either direct or indirect, between two or more elements; the coupling or connection between the elements can be physical, logical, or a combination thereof. Additionally, the words “herein,” “above,” “below,” and words of similar import, when used in this application, refer to this application as a whole and not to any particular portions of this application. Where the context permits, words in the above Detailed Description using the singular or plural number may also include the plural or singular number respectively. The word “or,” in reference to a list of two or more items, covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list.
The above Detailed Description of examples of the invention is not intended to be exhaustive or to limit the invention to the precise form disclosed above. While specific examples for the invention are described above for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize. For example, while processes or blocks are presented in a given order, alternative implementations may perform routines having steps, or employ systems having blocks, in a different order, and some processes or blocks may be deleted, moved, added, subdivided, combined, and/or modified to provide alternative or subcombinations. Each of these processes or blocks may be implemented in a variety of different ways. Also, while processes or blocks are at times shown as being performed in series, these processes or blocks may instead be performed or implemented in parallel, or may be performed at different times. Further, any specific numbers noted herein are only examples; alternative implementations may employ differing values or ranges.
The teachings of the invention provided herein can be applied to other systems, not necessarily the system described above. The elements and acts of the various examples described above can be combined to provide further implementations of the invention. Some alternative implementations of the invention may include not only additional elements to those implementations noted above, but also may include fewer elements.
These and other changes can be made to the invention in light of the above Detailed Description. While the above description describes certain examples of the invention, and describes the best mode contemplated, no matter how detailed the above appears in text, the invention can be practiced in many ways. Details of the system may vary considerably in its specific implementation, while still being encompassed by the invention disclosed herein. As noted above, particular terminology used when describing certain features or aspects of the invention should not be taken to imply that the terminology is being redefined herein to be restricted to any specific characteristics, features, or aspects of the invention with which that terminology is associated. In general, the terms used in the following claims should not be construed to limit the invention to the specific examples disclosed in the specification, unless the above Detailed Description section explicitly defines such terms. Accordingly, the actual scope of the invention encompasses not only the disclosed examples, but also all equivalent ways of practicing or implementing the invention under the claims.
To reduce the number of claims, certain aspects of the invention are presented below in certain claim forms, but the applicant contemplates the various aspects of the invention in any number of claim forms. For example, while only one aspect of the invention is recited as a computer-readable medium claim, other aspects may likewise be embodied as a computer-readable medium claim, or in other forms, such as being embodied in a means-plus-function claim. Any claims intended to be treated under 35 U.S.C. §112(f) will begin with the words “means for”, but use of the term “for” in any other context is not intended to invoke treatment under 35 U.S.C. §112(f). Accordingly, the applicant reserves the right to pursue additional claims after filing this application to pursue such additional claim forms, in either this application or in a continuing application.
Claims
1. A method for routing calls within a telecommunications network, the method comprising:
- receiving, at a telecommunications switch, a call setup message from a communications device, wherein the telecommunications switch is programmed to accept traffic associated with a location routing number that is part of a native number block of an operating company that operates the telecommunications switch, wherein the location routing number has been registered in a number portability administration center database by a third-party different than the operating company; and wherein the call setup message includes a destination number in a non-routing field of the call setup message and the location routing number in a destination field of the call setup message; and
- routing messages from the telecommunications switch to a destination device, wherein the routing is based on the destination number in the non-routing field of the call setup message.
2. The method of claim 1, wherein routing messages from the telecommunications switch to the destination device includes:
- identifying the destination number in the non-routing field of the call setup message; and
- generating a translated call setup message by deleting the location routing number from the destination field and placing the destination number in the destination field.
3. The method of claim 1, wherein the communications device is an originating switch in the telecommunications network.
4. The method of claim 1, wherein the messages are routed to the destination device using a plain old telephone system (POTS), a VoIP network, or a mobile telecommunications infrastructure.
5. The method of claim 1, further comprising programming the telecommunications switch to accept messages from any location routing number or a selected set of location routing numbers.
6. The method of claim 1, wherein routing messages from the telecommunications switch to the destination device includes accessing a second database communicably coupled to the telecommunications switch to retrieve a routing entry providing instructions to complete a call to the destination number.
7. The method of claim 1, wherein the number portability administration center database is a wireless number portability database.
8. The method of claim 1, further comprising:
- creating multiple service version records in the number portability administration center database; and
- programming the telecommunications switch to accept traffic associated with the location routing number.
9. A telecommunications system for use in routing calls within a telecommunications network, the telecommunications system comprising:
- a telecommunications switch programmed to accept traffic associated with a location routing number that is part of a native number block of an operating company that operates the telecommunications switch, wherein the location routing number has been registered in a number portability administration center database by a third-party different than the operating company; and
- wherein the telecommunications switch includes: a messaging port to receive call setup messages from a communications device, wherein the call setup message includes a destination number in a non-routing field of the call setup message and the location routing number in a destination field of the call setup message; and a routing module to route messages to a destination device based on the destination number in the non-routing field of the call setup message.
10. The telecommunications system of claim 9, wherein the telecommunications switch also includes:
- an identification module to identifying the destination number in the non-routing field; and
- a translation module to generate a translated call setup message by deleting the location routing number from the destination field and placing the destination number in the destination field.
11. The telecommunications system of claim 9, wherein the telecommunications switch also includes an identification module to segment traffic based on the location routing number in the call setup message.
12. The telecommunications system of claim 9, further comprising:
- a second database communicably coupled to the telecommunications switch,
- wherein the second database contains routing entries providing instructions to complete a call to the destination number; and
- wherein the routing module retrieves a routing entry in the second database to retrieve instructions to route messages to the destination device.
13. The telecommunications system of claim 12, wherein the routing entry is retrieved from the second database using the destination number or the location routing number.
14. The telecommunications system of claim 9, wherein the number portability administration center database is a wireless number portability database.
15. The telecommunications system of claim 9, further comprising:
- means for creating the multiple service version records in the number portability administration center database; and
- means for programming the telecommunications switch programmed to accept traffic associated with the location routing number.
16-20. (canceled)
21. A computer-readable medium, excluding transitory signals, having stored thereon instruction that when executed by one or more processors cause a machine to:
- receive a call setup message from a communications device, wherein the machine is programmed to accept traffic associated with a location routing number that is part of a native number block of an operating company that operates the telecommunications switch, wherein the location routing number has been registered in a number portability administration center database by a third-party different than the operating company; and wherein the call setup message includes a destination number in a non-routing field of the call setup message and the location routing number in a destination field of the call setup message; and
- route messages to a destination device, wherein the routing is based on the destination number in the non-routing field of the call setup message.
22. The computer-readable medium of claim 21, wherein the instructions further cause the machine to:
- identify the destination number in the non-routing field of the call setup message; and
- generate a translated call setup message by deleting the location routing number from the destination field and placing the destination number in the destination field.
23. The computer-readable medium of claim 21, wherein the communications device is an originating switch in a telecommunications network.
24. The computer-readable medium of claim 21, wherein the messages are routed to the destination device using a plain old telephone system (POTS), a VoIP network, or a mobile telecommunications infrastructure.
Type: Application
Filed: Jul 13, 2015
Publication Date: May 5, 2016
Inventors: Bayan W. Towfiq (Seattle, WA), MohammedAli Merchant (Seattle, WA)
Application Number: 14/798,292