Patent Publication Number: US-9894598-B2

Title: Network override of device volte setting

Description:
PRIORITY INFORMATION 
     This patent application claims benefit of priority to U.S. Provisional Application No. 62/190,504, entitled “NETWORK OVERRIDE OF DEVICE VOLTE SETTING” and filed on Jul. 9, 2015, which is hereby incorporated herein by reference in its entirety. 
    
    
     BACKGROUND INFORMATION 
     Wireless communication networks continue to evolve. A provider of wireless communication services may have to work with multiple wireless access networks. Different access networks (including home and roaming networks) may be configured with different capabilities. As an example, some wireless access networks may evolve to newer technologies and legacy service may not be available. As another example, a service provider may start new service in a geographical area, but may not offer a legacy service. Thus, the provider of wireless communication services may need to manage different types of wireless access networks in order to provide users with the best service possible in a specific network configuration. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a diagram illustrating an environment according to an implementation described herein; 
         FIG. 2  is a diagram illustrating exemplary components of the access network of  FIG. 1 ; 
         FIG. 3  is a diagram illustrating exemplary components of one or more of the devices of  FIG. 1  or  FIG. 2 ; 
         FIG. 4A  is a diagram illustrating exemplary functional components of one or more of the devices of  FIG. 1  or  FIG. 2 ; 
         FIG. 4B  is a diagram illustrating exemplary components that may be stored in the Voice over Long Term Evolution (VoLTE) database of  FIG. 4A ; 
         FIG. 5  is a diagram illustrating exemplary components of the user equipment of  FIG. 1  or of the eNodeB  210  of  FIG. 2 ; 
         FIG. 6  is a diagram illustrating exemplary functional components of the user equipment of  FIG. 1 ; 
         FIG. 7  is a flowchart of an exemplary process performed by an element of a wireless access network according to an implementation described herein; 
         FIG. 8  is a flowchart of an exemplary process performed by a user equipment according to an implementation described herein; and 
         FIG. 9  is an exemplary signal flow diagram according to an implementation described herein. 
     
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings identify the same or similar elements. 
     A provider of wireless communication services may manage Long Term Evolution (LTE) wireless access networks (e.g., evolved packet core (EPC) networks) based on the LTE standard specified by the 3 rd  Generation Partnership Project (3GPP). An LTE wireless access network may include Voice over LTE (VoLTE) functionality. A VoLTE network or service may deliver voice service as data flows within an LTE data bearer. In other words, a VoLTE service provides a packet-switched connection for voice communications. Thus, a VoLTE enabled access network may not need to make use of legacy circuit-switched voice networks. 
     Because VoLTE is a relatively new service, wireless communication devices, such as mobile phones, may not be automatically enabled for VoLTE out of the box even if the device is provisioned to use VoLTE. In such cases, a wireless communication device may use a legacy voice technology such as a Code Division Multiple Access (CDMA) voice communication method for use with a CDMA access network. When the device activates a subscription with a provider of wireless communication services, the wireless communication device may attempt to use a CDMA access network for voice communication. If the provider does not provide CDMA service in a particular geographic area, the device switches to roaming by, for example, connecting to a legacy Single-Carrier Radio Transmission Technology (1×RTT) access network provided by a roaming partner of the provider. A roaming connection may incur unnecessary charges for the user of the device. Furthermore, a roaming or a non-roaming connection may cause blocking in an area with limited 1×RTT capability. Such problems may be avoided by activating and enabling VoLTE capability in the device when VoLTE service is available in the geographic area where the device is located, regardless of the VoLTE setting on the device. 
     Implementations described herein relate to an override of a device VoLTE setting triggered by a network notification. The wireless network may override the device settings of a wireless communication device to enable VoLTE in the wireless communication device when VoLTE service is available on the wireless network and non-VoLTE service is not desirable. 
     In some implementations, the provider may maintain a centralized VoLTE enforcement server device that includes a database of wireless access networks. For each wireless access network, the VoLTE enforcement server device may store information identifying which particular cells of the wireless access network are enabled for VoLTE service and in which particular cells non-VoLTE service is prohibited if VoLTE is available (e.g., in order to enforce VoLTE). When a wireless communication device attaches to a wireless access network, the wireless access network may instruct the wireless communication device to communicate with the VoLTE enforcement server device to determine whether the particular cell of the wireless access network, to which the wireless communication device has attached, has been designated as enabled for VoLTE service and/or prohibited for non-VoLTE service. If the wireless communication device is attached to a cell that is enabled for VoLTE service, the VoLTE enforcement server device may instruct the wireless communication device to enable VoLTE if the wireless communication device includes VoLTE capability. 
     In other implementations, a wireless network may broadcast a notification announcing the enforcement of VoLTE service in a particular geographic area. In some implementations, the notification may be based on a per-cell granularity, wherein particular transceivers of a base station may broadcast the notification based on whether a particular transceiver, associated with a particular cell, is in an area in which VoLTE needs to be enforced. In other implementations, the notification may be based on a more coarse granularity. As an example, the notification may be set for the transmission area of a base station. As another example, particular Mobility Management Entity (MME) devices may instruct base stations in a particular MME tracking area to broadcast a VoLTE service availability for the MME tracking area. 
     In some implementations, the notification may be generated by the wireless network by setting a particular bit or flag in a broadcast message. For example, a base station may send a message that includes a system information block 2 (SIB2) to a wireless communication device after an initial cell synchronization process between the wireless communication device and the base station is completed. The SIB2 may carry radio resource configuration information, such as random access channel (RACH) related parameters, idle mode paging configurations, uplink physical control channel (PUCCH) configurations, physical uplink shared channel (PUSCH) configurations, uplink power control and sounding reference signal configurations, uplink carrier frequency and/or bandwidth, cell barring information, and/or other types of configuration information. 
     In some implementations, the wireless access network may select and/or designate a bit or field in SIB2 to carry a notification about whether VoLTE service is available. The wireless access network may select a bit or field that is not used by the provider configurations. For example, if the provider does not use circuit switch fall back (CSFB), a bit or field designated to carry CSFB information may be designated to carry an indication of whether VoLTE service is available. In other implementations, a different type of bit or field may be used to carry the indication of whether VoLTE service is available. 
     In some implementations, the VoLTE service availability notification may be generated and transmitted by a base station (e.g., an eNodeB). In other implementations, a different element, such as an MME, of the wireless access network may generate the VoLTE service enforcement notification and may instruct an eNodeB to broadcast the generated VoLTE service enforcement notification. In some implementations, information relating to VoLTE service availability may be received by a device of the wireless network from a centralized VoLTE enforcement server. 
     The wireless access network may determine that VoLTE capability is enabled for a network segment (e.g., a cell, an eNodeB, an MME tracking area, etc.), may designate the network segment for VoLTE enforcement, may add an indication of VoLTE enforcement to a message information block (e.g., a SIB2), and may broadcast the message information block on the network segment. 
     A wireless communication device may receive the message information block from the wireless access network, may retrieve or identify the indication of VoLTE enforcement from the received information block, may determine that the wireless communication device is on the provider network, may activate VoLTE on the wireless communication device (if VoLTE is not already activated on the device), and may inform the user of the wireless communication device that VoLTE has been activated. The wireless communication device may, before activating VoLTE, check to make sure that the wireless communication device is enabled for VoLTE and/or may make sure that the wireless communication device is attached to a provider network associated with a subscription for the wireless communication device. Once VoLTE is activated, the wireless communication device may establish a VoLTE communication session with the wireless access network. 
       FIG. 1  is a diagram of an exemplary environment  100  in which the systems and/or methods, described herein, may be implemented. As shown in  FIG. 1 , environment  100  may include user equipment devices (UEs)  110 -A to UE  110 -M (referred to herein collectively as “UEs  110 ” and individually as “UE  110 ”), a provider network  120 , a core network  140 , and a VoLTE enforcement server  150 . 
     Provider network  120  may provide wireless communication services for UEs  110 . UE  110  may include a mobile communication device (e.g., a mobile phone, a smart phone, a phablet device, a wearable computer device (e.g., a head-mounted display computer device, a wristwatch computer device, etc.), a global positioning system (GPS) device, and/or another type of wireless device); a laptop computer, a tablet computer, or another type of portable computer; a media playing device; a portable gaming system; and/or any other type of mobile computer device with voice communication capabilities. 
     In some implementations, UE  110  may correspond to an embedded wireless device that communicates wirelessly with other devices over a machine-to-machine interface. For example, UE  110  may be electrically connected to any electronic device with a microcontroller, such as a microcontroller controlling one or more actuators, a microcontroller controlling one or more sensors, a microcontroller that performs data processing, and/or another type of microcontroller. Examples of such devices may include a health monitoring device (e.g., a blood pressure monitoring device, a blood glucose monitoring device, etc.), an asset tracking device (e.g., a system monitoring the geographic location of a fleet of vehicles, etc.), a device controlling one or more functions of a vehicle (e.g., a climate control system, an engine monitoring system, etc.), a device controlling an electronic sign (e.g., an electronic billboard, etc.), a device controlling a manufacturing system (e.g., a robot arm, an assembly line, etc.), a device controlling a security system (e.g., a camera, a motion sensor, a window sensor, etc.), a device controlling a power system (e.g., a smart grid monitoring device, etc.), a device controlling a financial transaction system (e.g., a point-of-sale terminal, a vending machine, etc.), and/or another type of electronic device. UE  110  may include a Subscriber Identity Module (SIM) card (not shown in  FIG. 1 ). The SIM card may store information for one or more subscriptions that may be activated for UE  110 . UE  110  may wirelessly communicate with provider network  120 . 
     Provider network  120  may be associated with a particular provider of communication services. Provider network  120  may include access networks  130 -A to  130 -N (referred to herein collectively as “access networks  130 ” and individually as “access network  130 ”). Access network  130  may provide access to core network  140  for wireless devices, such as UE  110 . Access network  130  may enable UE  110  to provide mobile telephone service and/or data services to UE  110 . Access network  130  may include base stations  135 -A to  135 -X (e.g., access network  130 -A may include base stations  135 -A-A to  135 -A-X, access network  130 -N may include base stations  135 -N-A to  135 -N-Y, etc.). UE  110  may wirelessly communicate with access network  130  via base station  135 . Access network  130  may establish a packet data network connection between UE  110  and core network  140 . For example, access network  130  may establish an Internet Protocol (IP) connection between UE  110  and core network  140 . Access network  130  may include an LTE access network. 
     Core network  140  may include a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), an optical network, a cable television network, a satellite network, a wireless network (e.g., a CDMA network, a general packet radio service (GPRS) network, and/or an LTE network), an ad hoc network, a telephone network (e.g., the Public Switched Telephone Network (PSTN) or a cellular network), an intranet, the Internet, or a combination of networks. Core network  140  may allow the delivery of Internet Protocol (IP) services to UE  110 , and may interface with other external networks. Core network  140  may include one or more server devices and/or network devices, or other types of computational or communication devices. In one examplary implementation, core network  140  may include an Internet Protocol Multimedia Subsystem (IMS) network (not shown in  FIG. 1 ). An IMS network may include a network for delivering IP multimedia services as specified by 3GPP and may provide media flows between UE device  110  and external IP networks or external circuit-switched networks (not shown in  FIG. 1 ). 
     VoLTE enforcement server  150  may include one or more devices, such as computer devices and/or server devices, which maintains a centralized database of wireless access networks  130  in provider network  120 . VoLTE enforcement server  150  may, for particular wireless access networks  130 , store information identifying which particular cells of the particular wireless access networks  130  are enabled for VoLTE service and in which particular cells non-VoLTE service is prohibited if VoLTE is available (e.g., in order to enforce VoLTE). UE  110  may communicate with VoLTE enforcement server  150  to determine whether a particular cell of access network  130 , to which UE  110  has attached, has been designated enabled for VoLTE service and/or prohibited for non-VoLTE service. VoLTE enforcement server  150  may instruct UE  110  to enable VoLTE if UE  110  includes VoLTE capability and if UE  110  is attached to a cell of access network  130  that is enabled for VoLTE service. 
     Although  FIG. 1  shows exemplary components of environment  100 , in other implementations, environment  100  may include fewer components, different components, differently arranged components, or additional functional components than depicted in  FIG. 1 . Additionally or alternatively, one or more components of environment  100  may perform functions described as being performed by one or more other components of environment  100 . 
       FIG. 2  is a diagram illustrating examplary components of a system  200  that includes access network  130  according to an implementation described herein. As shown in  FIG. 2 , system  200  may include UE  110 , access network  130 , and core network  140 . Access network  130  may correspond to a Long Term Evolution (LTE) access network. Access network  130  may include one or more devices that implement logical entities interconnected via standardized interfaces, and that provide wireless packet-switched services and wireless IP connectivity to user devices for both data and voice services. Access network  130  may include eNodeB  210  (corresponding to base station  135 ), a mobility management entity (MME)  230 , a serving gateway (SGW)  240 , a packet data network gateway (PGW)  250 , and a home subscriber server (HSS)  260 . While  FIG. 2  depicts a single eNodeB  210 , MME  230 , SGW  240 , PGW  250 , and HSS  260  for illustration purposes, in other implementations,  FIG. 2  may include multiple eNodeBs  210 , MMEs  230 , SGWs  240 , PGWs  250 , and/or HSSes  260 . 
     eNodeB  210  may include one or more devices (e.g., base stations) and other components and functionality that allow UE  110  to wirelessly connect to access network  130 . eNodeB  210  may include or be associated with one or more cells. For example, each cell may include a radio frequency (RF) transceiver facing a particular direction. eNodeB  210  may interface with access network  130  via an interface referred to as an S1 interface, which may be split into a control plane S1-MME interface  225  and a data plane S1-U interface  226 . S1-MME interface  225  may interface with MME device  230 . S1-MME interface  225  may be implemented, for example, with a protocol stack that includes a Network Access Server (NAS) protocol and/or Stream Control Transmission Protocol (SCTP). An S1-U interface  226  may interface with SGW  240  and may be implemented, for example, using a General Packet Radio Service Tunneling Protocol version 2 (GTPv2). 
     MME  230  may implement control plane processing for access network  130 . For example, MME  230  may implement tracking and paging procedures for UE  110 , may activate and deactivate bearers for UE  110 , may authenticate a user of UE  110 , and may interface to non-LTE radio access networks. A bearer may represent a logical channel with particular quality of service (QoS) requirements. MME  230  may also select a particular SGW  240  for a particular UE  110 . A particular MME  230  may interface with other MMEs  230  in access network  130  and may send and receive information associated with UEs  110 , which may allow one MME device to take over control plane processing of UEs serviced by another MME, if the other MME becomes unavailable. 
     SGW  240  may provide an access point to and from UE  110 , may handle forwarding of data packets for UE  110 , and may act as a local anchor point during handover procedures between eNodeBs  210 . SGW  240  may interface with PGW  250  through an S5/S8 interface  245 . S5/S8 interface  245  may be implemented, for example, using GTPv2. 
     PGW  250  may function as a gateway to core network  140  through an SGi interface  155 . Core network  140  may include, for example, an IMS network, which may provide voice and multimedia services to UE  110 , based on Session Initiation Protocol (SIP). A particular UE  110 , while connected to a single SGW  240 , may be connected to multiple PGWs  250 , one for each packet network with which UE  110  communicates. 
     MME  230  may communicate with SGW  240  through an S11 interface  235 . S11 interface  235  may be implemented, for example, using GTPv2. S11 interface  235  may be used to create and manage a new session for a particular UE  110 . S11 interface  235  may be activated when MME  230  needs to communicate with SGW  240 , such as when the particular UE  110  attaches to access network  130 , when bearers need to be added or modified for an existing session for the particular UE  110 , when a connection to a new PGW  250  needs to be created, or during a handover procedure (e.g., when the particular UE  110  needs to switch to a different SGW  240 ). 
     HSS  260  may store information associated with UEs  110  and/or information associated with users of UEs  110 . For example, HSS  260  may store user profiles that include authentication and access authorization information. MME  230  may communicate with HSS  260  through an S6a interface  265 . S6a interface  265  may be implemented, for example, using a Diameter protocol. PGW device  250  may communicate with HSS device  260  through an S6b interface  270 . S6b interface  270  may be implemented, for example, using a Diameter protocol. 
     Although  FIG. 2  shows exemplary components of access network  130 , in other implementations, access network  130  may include fewer components, different components, differently arranged components, or additional components than depicted in  FIG. 2 . Additionally or alternatively, one or more components of access network  130  may perform functions described as being performed by one or more other components of access network  130 . 
       FIG. 3  is a diagram illustrating exemplary components of device  300  according to an implementation described herein. VoLTE enforcement server  150 , MME  230 , SGW  240 , PGW  250 , and/or HSS  260  may each include one or more devices  300 . As shown in  FIG. 3 , device  300  may include a bus  310 , a processor  320 , a memory  330 , an input device  340 , an output device  350 , and a communication interface  360 . 
     Bus  310  may include a path that permits communication among the components of device  300 . Processor  320  may include any type of single-core processor, multi-core processor, microprocessor, latch-based processor, and/or processing logic (or families of processors, microprocessors, and/or processing logics) that interprets and executes instructions. In other embodiments, processor  320  may include an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), and/or another type of integrated circuit or processing logic. 
     Memory  330  may include any type of dynamic storage device that may store information and/or instructions, for execution by processor  320 , and/or any type of non-volatile storage device that may store information for use by processor  320 . For example, memory  330  may include a random access memory (RAM) or another type of dynamic storage device, a read-only memory (ROM) device or another type of static storage device, a content addressable memory (CAM), a magnetic and/or optical recording memory device and its corresponding drive (e.g., a hard disk drive, optical drive, etc.), and/or a removable form of memory, such as a flash memory. 
     Input device  340  may allow an operator to input information into device  300 . Input device  340  may include, for example, a keyboard, a mouse, a pen, a microphone, a remote control, an audio capture device, an image and/or video capture device, a touch-screen display, and/or another type of input device. In some embodiments, device  300  may be managed remotely and may not include input device  340 . In other words, device  300  may be “headless” and may not include a keyboard, for example. 
     Output device  350  may output information to an operator of device  300 . Output device  350  may include a display, a printer, a speaker, and/or another type of output device. For example, device  300  may include a display, which may include a liquid-crystal display (LCD) for displaying content to the customer. In some embodiments, device  300  may be managed remotely and may not include output device  350 . In other words, device  300  may be “headless” and may not include a display, for example. 
     Communication interface  360  may include a transceiver that enables device  300  to communicate with other devices and/or systems via wireless communications (e.g., radio frequency, infrared, and/or visual optics, etc.), wired communications (e.g., conductive wire, twisted pair cable, coaxial cable, transmission line, fiber optic cable, and/or waveguide, etc.), or a combination of wireless and wired communications. Communication interface  360  may include a transmitter that converts baseband signals to RF signals and/or a receiver that converts RF signals to baseband signals. Communication interface  360  may be coupled to an antenna for transmitting and receiving RF signals. 
     Communication interface  360  may include a logical component that includes input and/or output ports, input and/or output systems, and/or other input and output components that facilitate the transmission of data to other devices. For example, communication interface  360  may include a network interface card (e.g., Ethernet card) for wired communications and/or a wireless network interface (e.g., a WiFi) card for wireless communications. Communication interface  360  may also include a universal serial bus (USB) port for communications over a cable, a Bluetooth™ wireless interface, a radio-frequency identification (RFID) interface, a near-field communications (NFC) wireless interface, and/or any other type of interface that converts data from one form to another form. 
     As will be described in detail below, device  300  may perform certain operations relating to a maintaining and/or broadcasting information relating to the VoLTE capabilities of a particular access network  130  and/or VoLTE enforcement. Device  300  may perform these operations in response to processor  320  executing software instructions contained in a computer-readable medium, such as memory  330 . A computer-readable medium may be defined as a non-transitory memory device. A memory device may be implemented within a single physical memory device or spread across multiple physical memory devices. The software instructions may be read into memory  330  from another computer-readable medium or from another device. The software instructions contained in memory  330  may cause processor  320  to perform processes described herein. Alternatively, hardwired circuitry may be used in place of, or in combination with, software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software. 
     Although  FIG. 3  shows exemplary components of device  300 , in other implementations, device  300  may include fewer components, different components, additional components, or differently arranged components than depicted in  FIG. 3 . Additionally or alternatively, one or more components of device  300  may perform one or more tasks described as being performed by one or more other components of device  300 . 
       FIG. 4A  is a diagram illustrating device  400  that includes exemplary functional components implemented in VoLTE enforcement server  150 , MME  230 , SGW  240 , PGW  250 , and/or eNodeB  210 . The functional components of VoLTE enforcement server  150 , MME  230 , SGW  240 , and/or PGW  250  may be implemented, for example, via processor  320  executing instructions from memory  330  (or via processing unit  510  of  FIG. 5  discussed below executing instructions from memory  520  if device  400  is included in eNodeB  210 ). Alternatively, some or all of the functional components included in system  400  may be implemented via hard-wired circuitry. As shown in  FIG. 4A , device  400  may include a VoLTE enforcement manager  410 , a VoLTE database (DB)  420 , and a broadcast signal manager  430 . 
     VoLTE enforcement manager  410  may determine whether access network  130 , or particular cells of access network  130 , are configured for VoLTE service and may store information relating to VoLTE service in VoLTE DB  420 . VoLTE enforcement manager  410  may obtain information relating to VoLTE service by receiving the information via manual input from an administrator, by communicating with a network management system that includes information for access networks  130  of provider network  120 , by querying particular access networks  130  of provider network  120 , by collecting information relating to voice communication sessions in particular access networks  130 , and/or using other techniques. 
     VoLTE DB  420  may store VoLTE service information for different network segments of access network  130 . Exemplary information that may be stored in VoLTE DB  420  is described below with reference to  FIG. 4B . 
     Broadcast signal manager  430  may broadcast information relating to VoLTE enforcement. As an example, if device  400  is included in VoLTE enforcement server  150 , broadcast signal manager  430  may send an indication that VoLTE capability is enabled for a network segment of a particular access network  130  to the particular access network  130 . As another example, if device  400  is included in eNodeB  210 , MME  230 , and/or another device of access network  130 , broadcast signal manager  430  may incorporate an indication of VoLTE enforcement into a message information block and may broadcast the message information block to UEs  110  within the transmission range of access network  130 . The message information block may include a SIB2 message in which a bit of field has been set to carry a notification about whether VoLTE should be enabled. The bit or field may correspond to a bit or field that is not used, or not typically used, by the provider configurations, such as a CSFB bit. 
     Although  FIG. 4A  shows exemplary components of system  400 , in other implementations, system  400  may include fewer components, different components, additional components, or differently arranged components than depicted in  FIG. 4A . Additionally or alternatively, one or more components of system  400  may perform one or more tasks described as being performed by one or more other components of system  400 . 
       FIG. 4B  is a diagram illustrating exemplary components that may be stored in VoLTE DB  420 . As shown in  FIG. 4B , VoLTE DB  420  may include one or more cell records  450 . If device  400  of  FIG. 4A  is included in VoLTE enforcement server  150 , device  400  may include a VoLTE DB  420  for each access network  130  included in provider network  120 . Each cell record  450  may store information relating to a particular cell of a base station  135  (e.g., eNodeB  210 ). Cell record  450  may include a cell identifier (ID) field  452 , a base station field  454 , a MME field  456 , a VoLTE service field  458 , and a VoLTE enforcement field  460 . 
     Cell ID field  452  may store information identifying a particular cell of access network  130 . For example, each eNodeB  210  may control up to  256  cells. Each cell may be associated with an RF transceiver pointed, or configured to transmit, in a particular direction and/or service a particular transmission area. Base station field  454  may identify a particular base station  135  (e.g., eNodeB  210 ) associated with the particular cell. MME field  456  may identify a particular MME  230  associated with the base station associated with the particular cell. VoLTE service field  458  may include information identifying whether the particular cell has been enabled for VoLTE service. VoLTE enforcement field  460  may include information identifying whether VoLTE enforcement is activated for the particular cell. Some cells may be enabled for VoLTE service and may not be designated for VoLTE enforcement. For example, a cell may have been recently enabled for VoLTE and may be undergoing testing. If VoLTE enforcement field  460  indicates that VoLTE enforcement is in place, broadcast signal manager  430  may incorporate an indication of VoLTE enforcement into a message information block and may broadcast the message information block to UEs  110  within the transmission range of the particular cell. VoLTE enforcement may be set for particular cells, for groups of cells (e.g., all cells of eNodeB  210 ), for groups of base stations (e.g., all eNodeBs  210  assigned to the tracking area of a particular MME  23 ), and/or set for network segments defined by other criteria. 
     Although  FIG. 4B  shows exemplary components of VoLTE DB  420  or information stored in VoLTE DB  420 , in other implementations, VoLTE DB  420  may include fewer components, different components, additional components, or differently arranged components, or store different information, than depicted in  FIG. 4B . 
       FIG. 5  is a diagram illustrating examplary components of a device  500  according to an implementation described herein. UE  110  and/or eNodeB  210  may each include one or more devices  500 . As shown in  FIG. 5 , device  500  may include a processing unit  510 , a memory  520 , a user interface  530 , a communication interface  540 , and an antenna assembly  550 . 
     Processing unit  510  may include one or more processors, microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), and/or other processing logic. Processing unit  510  may control operation of device  500  and its components. 
     Memory  520  may include a random access memory (RAM) or another type of dynamic storage device, a read only memory (ROM) or another type of static storage device, a removable memory card, and/or another type of memory to store data and instructions that may be used by processing unit  510 . 
     User interface  530  may allow a user to input information to device  500  and/or to output information from device  500 . Examples of user interface  530  may include a speaker to receive electrical signals and output audio signals; a camera to receive image and/or video signals and output electrical signals; a microphone to receive sounds and output electrical signals; buttons (e.g., a joystick, control buttons, a keyboard, or keys of a keypad) and/or a touchscreen to receive control commands; a display, such as an LCD, to output visual information; an actuator to cause device  500  to vibrate; and/or any other type of input or output device. 
     Communication interface  540  may include a transceiver that enables UE  110  to communicate with other devices and/or systems via wireless communications (e.g., radio frequency, infrared, and/or visual optics, etc.), wired communications (e.g., conductive wire, twisted pair cable, coaxial cable, transmission line, fiber optic cable, and/or waveguide, etc.), or a combination of wireless and wired communications. Communication interface  540  may include a transmitter that converts baseband signals to radio frequency (RF) signals and/or a receiver that converts RF signals to baseband signals. Communication interface  540  may be coupled to antenna assembly  550  for transmitting and receiving RF signals. 
     Communication interface  540  may include a logical component that includes input and/or output ports, input and/or output systems, and/or other input and output components that facilitate the transmission of data to other devices. For example, communication interface  540  may include a network interface card (e.g., Ethernet card) for wired communications and/or a wireless network interface (e.g., a WiFi) card for wireless communications. Communication interface  540  may also include a universal serial bus (USB) port for communications over a cable, a Bluetooth™ wireless interface, a radio-frequency identification (RFID) interface, a near-field communications (NFC) wireless interface, and/or any other type of interface that converts data from one form to another form. 
     Antenna assembly  550  may include one or more antennas to transmit and/or receive RF signals. Antenna assembly  550  may, for example, receive RF signals from communication interface  540  and transmit the signals and receive RF signals and provide them to communication interface  540 . 
     As described herein, device  500  may perform certain operations in response to processing unit  510  executing software instructions contained in a computer-readable medium, such as memory  520 . A computer-readable medium may be defined as a non-transitory memory device. A non-transitory memory device may include memory space within a single physical memory device or spread across multiple physical memory devices. The software instructions may be read into memory  520  from another computer-readable medium or from another device via communication interface  540 . The software instructions contained in memory  520  may cause processing unit  510  to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of, or in combination with, software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software. 
     Although  FIG. 5  shows example components of device  500 , in other implementations, device  500  may include fewer components, different components, differently arranged components, or additional components than depicted in  FIG. 5 . Additionally or alternatively, one or more components of device  500  may perform the tasks described as being performed by one or more other components of device  500 . 
       FIG. 6  is a diagram illustrating exemplary functional components of UE  110  according to an implementation described herein. The functional components of UE  110  may be implemented, for example, via processing unit  510  executing instructions from memory  520 . Alternatively, some or all of the functional components of UE  110  may be implemented via hard-wired circuitry. As shown in  FIG. 6 , UE  110  may include an eNodeB interface  610 , a voice communication manager  620 , and a VoLTE module  630 . 
     eNodeB interface  610  may be configured to communicate with eNodeB  210 . eNodeB interface  610  may receive a message information block from eNodeB  210  and may provide the message information block to voice communication manager  620 . 
     Voice communication manager  620  may select a particular voice communication method for UE  110 . Voice communication manager  620  may retrieve a notification from the message information block that access network  130  is configured for VoLTE service. Voice communication manager  620  may determine that UE  110  is configured for VoLTE (e.g., based on the presence of VoLTE module  630 ). Additionally, in some implementations, voice communication manager  620  may determine whether UE  110  is communicating with an access network  130  that is part of provider network  120  before activating VoLTE module  630 . Voice communication manager  620  may then, based on retrieving the notification, activate VoLTE module  630 . VoLTE module  630  may, once activated, enable UE  110  to use a VoLTE service. 
     Although  FIG. 6  shows exemplary functional components of UE  110 , in other implementations, UE  110  may include fewer functional components, different functional components, differently arranged functional components, or additional functional components than depicted in  FIG. 6 . Additionally or alternatively, one or more functional components of UE  110  may perform functions described as being performed by one or more other functional components of UE  110 . 
       FIG. 7  is a flowchart of an exemplary process performed by an element of a wireless access network according to an implementation described herein. In some implementations, the process of  FIG. 7  may be performed by eNodeB  210 , MME  230 , SGW  240 , and/or PGW  250 . In other implementations, some or all of the process of  FIG. 7  may be performed by another device or a group of devices separate from eNodeB  210 , MME  230 , SGW  240 , and/or PGW  250  or including eNodeB  210 , MME  230 , SGW  240 , and/or PGW  250 . 
     As shown in  FIG. 7 , access network  130  may determine that VoLTE capability is enabled for a network segment and should be enforced (e.g., a cell, an eNodeB, an MME tracking area, etc.) (block  710 ) and may designate the network segment for VoLTE enforcement (block  720 ). For example, in some implementations, if device  400  is included in VoLTE enforcement server  150 , VoLTE enforcement manager  410  may include information identifying which cells of access network  130  are designated for VoLTE enforcement in VoLTE DB  420  and access network  130  may instruct UE  110  via a set bit or field in SIB2 (or another type of message information block) to contact VoLTE enforcement manager  410  to determine whether UE  110  should activate VoLTE when attached to a particular cell of access network  130 . In other implementations, VoLTE enforcement server  150  may send information to access network  130  indicating which cells, base stations  135 , tracking areas, and/or other types of network segments are designated for VoLTE enforcement and access network  130  may store the information in a locally managed VoLTE DB  420  (e.g., maintained by MME  230 , eNodeB  210 , etc.). In yet other implementations, environment  100  may not include VoLTE enforcement server  150  and access network  130  may designate network segments for VoLTE enforcement in a VoLTE DB  420  maintained by access network  130 . 
     An indication of VoLTE enforcement may be added to a message information block (block  730 ) and the message information block may be broadcast on a network segment (block  740 ). For example, a particular RF transceiver of a particular cell of eNodeB  210  in access network  130  may set a bit or field in a message information block and transmit the message information block via wireless signals to UEs  110  within the transmission range of the RF transceiver. In some implementations, broadcast signal manager  430  of eNodeB  210  (or of VoLTE enforcement server  150 ) may set a CSFB bit (otherwise unused by provider network  120 ) in a SIB2 message that is broadcast to UEs  110  within the transmission range. In other implementations, broadcast signal manager  430  of eNodeB  210  may set a different bit or field in a SIB2 message that is otherwise unused by provider network  120 . 
       FIG. 8  is a flowchart of an exemplary process performed by UE  110  according to an implementation described herein. In some implementations, the process of  FIG. 8  may be performed by UE  110 . In other implementations, some or all of the process of  FIG. 8  may be performed by another device or a group of devices separate from UE  110  or including UE  110 . 
     As shown in  FIG. 8 , UE  110  may receive the message information block from access network  130  (block  810 ) and may retrieve or identify the indication of VoLTE enforcement from the received message information block (block  820 ). For example, eNodeB interface  610  may receive a SIB2 message from eNodeB  210  and voice communication manager  620  may be configured to determine whether a CSFB bit (otherwise unused by provider network  120 ) has been set to indicate VoLTE enforcement on the cell from which the SIB2 message has been received. 
     UE  110  may retrieve information from SIB2 during an attempt to establish a Radio Resource Control (RRC) connection with eNodeB  210 . During the attempt, UE  110  may perform an access barring check to determine whether access is barred for UE  110  to connect to eNodeB  210 . For example, access barring may be used to give some UEs  110  a higher priority to connect to eNodeB  210 , such as UEs  110  associated with emergency services, staff personnel for provider network  120 , public utilities, etc. If access to eNodeB  210  is barred for UE  110 , UE  110  may resort to a CSFB to use a legacy circuit switched connection for making voice calls. If CSFB is not used by provider network  120 , UE  110  may be configured to activate VoLTE if an ac-BarringForCSFB field is set. In other implementations, a different field of SIB2, or of another SIB (e.g., SIB1, SIB3, SIB4, etc.) may be set and UE  110  may be configured to check the designated bit or field to check for VoLTE enforcement. 
     A determination may be made that the device is on a provider network (block  830 ). For example, voice communication manager  620  may be configured to determine that UE  110  has VoLTE capability and that UE  110  is on provider network  120  before activating VoLTE. For example, voice communication manager  620  may check an identifier associated with access network  130  against a list of access network identifiers associated with provider network  120  that is stored on a SIM card included in UE  110 . If VoLTE capacity is present and UE  110  is connected to provider network  120 , VoLTE may be activated (block  840 ) and the user may be informed that VoLTE has been activated (block  850 ). For example, voice communication manager  620  may activate VoLTE module  630  and VoLTE module  630  may display a message via user interface  530  to inform the user that VoLTE capability has been activated. 
       FIG. 9  is an exemplary signal flow diagram  900  according to an implementation described herein. As shown in  FIG. 9 , flow diagram  900  may include VoLTE enforcement server  150  sending VoLTE information to eNodeB  210  via MME  230  (signals  910  and  920 ). The VoLTE information may identify which cell of eNodeBs  210  in access network  130  have been enabled for VoLTE and designated for VoLTE enforcement. MME  230  may send an instruction to eNodeBs  210  that include cells with designated VoLTE enforcement to broadcast an indication of VoLTE enforcement. 
     eNodeB  210 , or particular cells of eNodeB  210 , may set a bit in a message information block (MIB) based on the instruction from MME  230  to enforce VoLTE. For example, eNodeB  210  may set a CSFB bit in a SIB2 message (or a SIB1 message, or a different type of SIB message, etc.) and may broadcast the SIB2 message (signal  930 ). Alternatively, eNodeB  210  may send a different message (e.g., control message) indicating that VoLTE enforcement is to be followed. When UE  110  powers up, UE  110  may attempt to detect a SIB2 message from nearby cell stations. If UE  110  picks eNodeB  210  (e.g., based on signal strength), UE  110  may decode the received SIB2 message and may be configured to check for VoLTE enforcement. UE  110  may detect that it has VoLTE capability (block  940 ) and may, in response, activate VoLTE (block  950 ). UE  110  may then attach to access network  130 , which includes eNodeB  210 , MME  230 , and PGW  250 , using an attach procedure (block  960 ). Once the attach procedure is completed and resources have been reserved by access network  130  for UE  110 , UE  110  may request a connection for a VoLTE call (signal  970 ). 
     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. 
     As an example, while series of blocks have been described with respect to  FIGS. 7 and 8 , and a series of signal flows and blocks has been described with respect to  FIG. 9 , the order of the blocks and/or signal flows may be modified in other implementations. Further, non-dependent blocks may be performed in parallel. 
     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. 
     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.