The invention is directed to a wireless communications apparatus and method. In particular, the invention is directed to a multi-protocol, scaleable wireless switching platform and method.
Wireless communications in the United States were initially conducted solely through analog systems and protocols. The most prevalent analog protocol remains the Advanced Mobile Telephone System (AMPS) protocol. To handle wireless communications and to allow interconnection with traditional wired land-lines, switching systems and base stations were required. The analog switching systems are large and are designed to cover large markets and handle large volumes of calls.
In the 1990's digital systems and protocols began to be used for wireless communications. Examples of digital protocols are the Global System for Mobile Communication (GSM) code division multiple access (CDMA), and time division multiple access (TDMA). When wireless networks began to switch to digital protocols, they could not simply upgrade their analog base stations to digital. New equipment for the digital facilities was required. However, the networks continued to use large switching systems designed to cover their large spread markets. Examples of large switching systems are AT&T's 5ESS® system and the AXE system made by Ericsson. The 5ESS® switch is described in detail in the AT&T Technical Journal, Vol. 64, No. 6, part 2, July/August 1985, pages 1305-1564.
Large switching systems are designed to cover large markets and to handle many thousands of customers. The larger systems have the advantage of being able to provide a wide range of call options, such as call forwarding, caller identification and call waiting. The switching systems are expensive, however and, therefore, may not be appropriate for small markets and wireless providers. Additionally, large switching systems can be inefficient because of the added additional cost for increased back hauls of calls.
Typical switching systems employ proprietary architectures that use hardware components for switching, external interfaces, operating system, and control.
A multi-protocol mobile switching center (MSC) provides wireless communications for mobile devices operating on a local wireless network according to any standard protocol including those of the Global Systems for Mobile Communications (GSM) standards and IS-41 standards (including time division multiple access (TDMA), code division multiple access (CDMA), and Advanced Mobile Telephone System (AMPS)). The MSC may be incorporated onto a single platform having a home location register (HLR) and an authentication center (AC or AuC), as well as a visitor location register (VLR) and an equipment identity register (EIR).
The multi-protocol MSC is scalable so that it may be used for a small number of customers, such as in a rural setting to provide telephone access, or as part of an in-building communications network. The scalable, multi-protocol MSC may also be used to construct a large, distributed wireless network. Thus, the scalable, multi-protocol MSC provides the flexibility to be used with a wide range of customer bases, and within a variety of different typographies.
Because the MSC can process wired and wireless calls according to any protocol, a single switching center may serve customers who operate mobile and fixed communications devices, regardless of protocol. This true multi-protocol functionality makes this switching solution extremely efficient and cost effective, and eliminates the need for separate, protocol-specific components.
The multi-protocol MSC can be housed in a standard chassis. The multi-protocol MSC can use standard, off the shelf hardware for most data storage and processing functions. The multi-protocol MSC can be easily updated to take advantage of industry advances by simply replacing select components in the chassis.
The multi-protocol MSC provides full-featured telephone and data services, including wired and wireless analog and digital telephony, conference calling, prepaid calling, emergency call routing and long-distance resale. The multi-protocol MSC also provides pocket switching applications such as asynchronous transfer mode (ATM).
The multi-protocol MSC incorporates advanced graphical user interfaces (GUIs) that display system data in a convenient, easy to access format. A system operator can quickly select data for display, and can easily modify selected data entries. The system operator can control operation of the multi-protocol MSC using the intuitively structured GUIs.
The multi-protocol MSC may incorporate a number of sophisticated features in addition to the HLR, VLR, EIR and the authentication center. These features include an operations and maintenance center, wire line and tandeming services, and hot (real-time) billing and prepaid services.
When used for distributed switching, the multi-protocol MSC may reduce build out and operational costs associated with large switching centers. This architecture also eliminates needless back hauling by switching local calls locally. Finally, the architecture allows for add on as a wireless customer base expands.
The multi-protocol MSC includes a first interface that receives digital and analog communication according to a first protocol and a second interface that receives digital communication according to a second protocol. The first and the second interfaces include inter system (system-to-system) message handlers and intra system (within system) message handlers.
The hardware and software architecture of the MSC is designed to use generic signaling as much as possible to provide call connection and other functions. Protocol-specific communications are handled at a device handler (lower) level, and higher level processing uses generic messaging. A table may be used to map messages of the different protocols to the generic messages used by the MSC. The hardware of the aircore system is based on off-the-shelf industry standard components for each of the four areas typically found as proprietary in current systems. The use of off-the-shelf standardized switching components, interface boards, operating system and control processing provide a unique evolution path for the aircore system.
The HLR and VLR are structured so that data that does not depend on a specific protocol is stored in a common memory portion while protocol-specific data is stored in protocol specific portions of the HLR and VLR. This logical arrangement of the HLR and VLR provides for quick access to data by components of the MSC and allows for easier updating by a system operator.
An advanced intelligent message (AIM) handler interfaces with the VLR and the HLR to determine the current location and identification of mobile units homed on the HLR or roaming in the local wireless network. The AIM also determines the protocol applicable for the mobile unit. For calls received at the MSC from a local wireless network base station, the protocol determination may be made by reference to the protocol of the base station. For multi-protocol base stations, the determination includes decoding information provided in the service request or similar message sent by the base station. For other mobile units, the MSC may communicate with external wireless components such as other HLRs, VLRs, and MSCs.
The MSC includes an authentication and registration system that controls registration of mobile communications devices operating on the system controlled by the MSC. The authentication and registration system also provides encryption and ciphering of voice and data communications.
The MSC can also be used as an adjunct to a private branch exchange (PBX) to create an in-building wireless network. Used as such, the MSC and HLR can be used to route calls preferentially among mobile units and fixed telephones and other communications devices.
The invention will be described in conjunction with the following figures, in which like numbers refer to like features, and wherein
a-1d show wireless communication environments according to the invention.
a shows the software components used for call processing.
b shows the object structure for the aircore call processing.
c is a flow chart illustrating an authentication process.
Mobile telecommunications (radio) systems that permit customer calling from mobile stations such as automobiles, or small light weight hand held personal communications units are becoming increasingly prevalent. These systems use the principles of cellular technology to allow the same frequencies of a common allocating radio bandwidth to be reused in separated local areas or cells of a broader region. Each cell is served by a base transceiver station comprising a group of local transceivers connected to a common antenna. Base station systems, each including a controller and one or more transceiver stations, are interconnected via a switching system, called a mobile switching center (MSC), which is also connected to the public switched telephone network (PSTN), and the Public Land Mobile Telephone Network (PLMN). These mobile telecommunications systems are now entering a second generation characterized by digital radio communications with a different set of standards, such as the European Global System for Mobile Communications (GSM) standard promulgated by the Special Mobile Group (SMG). The GSM standard is also being adapted for use in the United States. In addition, in the United States, CDMA, TDMA, DAMPS, and AMPS are used for digital cellular mobile communications.
The mobile telecommunications systems have many components that need to communicate signaling information for controlling the establishment of connections. Such signaling information is communicated over channels that are separated from the channels carrying actual voice or data communications between the connected customers. Among the components that need to communicate to establish voice and data communication links are the mobile units, the base station system connected by radio to the mobile units, the mobile switching center and the various databases that are consulted for the establishment of mobile calls. These databases include a home location register (HLR) with an authentication center (AC (IS-41) or AuC (GSM)), a visitor location register (VLR), and an equipment identification register (EIR).
Signaling messages among these components are processed by many expensive protocol handlers. In the past, these protocol handlers were too expensive to permit incorporation into a single unit. Modern switching systems typically include expensive MSCs, such as AT&T's 5ESS® switch. These systems only make sense for deployment when there are a large group of mobile customers who will use the system.
This invention uses advanced signal processing, a novel method of structuring signal processing software and an enhanced home location register/visitor location register to provide multi-protocol, scaleable mobile telecommunications capability. The software architecture is specifically designed so that generic processing is used to the maximum extent possible to process signals and data related to different digital and analog protocols including GSM, TDMA, CDMA and AMPS, and proprietary protocols.
a shows a general arrangement of a mobile telecommunications environment 100. At the heart of this environment 100 is an aircore platform 200 of the invention. The aircore platform 200 receives messages from, and transmits messages to a variety of fixed and mobile sources, conforming to each of the protocols employed by the sources.
Base transceiver stations (BTSs) 110 receive messages from and transmit messages to the aircore platform 200 over land lines 113. The land lines 113 may be any telecommunications medium that is capable of high speed data transmission, such as fiber optic cable, T-1 and E-1 lines and coaxial cable, for example.
The BTS 110 transmits messages to and receive messages from mobile and fixed sources. In
The BTSs 110 may operate in conjunction with the fixed and mobile sources, according to one of several wireless protocols as set forth above.
The aircore platform 200 communicates with a public switched telephone network (PSTN) 120 via a wired path 121 and with a wireless network 130 via a signal path 131.
The aircore platform 200 also communicates with a satellite 141 via a satellite receiver 140.
b shows a GSM wireless environment 101. The aircore platform 200 connects to the BTS 110 via a base station controller (BSC) 105. Mobile units 112, the roaming mobile phone 116, the wireless local loop 150 and the microcell 115 communicate by way of wireless radio channels with the BTS 110. The aircore platform 200 also connects to a GSM MAP network 133 via landline 132 and to the PSTN 120 via the landline 121. Finally, the aircore platform 200 communicates with the satellite 141 via the antenna 140.
c and 1d show wireless environments 102 and 103, respectively. The wireless environment 102 is used with CDMA-protocol mobile units and base stations, and the wireless environment 103 is used with TDMA-protocol wireless units and base stations.
The VLR contains the profile data for the mobile unit and the transient data for each mobile customer, including the mobile unit's present or most recently known location area, the mobile unit's on/off status, and security parameters.
An authentication center 213 is used to ensure that only properly authorized mobile and wired sources communicate through the aircore platform 200. The authentication center 213 provides authentication encryption parameters to ensure that a mobile customer cannot falsely assume the identity of another mobile customer and provides data for encryption of the voice data, and control signals transmitted via the air between the mobile unit and the servicing base station system. Encryption is desirable for the transmission of messages between the mobile unit and the radio transceiver at a base station serving that mobile unit because it is possible to listen in, or tap, the radio channels carrying voice communications.
An equipment identity register (EIR) 211 includes a database of the mobile equipment using the aircore platform 200, including specific protocols and equipment preferences. The EIR 211 retains the ranges of certified equipment identifications and the ranges of, or the individual equipment identifications that are under observation or barred from service. The equipment identification information is received from a mobile unit at the MSC 210. The EIR 211 is used to verify that the equipment number of the mobile unit is certified for use in the public network and is not on the observation or service barred list.
The MSC 210 is connected to other wireless network components and to the PSTN for accessing land-based customer stations and to the integrated services digital network (ISDN) for communicating according to ISDN protocols. A base station system (BSS) 104 may include the BSC 105 and one or more BTSs 110 for communicating with mobile units. The BSS 104 and the mobile units communicate via radio connections. The BSS 104 is also connected via trunks to carry the voice, data, and control messages between the mobile units and the MSC 210. The BSC 105 and the BTS 110 may be in different physical locations (for example, the BSC 105 may be co-located with the MSC 210 in which case a trunk is required to interconnect the two). This is done since the communications between the BTS 110 and the BSC 105 can typically be compressed to optimize the BTS connectivity requirements.
The aircore platform 200 provides a full range of mobile services to a wireless local loop, or location area. In
The aircore platform 200 provides for intrasystem, or base station, wireless communication using GSM protocols via a GSM BSC 240 and BTS 241. The aircore platform 200 provides wireless communications using CDMA and TDMA via a IS-634 link, an IS-95A BSC 244, a BTS 243 and a IS-136 BSC 242 and BTS 249. The aircore platform 200 communicates with an AMPS BTS 246 using the ISDN PRI+ or the IS-634 protocol. The aircore platform 200 provides communications with a private branch exchange (PBX) 248 via T-1/E-1 lines. The aircore platform 200 also provides for connection to a billing system 260 using TCP/IP protocols, for example, and for voice mail and messaging functions via voicemail module 250.
Table A shows a list of interfaces from the aircore platform 200 and the functionality each of the interfaces adds. A Network Management Center/Operations and Maintenance Center (NMC/OMC) 262 communicates with the aircore platform 200 using TCP/IP protocols, for example. The billing system 260 and the NMC/OMC 262 may also communicate with the aircore platform 200 using CCITT X.25 protocols.
The call processing control module of the real time application layer 400 handles the application layer tasks that are real-time related. At the real time application layer 400 of software, direct knowledge of specific protocols is not required. Instead, this layer handles functions from a generic standpoint. For example, a call processing state machine processes mobile originated call set up in the same manner regardless of the type of interface used to connect to the base station equipment. The event set and state machine commonality allow lower layers of software to change without effecting the call processing control module of the real time application layer 400.
The device handler layer 500 is the lowest layer of software in the aircore software architecture 300. The device handler layer 500 contains the specific software applications to receive and transmit protocol specific messages.
The SCM layer 310 includes a control panel (CTL) 312, which is the father process of all the other processes in the system. The CTL 312 is responsible for startup and auditing of the overall aircore software architecture 300. Once started, the CTL 312 is only involved in limited auditing functions.
A call record management (SCR) 314 tracks the call report data generated in the system. These records can be used for billing tracking, system tendencies, or prepaid type of access. Call records are archived and the files rotated periodically. For example, the files may be rotated hourly. Real-time output is accessible via standard output options such as a printer or a screen output. Archived output is accessible on screen, or may be accessed over a standard TCP/IP network or dial up.
An operational measurements manager (OMM) 316 is responsible for tracking system counters. A count is defined as the occurrence of a particular situation. Each time the situation occurs, the counter is incremented. Operational measurements are archived and the files rotated periodically. For example, the files may be rotated hourly. Each time a new file is created, each of the counters is reset to zero. This type of data is captured to allow an operator to track system performance and tendencies over time. Operational measurements are archived into files rotated periodically. Real-time output is accessible using standard output options such as a printer or a screen output. Archived output is accessible on-screen or can be accessed over a standard TCP/IP network or dial up.
A real-time log report manager (RTL) 318 tracks system level reports. System level reports are generated to notify an operator of certain tasks or situations occurring on the aircore platform 200. For example, at the top of the hour, the system level audit log reports may be output. Log reports range from reporting normal system maintenance events to system status changes. Log reports are archived into files rotated periodically. Real-time output is accessible using standard output options such as a printer or a screen output. Archived output is accessible on screen or can be accessed over a standard TCP/IP network or dial up.
An auto removal process (AUTO) 322 is responsible for automatic removal of outdated archived report files. Automatic removal may occur on a periodic basis, such as monthly.
A network management database administration (NMS) 324 allows access to databases that provide configuration information for routing, rating and language for mobile devices. A system configuration (SYSCFG) 326 allows access to the configuration of system telephony hardware resources. A system maintenance (SYSMTC) 328 allows access to operator-initiated maintenance procedures.
A visitor location register interface VLI 332 provides the operator access to a visitor location register. A home location register interface (HLI) 334 provides an operator interface to the home location register and authentication center information. An equipment identity register interface (EII) 336 provides an operator interface to the equipment identity register. The VLI 332, HLI 334 and EII 336 may be implemented as a graphical user interface(s) (GUI) or as batch type operations. These interfaces will be described in more detail later.
The call processing control module (CPCM) of the real time application layer 400 includes a recovery and startup (REC) 402, which is the father process of the software subsystems in the real time application layer 400 and at the device handler layer 500. The REC 402 manages the maintenance states for the trunk and signaling facilities in the real time application layer 400. The REC 402 interfaces with each of the device handlers in the device handler layer 500 for maintenance and status as well as with graphical user interface-based applications in the SCM layer 310 to process operator initiated maintenance requests. The REC 402 also initiates an audit of all real time application layer 400 subsystems. The audit may run every two minutes, for example, and provides assurance that all subsystems are running properly.
A fault analysis unit (FAU) 404 is responsible for the collection of all log reports and operational measurement related data created within the CPCM 400. The FAU 404 to real-time layer interface is a singular path for this information to pass. All CPCM 400 subsystems have access to pass events to the FAU 404 for this purpose.
The timer manager (TIM) 406 provides timing facilities to call processing control module subsystems in the aircore platform 200. The TIM 406 is used for application level timers that operate on a one second or greater granularity. Timers are stored in a list and are tracked until they are released or until they expire. Timers requiring finer granularity or those that are specific to a particular subsystem's requirements are controlled locally either in the subsystem or on board in the hardware. The timers associated with the aircore platform 200 will be described later in more detail.
A resource manager (RCM) 408 is used to manage base station resources connected to the aircore platform 200. The RCM 408 has the capability to configure, download, and track the state of individual cell site components as well as the base station as a whole.
A CPCM call record management (CCR) 412 module provides for local collection of call detail record (CDR) information for calls in progress. When calls are completed, the CDR information is transferred from the CCR 412 to the SCR 314 in the SCM 310, where the call record data is processed and stored.
A call processing manager (CPM) 414 provides the processing required for all communication channel establishment, tear down, feature processing and hand off control. The state machines in place in the CPM 414 are based on a half-call model. Each party in a session moves through a defined set of states based on received and sent events, and timers used. Each side of a call steps through its own state. The two sides of the call progress together. For a basic call setup, the state of one side of the call is never more than one step ahead or behind the state of the other side. In the CPM 414, each call placed requires the creation of a session object. This object is created based on an index number created from the board span and channel used by the originator of the call. The session adds and removes call objects as dictated by the progress of the call. The reference number for the session is always based on the originator's board span and channel. However, the session may also be indexed via the index number of the board, span and channel of any of the involved parties.
A hand off processor (HOP) 416 is responsible for the preprocessing required for hand off or hand over (GSM). Based on the technology and the involvement of intersystem border cells, the level of involvement of the HOP 416 varies from one air interface protocol to the next. However, like other modules performing specific functions, the unique aspects of the protocol are handled internally in the HOP 416. The interface to the CPM 414 for hand off processing is made generic. Preprocessing in relation to handoff processing refers to the collection of data and the decision process used to determine the appropriate base station to target for the hand off. This entire process has been formed into a generic procedure within the aircore software architecture 300.
A tone and announcement manager (TAM) 418 is responsible for management of the digital signal processor resources in the system used for playing tones and announcements. The TAM 418 interacts directly with the CPM 414 to provide the necessary digital signal processor allocations. The digital signal processors are controlled by components of the device handler 500. Direct communication to the device handler from the CPM 414 is avoided so that the CPM 414 does not have to maintain direct knowledge of the current digital signal processor configuration and allocations.
A visitor location register (VLR) 422 is responsible for establishing and maintaining a VLR database for the aircore platform 200. As shown in
A home location register/authentication center (HLR) 424 is responsible for establishing and maintaining the HLR database for the aircore platform 200. As shown in
The HLR 424 also contains the functionality to perform the advanced security calculations used in digital air interface protocols. These calculations are based on a piece of secret data combined with a random number to yield a result that only has meaning to the authentication center and the mobile unit. This functionality is included in the HLR database and is integrated as part of the customer profile. The actual comparison of data is done in the AIM 430 or in the HLR 424 itself, depending on the protocol. Since the authentication center is integrated in the HLR 424, communications with the authentication center all funnel through the HLR 424. The authentication process will be explained in more detail later.
An equipment identity register (EIR) 426 is responsible for establishing and maintaining an EIR database for the aircore platform 200. The EIR database is a collection of the serial number information for mobile telephone handsets and other equipment in the system. The EIR 426 normally maintains at least three lists:
White—range listing of valid international mobile equipment identities (International Mobile Equipment Identity (IMEI)) (serial numbers).
Gray—list of individual serial numbers of questionable phones. Usage is operator dependent.
Black—list of individual serial numbers of equipment prohibited from using the system.
The EIR 426 is used with GSM-type systems. However, application to other system protocols may also be accomplished. The EIR 426 communicates with the AIM 430 for real-time application messaging. Any communications to or in the EIR 426 from the CPCM 400 are received via the AIM 430. Communications between the EIR 426 and the Eli 336 are limited to those necessary to allow for the manipulation of list information. This includes allowing an operator to add, modify and delete from the information the EIR database.
The device handler 500 includes a portion of the AIM 430. The device handler 500 includes a device handler for digital CAS interface (DHD) 501, a device handler for voice input and output devices (DHA) 502, a device handler for ISDN interfaces (DHI) 503, a device handler for conference (DHC) 504, and a device handler for timers (DHT) 505. The AIM 430 also includes a device handler for SS-7 (DH-7) 510.
Communications to various software entities such as the VLR, HLR, and EIR funnel through the AIM 430 subsystem. This approach is taken to remove the knowledge of the low layer message destination from each of those entities. This approach also allows for the isolation of protocol specifics to the AIM 430 layer of software. Finally, this approach allows for the seamless separation of these functions to physically separate entities without effecting the application software. The following is an example of the benefit of this approach: When the CPM 414 needs to request the current location of a subscriber from the HLR 424, the message is sent to the AIM 430 subsystem without the direct knowledge of the HLR location or the protocol used to communicate with the HLR 424. The AIM 430 handles the routing (either internal or external) and the selection and construction of the appropriate message based on the protocol.
In
The A-interface message handler (AMH) 431 provides message decoding and encoding for interface processing between an external base station and the aircore platform 200 event structures and state machines.
An authentication and registration processing (ARS) thread 434 (see
Each channel in the DHD 501 is allocated a thread for processing the low layer protocol state machine. As shown in
Path 450 between the REC 402 and subsystem at the device handler layer 500 is defined for startup, status and maintenance communications used to interact with the telephony board level hardware. The REC 402 communicates directly with all device handler level subsystems with the exception of the DH-7510, which is handled via communications with the AIM 430. Two-way path 451 between the CPM 414 and the device handler layer 500 is established for the exchange of messages for call processing related activities in the aircore platform 200. The CPM 410 communicates directly with all device handler 500 level subsystems with the exception of the DHA 502 and the DH-7510. Communications path 452 between the TAM 418 and the DHA 502 provides for the allocation and deallocation of voice I/O resources for tones and announcements. Much like trunk groups that abstract the physical location of trunks, this level of communication abstracts the physical location of the digital signal processors used for playing the tones and announcements. Communications path 453 between the AMH 431, SMH 436, IMH 432 and the DH-7510 provides for communications between the SS-7 links and the builder/decoder threads in the AIM 430.
As shown in
A VLR/MSC data module 463 indicates the VLR in and the MSC associated with the current area of operation of the customer. A personal identification number (PIN) data module 464 indicates if the customer uses a PIN when accessing the system for calling card or long distance calls and the four digit PIN number associated with the customer. A protocols module 465 is used for multi-mode customers to determine the capabilities of the customers' units. The protocols may include, but are not limited to, TDMA, CDMA, GSM and AMPS. A call restriction module 466 stores features for restricting the calling capabilities of the customer to and from the network. The call restriction features include baring of all outgoing calls, suspended service (no calls allowed), baring of all outgoing international calls, baring of all incoming calls, baring of all outgoing international calls except those to the home PLMN country and baring incoming calls to a customer when they are roaming to another system.
A call features module 467 indicates the set of features allocated to a customer. The call features include call hold, multi-party calling, 3-way calling, roaming, call waiting and access to sending and receiving short messages. A line identification module 468 identifies features that provide/restrict calling and called number information to various parties in a call. The line identification features include calling line ID presentation, calling number presentation, connected line ID presentation, calling line ID restriction, calling number restriction, and connected ID restriction.
A message center data module 469 provides for storage of short messages pending delivery to a customer's mobile unit.
The HLR 424 may also include an authentication center. The authentication center provides authentication and encryption parameters to insure that a mobile customer cannot falsely assume the identity of another mobile customer. The authentication center also provides data for encrypting the voice or data and control signals transmitted via the air between the mobile station and the serving base station subsystem. A GSM reference model prescribes digital communications over the radio channels. Since it is possible to surreptitiously listen to these channels, encryption becomes desirable for the link between the mobile station and the radio receiver at a base station serving that mobile station. Any public or proprietary encryption algorithm known in the art can be used with the aircore platform 200.
The calculations for the authentication center use the secret key information associated with the subscriber and the protocol specific calculations. The HLR 424 pre-processes these authentication calculations and stores them as part of the subscriber profile. As required, this information is shared with the servicing MSC/VLR to authenticate the mobile unit as it accesses the system.
The VLR 422 contains current data for each active mobile customer, including that customer's mobile station present or most recently known location area, the mobile unit's on/off status, and security parameters. The VLR 422 is logically constructed in the same manner as the HLR 424.
The HLR and VLR databases both simultaneously accommodate customer profiles from any interface protocol. There are two significant classifications of profile types, based on the intersystem protocol used to transmit and receive profile information over the wireless network. Both GSM and IS-41 based networks share common information in the customer profile structures, but each profile type also requires fields and information that are unique to that particular protocol type. The HLR and VLR databases provide for this by an internal structure that uses a common top level header for the common data and then protocol specific attachments. This internal structure is shown in
A description of the timers used by the MSC 210 will now be provided. A call proceeds from initiation to connection through a series of steps. The time associated with this call set up and connection is usually short. Nonetheless, one or more voice channels may be reserved at the start of the call set up. If the call will not connect, some mechanism is desirable to release these resources as quickly as possible so that they may be used by other customers. Furthermore, during the time that the mobile unit is held waiting for an incoming call, the mobile unit cannot call out or receive other incoming calls. To free up resources and to release the mobile unit, the TMR 437, in conjunction with the TIM 406 (see
A timer may be set when a device handler such as the device handler 510 requests a BSC 105 to assign a channel. In this case, the AMH 431 sends a message to the TMR 437 to set the timer. If an assignment is not completed within the time limit of the timer, the call connection process ends. If the assignment is completed before expiration of the timer, the AMH 431 sends a message to the TMR 437 to release the timer.
A timer may be associated with a connect message sent to the BSC 105 by a device handler. If a connect acknowledgment message is received by the device handler, the AMH 431 will send a timer release message, allowing the call connection to complete. Similarly, a timer may be set to time out a make call command, a paging message for a mobile terminated call, a disconnect message (GSM) or release message IS-634) for PSTN and mobile originated calls, and a clear command to release a channel during a call disconnect sequence. Other timers may be used to ensure resources are returned for assignment to other calls.
Managing the location of a customer ensures the proper connection of the customer's mobile unit for both mobile initiated calls and mobile terminated calls. In
The call processing module (CPM) 414 processes calls according to one of several state machines. A state machine exists for each half of every call processed through the aircore platform 200. A separate state machine exists for mobile originated call processing, PSTN originated call processing and mobile terminated call processing, for example.
In the wait for UUI state S2, the state machine 600 can transition to the wait for alert state S4. This transition is based on receiving the ROUTE_CALL message. The aircore platform 200 proceeds with making the call out to the called party if the call type is direct dial (DD) in the routing translations or when a call delivery to a mobile unit or another system is required. The CPM 414 then sends a MAKE_CALL message. Next, the state machine 600 can transition from the wait for UUI state S2 to the wait for page response S3 based on receiving a ROUTE_CALL message. A PAGE_MOBILE message is sent to the PAG 435. The transition to this state is based on a call type of MOB in the routing translations and finding that the called mobile unit is operating in the aircore system. The state machine 600 transitions from the wait for UUI state S2 to the tone and announce state S8 if the dialed number received from the originating mobile unit fails to translate properly or if there is a restriction on the called mobile unit. The originating mobile unit is then connected to a tone. This transition could also occur by the CPM 414 receiving a PAGE_RESPONSE message with a time out indication. Finally, the wait for UUI state S2 can transition to the wait for call cleared state S9 based on receiving a disconnect from the mobile unit. When the message CALL_DISCONNECTED is received at the CPM 414, a CLEAR_CALL message is sent.
The state machine 600 transitions from the wait for page response S3 to the wait for alert state S4 based on receiving a PAGE_RESPONSE message. A MAKE_CALL message is then sent and the CPM 414 proceeds with an ISDN state machine 600. The wait for page response state S3 transitions to the tone and announce state S8 along transition path T8 based on receiving a time out for a page response. The CPM 414 then provides a time out announcement or tone to the calling party. The state machine 600 transitions from the wait for page response state S3 to the wait for call cleared state S9 along transition path T9 based on receiving a disconnect from the originating mobile unit. A CALL_DISCONNECTED message is received at the CPM 414 and a CLEAR_CALL message is sent. The PAG thread 435 will time out and clear the page request data for the call.
The state machine 600 transitions from the wait for alert state S4 to the wait for connect state S5 along transition path T10 based on receiving an alerting indication from the called party. The alerting indication is passed to the mobile customer's side of the call. The CPM 414 receives the CALL_ALERTING message from the called party and sends an ALERT_CALL to the originating mobile unit. The transition from the wait for alert state S4 to the voice state S6 occurs along transition path T11 based on receiving a connect indication from the called party. The protocol allows a CONNECT message to be received without receiving alerting. The CPM 414 receives a CALL_CONNECTED message from the called party and sends a CONNECT_CALL message to the originating mobile unit. The transition from the wait for alert state S4 to the tone and announce state S8 is along transition path T12. This transition occurs for two possible reasons. First, the transition may be based on a time out waiting for the alerting indication. The called party is cleared from the call and the mobile customer is connected to an announcement or tone. The CPM 414 sends a CLEAR_CALL message to the called party. Second, the transition may be based on receiving a disconnect from the called party with “user busy.” The originating mobile unit is sent an announcement and the called party is released from the call. The CPM 414 receives a CALL_DISCONNECTED message from the called party and sends a CLEAR_CALL message to the called party. Finally, the transition from the wait for alert state S4 to the wait for call cleared state S9 occurs along transition path T13 if the originating mobile customer disconnects from the call before the CPM 414 receives the alerting indication from the called party. Clearing both parties is initiated. The CALL_DISCONNECTED message is received from the originating mobile unit. The CPM 414 sends a CLEAR_CALL message to both parties.
The state machine 600 may transition from the wait for connect state S5 to the voice state S6 along transition path T14 based on receiving connect indication from the called party. The connect indication is passed to the mobile customer. The CPM 414 received a CALL_CONNECTED message from the called party and sends a CONNECT_CALL message to the originating mobile unit. Transition from the wait for connect state S5 to the tone and announce state S8 occurs when a time out occurs waiting for the connect. The called party is cleared from the call and the mobile customer is connected to a tone or announcement. The CPM 414 sends a CLEAR_CALL message to the called party. Transition from the wait for connect state S5 to the wait for call cleared state S9 occurs along transition path T16 if the originating mobile subscriber disconnects from the call before the CPM 414 receives the connect indication from the called party. Clearing both parties is initiated. The CPM 414 receives a CALL_DISCONNECT message from the originating mobile unit and sends a CLEAR_CALL message to both parties.
The state machine 600 transitions from the voice state S6 to the wait for called clear state S9 along transition path T17 based on receiving a disconnect indication from either party. Call clearing is initiated for both parties on the call. A CALL_DISCONNECTED message is received from one of the parties. The CPM 414 sends a CLEAR_CALL message to both parties. Transition from the voice state S6 to the wait for hand off confirm state S7 occurs along transition path T18 based on receiving a hand off request from the HOP 416 subsystem and having a B-channel to allocate to the target BTS for the hand off. The CPM 414 receives a HAND_OFF request from the HOP 416 and sends a MAKE_CALL message with a hand off indicating to establish the target channel. Finally, the voice state S6 transitions back to the voice state S6 along transition path T19 based on receiving a hand off request and not having a B-channel available to the BTS.
The state machine 600 transitions from the wait for hand off confirm state S7 to the voice state S6 along transition path T20 based on three possible events. First, the CPM 414 receives a hand off confirmation from the serving BTS. This indicates the mobile unit has confirmed the hand off and is in transition to the target BTS. The voice connection is switched to the target BTS at this point. The CPM 414 receives a HAND_OFF_CONFIRM message and sends a CLEAR_CALL to the old serving channel. The voice path in connected to silence until the CALL_CONNECTED message is received on the target channel. Second, the CPM 414 receives a hand off confirmation with a negative indication (failed). This indicates that the mobile unit is not going to the target channel. The CPM 414 starts a disconnect sequence to release the target channel. The CPM 414 then sends a CLEAR_CALL message to the target channel. Third, the CPM 414 receives a failure on the channel setup with the target BTS. The transition to the voice state S6 occurs and the CPM 414 initiates or continues with the disconnect sequence with the target BTS channel. The CPM 414 sends a CLEAR_CALL message to the target channel. Transition from the wait for confirm state S7 to the wait for call cleared state S9 occurs along transition path T21 based on receiving a disconnect from either party while a target BTS channel is being established for the hand off. The CPM 414 initiates clearing all resources and transition. The CPM 414 receives a CALL_DISCONNECTED message and sends a CLEAR CALL message to the parties.
The state machine 600 transitions from the tone and announce state S8 to the wait for call clear state S9 along transition path T22 based on the originating mobile unit disconnect indication being received from the CPM 414. This can occur as a result of a time out after the tone or an announcement is played and a disconnect is not received. In this case, the CPM 414 initiates the disconnect with the mobile customer. The CPM 414 initiates the disconnect with the mobile customer. The CPM 414 either receives a CALL_DISCONNECTED message and sends a CLEAR_CALL message or the CPM 414 receives a time out and sends a CLEAR_CALL message.
The state machine 600 transitions from the wait for call cleared state S9 to the idle state S1 along transition path T23 based on both parties confirming they are cleared from the call. In cases where there is no other party involved in the call, the confirmation of the clearing of the party is implied by the fact that the cell never existed. This transition takes place when the call is completely cleared. The CPM 414 receives a CALL_CLEARED message from the originating mobile unit.
The state machine 601 transitions from the wait for page response state S3 to the wait for alert state S4 along transition path T27 based on receiving a PAGE_RESPONSE message. The CPM 414 sends a MAKE_CALL message and proceeds with the ISDN state machine. Transition from the page response state S3 to the tone and announce state S8 occurs along transition path T28 based on receiving a time out for a page response (i.e., PAGE_RESPONSE message received by the CPM 414 with a time out indication). The CPM 414 provides a time out announcement or tone to the calling party. Transition from the wait for page response state S3 to the wait for call cleared state S9 occurs along transition path T29 based on receiving a disconnect from the originating PSTN party. The CPM 414 receives a CALL_DISCONNECTED message and sends a CLEAR_CALL message. The PAG thread 435 will time out and clear the page request data for the call.
The state machine 601 transitions from the wait for alert state S4 to the wait for connect state S5 along transition path T30 based on receiving an alerting indication from the called party. The alerting indication is passed to the PSTN side of the call. The CPM 414 received a CALL_ALERTING message from the called party and sends an ALERT_CALL message to the originating PSTN party. Transition from the wait for alert state S4 to the voice state S6 occurs along transition path T31 based on receiving a connect indication from the called party. The protocol allows reception of the connection without receiving alerting. The CPM 414 receives a CALL_CONNECTED message from the called party and sends a CONNECT_CALL to the originating PSTN party. Transition from the wait for alert state S4 to the tone and announce state S8 occurs along transition path T32 for two possible reasons. First, transition may be based on a time out waiting for the alerting indication. The called party is cleared from the call and the PSTN party is connected to an announcement or tone. The CPM 414 sends a CLEAR_CALL message to the called party. Second, transition may be based on receiving a disconnect from the called party with “user busy.” The originating PSTN party is sent an announcement and the called party is released from the call. The CPM 414 receives a CALL_DISCONNECTED message from the called party and sends a CLEAR CALL message to the called party. Transition from the wait for alert state S4 to the wait for call cleared state S9 occurs transition path T33 if the originating PSTN party disconnects from the call before the CPM 414 receives the alerting indication from the called party. Clearing of both parties is initiated. The CPM 414 receives a CALL_DISCONNECTED message from the originating PSTN party and sends a CLEAR_CALL message to both parties.
The state machine 601 transitions from the wait for connect state S5 to the voice state S6 along transition path T34 based on receiving connect indication from the called party. The connect indication is passed to the PSTN party. The CPM 414 receives the call connected message from the called party and sends the CONNECT_CALL message to the originating PSTN party. Transition from the wait for connect state S5 to the tone and announce state S8 occurs along transition path T35 when a time out occurs waiting for the connect. The called party is cleared from the call and the PSTN party is connected to a tone or announcement. The CPM 414 sends a CLEAR_CALL message to the called party. Finally, transition from the wait for connect state S5 to the wait for call cleared state S9 occurs along transition path T36 if the originating PSTN party disconnects from the call before the CPM 414 receives the connect indication from the called party. Clearing both parties is initiated. The CPM 414 receives a CALL_DISCONNECTED message from the originating PSTN party and sends the CLEAR_CALL message to both parties.
The state machine 601 transitions from the voice state S6 to the wait for call cleared state S9 along transition path T37 based on receiving a disconnect indication from either party. Call clearing is initiated for both parties. The CPM 414 receives the CALL_DISCONNECTED message from one of the parties. The CPM 414 then sends the CLEAR_CALL message to both parties.
The state machines 601 transitions from the tone and announce state S8 to the wait for call cleared state S9 along transition path T38 based on the originating mobile unit disconnect indication being received from the CPM 414. This can also occur as a result of a time out after the tone or announcement is played and a disconnect is not received. In this case, the CPM 414 initiates the disconnect with the mobile customer. The CPM 414 either receives a CALL_DISCONNECTED message and sends a CLEAR_CALL message or the CPM 414 receives a time out and sends the CLEAR_CALL message.
The state machine 601 transitions from the wait for call cleared state S9 to the idle state S1 along transition path T39 based on both parties confirming they are cleared from the call. In cases where there is no other party involved in the call the confirmation of the clearing of the party is implied by the fact that it never existed. Transition takes place when the call is completely cleared. The CPM 414 receives the CALL_CLEARED message from the originating mobile unit.
State machine 602 transitions from the wait for alert state S4 to the wait for connect state S5 along transition path T42 based on receiving an alerting indication from the terminating mobile customer. The alerting indication is passed to the calling party's side of the call. The CPM 414 receives a CALL_ALERTING message and sends a ALERT_CALL message to the calling party. Transition from the wait for alert state S4 to the voice state S6 occurs along transition path T43 based on receiving a connect indication from the called mobile unit. The protocol allows receipt of a receive connect message without receiving alerting. The CPM 414 receives a CALL_CONNECTED message from the called party and sends a CONNECT_CALL message to the calling party. Transition from the wait for alert state S4 to the wait for call cleared state S9 occurs along transition path T44 if the calling party disconnects from the call before the CPM 414 receives the alerting indication from the mobile customer. Clearing both parties is initiated. The CPM 414 receives a CALL_DISCONNECTED message from the calling party and sends a CLEAR_CALL message to both parties. In addition, in time out cases where the calling party is sent to an announcement, the called mobile unit will receive a CLEAR_CALL message from the CPM 414 and make the transition.
The state machine 602 transitions from the wait for connect state S5 to the voice state S6 along transition path T45 based on receiving a connect indication from the called mobile customer. The connect indication is passed to the calling party. The CPM 414 receives a CALL_CONNECTED message and sends a CONNECT_CALL message to the calling party. Transition from the wait for connect state S5 to the wait for call clear state S9 occurs along transition path T46 that the calling party disconnects from the call before the CPM 414 receives the connect indication from the mobile customer. Clearing both parties is initiated. The CPM 414 receives a CALL_DISCONNECTED message from the calling party. The CPM 414 then sends a CLEAR_CALL message to both parties. In addition, in time out cases where the calling party is sent to an announcement, the called mobile unit will receive a CLEAR_CALL message from the CPM 414 and make the transition.
The state machine 602 transitions from the voice state S6 to the wait for call cleared state S9 along transition path T47 based on receiving a disconnect indication from either party. Call clearing is initiated for both parties in the call. The CPM 414 receives a CALL_DISCONNECTED message from one of the parties and sends a CLEAR_CALL message to both parties. Transition from the voice state S6 to the wait for hand off confirm state S7 occurs along transition path T48 based on receiving a hand off request from the HOP subsystem 416 and having a B-channel to allocate to the target BTS for the hand off. The CPM 414 receives a hand off request message from the HOP 416 and sends a MAKE_CALL message with a hand off indication to establish the target channel. Transition from the voice state S6 back to the voice state S6 occurs along transition path T49 based on receiving a hand off request and not having a B-channel available to the BTS.
The state machine 602 transitions from the wait for hand off confirm state S7 to the voice state S6 along transition path T50 in one of three situations. First,. the CPM 414 receives a hand off confirmation from the serving BTS. This indicates the mobile unit has confirmed the hand off and is transitioning to the target BTS. Voice connection is switched to the target BTS at this point. The CPM 414 receives the HANDOFF CONFIRM message and sends the CLEAR_CALL message to the old serving channel. The voice path is connected to silence until the CALL_CONNECTED message is received on the target channel. Second, the CPM 414 receives a hand off confirmation with a negative indication (failed). This indicates that the mobile unit is not going to the target channel. A disconnect sequence to release the target channel is started and the CPM 414 sends a CLEAR_CALL message to the target channel. Third, the CPM 414 receives a failure of the channel set up with the target BTS. Transition to the voice state S6 in initiation or continuation of the disconnect sequence with the target BTS channel begins. The CPM 414 sends a CLEAR_CALL message to the target channel. Transition from the hand off confirm state S7 to the wait for call cleared state S9 occurs along transition path T51 based on receiving a disconnect from either party while a target BTS channel is being established for the hand off. The CPM 414 initiates clearing all resources and transition. The CPM 414 receives a CALL_DISCONNECTED message and sends a CLEAR_CALL message to all parties.
The state machine 602 transitions from the wait for call cleared state S9 to the idle state S1 along transition path T52 based on both parties confirming they are cleared from the call. In cases where there is no other party involved in the call, the confirmation of the clearing of this party is implied by the fact that a call never existed. This transition takes place when the call is completely cleared. The CPM 414 receives a CALL CLEARED message from the originating mobile unit.
The aircore platform 200 uses a common facility state machine for tracking the states and conditions of external connections or trunks. Two portions of the state are tracked. Each facility has a near end and a far end state. The near end state represents the internal aircore state for the facility. The far end state represents the state of the facility as reported by the connected system. This state machine tracking applies to all aircore interfaces including traffic channels and signaling channels. Like call processing, these maintenance procedures are generic in the aircore platform 200 regardless of the interface.
The state machine 604 transitions from the blocked state S11 to the unblocked pending state S12 over transition path T61 when either operator initiated or automatic recovery occurs which requests that the destination device handler bring the requested facility to an unblocked (in service) state. Transition from the blocked state S11 to the maintenance state S16 occurs along transition T62 when the facility is taken to a maintenance state to perform a maintenance or test operation. This transition is based on an operator action. Transition from the blocked state S11 to the not configured state S10 occurs along transition path T63 when the facility is disabled and/or removed from the system configuration.
The state machine 604 transitions from the unblocked pending state S12 to the unblocked state S13 over transition path T64 when a maintenance action is confirmed by the device handler. The facility is now in service. Transition from the unblocked pending state S12 to the blocked pending state S15 occurs over transition path T65 when a maintenance action is denied by the device handler or aborted by an operator action.
The state machine 604 transitions from the unblocked state S13 to the call processing state S14 along transition path T66 when the facility is allocated and will be used for call processing. Transition from the unblocked state S13 to the blocked pending state S15 occurs along transition path T67 when either operator initiated or automatic maintenance action from the device handler. Transition also occurs based on other internal action requests that the destination device handler bring the requested facility to a blocked (off-line) state.
The state machine 604 transitions from the call processing state S14 to the unblocked state S 13 over transition path T66 when the facility is released from being used in call processing. Transition from the call processing state S14 to the blocked pending state S15 occurs over transition path T69 when a maintenance action is either operator initiated or automatic from the device handler or other internal action requests that the device destination handler bring the requested facility to a blocked (off-line) state.
The state machine 604 transitions from the blocked pending state S15 to the blocked state S11 over transition path T70 when a maintenance action to take facility off-line is confirmed by the device handler. In a case where the device handler does not respond, the state may be reached by default of no response.
The state machine 604 transitions from the maintenance state S16 to the blocked state S 11 over transition path T71 when the maintenance action on the facility is completed. Operator action is required to transition the state back to the blocked state S11.
In addition to monitoring the near end state of the system facilities, the aircore platform 200 also maintains the far end state of facilities where applicable. The far end state represents the status of a facility at the connected system side. The far end state and near end state are used together to determine the overall operational state.
The state machine 605 transitions from the not configured state S17 to the blocked state S18 along transition path T80 when a facility is added to the configuration and enabled.
The state machine 605 transitions from the blocked state S18 to the unblocked state S19 over transition path T81 when an unblocking request is received from the far end. Confirmation is then sent back with an unblocking acknowledgment message. Transition from the blocked state S18 to the unknown state S20 occurs over transition path T82 when a discrepancy has been detected between the state reported by the far end and the stored far end state for the facility in aircore platform 200. The blocked state S18 transitions to the not configured state S17 over transition path T83 when the facility is disabled and/or removed from the system configuration.
The state machine 605 transitions from the unblocked state S19 to the blocked state S18 over transition path T84 when a blocking request message is received from the far end. Confirmation is sent back with the blocking acknowledgment message. Transition from the unblocked state S19 to the unknown state S20 occurs over transition path T85 when a discrepancy has been detected between the state reported by the far end and the stored far end state for the facility in the aircore platform 200.
The state machine 605 transitions from the unknown state S20 to the blocked state S18 over transition path T86 when the far end reports the state of the facility is blocked. Transition from the unknown state S20 to the unblocked state S19 occurs over transition path T87 when the far end reports the state of the facility is unblocked.
Hand off processing occurs when an active mobile unit transitions from a wireless region supported by one base station to a wireless region supported by a second base station. Hand off processing may also occur as a mobile unit transitions from one cell site within a wireless region to another sell site.
In
In the above description, the BTS receives a call from a mobile unit. The mobile unit may be a mobile telephone or a computer with a wireless modem, for example. In addition, the BSC/BTS may be replaced in some scenarios with a BSS or any other base station configuration.
During the course of a call, the mobile unit 112 transitions from point A in wireless region 480 to point B in wireless region 490. As a result of this transition, the BTS 1051 detects that-the signal level of the cell has dropped below the minimum to continue the call on the current channel. The BSC 1051 notifies the aircore platform 200, which begins hand off processing to establish a new cell site using the BSC 1052. When the new cell site is established, the aircore platform 200 tears down the previous link, thereby freeing up resources for other wireless customers.
In the scenario described above, the BSC 1051 and 1052 are both associated with the aircore platform 200 and certain hand off processing functions such as strength measurements are performed by the aircore platform 200. In a scenario involving a base transceiver station coupled to another mobile switching center, the base transceiver stations may perform these hand off processing functions.
As with other processing functions, the software architecture 300 of the aircore platform 200 is designed to use, as much as possible, generic processing for mobile unit hand offs. Thus, communications from the mobile units operating according to different protocols, e.g., GSM, TDMA, CDMA and AMPS are handled in a generic fashion, except where specific differences are required. The message flows associated with these protocols will be described later.
Referring to
As noted above, the HOP 416 preprocess is limited. After the hand off is in progress, the HOP 416 is no longer involved. Call processing uses the information provided by the HOP 416 to establish appropriate resources to complete the hand off. Call processing is responsible for the control of the remaining portion of the hand off.
For ISDN PRI+protocol hand offs, a message is sent to the aircore platform 200 from a base station to indicate that a mobile unit requires a hand off. The message specifies a protocol discriminator, a call reference (whose value is assigned in a SETUP message), a message type and a user identification. The aircore platform 200 in turn sends a hand off message request to the base station to request the base station measure a specific frequency. Finally, the base station sends a message to the aircore platform 200 to report the measured strength of the signal recorded on the base station.
ISDN PRI+ processing requires that the HOP 416 accept a hand off request from the DHI 503. Appropriate hand off related information, including call reference and RF channel, for example, is stored in the air core platform 200. The call reference is a number that is retrieved from the device handler thread data that is initially stored when call setup takes place. The RF channel is also retrieved from the device handler thread data. The air core platform 200 then sends measurement requests to appropriate boarder cells, sets a measurement request timer, and processes responses from the base station.
For DHD based protocol hand offs, the HOP 416 accepts a hand off request from one of the device handlers in the aircore platform 200. The appropriate hand off related information, including the call reference and RF channel, for example, are stored. The aircore platform 200 allocates a voice channel and sends measurement requests (SCANs) to the appropriate border cells, sets a measurement timer, and processes responses received from the base stations. For base stations not chosen for hand off, the aircore platform 200 initiates a channel release. If a suitable target cell is determined, the HOP 416 send the information to the CPM 414 for hand off.
For DHD based protocol hand off processing, a voice channel is assigned to each base station when the measurement process takes place. For example, if three base stations border the current wireless system and a measurement is to be taken, a voice channel is explicitly reserved in each base station. When the target base station is chosen, the voice channels in the other base stations must be released. To accomplish this release, the device handlers will allocate and release the appropriate channels for the measurements in accordance with commands sent by the HOP 416. If an allocation fails or there are no channels available in a base station, the device handlers send allocation failure events to the HOP 416, and the HOP 416 removes the base station from the candidate list for the current hand off.
IS-634 analog hand off processing requires the HOP 416 to send a measurement request to the AIM 430. The measurement request is then sent to appropriate border cells. The measurement requests are sent back to the requesting base station, and the information is forwarded to the HOP 416, for determination of the target cell.
The strength measurement message is transferred to cells that are listed in a Cell Identifier List parameter that is sent in the message. The HOP 416 stores the reference number against the requesting base station so the return messages find the correct base station. The reference number is timed in accordance with a base station timer for measurement collection. Responses received after timer expiration are discarded.
IS-634 TDMA hand off processing requires that the HOP 416 determine, based on information received from the base station in a hand off required message, the appropriate candidate cell. The HOP 416 then sends the appropriate information to the CPM 414. If the HOP 416 does not find a suitable target cell, the hand off is aborted.
IS-634 CDMA hand off processing requires the that HOP 416 determine an appropriate target cell, based on information received by the HOP 416 from the base station. The HOP 416 aborts the hand off if a suitable target cell is not determined.
GSM hand off processing requires that the HOP 416 use information received from the base station in the hand off required message to determine appropriate target cells. Once again, the HOP 416 aborts the hand off if a suitable target cell is not located.
For hand off processing from a multiple protocol base station, the message flows to the HOP 416 indicate the appropriate protocol of the mobile unit. For intersystem hand offs, messages related to the intersystem hand off preprocessing are sent from the HOP 416 to the IMH 432 and from the IMH 432. The border cell for measurement may be reached in the same manner as sending a message to multiple cell sites, except that the messages are intersystem. Therefore, the messages are sent to the IMH 432, or are received from the IMH 432 instead of the AIM 430 base station threads, DHI 503 or DHD 501.
Each cell supporting hand off in the aircore system 106 must have an associated list of border cells that are contacted in the event of a hand off attempt. These cells may have an identity that ties the cells to a link. These cells also have a protocol that the HOP 416 and the CPM 414 can use for determining message destination, supported protocols, and associated trunk groups, all of which may be used for new voice circuit allocations.
Because the aircore platform 200 is capable of processing a number of different protocol messages, some mechanism must be provided to determine the correct protocol. For messages received from a single-protocol BSS, the aircore platform 200 determines the correct protocol by reference to the protocol established for that particular BSS. The BSS is then associated with a signaling link mechanism that connects the BSS to the MSC 210. The link may be a SS-7 base, TCP/IP, LAPD, CAS and ATM, for example. The MSC 210 associates the type of protocol supplied by the BSS to any incoming messages received from the BSS. The actual protocol for the base station is determined when the link to the BTS or BSS is brought into service. One example is when the DH-7510 spawns a thread connecting the BSS to the MSC 210.
To ensure signaling messages used with the aircore platform 200 perform the same generic function across protocols, tables of messages may be used for different aircore platform functions. The table that follows shows some of the messages used for call processing in the aircore platform 200, and the accompanying messages according to specific protocols.
Calls may fall into one of several scenarios, including mobile originated (a mobile unit originates the call), mobile terminated (a call to a mobile unit) and PSTN originated, for example. Mobile originated calls may be received at the MSC and may be originated at another wireless system (intersystem). Mobile originated calls may also be received at a BTS and may then be passed to the MSC.
The aircore platform 200 initiates a location update sequence to register a mobile unit with the aircore platform 200. A customer profile is retrieved from the VLR 422 or HLR 424 as necessary. Once a customer profile is retrieved, the procedures for call setup across the protocols is generic. The use of a standard internal set of procedures allows the call processing of the aircore platform 200 to be independent of the type of interface used when establishing the call. The events that are specific to a particular protocol are handled by individual components of the AIM 430. A CALL_RECEIVED message announces arrival of an incoming call to the CPM 414. When this message is sent, the customer profile is included as well as the selected traffic channel. The CALL_RECEIVED message is sent based on proper profile retrieval, authentication and channel selection. A ROUTE_CALL message is sent to the CPM 414 as an indication that the call may be routed to the network since the traffic channel allocation to the originating mobile unit was successful. The ROUTE_CALL message is sent based on proper channel assignment for the call. An ALERT_CALL event is received from the CPM 414 as an indication that the far end of the call is in the alerting state. When this event is received, an alert message is sent to the mobile unit. A CONNECT_CALL event is received as an indication that the far end has connected the call. This indication is passed on to the mobile station in the connect message. The above four events are used between the CPM 414 and all other subsystems for call originations in the system.
Mobile termination also uses a set of generic events and/or messages. However, mobile termination is more of a challenge than mobile origination, since the current operating mode of a subscriber is not known prior to querying the relative databases. Similar to the mobile origination procedure and the location updating procedure, mobile termination is generic for all base station-type interfaces regardless of the protocol. The first query is to the HLR 424 via the IMH 432. Call processing sends an event to the IMH 432 requesting the current location of the customer and how to reach the customer. This request is sent without indication of the intrasystem protocol to use. The IMH 432 utilizes the MIN/MSISDN to HLR mapping table to determine a protocol and location of the HLR in the network.
For an internal HLR, the event is built and sent to the HLR 424 for processing. The protocol indicator is set based on the mapping table and a search is performed to locate the customer profile in the HLR database. If the customer profile is not found, the HLR 424 can optionally query the opposite side of the database in the case where the phone supports multiple modes and protocols. Once found, the VLR 422 is contacted (if not local) via standard procedures, such as ROUTE_REQUEST or PROVIDE_ROAMING_NUMBER.
For call tear down, the aircore platform 200 is based on the ISDN model for call release. This scenario is a three message sequence beginning with the requesting interface presenting notification of a disconnect. The notification is followed with a two event exchange with all involved subsystems for the call to command the release of the call and a return message to confirm the release. Low level processing in the aircore platform 200 ranges from changing the state of supervision bits to a two or three message exchange.
a shows the basic components of the aircore platform 200 that are involved in call processing in the above scenarios. As shown in
The components shown in
To ensure proper tracking of a call and the call's processing, whenever a call comes into the aircore platform 200, the AMH 431 receives a notification from the DH-7510. The AMH 431 accesses the decoder thread to decode the incoming message and to determine the appropriate action. If the message is the first message associated with a call, the AMH 431 allocates an area in the common memory 439, with an index to that area. For the duration of the call processing and the call, the designated area will be used as needed during the transaction processing. For example, the designated area includes the customer identification number and the base station identification.
The AMH 431 can spawn threads unique to base station protocols such as GSM or RDMA, TDMA, or AMPS. The AMH 431 may also spawn different threads depending on the manufacturer of a mobile unit.
The IMH 432 works in a fashion similar to that of the AMH 431 in that the IMH 432 spawns different threads, depending on the protocol required for the system (GSM or IS-41). When the IMH 432 deals with internal events, it shares the index and memory space used by the associated AMH 431. The IMH 432 pulls the message from the memory space of the common memory 439 created by the AMH 431, using the index created by the AMH 431.
The IMH 432 also processes events without the involvement of an AMH 431 thread. For these situations, the index and memory area are allocated by the IMH 432 thread. Memory and index allocation are coordinated within the AIM 430 subsystem.
The ARS 434 communicates with the VLR 422 via the IMH 432 thread to retrieve the requisite information to authenticate the subscriber and determine the validity of the transaction. The processing of the ARS 434 thread is made generic.
The PAG 435 thread tracks the outstanding page requests that are in process for the system. The PAG 435 thread receives incoming PAGE_MOBILE events from the CPM 414 when a mobile unit is to be paged on the aircore system. The PAG 435 thread determines the appropriate base station resources that should be sent the PAGE message. The PAGE_REQUEST message is then communicated to the appropriate AMH 431 threads for processing. In a multi-protocol environment, the decision on the base stations that receive the PAGE_REQUEST event is based on the last known technology that the mobile unit was operating on. If a mobile unit has GSM and CDMA capabilities, and the last activity for the mobile unit was on the GSM portion of the system, the PAG 435 thread will process this as a GSM based paging. If however, there is not a last known technology for the mobile unit, all technologies within the mobile unit's capabilities are paged. If the mobile unit referenced above did not have a last known technology, both the CDMA and the GSM based paging would take place. Once the PAGE_RESPONSE message is received, the AMH 431 thread decodes the message and sends the decoded data, via the common memory 439 to the PAG 435 thread where an association is made between the incoming PAGE_RESPONSE and the previous outgoing PAGE_REQUEST messages. Based on the responding base station, the appropriate technology can be determined. The determination of the proper protocol at this point is much like the determination used for mobile originated actions. The responding base station determines the protocol based on its capabilities that were known when the interface to the base station was brought into service.
Call processing also uses a common reference scheme to track all events associated with a call. This scheme is illustrated in
The authentication process may be initiated as a result of either a service request by a mobile unit or following the successful page of a mobile unit, but is performed primarily under the control of the VLR. The authentication process may be set up to be performed every time a mobile unit originates a call or when a call terminates at a mobile unit. Authentication may also take place whenever a location is updated for the mobile unit that is in a power on or an idle state. Finally, authentication may occur when a mobile unit registers by turning power on.
When a mobile unit originates a request for service, the mobile unit sends a message to the MSC, including the IMSI, a mobile identification number (MIN), or a temporary mobile subscriber identification (TMSI). The MSC may use the IMSI, the MIN, or the TMSI as the primary identification for the mobile unit. The IMSI is a permanent number that is assigned to every mobile unit. The MIN is a permanent number assigned to a mobile unit in the case where an IMSI is not used. (MIN is used in older AMPS based mobile units). The TMSI is assigned to a mobile unit only after an authentication, and has only local significance. If the TMSI is not recognized from the mobile unit, then a request is made to use the IMSI to continue the authentication. Upon successful authentication, a new TMSI (if used) is assigned to the mobile unit for future system access.
The authentication center is the source of data used in authentication. The authentication center does not store data for the customers. Instead, the authentication performs calculations using random numbers that are used in conjunction with data in the HLR to generate authentication data. When a customer first subscribes for service, the customer is assigned a secret key (Ki for GSM, A-key for CDMA, TDMA). The key and a random number supplied by the authentication are used by the authentication center to generate a result. The data calculations also yield values used for encryption keys. Depending on the protocol (GSM or IS-41 based), the authentication process can occur at different times during the establishment of communications between the mobile unit and the MSC 210. The similarities between the authentication procedures are found in the fact that they produce results that are used for both access verification and encryption. Although the security calculations the responsibility of the authentication center, the initiation of the actual collection/transmission of data and the comparison to determine the validity of the access is the responsibility of the ARS 434 thread.
When authentication is requested, the MSC sends the random number of the mobile unit. The mobile unit retrieves the Ki from its initialization memory and calculates a signed response (SRES) and an encryption key Kc. The mobile unit then stores the Kc and sends the SRES to the MSC. The ARS 434 identifies that the SRES sent by the mobile unit matches the SRES calculated by the ARS 434. If the values match, the value of Kc stored in the mobile unit is assumed to be correct. This authentication process does not require that the encryption key Kc or the initial key Ki be transmitted over the air, thereby ensuring security for the encryption process.
An example of the GSM authentication process is described with reference to
In step S16, the ARS 434 requests the IMSI for the mobile unit from the VLR 422. The process then proceeds to step S20. In step S20, the aircore platform 200 sends a message to the mobile unit indicating that the mobile unit is recognized. The process then moves to step S24.
In step S24, the mobile unit sends an authentication request message to the aircore platform 200. The process then moves to step S28. In step S28, the aircore platform 200 sends a random number to the mobile unit and the authentication center platform 200 sends a random number to the mobile unit and the authentication center calculates a signed response (SRES) based on the random number. The process then moves to step S30.
In step S30, the mobile unit, after receiving the random number, retrieves the case Ki from its initialization memory and calculates the SRES and the encryption key Kc. The process then moves to step S34. In step S34, the mobile unit stores the encryption key Kc and sends the SRES to the aircore platform 200. The process then moves to step S38. In step S38, the ARS 434 compares the SRES calculated by the mobile unit with that calculated authentication center 200. If the two SRESs match, the process moves to step S44. Otherwise the process moves to step S40. In step S40, the aircore platform 200 sends a message to the mobile unit indicating that the authentication failed.
In step S44, the ARS 434 completes the authentication process. The process then moves to step S48. In step S48, the ARS 434 determines if the mobile unit needs a TMSI. If the mobile unit needs a TMSI, the process moves to step S50. In step S50, the ARS 434 assigns a TMSI to the mobile unit and stores the value of the TMSI in the VLR 422. The process then moves to step S60. In step S60, the authentication process ends and call processing continues. The message flows associated with a failed authentication are shown in
The above-described authentication process is the GSM authentication procedure, which is one of several authentication procedures available to the MSC. Other authentication processes may vary according to the call processing protocol, for example.
The operation of the aircore platform 200 in a multi-protocol wireless environment is explained below with reference to
When the aircore platform 200 and base station controllers are first brought on line, they exchange messages to ensure that all circuits are properly aligned.
The aircore platform 200 may interface with other wireless systems. To set up a call, trunks are established between the two systems.
If a call existed on the trunk circuit, the message flows vary from that shown in
The trunk circuit may also be reset by action taken by the aircore platform 200.
In some cases, the BSC 105 will not return a reset circuit acknowledgment message before expiration of the T12 timer 734. Message flows in this situation are shown in
The aircore platform 200 maintains the current location of mobile customers using the VLR 422 and HLR 424. When a mobile customer enters the region serviced by the aircore platform 200, the mobile customer's mobile unit 112 will register with the aircore platform 200.
At the ARS 434, the update request triggers authentication processing if the mobile unit 112 operates according to IS-41 protocols. The update request is then passed (763, 764) to the VLR 422. The VLR 422 updates the active file for the mobile unit 112 and returns a VLR registration notification response to the BSC 105. When the VLR registration notification response reaches the ARS 434, GSM authentication and ciphering are completed, if the mobile unit 112 operates according to GSM protocols. The BSC 105 receives a LOCATION_UPDATING_ACCEPT 769 message from the DH-7510. The DH-7510 also provides a CLEAR_COMMAND 771 to the BSC 105. At this time, GSM TMSI reallocation occurs. The BSC 105 sends a CLEAR_COMPLETE 772 to the DH-7510, which in turn sends a DH-7_AMH_TRANSFER 773 to the AMH 431.
The mobile unit 112 was previously registered in the VLR 422. Therefore, the mobile unit's location is simply updated, and a VLR_IMH_REGNOT_RESPONSE 1410 is returned to the IMH 432. The IMH 432 sends an IMH_ARS_AUTHENTICATION_RESPONSE 1412 to the ARS 434, which in turn sends (1414) and authentication result to the AMH 431. The AMH 431 then sends (1416) a LOCATION_UPDATING_ACCEPT 1418 to the BSC 105. The aircore platform 200 may also perform GSM authentication and ciphering (1413) and TMSI reallocation (1419).
The AMH 431 sends (1421) a CLEAR_COMMAND 1420 to the BSC 105. The BSC 105 returns a CLEAR_COMPLETE 1422 to the DH-7510, which sends a DH7_AMH_TRANSFER 1423 to the AMH 431.
The BSC 105 transmits a CM_SERVICE_REQUEST 800 to the aircore platform 200 where the message is received and processed by the DH-7510. The DH-7510 establishes the SS-7 link and ensures proper message routing for the inbound message. The DH-7510 sends a DH-7_AMH_TRANSFER 801 to the appropriate AMH 431 (either the GSM or the IS 634 thread). The AMH 431 sends an AMH_ARS_CM_SERVICE_REQUEST 802 to the ARS 434.
The ARS 434 provides the appropriate calculations and processing to authenticate the given base station interface. The ARS 434 then sends an ARS_IMH_AUTHENTICATION_REQUEST 803 to the appropriate IMH 432. The IMH 432 sends an IMH_VLR_REGNOT_REQUEST 804 to the VLR 422 to notify the VLR 422 of the incoming call. The VLR 422 registers the mobile unit 112 as an active unit and then sends a VLR_IMH_REGNOT_RESPONSE 805 to the appropriate IMH 432. The IMH 432 sends an IMH_ARS_AUTHENTICATION_RESPONSE 806 to the ARS 434. If the mobile unit 112 uses a GSM protocol, GSM authentication and ciphering are completed at this point.
The ARS 434 sends an ARS_AMH_AUTHENTICATION_RESULT 807 to the AMH 431 and the appropriate AMH 431 sends an AMH_DH-7 TRANSFER 808 to the DH-7510. The DH-7510 sends a CM_SERVICE_ACCEPT 809 to the BSC 105 indicating to the BSC 105 that the mobile unit 112 is allowed to proceed with the call processing using the aircore platform 200.
During the above-described processing for a GSM protocol mobile unit, the ARS assigns the call a temporary mobile subscriber identity (TMSI). The TMSI is calculated based on an index in the VLR 422, the time of day, and the identity (IMSI) of the mobile unit 112. The TMSI provides additional security so that if the mobile call is tapped, the identity of the calling mobile party cannot be determined.
In FIGS. 48A-B, the mobile call process then proceeds to the call setup stage and the BSC 105 transmits a SETUP 810 to the DH-7510. The SETUP 810 includes the call number and an identity of the mobile customer. The DH-7510 transfers the information to the appropriate AMH 431 by sending a DH-7_AMH_TRANSFER 811. The AMH 431 then notifies the CPM 414 that a mobile originated call has been received by sending a CALL_RECEIVED 812. When the CPM 414 is notified that the mobile call has been received, the CPM 414 allocates a voice channel for a mobile call to carry the voice between the aircore platform 200 and the BSC 105. The mobile call is assigned a session number and each party of the mobile call is assigned an object of the mobile call.
The AMH 431, the DH-7510 and the BSC 105 communicate through a series of messages 813-821 that the call assignment request has been made and completed. During this processing, a T10 timer 818 is used to time out the call in the event a voice channel cannot be readily assigned. Once the channel assignment is complete and the radio and voice channels are assigned, the AMH 431 sends a ROUTE_CALL 822 to the CPM 414, informing the CPM 414 to proceed with the call because all of the incoming wireless communication requirements have been established. The CPM 414 determines, based on the number that is to be dialed out, what facility the call should go to and in what format. The CPM 414 sends a MAKE_CALL 823 to the appropriate device handler (DHD 501, DHI 503 or DH-7510) for a land-based or wired call. If the number to be dialed is for a mobile unit, the CPM 414 sends a location request (not shown) through the IMH 432 to the HLR 424 to find out where the called mobile customer is.
As shown in FIGS. 48A-B, the device handler returns a CALL_ALERTING 824 to the CPM 414 indicating an attempt to connect to the called party. The alerting message is then passed to the BSC 105 using an ALERT_CALL 825, AMH_DH-7_TRANSFER 826 and an ALERTING 827.
After the MAKE_CALL 823 is transmitted, the called party should return a signal to the appropriate device handler, which then sends a CALL_CONNECTED 828 to the CPM 414. The CPM 414 sends a CONNECT_CALL 829 to the AMH 431, which propagates as a CONNECT 831 to the BSC 105. At the same time, the AMH 431 sets a T313 timer 833 using a AMH_TMR_SET_TIMER (CONNECT) 832 to the TMR 437. The TMR 437 then waits for a connection acknowledgment that indicates the called party and the calling party are connected. In particular, the BSC 105 sends a CONNECT_ACK 834 to the DH-7510, and the connect acknowledgment is propagated (835) to the AMH 431. The AMH 431 then releases the T313 timer 833 by sending an AMH_TMR_RECS_TIMER (CONNECT) 836 to the TMR 437. At this point, the mobile originated call is connected.
As shown in
During the time period that the mobile unit 112 is being paged and the authentication and registration notification messages are being passed, authentication and ciphering, may occur. In particular, for IS-41 protocol systems, authentication may occur at block 848. For GSM protocol systems, GSM authentication, ciphering and TSMI reallocation may occur at block 859.
As shown in
Once the RELEASE or RELEASE_COMPLETE 938 is received, the AMH 431 sends a CALL_CLEARED 944 to the CPM 414, and a RELEASE_COMPLETE 943 is sent to the BSC 105. The DH-7510 then sends a CLEAR_COMMAND 946 to the BSC 105, and an internal timer 948 is set in the TMR 437. The BSC 105 returns a CLEAR_COMPLETE 949, and the internal timer 948 is released.
Occasionally, a base station may not return a response to the MSC 210 within the timeout specified. The message flows for this situation is shown in
The BSC 105 then sends a RELEASE (GSM) or RELEASE_COMPLETE (IS-634) 1004, which is transferred (1005) to the AMH 431. The AMH 431 releases (1006) the timer 936, sends a CALL_CLEARED 1007 to the CPM 414, and sends (1008) a RELEASE_COMPLETE 1009 (GSM) to the BSC 105. The AMH 431 then sends (1010) a CLEAR_COMMAND 1011 to the BSC 105 and sets (1012) an internal timer 1013. The BSC 105 returns a CLEAR_COMPLETE 1014, which is transferred (1015) to the AMH 431, which then releases (1016) the internal timer 1013.
In
The BSC 105 returns an ASSIGNMENT_FAILURE 1109, indicating, for example, that the BSC 105 and the MSC 210 do not agree as to the state of the channel allocated between the BTS and the MSC 210. The AMH 431 sends a DISCONNECT_CALL 1112 to the CPM 414, which returns a CLEAR_CALL 1115. Call tear down then proceeds in the same manner as shown in
FIGS. 67A-B show the message flows when an incoming call is received at the MSC 210, a location request is sent to the HLR 424, and the HLR 424 indicates that the mobile unit 112 is operating locally. The DHI 501 sends a CALL_RECEIVED 1536 to the CPM 414. The CPM 414 sends a CPM_IMH_LOCATE_SUBSCRIBER 1537 to the IMH 432. The IMH 432 then sends an IMH_HLR_LOCATION_REQUEST 1538 to the HLR 424. The HLR 424 returns a response (1539) indicating that the mobile unit 112 is homed on the local system and is operating locally. The IMH 432 then provides an IMH_CPM_SUBSCRIBER_LOCATION 1540 to the CPM 414 indicating that the mobile unit 112 is operating locally. The remaining message flows 1541-1595 are similar to those shown in
FIGS. 71A-B show the message flows associated with call processing for a mobile unit 112 homed on an external HLR but operating within the wireless network controlled by the aircore platform 200. In this scenario, the mobile unit 112 receives a call that goes initially to the MSC of the external wireless network. The call is then routed to the wireless network controlled by the aircore platform 200. The MSC 210 receives an invoke message 1751 from the external HLR. The IMH 432 then sends a route request 1752 to the VLR 422. Because the mobile unit 112 is roaming, it will be registered on the VLR 422. The VLR 422 returns a route request response 1753 to the IMH 432, which sends a roaming number 1754 to the external HLR indicating the location of the HLR 424. The remaining message flows are similar to those in
Wireless customers can pay for their services in a variety of ways including an annual subscription and on a monthly basis, for example. In both these cases, the customer pays for the call actually made (air time) plus a periodic base fee. Customers can also pay for wireless services in advance through a prepaid system.
The distributor can be viewed much like a class of service is viewed in routing. The distributor is a classification of rating service that is assigned to certain groups of subscribers in the aircore system. A distributor could be a point of sale, a corporate customer, or an operator classification for a group of customers. Within each distributor, there can be up to ten different rate plans configured. A rate plan establishes the air time rates for the plan. The combination of distributor and rate plan provide a comprehensive rating schedule for a variety of combinations within the system.
Within each customer profile 460 (see
A third part of the prepaid system is bill generation that is integrated as part of a call record management subsystem. The set of functions available allows the operator the ability to create a range of reports based on operator defined billing cycles.
In operation, when a customer who has elected a prepaid plan uses the aircore prepaid rating system 2100, the customer profile 460 is pulled from the HLR 424 to determine the applicable distributor rate plan. The information from the customer profile 460 is passed to the CPM 414. The CPM 414 determines if the customer has an account balance sufficient to pay for the call. The CPM 414 also determines the least cost route for the call, including defining the land charge and the air time charge associated with the destination and time of day of the call to come up with the per minute charge. This value is then used to set a timer that will indicate when the customer's account reaches a balance that corresponds to two minutes left on a call.
Once the prepaid call has begun, the timer begins a time out process and when the two minute position is reached, a tone warning is provided to the customer indicating that the customer is running out of money. No further warnings are provided, and once the next two minutes have expired, the TMR 437 sends a message to the CPM 414 indicating that the time has expired. The CPM 414 then initiates a call cutoff, terminating the prepaid call. In this way, the customer cannot overrun the prepaid account balance At the completion of the call, the billing system 260 calculates how much the call actually cost for the customer and updates the amount in the HLR 424. A call detail record (CDR) is prepared that provides the detailed information regarding the call so that the billing system 260 can determine the remaining account balance. The bill generated by the billing system 260 is then used to update the customer profile 460.
In the wireless environment shown in
The air core platform 200 solves the problem of wireless customer location by creating an identification number based on the current position of the customer in the wireless environment. The aircore platform 200 uses the identification number as the dialed number to route the call to an emergency service center. The identification number includes the position data available from the BSS where the call origination is received. The location information received from the BSS is coded in hexadecimal. The aircore platform 200 converts the hexadecimal number to binary coded decimal (BCD) and uses this number as an indication of the customer's location.
Following is an example of the data conversion used by the aircore platform 200 to convert the location data received from the BSS 110 to a dialed number for emergency callers. The data received could be as shown in the following table in which the BSS 110 receives the location of a customer with cell ID granularity. The MSC 210 converts the data as shown in the table.
The numbers produced from the conversion yields a unique 12 digit number identifying that cell in the system.
The aircore platform 200 may incorporate the concept of customer groups to define the routing translations (classes of service) for the wireless network. A customer group is a table of number ranges that is used to determine if a call is allowable. The aircore platform 200 searches the list of entries in the table. If a match is found, the call is allowed to proceed. If a match is not found, the call is not allowed to proceed in the wireless network.
The aircore platform 200 allows for the definition of up to 256 different customer groups. Each customer in the system, and each trunk, is associated with a customer group when a customer group is initially configured. The customer group that is used for a particular call is determined based on: 1) the customer placing the call; and 2) the trunk that received the call.
For emergency calls, a specific customer group is used to provide the routing translations. For emergency calling, the aircore platform 200 uses emergency translations.
In step S150, the aircore platform 200 checks the portion of the customer group associated with emergency calls. The process then moves to step S160. In step S160, the aircore platform 200 determines if the dial-up number from step S140 is in the customer group. If the dial-up number is not in the customer group, the process proceeds to step S170, and the call is routed to a default emergency center. If the dial-up number is the customer group, the process moves to step S180. In step S180, the aircore platform 200 changes the dial-up number to an emergency center number. The process then moves to step S190. In step S190, the call is routed to the emergency center. The process then moves to step S200 and ends.
The aircore platform 200 can also support other communication features. For example, the aircore platform 200 may be used with a long-distance resale system.
The aircore platform 200 can also be used to provide microcellular wireless networks in combination with land-line local networks or private branch exchanges (PBX). There are several standards including computer supported telecommunications applications (CTSA), windows telephony application programming interface (TAPI), and telephony services application programming interface (TSAPI), for example, that allow a PBX to incorporate equipment and features from outside vendors. These protocols also allow for call control and routing decisions to be made by a system that is external to the PBX. The external system can be used to allow for connectivity, feature processing, and seamless number management that allows customers to use both the PBX infrastructure and a separate wireless system using one telephone number and one customer feature profile.
The aircore platform 200 provides an external control function to integrate a wireless system, or microcell, and a PBX using the technique of third party call control.
A standard PBX interface control element (SPICE) may be added to the aircore platform 200 to provide an interface to a PBX. The SPICE includes software that can operate with the control protocols of different PBXs. The SPICE interfaces internally with the HLR 424 and the SCR 314 (see
The SPICE provides third party call control messaging needed to provide the notice of an incoming call, decide how to handle the incoming call and send the appropriate commands to route the incoming call to the correct destination. The SPICE may be co-located with the HLR 424, and requires the basic retrieval capabilities of the HLR 424. The customer profile information in the HLR 424 allows the SPICE to determine how to handle a call. For example, the customer profile may indicate the operational modes for the customer's wired and wireless telephone handsets.
Customers whose PBX incorporates wireless features, including the SPICE, noted above, may designate one or more operational modes for their telephone handsets. Customers may elect to have incoming call terminate at their desktop telephone first. If the desktop telephone is not available, the call may be routed, via a MSRN, to the customer's mobile unit. Second, the call may be first routed to the mobile unit. If the mobile unit is not available, the call may be routed to the desktop telephone. Third, the call may be routed to the customer's mobile unit only. Fourth, the call may be routed to the customer's desktop telephone only. Fifth, the call may be routed to the mobile unit only when operating in the mobile unit's 112 home area.
One advantage of this arrangement is that the HLR 424 may house the full suite of call forwarding features, voice mail and announcements. The customer's profile determines how the call is handled.
If the customer profile indicates that incoming calls are first routed to a mobile unit, the HLR 424 will locate the customer in the telecommunications network and then have an MSRN allocated to deliver the call to the switch where the customer's mobile unit is residing.
If the customer profile lists the desktop telephone as the first call delivery option, the SPICE determines that the call should be terminated to the desktop telephone. If the customer answers the desktop telephone, SPICE's involvement in the call ends. However, if the customer does not answer at the desktop telephone, SPICE processing can determine the appropriate handling for the call. The call could be routed to the mobile unit, voice mail, or an announcement, for example.
In operation a customer using both a wired telephone 2212 and a mobile unit 2213 may specify, by entry in the database 2205, for example, which of the wired telephone 2211 and mobile unit 2213 should receive a call. Thus, when a call comes in to a particular customer, the aircore platform 2200 will determine which of the wired telephone 2212 and the mobile unit 2213 to connect to first. The aircore platform 2200 can be further instructed that when the mobile unit 2213 is active, or in a power-on state, all calls should first be routed to the mobile unit 2213. If the mobile unit 2213 does not respond after a certain number of rings, the incoming call can then be routed to the wired telephone 2212. The microcellular network 2201 may also be used for visitors to the building 2210. In this case, a visitor having a mobile unit may have that mobile unit initiate a registration notification when the mobile unit enters the microcellular network 2201. Then, any incoming calls to the visitor's mobile unit will be routed through the aircore platform 2200 to the microcellular network 2201.
When a customer of the building 2210 transits from the microcellular network 2201 to the external wireless network 2220, a location update is performed that deletes the customer's location in a VLR of the microcellular network 2201, and initiates a registration notification with the mobile switching center of the external wireless network 2220. In this way, the exact location of the mobile unit 2213 may be maintained so that calls to a particular customer may be routed in accordance with the customer's routing plan contained in a VLR/HLR or the database 2205.
In the arrangement described above, a particular mobile unit 2213 and wired telephone 2212 may share a common telephone number. In an alternate arrangement, the wired telephone 2212 and mobile unit 2213 may have different telephone numbers.
A microcellular network, such as the microcellular network 2201, may also be adapted for use in large buildings, such as indoor stadiums and convention centers. A mobile switching center such as the aircore platform 2200 may incorporate multi-protocol processing and base stations so that visitors to the convention center may use mobile units inside the convention center regardless of the protocol established for the mobile unit. The aircore platform 2200 may be configured to charge different rates for different visitors to the convention center. People who work in the convention center may be charged yet another rate for using mobile units in the convention center.
The aircore platform 200 may incorporate fault resilient features, which may be particularly desirable for distributed wireless systems. The fault resilient hardware architecture of the aircore platform 200 may be logically split into three layers as shown in
An input/output (I/O) processor layer 2320 includes I/O processors 2321 and 2322. The I/O processors 2321 and 2322 are connected by an appropriate communications medium such as a 100 Mb ethernet 2323. The I/O processors 2321 and 2322 are both connected to each of the computing elements 2311 and 2322 by an appropriate communications medium such as a 40 Mb fiber optic cable 2314.
A telephony interface processor (TIP) layer 2340 includes a plurality of telephony interface processors (TIPs) 23411-2341n. The TIPs 23411-2341n are connected by a dual rail ethernet 2343. The ethernet 2343 is also used to connect the TIPs 23411-2341n with the I/O processors 2321 and 2322.
The three layers described above comprise the three main processing areas of the aircore platform 200. Communications between the three layers provides for a variety of physical layouts and geographical configurations. For example, the fiber optic connection between the computing element layer 2310 and the I/O processor layer 2320 can be geographically separated by 1.5 kilometers or more. The TIPs 23411-2341n can be spread geographically and remotely controlled via a centralized computing element layer and I/O processor layer set. Thus, the aircore platform architecture 2300 can be adapted to provide a large distributed wireless network with centralized control or the layers can be co-located.
The aircore platform 2400 may provide for local network connectivity and dial-out access using a standard 10base-T or 100base-T Ethernet connection for LAN connecting options and a 56k dial-up modem for remote access dial-in capability. Other advanced telecommunications connection devices may also be used with the aircore platform 2400. Standard telephony boards may be used with the aircore platform 2400 for T-1/E-1 and ATM communications. For example, the telephony boards 2470-2485 include TH-B1240 OCTAL T-1/E-1 interface boards for common channel signaling based T-1s. TH-BD96 quad T-1 interfaces are provided for channel associated signaling using T-1s. TH-BD120 quad E-1 interface devises are used for channel associated signaling using E-1s. TH-BV30 voice I/O provides 30 ports of I/O and signal processing. TH-BC64 provides conferencing capabilities. A TH-BSS7 board provides both DS0 and V.35 connections. Each of the telephony boards 2470-2485 provides 4-6 trunk links. Also connected to the aircore platform 2400 are operator interface devices including a monitor 2491, a keyboard 2492, and a mouse 2493.
The switching architecture of the aircore platform 2300 or 2400 may be the H.110/H.100 based standard, for example. The H.110 and the H.100 switching matrix is a standard Application Specific Integrated Circuit (ASIC) that resides on each board in the system. This means that rather than shipping all interface channels to a single point in the system to make and break the connections for switching, each board controls its own switching. The H.110 switching matrix uses a J4 connector or connects to the other components of the aircore platform 2400 using a J4 connector on a back plane of the chassis 2410. There may be a total of 32 streams running at speeds of 8 MHz. Each stream provides 128 channels of 64 kbps. Total bus capacity ranges from 512 to 4096 channels.
The H.100 switching matrix uses a ribbon cable to connect to boards together to provide the actual streams of digitized channels. There are a total of 32 streams running at speeds of 2 MHz to 8 MHz. Each stream provides from 32 to 129 channels of 64 kbps. The total bus capacity ranges from 512 to 4096 channels.
Other switching matrices may also be used with the aircore platform 2400.
The capacity of the aircore platform 2400 may be extended. Multi-chassis configurations can be provided to claim the switch matrices together. This may be accomplished using several standard multi-chassis interconnection interfaces or by connecting the chassis via E-1 or T-1 connections. The addition of ATM allows for a standard extension mechanism to the switch matrix between chassis.
Other hardware configurations besides the two embodiments described above are available with the aircore platform 200.
The aircore platform 200 incorporates graphical user interfaces (GUIs) to aid operator manipulation of system data.
GSM subscriber profiles are configured as per the GSM feature set. CDMA subscriber profiles are configured as per the CDMA (IS-664) feature set. Multi-mode subscriber profiles may be configured for multiple air interfaces. Multi-mode subscribers use the common feature set between the GSM, CDMA, TDMA and AMPS protocols. All of the above subscriber profiles can incorporate prepaid feature functionality.
Prepaid subscriber profiles are configured as strictly prepaid in the aircore system. Prepaid subscribers may use wireless or wireless prepaid features.
Subscriber profiles for other wireless protocols are similar to that described above for a GSM subscriber.
The aircore system includes graphical user interfaces that allow the operator to perform maintenance actions on individual trunks in the system. When this option is chosen in an administration pull down menu (not shown), the operator first selects the appropriate span and channels, then executes maintenance commands as required.
Trunk group configuration is part of the system configuration of the aircore GUI. A trunk group is a logical assignment of characteristics to physical resources in the aircore system. Trunk groups are used to inform both the low level and high level software in the aircore system of how to process a call. Trunk groups also allow the operator to partition the system for specialized use by groups or subscribers.
The aircore system generates call detail records (CDRs) to track system resource usage and call traffic for customers. Each CDR contains information pertaining to a particular part of a call. A CDR is a record created whenever there is call activity on the aircore system. The CDR manager is a subsystem in the aircore system responsible for generating and storing this information. The CDR manager provides the operator with a complete set of options for viewing data both real time and archive, monitoring traffic on the aircore system, and retrieving the data for off-system archival.
The aircore platform 200 can provide, as an option, fully integrated prepaid functionality. This functionality can span across both wireless and wireline applications providing a seamless prepaid system. Furthermore, this functionality is provided as an integrated software feature, saving the cost and maintenance of a separate off-board prepaid system. The prepaid system feature package provides full functional real time debiting for aircore customers complete with a full billing package and a comprehensive rating schedule.
The billing window 3504 (see
The aircore system provides for the configuration of up to twenty different language files for assignment to customers or for announcements.
While this invention has been described in conjunction with the specific embodiment outlined above, it is evident that many alterations, modifications and variations will be apparent to those skilled in the art. Accordingly, the preferred embodiments of the invention as set forth above are intended to be illustrative, not limiting. Various changes may be made without departing from the spirit and scope of the invention as defined in the following claims.
This Application is a Continuation of U.S. application Ser. No. 09/245,292, filed Feb. 5, 1999, entitled “MULTI-PROTOCOL WIRELESS COMMUNICATION APPARATUS AND METHOD”, which is hereby incorporated in its entirety by reference herein.
Number | Date | Country | |
---|---|---|---|
Parent | 09245292 | Feb 1999 | US |
Child | 11103603 | Apr 2005 | US |