METHODS AND SYSTEMS FOR REDUCING RESOURCE USAGE FOR CALL ORIGINATIONS
A method may include determining that a digit pattern has been input on a user device to initiate a call; transmitting the digit pattern to a device that stores a list of digit patterns to which calls are not to be completed; receiving, from the device, data that indicates whether the digit pattern is on the list of digit patterns; prohibiting the call from being initiated with a network when the data indicates that the digit pattern is on the list of digit patterns; and initiating the call with the network when the data indicates that the digit pattern is not on the list of digit patterns.
When a user dials a number to originate a call, the user device sends a request to a provider network and the provider network processes the request using multiple network devices. When the dialed number is invalid or unavailable, the provider network processes the request and returns an indication that the dialed number is invalid or unavailable. With the current method, network resources are wasted for calls that are not successful.
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings identify the same or similar elements.
With current network configurations, when a user places a call using a user device, the user may dial a phone number and, using the Session Initiation Protocol (SIP), the user device transmits a request over a telecommunications provider's network to an endpoint. For example, when a user device initiates a call, the user device may send a SIP INVITE message to the Internet Protocol (IP) Multimedia Subsystem (IMS) core devices in the provider network, which may forward the request to a Telephony Application Server (TAS) to execute originating services for the user device. If the TAS determines that the call is not valid (i.e., the number is not valid, the number is blocked, the calling device is disconnected, etc.), the TAS may invoke a media resource function (MRF) and the MRF may determine an appropriate recording to play at the user device to indicate that the originating call cannot be completed. The recording may be forwarded to the user device via the IMS core devices and via Evolved Packet Core (EPC) devices associated with the service provider.
The current method may require the use of network resources and validation checks against the network to allow the customer to attempt to originate the call. When the dialed number is unavailable or invalid, network resources (e.g., radio frequency (RF) resources, transport resources, media resources) may unnecessarily be tied up for a call that cannot be completed. If the network resources were not used for unsuccessful call originations, the network resources may be utilized for true call originations or for other network functions. In addition, a service provider may be able to better plan for needed resources because fewer resources would be consumed with unsuccessful calls.
Systems and methods described herein reduce the amount of network resources utilized for unsuccessful calls by performing a check to determine whether a dialed number is on a list of invalid numbers before utilizing network resources for originating the call using the dialed number. In one implementation, after a phone number has been dialed, a user device may initiate an Application Programming Interface (API) query including the dialed number to an application server, which may be located outside of a provider network. The application server may check the received dialed number against a database of dialed digit numbers or patterns and respond to the user device with a status and action response.
In one implementation, if the status indicates that the dialed number is not in the database of digit patterns, the user device may allow the call using the dialed digits to continue using provider network resources. In another implementation, if the status indicates that the dialed number is in the database of digit patterns, the user device may prohibit the dialed phone call from proceeding. In addition, if the status indicates that the dialed number is in the database of digit patterns, the application server may additionally indicate an announcement to be played to a user of the user device. The announcement may be stored on the user device.
The number, the type, and the arrangement of network devices and the number of UE devices 190 illustrated in
Environment 100 includes communication links 120 between the networks, between the network devices, and between UE devices 190 and the network devices. Environment 100 may be implemented to include wired, optical, and/or wireless communication links 120 among the network devices and the networks illustrated. A connection via a communication link 120 may be direct or indirect. For example, an indirect connection may involve an intermediary device and/or an intermediary network not illustrated in
Access network 110 may include one or multiple networks of one or multiple types and technologies. For example, access network 110 may include a Fifth Generation (5G) radio access network (RAN), Fourth Generation (4G) RAN, and/or another type of future generation RAN. By way of further example, access network 110 may be implemented to include a 5G New Radio (5G NR) RAN, an Evolved UMTS Terrestrial Radio Access Network (E-UTRAN) of a Long Term Evolution (LTE) network, an LTE-Advanced (LTE-A) network, and/or an LTE-A Pro network, and/or another type of RAN (e.g., a legacy RAN). Access network 110 may further include other types of wireless networks, such as a WiFi network, a Worldwide Interoperability for Microwave Access (WiMAX) network, a local area network (LAN), or another type of network that may provide an on-ramp to access stations 115 and/or core network 150.
Depending on the implementation, access network 110 may include one or multiple types of access stations 115. For example, access station 115 may include a next generation Node B (gNB) for a 5G NR RAN, an evolved Node B (eNB), an evolved Long Term Evolution (eLTE) eNB, a radio network controller (RNC), a remote radio head (RRH), a baseband unit (BBU), a small cell node (e.g., a picocell device, a femtocell device, a microcell device, a home eNB, a repeater, etc.), or another type of wireless node. According to various embodiments, access network 110 may be implemented according to various wireless technologies (e.g., radio access technology (RAT), etc.), wireless standards, wireless frequencies/bands, and so forth. According to an implementation, access stations 115 may include a gNB with multiple distributed components, such as a central unit (CU), a distributed unit (DU), a remote unit (RU or a remote radio unit (RRU)), or another type of distributed arrangement. Access stations 115 (as part of access network 110) may be part of a Self-Organizing Network (SON) that may be reconfigured by another component in networks 110, 130, and/or 150.
Edge network 130 includes a platform that provides application services at the edge of a network, such as application services for UE devices 190. For example, edge network 130 may be implemented as a Multi-access Edge Compute (MEC) platform. Edge network 130 may be implemented using one or multiple technologies including, for example, network function virtualization (NFV), software defined networking (SDN), cloud computing, or another type of network technology. Edge network 130 may include network devices (e.g., edge devices 135) located to provide geographic proximity to various groups of access stations 115. In some embodiments, components of edge network 130 may be co-located with access station 115 in access network 110. In other embodiments, access stations 115 may connect to edge network 130 via wired (e.g., optical) backhaul links 120.
Core network 150 may include one or multiple networks of one or multiple types and technologies. According to an exemplary embodiment, core network 150 includes a complementary network associated with access network 110. For example, core network 150 may be implemented to include a next generation core (NGC) for a 5G network. In other implementations, core network 150 may also include an EPC of an LTE, a core network of an LTE-Advanced (LTE-A) network, and/or a core network of an LTE-A Pro network. Core network 150 may also include a legacy core network.
Depending on the implementation, core network 150 may include various types of network devices, such as core devices 155. For example, core devices 155 may include 5G core components and/or combined 4G/5G core components, such as a packet gateway (PGW), a serving gateway (SGW), a home subscriber server (HSS), an authentication, authorization, and accounting (AAA) server, a policy charging and rules function (PCRF), a charging system (CS), a user plane function (UPF), an Access and Mobility Management Function (AMF), a mobility and management entity (MME), a session management function (SMF), a unified data management (UDM) device, an authentication server function (AUSF), a network slice selection function (NSSF), a network repository function (NRF), a Policy Control Function (PCF), a network exposure function (NEF), and/or an application function (AF). According to other exemplary implementations, core devices 155 may include additional, different, and/or fewer network devices than those described. For example, core devices 155 may include a non-standard and/or proprietary network device.
Data network 170 may include one or multiple networks. For example, data network 170 may be implemented to include a service or an application-layer network, the Internet, an Internet Protocol Multimedia Subsystem (IMS) network, a Rich Communication Service (RCS) network, a cloud network, a packet-switched network, or other type of network that hosts a user device application or service. Depending on the implementation, data network 170 may include various network devices that provide various applications, services, or other type of UE device assets (e.g., servers (e.g., web, application, cloud, etc.), mass storage devices, data center devices), and/or other types of network services pertaining to various network-related functions. In one implementation, data network 170 may include a dialed digit filter and a dialed digit database that stores patterns of dialed digits that are invalid, unavailable, or otherwise may be prohibited from being dialed from an originating device.
UE devices 190 may each include a mobile device, such as wireless or cellular telephone device (e.g., a conventional cell phone with data processing capabilities), a smart phone, a personal digital assistant (PDA) that can include a radiotelephone, etc. In another implementation, UE device 190 may include any type of mobile or fixed computer device or system, such as a personal computer (PC), a laptop, a tablet computer, a notebook, a netbook, a wearable computer (e.g., a wrist watch, eyeglasses, etc.), a game playing device, a music playing device, etc., that is capable of placing a call using dialed digits. In other implementations, UE devices 190 may be implemented as a machine-type communications (MTC) device, an Internet of Things (IoT) device, a machine-to-machine (M2M) device, etc., that includes communication functionality, such as a home appliance device, a home monitoring device, a camera, etc. UE devices 190 may connect to access stations 115 in a wireless manner and place calls using dialed digits. As described further herein, UE device 190 may access a dialed digit filter prior to utilizing network resources to place a call using dialed digits to determine whether the call may proceed.
Although
Bus 205 includes a path that permits communication among the components of device 200. For example, bus 205 may include a system bus, an address bus, a data bus, and/or a control bus. Bus 205 may also include bus drivers, bus arbiters, bus interfaces, and/or clocks.
Processor 210 includes one or multiple processors, microprocessors, data processors, co-processors, application specific integrated circuits (ASICs), controllers, programmable logic devices, chipsets, field-programmable gate arrays (FPGAs), application specific instruction-set processors (ASIPs), system-on-chips (SoCs), central processing units (CPUs) (e.g., one or multiple cores), microcontrollers, and/or some other type of component that interprets and/or executes instructions and/or data. Processor 210 may be implemented as hardware (e.g., a microprocessor, etc.), a combination of hardware and software (e.g., a SoC, an ASIC, etc.), may include one or multiple memories (e.g., cache, etc.), etc. Processor 210 may be a dedicated component or a non-dedicated component (e.g., a shared resource).
Processor 210 may control the overall operation or a portion of operation(s) performed by device 200. Processor 210 may perform one or multiple operations based on an operating system and/or various applications or computer programs (e.g., software 220). Processor 210 may access instructions from memory/storage 215, from other components of device 200, and/or from a source external to device 200 (e.g., a network, another device, etc.). Processor 210 may perform an operation and/or a process based on various techniques including, for example, multithreading, parallel processing, pipelining, interleaving, etc.
Memory/storage 215 includes one or multiple memories and/or one or multiple other types of storage mediums. For example, memory/storage 215 may include one or multiple types of memories, such as, random access memory (RAM), dynamic random access memory (DRAM), cache, read only memory (ROM), a programmable read only memory (PROM), a static random access memory (SRAM), a single in-line memory module (SIMM), a dual in-line memory module (DIMM), a flash memory (e.g., a NAND flash, a NOR flash, etc.), and/or some other type of memory. Memory/storage 215 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, a solid state disk, etc.), a Micro-Electromechanical System (MEMS)-based storage medium, and/or a nanotechnology-based storage medium. Memory/storage 215 may include a drive for reading from and writing to the storage medium.
Memory/storage 215 may be external to and/or removable from device 200, such as, for example, a Universal Serial Bus (USB) memory stick, a dongle, a hard disk, mass storage, off-line storage, network attached storage, or some other type of storing medium (e.g., a compact disk (CD), a digital versatile disk (DVD), a Blu-Ray disk (BD), etc.). Memory/storage 215 may store data, software, and/or instructions related to the operation of device 200.
Software 220 includes an application or a program that provides a function and/or a process. Software 220 may include an operating system. Software 220 is also intended to include firmware, middleware, microcode, hardware description language (HDL), and/or other forms of instruction. Additionally, for example, a 5G UE device 190 may include logic to perform tasks, as described herein, based on software 220.
Communication interface 225 permits device 200 to communicate with other devices, networks, systems, devices, and/or the like. Communication interface 225 includes one or multiple radio frequency (RF) wireless interfaces and/or wired interfaces. For example, communication interface 225 may include one or multiple transmitters and receivers, or transceivers. Communication interface 225 may include one or more antennas. For example, communication interface 225 may include an array of antennas. Communication interface 225 may operate according to a protocol stack and a communication standard. Communication interface 225 may include various processing logic or circuitry (e.g., multiplexing/de-multiplexing, filtering, amplifying, converting, error correction, etc.).
Input 230 permits an input into device 200. For example, input 230 may include a keyboard, a keypad, a mouse, a display, a button, a switch, an input port, speech recognition logic, a biometric mechanism, a microphone, a visual and/or audio capturing device (e.g., a camera, etc.), and/or some other type of visual, auditory, tactile, etc., input component. Output 235 permits an output from device 200. For example, output 235 may include a speaker, a display, a light, an output port, and/or some other type of visual, auditory, tactile, etc., output component. According to some embodiments, input 230 and/or output 235 may be a device that is attachable to and removable from device 200.
Device 200 may perform a process and/or a function, as described herein, in response to processor 210 executing software 220 stored by memory/storage 215. By way of example, instructions may be read into memory/storage 215 from another memory/storage 215 (not shown) or read from another device (not shown) via communication interface 225. The instructions stored by memory/storage 215 cause processor 210 to perform a process described herein. Alternatively, for example, according to other implementations, device 200 performs a process described herein based on the execution of hardware (processor 210, etc.).
UE device 190 may include a user device capable of placing a call using dialed digits. In addition, UE device 190 may include a Dialed Digit Converted Client (DDCC) 302 to determine when a digit pattern has been dialed and transmit the dialed digit pattern to dialed digit filter 310. DDCC 302 may be a client or client application stored on UE device 190 by a carrier or provider associated with UE device 190 if the carrier or provider opts in to use the services provided by dialed digit filter 310. SGW/PGW 305 may be included in an EPC of a provider network. SGW/PGW 305 may provide a gateway for transmitting data and messages to and from dialed digit filter 310, which may be located outside the provider network. Dialed digit filter 310 may include a dialed digit database 315 that stores patterns of digits that correspond to unavailable, invalid, blocked, or fraudulent numbers or numbers to which UE device 190 may be prohibited from calling for another reason.
UE device 190 may dial a series of digits (e.g., a telephone number) in an attempt to originate a call. DDCC 302 may determine that UE device 190 is attempting to originate a call using the dialed digits. As shown in
Dialed digit filter 310 may transmit API response 324 to UE device 190 via SGW/PGW 305. For example, dialed digit filter 310 may transmit an HTTP GET response to UE device 190. API response 324 may include a status and action response associated with the dialed digits. For example, API response 324 may indicate whether the dialed digits were identified in dialed digit database 315. API response 324 may also include additional instructions on how to proceed based on the status. For example, API response 324 may include an indication of an announcement for UE device 190 to play if API response 324 indicates that the dialed digits were identified in dialed digit database 315. For example, UE device 190 may store a series of announcements including indications of reasons why a call to the dialed digits may be prohibited (e.g., the dialed digits are invalid, blocked, fraudulent, etc.). In one implementation, API response 324 may include an identifier of the announcement that may be played by UE device 190 when the dialed digits are identified in dialed digit database 315.
UE device 190 may receive API response 324 and may take action depending on the received response (326). In one implementation, if API response 324 indicates that the dialed digits are not in dialed digit database 315, UE device 190 may proceed with originating the call. In another implementation, if the dialed digits are in dialed digit database 315, UE device 190 may prohibit the call from proceeding. In addition, UE device 190 may play an announcement indicated by API response 324 to inform a user of a reason why the call may not proceed and possible steps to take.
The communications described with respect to
Each provider network may correspond to a network associated with a different telecommunications provider, operator, or carrier. As described above, dialed digit filter 310 may be located outside of a provider's network. In such cases, a single dialed digit filter 310 may be used by multiple service providers. Therefore, as shown in
As shown in
When dialed digit filter 310 receives messages 420 from provider networks 400, dialed digit filter 310 may populate dialed digit database 315 with the received dialed digit patterns. In one implementation, the dialed digits may be stored separately based on provider network 400. For example, a dialed digit pattern received from network provider 400-1 may be stored separately from a dialed digit pattern received from provider network 400-2. As another example, each dialed digit stored in dialed digit database 315 may indicate a corresponding provider network 400. When dialed digit filter 310 completes the update of dialed digit database 315, dialed digit filter 310 may transmit message 430 to provider network 400 indicating that the update has been completed and dialed digit database 315 has been populated with the received dialed digit. In one implementation, message 430 may include an HTTP POST 200 OK message.
MCC field 510 may indicate a country code associated with dialed digits and MNC field 520 may indicate a mobile network associated with the dialed digits. An MCC in combination with an MNC may uniquely identify each provider network 400. Dialed digits field 530 may identify the digits input by UE device 190 to place the originating call.
Status field 540 may indicate a reason that the originating call with the dialed digits may not proceed. For example, as shown in
Announcement number field 610 may include announcement numbers that correspond to the announcements indicated in action field 550 of
For example, as shown in
As shown in
Core devices 155 may receive API query 710 and forward the HTTP GET query to dialed digit filter 310 (720). Dialed digit filter 310 may receive the HTTP GET query and perform a lookup in dialed digit database 315 to determine if an entry matches the received MCC, MNC, and dialed digit pattern. When there is no matching entry in dialed digit database 315, dialed digit filter 310 may transmit a 404 Not Found message to core devices 155 (730). Core devices 155 may forward the 404 Not Found message to UE device 190 (740) indicating that the dialed digit pattern is not in dialed digit database 315 and the call may continue as dialed. UE device 190 may send an acknowledgement (ACK) message to core devices 155 indicating that UE device 190 has received the 404 Not Found Message (750) and core devices 155 may forward the ACK message to dialed digit filter 310 (760).
Based on receiving the 404 Not Found message, DDCC 302 may take no action and UE device 190 may proceed with the originated call by sending a SIP INVITE message to core devices 155 (770). In one implementation, UE device 190 may additionally proceed with the call by sending the SIP INVITE message to core devices 155 if the client timer expires before receiving a response from dialed digit filter 310. For example, if there is a delay in receiving a response from dialed digit filter 310, UE device 190 may proceed with the call without waiting for a response. In this way, UE device 190 may not remain in an idle or waiting state for more than a predetermined amount of time while continuing to wait for a response from dialed digit filter 310.
Communications in
In the example, shown in
UE device 190 may receive the HTTP 200 OK message and may transmit an ACK message to core devices 155 (850), which forward the ACK message to dialed digit filter 310 (860). UE device 190 may play the announcement indicated by the HTTP 200 OK response (870). Based on the example given above, UE device 190 may obtain and play the locally-stored message corresponding to announcement #1. UE device 190 may additionally prohibit the call using the dialed digits to continue.
Processing may begin by determining a digit pattern that has been dialed by UE device 190 (block 910). For example, a user may dial a digit pattern (e.g., telephone number) on a phone dialer or keypad of UE device 190 in order to place a call. UE device 190 may determine whether the digit pattern corresponds to an emergency number (block 920). For example, UE device 190 may determine whether the digit pattern is 9-1-1 or another digit pattern that initiates an emergency phone call. If the dialed pattern is an emergency number (block 920—YES), UE device 190 may access network resources to proceed with completing the call (block 930). In order to place an emergency call quickly, DDCC 302 may not be triggered for determining whether the call should continue.
If the dialed pattern is not an emergency number (block 920—NO), DDCC 302 stored on UE device 190 may be triggered and DDCC 302 may intercept the dialed digits (block 940). DDCC 302 may initiate a client timer and may transmit a query including the dialed digit pattern to dialed digit filter 310 (block 950). DDCC 302 may initiate the client timer to ensure that UE device 190 does not wait more than a predetermined amount of time for a response from dialed digit filter 310 before continuing with the phone call. The query may be an API query (e.g., an HTTP GET query) that includes the dialed digits as well as the MCC and MNC associated with UE device 190. The query may request a status and action associated with the dialed digits.
UE device 190 may determine whether the timer has expired (block 960). If the timer has expired (block 960—YES), UE device 190 may proceed to continue with the call using network resources (block 930). In this way, UE device 190 may not remain in a waiting state for more than a predetermined amount of time before placing the call if UE device 190 does not receive a response from dialed digit filter 310. If the timer has not expired (block 960—NO), UE device 190 may receive a response from dialed digit filter 310 (block 970). The response may include a status and action associated with the dialed digits. In one implementation, DDCC 302 may cache the status and/or action for a period of time. In this way, DDCC 302 may identify a status of a number of the dialed digits (e.g., telephone numbers) in the future locally without querying dialed digit filter 310. This may save additional processing time and resources associated with calls that cannot be completed.
DDCC 302 may determine whether the response indicates that the dialed digits are in dialed digit database 315 (block 980). In one implementation, the response may be an HTTP response (e.g., an HTTP 404 Not Found message) that indicates that the dialed digits were not identified in dialed digit database 315. In another implementation, the response may be an HTTP response (e.g., an HTTP 200 OK message) that indicates that the dialed digits were identified in dialed digit database 315 in addition to a status and action associated with the dialed digits. For example, the status may indicate that the dialed digits are blocked, invalid, fraudulent, etc. In addition, the action may indicate an identifier of an announcement stored on UE device 190 that should be played.
If the response indicates that the dialed digits were not identified in dialed digit database 315 (block 980—NO), UE device 190 may proceed with the call utilizing network resources (block 930). For example, DDCC 302 may send the dialed digits to a SIP client to continue the call origination. If the response indicates that the dialed digits were identified in dialed digit database 315 (block 980—YES), DDCC 302 may prohibit the call from proceeding using network resources and may perform the action indicated in the response (block 990). For example, DDCC 302 may play the announcement that is stored in local memory and is identified in the response. The announcement may indicate the status of the dialed digits and/or actions to take by the user.
In the preceding specification, various preferred embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.
For example, while series of blocks have been described with respect to
It will be apparent that systems and/or methods, as described above, may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement these systems and methods is not limiting of the embodiments. Thus, the operation and behavior of the systems and methods were described without reference to the specific software code—it being understood that software and control hardware can be designed to implement the systems and methods based on the description herein.
Further, certain portions, described above, may be implemented as a component that performs one or more functions. A component, as used herein, may include hardware, such as a processor, an ASIC, or a FPGA, or a combination of hardware and software (e.g., a processor executing software).
It should be emphasized that the terms “comprises”/“comprising” when used in this specification are taken to specify the presence of stated features, integers, steps or components but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof.
The term “logic,” as used herein, may refer to a combination of one or more processors configured to execute instructions stored in one or more memory devices, may refer to hardwired circuitry, and/or may refer to a combination thereof. Furthermore, a logic may be included in a single device or may be distributed across multiple, and possibly remote, devices.
For the purposes of describing and defining the present invention, it is additionally noted that the term “substantially” is utilized herein to represent the inherent degree of uncertainty that may be attributed to any quantitative comparison, value, measurement, or other representation. The term “substantially” is also utilized herein to represent the degree by which a quantitative representation may vary from a stated reference without resulting in a change in the basic function of the subject matter at issue.
To the extent the aforementioned embodiments collect, store or employ personal information provided by individuals, it should be understood that such information shall be used in accordance with all applicable laws concerning protection of personal information. Additionally, the collection, storage and use of such information may be subject to consent of the individual to such activity, for example, through well known “opt-in” or “opt-out” processes as may be appropriate for the situation and type of information. Storage and use of personal information may be in an appropriately secure manner reflective of the type of information, for example, through various encryption and anonymization techniques for particularly sensitive information.
No element, act, or instruction used in the present application should be construed as critical or essential to the embodiments unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
Claims
1. A method performed by a user device, comprising:
- determining that a digit pattern has been input on the user device to initiate a call;
- transmitting the digit pattern to a device that stores a list of digit patterns to which calls are not to be completed;
- receiving from the device, data that indicates whether the digit pattern is on the list of digit patterns;
- prohibiting the call from being initiated via a network when the received data indicates that the digit pattern is on the list of digit patterns; and
- initiating the call via the network when the received data indicates that the digit pattern is not on the list of digit patterns.
2. The method of claim 1, wherein the user device stores a plurality of announcements associated with respective identifiers, wherein the received data includes an identifier of the respective identifiers when the data indicates that the digit pattern is on the list of digit patterns, and wherein the method further comprises:
- playing one of the announcements when the data indicates that the digit pattern is on the list of digit patterns, wherein the one of the announcements is associated with the identifier included in the received data.
3. The method of claim 1, further comprising:
- initiating a timer when transmitting the digit pattern to the device; and
- initiating the call via the network when the timer expires.
4. The method of claim 1, wherein determining that the digit pattern has been input further comprises determining that the digit pattern does not correspond to an emergency call.
5. The method of claim 1, wherein transmitting the digit pattern further comprises:
- transmitting a mobile country code (MCC) and a mobile network code (MNC) to the device.
6. The method of claim 1, further comprising:
- storing the digit pattern and an indication of whether the digit pattern is on the list of digit patterns at the user device.
7. The method of claim 1, wherein the device is accessible by a plurality of service providers that opt in to use services provided by the device.
8. A user device comprising:
- one or more processors configured to: determine that a digit pattern has been input to initiate a call; transmit the digit pattern to a device that stores a list of digit patterns to which calls are not to be completed; receive, from the device, data, wherein the data indicates whether the digit pattern is on the list of digit patterns; prohibit the call from being initiated with a network when the received data indicates that the digit pattern is on the list of digit patterns; and initiate the call via the network when the received data indicates that the digit pattern is not on the list of digit patterns.
9. The user device of claim 8, further comprising:
- a memory configured to store a plurality of announcements associated with respective identifiers,
- wherein the received data includes an identifier of the respective identifiers when the data indicates that the digit pattern is on the list of digit patterns, and wherein the one or more processors are further configured to: play one of the announcements when the data indicates that the digit pattern is on the list of digit patterns, wherein the one of the announcements is associated with the identifier included in the received data.
10. The user device of claim 8, wherein the one or more processors are further configured to:
- initiate a timer when transmitting the digit pattern to the device; and
- initiate the call with the network when the timer expires.
11. The user device of claim 8, wherein, when determining that the digit pattern has been input, the one or more processors are further configured to determine that the digit pattern does not correspond to an emergency call.
12. The user device of claim 8, wherein, when transmitting the digit pattern, the one or more processors are further configured to:
- transmit a mobile country code (MCC) and a mobile network code (MNC) to the device.
13. The user device of claim 8, wherein the one or more processors are further configured to:
- store the digit pattern and the indication of whether the digit pattern is on the list of digit patterns.
14. The user device of claim 8, wherein the device is accessible by a plurality of service providers that opt in to use services provided by the device.
15. A non-transitory computer-readable memory device storing instructions executable by a processor of a user device, the instructions comprising:
- one or more instructions that, when executed, cause the processor to: determine that a digit pattern has been input to initiate a call; transmit the digit pattern to a device that stores a list of digit patterns to which calls are not to be completed; receive, from the device, data, wherein the data indicates whether the digit pattern is on the list of digit patterns; prohibit the call from being initiated with a network when the received data indicates that the digit pattern is on the list of digit patterns; and initiate the call via the network when the received data indicates that the digit pattern is not on the list of digit patterns.
16. The non-transitory computer-readable memory device of claim 15, wherein the user device stores a plurality of announcements associated with respective identifiers,
- wherein the received data includes an identifier of the respective identifiers when the data indicates that the digit pattern is on the list of digit patterns, and wherein the one or more instructions further comprise one or more instructions that cause the processor to: play one of the announcements when the data indicates that the digit pattern is on the list of digit patterns, wherein the one of the announcements is associated with the identifier included in the received data.
17. The non-transitory computer-readable memory device of claim 15, wherein the instructions further comprise one or more instructions that cause the processor to:
- initiate a timer when transmitting the digit pattern to the device; and
- initiate the call with the network when the timer expires.
18. The non-transitory computer-readable memory device of claim 15, wherein the one or more instructions that cause the processor to determine that the digit pattern has been input comprise one or more instructions that cause the processor to determine that the digit pattern does not correspond to an emergency call.
19. The non-transitory computer-readable memory device of claim 15, wherein the one or more instructions that cause the processor to transmit the digit pattern comprise one or more instructions that cause the processor to:
- transmit a mobile country code (MCC) and a mobile network code (MNC) to the device.
20. The non-transitory computer-readable memory device of claim 15, wherein the instructions further comprise one or more instructions that cause the processor to:
- store the digit pattern and the indication of whether the digit pattern is on the list of digit patterns.
Type: Application
Filed: Feb 11, 2021
Publication Date: Aug 11, 2022
Inventors: Kashif KHAN (Keller, TX), Danysel BARTHELME (Frisco, TX), Ronald E. COLLIER, II (Arlington, TX), Ertao LI (Plano, TX), Steve L. PADILLA (Lewisville, TX), Gaurav M. PATEL (McKinney, TX), Shawn R. PUGH (Easton, PA), Shujaat Ali SIDDIQUE (Hillsborough, NJ), Daniel L. WALKER (Wall, NJ)
Application Number: 17/173,570