WO2005019998A2 - Subscriber management and accounting using event detection in a wireless device - Google Patents

Subscriber management and accounting using event detection in a wireless device Download PDF

Info

Publication number
WO2005019998A2
WO2005019998A2 PCT/US2004/026123 US2004026123W WO2005019998A2 WO 2005019998 A2 WO2005019998 A2 WO 2005019998A2 US 2004026123 W US2004026123 W US 2004026123W WO 2005019998 A2 WO2005019998 A2 WO 2005019998A2
Authority
WO
WIPO (PCT)
Prior art keywords
call
wireless device
communication
event
response
Prior art date
Application number
PCT/US2004/026123
Other languages
French (fr)
Other versions
WO2005019998A3 (en
Inventor
Thomas Erskine
Luther Rudisill
Kenneth Sonberg
Original Assignee
Boston Communications Group, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Boston Communications Group, Inc. filed Critical Boston Communications Group, Inc.
Priority to EP04780892A priority Critical patent/EP1660977A2/en
Priority to MXPA06001678A priority patent/MXPA06001678A/en
Publication of WO2005019998A2 publication Critical patent/WO2005019998A2/en
Publication of WO2005019998A3 publication Critical patent/WO2005019998A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/24Accounting or billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1453Methods or systems for payment or settlement of the charges for data transmission involving significant interaction with the data transmission network
    • H04L12/1457Methods or systems for payment or settlement of the charges for data transmission involving significant interaction with the data transmission network using an account
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security

Definitions

  • the present invention pertains to a system and method for controlling the operation of a wireless device in a communication network and more specifically to a system and method that controls the operation of the wireless device using controls disposed within the wireless device that are cooperative with a subscriber management platform or server.
  • Wireless communication networks have been widely deployed for over a decade. Over time, telecommunications networks have evolved from switch-based networks, in which switches included both data and control plane capability, to networks known as Intelligent Networks (IN) , in which the control plane is separated from the data plane. In an IN, the intelligence and control functions are removed from the switches and reside in SS7 control elements, such as Service Switching Points, Signal Transfer Points and Service Control Points, as known in the art.
  • SS7 control elements such as Service Switching Points, Signal Transfer Points and Service Control Points, as known in the art.
  • a call detail record is generated at the serving switch at the conclusion of each call. The call detail records are forwarded to a central database before being communicated to the serving or billing carrier or accounting service. As
  • a system and method for controlling the behavior of a wireless device within a wireless communications network is disclosed.
  • SIM subscriber identity module
  • SIMapp application program
  • RTSM real-time subscriber management
  • the RTSM platform comprises one or more servers, databases and control software that are employed for wireless service accounting and control functions.
  • the RTSM platform has connectivity to a wireless operator's SS7 network via a service control point.
  • the SIMapp application executing on a processor within the SIM performs functions in conjunction with the RTSM platform that permit real-time subscriber management and accounting in a way that minimizes implementation and/or integration requirements on the wireless operator' s existing infrastructure.
  • the SIM is communicably coupled to the handset logic of the mobile equipment (ME) via a SIM Application Toolkit Application Programming Interface (SAT API), which is typically supplied by the supplier of the mobile equipment.
  • SAT API SIM Application Toolkit Application Programming Interface
  • the SIMapp application is therefore capable of communicating with the handset logic to control the handset, obtain notifications of call events and to issue commands to the handset logic through the SAT API to initiate wireless communications between the wireless device and the RTSM platform via a data messaging protocol, such as a data bearer channel communication protocol.
  • FIG. 1 is a block diagram of a system operative in accordance with the present invention
  • Fig. 2 is a diagram depicting an example of request and response messaging employed in the system of Fig. 1
  • Fig. 3 is block diagram depicting message flow in the system of Fig. 1 between the SIMapp and the RTSM platform
  • Fig. 4 is a diagram depicting the message flow employed in the registration of the wireless device depicted in Fig. 1
  • Fig. 5 is a diagram depicting the message flow in the system of Fig. 1 in response to a call for which a sufficient balance exists in the RTSM platform for billing through call completion
  • Fig. 6 is a diagram depicting the message flow in the system of Fig.
  • Fig. 7 is a diagram depicting message flow in the system of Fig. 1 to update the code image of the SIMapp within the wireless device
  • Fig. 8 is a flow diagram depicting countdown, timer operation
  • Fig. 9 is a flow diagram depicting the operation of the SIMapp and countdown timer in response to Call Control, Call Connect and Call Disconnect events.
  • Predetermined events are detected within the wireless device and specific information pertaining to such events is stored.
  • the stored information or information derived from the stored information is communicated to the RTSM platform, either in response to the occurrence of the event that caused the information to be stored or, alternatively, at the end of a call.
  • the information communicated to the RTSM platform is communicated via a data message sent over, for example, a data bearer communication channel.
  • the information communicated includes counter values and associated information that is employed by the RTSM platform to determine the time, date and duration of a call.
  • stored information need not be conveyed by the data message in all embodiments and that, in some systems, information indic_atirxg_.th.at a predetermined event has occurred may be conveyed to the RTSM platform via the data message.
  • the information pertaining to qalls and/or events detected by the SIMapp on the wireless device are communicated to the RTSM platform and employed by the RTSM platform for call accounting and subscriber management functions, as subsequently discussed in greater detail.
  • the, SIMapp sends a Service Start Invoke message to the RTSM platform when a service that requires pre-authorization and that involves the wireless device is initiated.
  • the RTSM platform maintains call tariff data, available balance amounts for prepaid subscriber accounts and information defining how calls involving specific subscribers are to be accounted for and processed.
  • the presently disclosed system 2 includes a wireless device 4 in communication with the RTSM platform 6 via a communications network 8.
  • the wireless device 4 includes handset logic 10, a subscriber identity module (SIM) 12 and an interface 14 between the SIM 12 and the handset logic 10.
  • SIM 12 is removably inserted into the wireless device 4 housing.
  • the SIM 12 includes a processor 22 and a memory 20.
  • the processor 22 within the SIM 12 executes an application program 16, referred to herein as the SIMapp, that is- stored within the memory 20 of the SIM 12.
  • the RTSM platform 6 comprises one or more servers that each include at least one processor and at least one memory.
  • the RTSM platform 6 further includes a database (DB) 50a.
  • the RTSM platform is operative as a real-time transaction processing system that interacts with the SIMapp 16 to perform call accounting and subscriber management functions, as subsequently discussed in greater detail.
  • the SIM 12 includes a memory 20 and a SIM processor 22 that executes the SIM application (SIMapp) 16 resident in the SIM memory 20.
  • the memory 20 includes a re-writable portion, a nonvolatile RAM portion and, additionally, may include volatile RAM.
  • a handset processor 32 is operative to execute software code and/or firmware stored within a handset memory 30.
  • the handset logic 10 further includes a plurality of timers 34 (identified as timers 34a - 34n) and 35, which are used to perform timing functions used by the SIMapp 16. In one embodiment of the presently disclosed system, the timers 34a - 34n and 35 may be loaded and read under the command of the SIMapp 16.
  • a radio-frequency (RF) modem 36 is coupled between the handset logic 10 and an antenna 38.
  • the RF modem 36 receives RF signals and converts the received RF signals to digital signals that are conveyed to the handset logic 10. Additionally, the RF modem 36 converts digital signals to RF signals that are transmitted from the handset logic 10 via the antenna 38.
  • the interface 14 between the SIM 12 and the handset logic 10 includes an Application Programming Interface known as the SIM Application Toolkit Application Programming Interface (SAT API), which is typically supplied by the supplier of the mobile equipment.
  • SAT API enables the SIMapp 16 to command the handset logic 10 to initiate communications with the RTSM platform 6 and to load and read the timers 34a - 34n and 35. Additionally, the SAT API allows information that is sent from the RTSM platform 6 and received by the handset logic 10 to be passed via the SAT API to the SIMapp 16.
  • the SIMapp 16 in cooperation with the RTSM platform 6, is able to control the behavior of the wireless device 4.
  • the wireless device 4 communicates with a wireless operator's network, which includes a Base Station Controller (BSC) 40, a Mobile Switching Center (MSC) 42, and a Home Lojoation Register (HLR) 44.
  • BSC Base Station Controller
  • MSC Mobile Switching Center
  • HLR Home Lojoation Register
  • These network elements are communicably coupled by the wireless operator's network or control channel 8, such as an SS7 telecommunications network.
  • the RTSM platform 6 is coupled to the operator' s control channel via a Service Control Point (SCP) 48 where the control channel comprises an SS7 network.
  • SCP Service Control Point
  • the SIMapp 16 provides the ability to: a) conditionally restrict the wireless device 4 from initiating mobile originated (MO) voice calls; b) conditionally restrict the wireless device 4 from receiving mobile terminated (MT) voice calls; c) conditionally send call detail information to the RTSM platform 6 when a voice call is disconnected; and d) conditionally send subscriber location information to the RTSM platform 6 on power-up and when the location of the handset 4 changes.
  • the SIMapp 16 within the wireless device 4 initiates most of the communications between the SIMapp 16 and the RTSM platform 6.
  • Communication between the SIMapp 16 and the RTSM platform 6 occurs through the exchange of data messages.
  • communication between the SIMapp 16 and the RTSM platform 6 may be via the Short Messaging Service (SMS) using the Short Message Peer-to-peer Protocol (SMPP) , SMS via Mobile Application Part (MAP) , Unstructured Supplemental Services Data (USSD) via Transaction Capability User Part (TCAP) or any other suitable over-the-air data messaging protocol. Exemplary protocols are discussed further below.
  • SMS Short Messaging Service
  • MAP Mobile Application Part
  • USSD Unstructured Supplemental Services Data
  • TCAP Transaction Capability User Part
  • the SIMapp 16 uses the SEND SS proactive command from the SAT API to command the handset logic 10 to generate an SMS-SUBMIT into the serving network.
  • the SMS message is routed to the appropriate serving short message service center (SMSC) and is routed via a standard protocol for SMS messaging known as Simple
  • SMPP Mail Point to Point
  • Gateway in communication with the RTSM platform 6 communicates with the SDP 50 of the RTSM platform 6 (see Fig. 1), which generates a response.
  • the response is forwarded via SMPP and eventually arrives at the appropriate serving SMSC.
  • DELIVER is received by the handset logic 10 and routed to the
  • SIMapp 16 completing the transaction.
  • This scenario uses the wireless network's existing SMS infrastructure.
  • the SMS-SUBMIT bypasses the operator's existing SMS infrastructure and is sent directly over the SS7 network to the RTSM platform 6.
  • the RTSM platform 6 formats a response, and sends the appropriate MAP transaction so the serving MSC 42 delivers the response as an SMS-DELIVER to the wireless device 4.
  • the RTSM platform.6 performs a subset of the functions of an SMSC for both the requests and responses, reducing both the network latency and operational cost.
  • the SMSC the within the RTSM platform 6 queries an HLR to determine the servicing MSC 42, so the MAP transaction can be correctly addressed.
  • the SMSC need not implement a store-and-forward capability.
  • the carrier assigns the RTSM platform 6 a E.164 number, so SMS messages can be addressed to the platform.
  • the carrier provisions this number into the SIM 12, so the SIMapp 16 can address SMS messages to the RTSM platform 6.
  • the carrier assigns an SMSC address to the SMSC within _the RTSM platforra_£- ⁇ -The messaging between the RTSM platform 6 and the SIMapp 16 may be via one or more intermediate SMSCs within the network, if the network latency and operational concerns are not significant.
  • USSD via MAP USSD provides an alternative to SMS for messaging between the SIMapp 16 and the RTSM platform 6.
  • USSD is lightweight in nature, making it a desirable messaging protocol where supported.
  • USSD is employed to communicate from the SIMapp 16 to the RTSM platform 6 and SMS is employed for the reverse path.
  • SIMapp 16 control messages are transported to and from the RTSM platform 6 via a GPRS data session initiated by the SIMapp 16.
  • FIG. 2 illustrates the basic communication technique in the circumstance in which data messaging is performed using an SMS bearer channel communication service.
  • the SIMapp 16 instructs the handset logic 10 via the SAT API 14 to generate an SMS-SUBMIT message containing the message data.
  • the MAP messaging for SMS is directed to the RTSM platform 6 by the MSC. SMS messages are addressed to phone numbers.
  • the RTSM is assigned a E.164 number to facilitate addressing SMS messages to the RTSM. SMS messages that are destined to the SIMapp and are delivered to the wireless device are passed to the SIMapp, rather than being displayed on the screen of the wireless_ device, _in a well-known manner MAP
  • RTSM SIMapp Interface 49 for communicating with the SIM 12.
  • the RTSM SIMapp Interface 49 initiates an SMS-DELIVER message containing the response data and addresses it so that it is returned to the SIMapp 16 via the MSC 42.
  • the SIMapp 16 and RTSM 6 communicate using a request/response model. Each request is processed by the receiving system and a response is generated and returned to the initiator of the request. Requests initiated by the SIMapp 16 correspond to events that occur on the handset and generally correspond to the concept of triggers in an intelligent network (IN) system. Specific events may be detected as predetermined signals or messages within the wireless device.
  • I intelligent network
  • the RTSM platform 6 returns responses to these triggered events containing one or more directives that instruct the SIMapp 16 as to what action should be performed.
  • the RTSM platform 6 can initiate the transmission of directives to the SIMapp 16 independent of the detection of call related events on the wireless device 4 without first receiving a request from the SIMapp 16.
  • Fig. 3 depicts a simplified message diagram depicting messaging between the SIMapp 16 and the RTSM platform 6. Referring to Fig. 3, the subscriber powers up the wireless device 4. On power up, the SIMapp 16 sends an RTSM Registration message to the RTSM platform 6 containing location information, among other parameters. The RTSM platform 6 finds the profile and account for the subscriber and returns a Registration Response Message to the SIMapp 16 that includes configuration information for the SIMapp 16.
  • the SIMapp 16 when it detects a change in location of the handset 4, it sends a message to the RTSM platform 6 containing new location information. Additionally, at any time, the RTSM platform 6 may send a message to the SIMapp 16 containing new configuration parameters to reconfigure the SIMapp 16.
  • the RTSM Registration Response includes an indication in a status element to this effect.
  • the RTSM Registration Response also includes a text element that instructs the SIMapp 16 to display account information on the wireless device display. This information can include the subscriber's remaining balance and an indication of when those funds expire.
  • the SIMapp 16 When the SIMapp 16 detects certain predetermined events, the SIMapp 16 sends a message to the RTSM platform 6 indicating that the respective event has occurred. Upon detection of other specified events, the SIMapp 16 controls the wireless device to perform predetermined functions. For example, upon detection of a Call Control event in the form of the initiation of a mobile originated call, the SIMapp 16 forwards a data message to the RTSM platform 6 that contains data about the event, e.g.
  • the response from the RTSM platform 6 instructs the SIMapp 16 how to proceed and may contain context data to be stored and returned with the response to another, related, event.
  • a Service Start Response may contain context data that is later returned with an associated Service End Invoke.
  • the response may also include other instructions indicating how services are to be provided.
  • the instructions contained in the response may set a maximum duration for the service instance, may allow the service instance, or may .disallow., the__service instance.
  • the response from the RTSM platform 6 may specify warning tones or messages to be provided under specific circumstances .
  • the SIMapp 16 when the subscriber attempts to place a mobile originated (MO) call or the SIMapp 16 detects an incoming mobile terminated (MT) call, the SIMapp sends a Service Start Invoke Message to the RTSM platform 6 that contains the MSISDN of the wireless device 4, the dialed number, and, in one embodiment, may include information indicative of the location of the wireless device 4.
  • phone location information is conveyed to the RTSM upon power up of the phone or upon a change in location of the wireless device 4, such as a change in cell site, cell site sector, or carrier, for example as the wireless device roams.
  • the RTSM platform 6 determines if the subscriber can make or receive the call and returns a Service Start Response Message that indicates that the placement of the MO or MT call is to be allowed or disallowed.
  • the SIMapp 16 delays completion of the call until it receives the Service Start Response Message.
  • the SIMapp 16 either allows or disallows the call, based on the contents of the Service Start Response Message.
  • the SIMapp 16 does not delay completion of the call. In this case, if a MT call is disallowed by the RTSM 6, the SIMapp 16 may receive the Service Start Response Message after (by as much as several seconds after) the call has been completed. If so, the SIMapp 16 ends the call upon receiving the Service Start Response Message.
  • the SIMapp 16 ends MO calls immediately (generally before the calls are completed) and then waits for the service Start Response Messages. If a response message allows a MO call, the SIMapp 16 re-initiates the__call in a manner that, is transparent to the subscriber. The relatively short delay between the user dialing the digits of the called number and the reinitiation of the call by the SIMapp 16 is generally not noticeable to the subscriber. On the other hand, if the Service Start Response Message indicates the MO call is disallowed, the SIMapp 16 does not reinitiate the call. Optionally, the SIMapp 16 issues an instruction to cause a tone or message to be played or displayed to the subscriber.
  • the SIMapp 16 detects this event and sends a Service End Invoke Message to the RTSM platform 6.
  • the RTSM platform 6 rates the call using information contained in the Service End Invoke Message and call tariff data maintained at the RTSM platform 6 and debits the subscriber's account, which is also maintained at the RTSM platform 6.
  • the RTSM platform 6 then returns a Service End Response Message to the SIMapp 16.
  • the Service End Response Message includes text to be displayed on the subscriber' s handset that indicates the available funds remaining in the subscriber' s account and an indication of when those funds expire, as discussed above.
  • SIMapp to RTSM Message Set Table 1 below identifies transactions that are initiated by the SIMapp 16:
  • Each Invoke message contains information specific to that request.
  • a single generic Response message can be used.
  • the Response message can include a parameter to distinguish among the various transactions.
  • a response may contain one or more directives that the SIMapp 16 is instructed to perform, as identified in Table 2 below.
  • Table 2 The transaction identified in Table 3 below can be initiated by the RTSM platform 6:
  • the Configuration Update Request from the RTSM platform 6 to the SIMapp 16 can contain directives that the SIMapp 16 is instructed to perform.
  • the response from the SIMapp 16 contains status information.
  • Fig. 4 illustrates the registration process by which the wireless device 4 first registers with an MSC 42 and then registers with the RTSM platform 6. Referring to Figs. 1 and 4, when the subscriber powers on the wireless device 4, the device receives transmissions from various MSCs 42 in its vicinity and determines which MSC 42 to utilize for communication, based upon the received system identifiers (SIDs) or other network and/or cell site identifying information (depending on the wireless protocol used by the wireless network) and signal strengths.
  • SIDs system identifiers
  • other network and/or cell site identifying information depending on the wireless protocol used by the wireless network
  • the wireless device 4 registers with the selected MSC 42 via a registration protocol known in the art.
  • the service registration protocol varies based upon the wireless protocol (e.g. GSM, iDEN, etc.) employed for communication.
  • the selected MSC 42 next queries the HLR 44 via a _query message 72.
  • the subscriber is configured in the HLR as a full-featured subscriber.
  • a full-featured subscriber account can be provisioned as, for example, postpaid, postpaid with a spending limit, or any other suitable type.
  • the HLR 44 returns the relevant subscriber status to 'the MSC 42. For example, in a GSM system, the HLR indicates whether service is or is not to be provided to the wireless device.
  • the MSC 42 then communicates a registration message 76 to the handset logic 10 to complete the registration of the wireless device 4 with the MSC 42, so that the wireless device 4 can communicate over the network 8 with the MSC 42.
  • the SIMapp 16 can be configured in either of two states ("dormant" or "active"), and the state of the SIMapp can be changed by the carrier. In the dormant state, the SIMapp 16 does not receive notifications from the handset logic 10 and plays no role in controlling calls to or from the wireless device 4. In the dormant state, the SIMapp 16 does not interact with the RTSM platform 6 when calls are placed to or from the mobile device. Instead, the wireless device 4 acts as a normal full-featured wireless device.
  • the SIMapp 16 receives notifications of call events from the handset logic 10.
  • the SIMapp 16 can be further configured to react or not to react to the notifications from the handset logic 10. If the SIMapp 16 is configured not to react to these notifications, the SIMapp registers with the RTSM platform 6 (as described below) , but otherwise ignores the notifications from the handset logic 10. On the other hand, if the if the SIMapp 16 is configured to react to these notifications, the SIMapp operates as described herein.
  • the RTSM platform 6 can send messages to the SIMapp 16 to configure the SIMapp to either ignore or react to the notifications from the handset logic 10. Thus, no changes are needed to the HLR 44 to support full- featured wireless devices and devices that are controlled by the RTSM platform 6.
  • Wireless devices 4 that are controlled by the RTSM platform 6 can be provisioned in the HLR 44 as though they were full-featured devices.
  • a given wireless device 4 can be changed from an unrestricted (for example postpaid or hybrid/spending limits) device to a restricted (for example prepaid) device, or vice versa, by changing the state of the SIMapp 16, but without requiring changes in the HLR 44.
  • the same type of hardware, i.e. wireless devices 4 with SIMapp 16 can be dispensed to both full-featured subscribers and to subscribers whose wireless devices are to be controlled by the RTSM platform 6.
  • the Registration Invoke Message 78 includes location information that indicates the location, of the wireless device 4 (such as the serving cell site ID) and the version and revision level of the SIMapp code.
  • the wireless device 4 acquires location information through the wireless network 8, as is well known. In one embodiment,' this location information includes a country code, an area code and a cell site ID. Other embodiments include information sufficient to enable the RTSM platform 6 to properly rate calls.
  • the RTSM SIMapp Interface 49 communicates with the RTSM platform 6 via a message 80 to store the information contained within the Registration Invoke Message 78 in the RTSM DB 50a.
  • the RTSM platform 6 may return to the RTSM SIMapp Interface 49 in a message- 82 -an ..Internal -Timer Value _to- be communicated _t ⁇ _ the SIMapp 16.
  • the Internal Timer Value specifies a time to a known point in the future and is subsequently discussed in greater detail.
  • the Internal Timer Value can be stored in the RTSM DB 50a, calculated on the fly or hard-coded in the RTSM platform 6 logic.
  • the RTSM SIMapp Interface 49 then forwards an RTSM Registration Response Message 84 to the SIMapp 16 via the SCP 48.
  • the RTSM Registration Response Message includes a tag associated with the message being responded to that identifies the response and the Internal Timer Value, if such is provided.
  • the SIMapp 16 receives the RTSM Registration Response Message 84 from the RTSM SIMapp Interface 49, if the message contains an Internal Timer Value, the SIMapp 16 loads the Internal Timer Value into countdown timer 34 and starts the countdown timer 34.
  • the timer 34 is illustrated as a countdown timer, although it is recognized that other forms of timers may be substituted, such as count-up timers, in which the counter is initialized to 0 and the current counter value is compared to the Internal Timer Value to determine if the counter has expired. If the Registration Response Message 84 does not include an Internal Timer Value, no timer values are sent to the RTSM platform 6 along with messages the SIMapp sends to indicate call initiation, etc. In this case, the RTSM platform 6 can use an internal timer to time calls. Alternatively, for services, such as wireless data browsing, call accounting can be performed based on the number of such requests, rather than on the durations of the requests. Fig.
  • the RTSM platform 6 depicts the events and messaging in the presently disclosed system in response to a mobile originated or a mobile terminated call when the account balance in the RTSM platform 6 is sufficient for the call.
  • the send button When the subscriber presses the send button to initiate a call from the_ wireless device 4 (MO—Call Control Event) or an incoming page to the wireless device 4 is received (MT Call Control Event) , the respective Call Control event is detected by the SIMapp 16 as illustrated by event 86.
  • the dialed digits are intercepted and not transmitted by the handset logic 10 to the MSC 42.
  • the Service Start Invoke Message includes a Service Start Message Tag that identifies the message as a Service Start Invoke Message, an indication of whether the call is a MO or a MT call, a dialed number string, and context information that uniquely identifies the SIMapp/RTSM communication context.
  • the SIMapp 16 Upon detection of the Call Control Event, the SIMapp 16 also reads the value of the countdown timer 34 and stores the value as an Internal Timer Value Tl.
  • the RTSM SIMapp Interface 49 issues a query message 90 to the RTSM DB 50A (see Fig. 4) . If adequate funds are present in the applicable prepaid account, the RTSM DB 50a communicates such information to the RTSM SIMapp Interface 49 in a message 92 and reserves a specified number of minutes as allotted time. This process is referred to as balance reservation.
  • the message 92 to the RTSM SIMapp Interface 49 includes an indication of the call authorization and the minute reservation (allotted time) .
  • the RTSM SIMapp Interface 49 forwards a Service Start Response Message 94 to the SIMapp 16 that includes the authorization, security information and the allotted time.
  • the SIMapp 16 allows the dialed digits to be transmitted by the handset logic 10 to the MSC 42 (see Fig. 4) as depicted at message 98, and the SIMapp 16 starts an allotted time timer 35.
  • the dialed digits are transmitted by the handset logic 10, but the SXMapp 16 subsequently ends the call (typically before it is completed) . Later, if the SIMapp 16 receives approval for the call from the RTSM platform 6, the SIMapp re-initiates the call in a manner that is transparent to the user.
  • the allotted time timer 35 provides an indication when the allotted time timer equals the reserved number of minutes received in the Service Start Response Message 94.
  • the call involving the wireless device 4 is connected to the called party to permit communication between the subscriber and the called party.
  • the SIMapp 16 detects the connection of the call as a Call Connect Event.
  • the SIMapp 16 reads the internal countdown timer 34 and stores the value as one component of T2.
  • the SIMapp 16 sends another Service Start Invoke Message 100 to the RTSM SIMapp 49 Interface to request an additional reservation of time.
  • the RTSM SIMapp Interface 49 queries the RTSM DB 50a, as illustrated by message 102, ascertains whether the account balance is adequate, and, if adequate, returns an authorization and minute reservation for communication to 'the SIMapp 16.
  • the RTSM SIMapp Interface 49 sends a Service Start Response Message 106 to the SIMapp 16 that includes the authorization and new allotted time for storage in the SIMapp allotted time timer 35.
  • the time reservation is stored in the allotted time timer 35 and the allotted time timer 35 is restarted.
  • the SIMapp 16 detects this event as a Call Disconnect Event as illustrated by event 108.
  • the SIMapp In response to the detection of the Call Disconnect Event by the SIMapp 16, the SIMapp reads the value _of the internal countdown timer 34 and stores the value as a component of T3. The SIMapp 16 then generates a Service End Invoke Message that includes three data-sets, referred to herein as Tl, T2 and T3, and the context information that is employed to identify the call.
  • the data-sets Tl, T2 and T3 each contain a Timer Value Identifier that identifies the data-set, a counter value and a rollover count.
  • the timer identifier in one embodiment is the number of the data-set, i.e. 1, 2 or 3.
  • the counter value is an integer having a value greater than 0 that is read from the countdown timer 34.
  • the counter value represents a duration in seconds between the occurrence of the respective event and the end of a pre-specified period.
  • the rollover count is an integer value, greater than or equal to 0. The rollover count indicates if the countdown timer 34 has expired since the wireless device 4 last registered with the RTSM platform 6. For example, assume the Internal Timer Value conveyed from the RTSM platform is 10000 seconds. The Internal Timer Value is loaded into the countdown timer 34 and the countdown timer 34 is started. Each time the countdown timer reaches 0, the countdown timer is reset to 10000 and the rollover count value is incremented.
  • the Service End Invoke Message 110 is then communicated to the RTSM SIMapp Interface 49 for use by the RTSM platform 6 in performing call rating, subscriber management and call accounting functions . More specifically, the difference between the counter values in Tl and T3 may be employed by the RTSM platform 6 to determine the "Send to End" time, should accounting be performed on this basis. Alternatively, the RTSM platform 6 may ascertain the difference between the values T2 and T3 in the event call accounting is to be performed based on the duration between the Call Connect Event and the Call Disconnect Event.
  • the SIMapp 16 could alternatively communicate the duration between the appropriate starting point for call accounting (Call Control Event or Call Connect Event) and the Call Disconnect Event and forward the calculated duration to the RTSM platform 6 in the Service End Invoke Message 110.
  • the SIMapp 16 could forward the relevant timer ⁇ ' values needed to calculate the duration value of interest for accounting in separate data messages in response to detection of the specific Call Control, Call Connect and Call Disconnect Events.
  • the SIMapp 16 uses real-time values to identify times of call control, call connect and call disconnect events.
  • the SIMapp 16 ascertains the times of these events, such as by querying a clock in the handset logic 10, and the SIMapp conveys these times to the RTSM platform 6, with or without storing these values within the Tl, T2 and T3 records.
  • the RTSM SIMapp Interface 49 obtains the call duration from the information contained in the Service End Invoke Message or as otherwise communicated to the RTSM platform 6 and updates the RTSM DB 50A to reflect the time used, as depicted by message 112.
  • the RTSM platform 6 performs an accounting in real time based on call rating data maintained at the RTSM platform 6 and determines the balance remaining in the subscriber's account.
  • the RTSM DB 50a communicates the remaining subscriber balance to the RTSM SIMapp interface 49 via message 114.
  • the RTSM SIMapp Interface 49 forwards a Service End Response Message 116 to the SIMapp 16 that includes a text message that specifies the subscriber balance for display by the handset logic 10.
  • the SIMapp 16 displays the account balance on the handset logic 10 display,__as depicted by event 118 in Fig. 5.
  • Fig. 6 depicts the events and messaging in the presently disclosed system in response to a mobile originated or a mobile terminated call when the account balance in the RTSM platform 6 is not sufficient for the call.
  • events/messages 86 through 102 are as described with respect to Fig. 5, which depicts a call with a sufficient balance.
  • the RTSM DB 50a returns a message 122 to the RTSM SIMapp Interface 49 that indicates that there are insufficient funds for the call to continue.
  • a Service Start Response Message 124 is returned to the SIMapp 16 by the RTSM SIMapp interface 49 that includes an insufficient funds indicator.
  • the SIMapp 16 issues a command to the handset logic 10 to end the call.
  • the call is ended, either immediately or after a predetermined time, such as one minute.
  • the SIMapp 16 then forwards a Service End Invoke Message 128 to the RTSM SIMapp Interface 49 that includes the data-sets Tl, T2, T3 and context information that identifies the call communications session.
  • the RTSM SIMapp Interface 49 Upon receipt of the Service End Invoke Message 128, the RTSM SIMapp Interface 49 rates the call using duration information derived from the Service End Invoke Message 128 and call tariff information stored in the RTSM DB 50a and updates the RTSM DB 50a via an update message 130.
  • the RTSM DB 50a determines the respective subscriber's account balance and returns this information to the RTSM SIMapp interface 49 in a message 132.
  • the RTSM SIMapp interface 49 then returns a Service End Response Message 134 to the SIMapp 16 that includes text information that indicates the subscriber's remaining balance.
  • the SIMapp 16 issues a command 136 to the handset logic 10 to display the remaining balance to the subscriber.
  • the SIMapp 16 controls the countdown timer 34 that is resident in the wireless device for the purpose of determining time remaining to the end of a specified period.
  • the countdown timer 34 may be implemented within the handset logic 10 and accessed via the SAT API interface 14 or, alternatively, may be implemented as logic within the SIM 12.
  • the value of the countdown timer 34 is read by the SIMapp 16 through the SAT API interface 14 and the respective timer value is associated with the event.
  • Periodically, for example every 30 seconds, the value of the countdown timer is recorded to a memory, in case of a subsequent unexpected power loss.
  • the SIMapp 16 can be configured to send messages to the RTSM platform 6 at the end of each call.
  • the SIMapp 16 may be configured to send a message to the RTSM platform 6 in response to the detection of any predetermined event or in association with the detection of a call.
  • the information conveyed includes the three (3) timer values Tl, T2, and T3 as discussed above.
  • the Tl timer value is recorded by the SIMapp 16 at the time of Call Control (call initiation for a MO call; page of handset for a MT call) .
  • the T2 timer value is recorded by the SIMapp at the time the call is connected for either a MO or a MT call.
  • the T3 timer value is recorded at the time the call ends for either a MO or a MT call.
  • the SIMapp 16 is capable of recovering correctly from an unexpected loss of power. This is sometimes referred to as a "battery pull" scenario, because one possible way for this situation to occur is as a result of the physical removal of the battery from a wireless _device during a. call. If power is lost during a call, and the SIMapp 16 is configured to notify the RTSM platform 6 when the call is completed, the SIMapp 16 sends call detail information to the RTSM platform 6 the next time the wireless device 4 powers up. During the course of a call, the SIMapp 16 records the counter and rollover values for Tl, T2 and T3 in non-volatile memory.
  • the SIMapp 16 periodically updates the counter value and the rollover count value of T3 as the call continues. Updates are performed at an interval that provides reasonable granularity while not degrading handset performance.
  • the counter and rollover values of T3 are set to the values of T2 when T2 is populated, so that if a power loss occurs before T3 is updated for the first time, the values of T2 and T3 are the same. If, on power up, the SIMapp 16 detects that a power loss scenario has occurred, the SIMapp 16 uses the saved values of Tl, T2 and T3 to construct a Service End Invoke Message for the call that was in progress. The SIMapp subtracts one "update interval" from T3 before populating the Service End Invoke Message, e.g.
  • the SIMapp 16 subtracts the amount of time within the update period (30 seconds in the present example) from the last saved counter value of T3. This essentially rounds T3 towards the next whole "update interval.”
  • the operation of the SIMapp 16 in the event of a power loss is discussed in further detail in connection with flow diagrams of Figs. 8 and 9.
  • Timer Support at Registration Fig. 8 illustrates the steps involved at registration that pertain to countdown timer 34 initiation and power loss processing.
  • the wireless device 4 is powered up.
  • the SIMapp 16 forwards an RTSM Registration Request Message to the RTSM SIMapp Interface 49 as illustrated, in step 172.
  • the SIMapp 16 receives a Registration Response Message that may include an Internal Timer Value to be stored within the countdown timer 34, as depicted at step 174.
  • the SIMapp 16 tests a Power Loss Flag stored by the SIMapp 16 to determine if data-sets pertaining to a prior call were not communicated to the RTSM platform 6 due to a power loss. If the Power Loss Flag indicates that Tl, T2 and T3 data-sets were not previously communicated to the RTSM platform 6, the SIMapp 16 subtracts one update interval from the counter value T3 (30 seconds in the illustrated embodiment) , as illustrated in step 178.
  • the SIMapp 16 then transmits a Service End Invoke Message to the RTSM platform 6 that includes the data-sets Tl, T2 and T3, context information that identifies the communication session and a tag that indicates the Service End Invoke Message pertains to a power loss scenario, as shown in step 180.
  • the RTSM platform 6 calculates the call start time and the call duration. More specifically, the RTSM SIMapp Interface 49 maintains a timer value that corresponds to the time and date when the Internal Counter Value was conveyed to the SIMapp 16 during the last succession registration.
  • the RTSM SIMapp Interface 49 calculates the start time of the call (from either Tl or T2, as applicable) and the duration of the call (from T3 and Tl or T2) . These calculated values are used by the RTSM SIMapp Interface 49 to rate the call, as previously discussed. As depicted in step 182, the SIMapp 16 stores the Internal Timer Value that was communicated to the SIMapp 16 in the RTSM Registration Response Message or a constant Internal Timer Value if no such value is provided by_ the RTSM platform 6.
  • the SIMapp 16 stores a value of 86200 in the countdown timer 34, which corresponds to the number of seconds in a 24-hour period.
  • the actual constant chosen for storage in the countdown timer 34 is a matter of design choice.
  • the value stored in the countdown timer 34 defines the point in the future at which the countdown timer 34 will expire.
  • the SIMapp 16 also clears the rollover count values for Tl, T2 and T3 and starts the countdown timer 34.
  • the countdown timer 34 runs continuously so that it can be sampled whenever the SIMapp 16 needs to populate a timer value for a call event.
  • the SIMapp 16 stores the Internal Timer Value that was communicated to the SIMapp 16 in the RTSM Registration Response Message or a constant Internal Timer value if no such value is provided by the RTSM platform 6 and clears the rollover count values for Tl, T2 and T3 and starts the countdown timer 34, as depicted in step 182. As illustrated in step 184, the SIMapp 16 determines whether the countdown timer 34 has expired. If the countdown timer 34 has expired, the SIMapp 16 increments the rollover count and resets the countdown timer 34.
  • Fig. 9 illustrates the operation and use of the countdown timer during call event processing.
  • the SIMapp 16 awaits the occurrence of a Call Control event, i.e. the detection of a signal associated with the pressing of the SEND key on the wireless device 4 or the detection of a signal indicative of a page of the wireless device 4.
  • the SIMapp 16 stores the following values in the SIMapp Memory 20 as Tl: the Timer ID ("1"), the current value of the countdown timer 34 and the current value of the rollover count as. illustrated at step 202.
  • the SIMapp 16 then awaits the occurrence of a Call Connect event, as depicted in step 204.
  • the handset logic 10 generates the call connect event when a MO or MT call is connected and notifies the SIMapp 16 of the call connect event via the API.
  • the SIMapp 16 In response to the detection of the Call Connect event, the SIMapp 16 stores the following values within the data-set T2: the Timer ID ("2"), the current value of the countdown timer 34 and the current value of the rollover count, as depicted in step 206. The SIMapp 16 also stores the counter and rollover count values of T2 as the initial values within the T3 data-set, as shown at step 208. The SIMapp 16 determines whether a Power Loss event has occurred, as illustrated in decision step 210.
  • T3 is updated by storing the current countdown counter value and the current rollover count in T3, as depicted in step 222. If n seconds have not passed since the last update of T3, control returns to decision step 210. If, in decision step 214, a determination is made that a Call Disconnect event (end of call) has been detected, the Timer ID ("3") and the current counter and rollover values are stored in the T3 data-set, as illustrated in step 216. While a call is in progress, the SIMapp 16 may increase the frequency at which it updates ' the counter and rollover count .values within the T3 data- set to maintain more current and accurate counter values in the event of a power loss.
  • end of call end of call
  • the SIMapp 16 transmits to the RTSM SIMapp Interface 49 a Service End Invoke Message that includes the Tl, T2 and T3 data- sets and the relevant context information that identifies the call session, as shown in step 218.
  • the above-described counter operation may be employed in GSM-compliant phones and in cellular systems in which the SAT API between the SIM and the handset logic 10 supports counter management. Additionally, it should be recognized that the above- described functionality of the SIM 12 and SAT API 14 may be embedded within the handset logic 10 instead of in SIM 12. Some wireless devices using other wireless protocols (e.g. the iDEN protocol) do not support SAT API commands for timer management.
  • the SIMapp 16 directly calculates values that corresponds to the counter and rollover count values in response to the detection of the specified call events.
  • the calculated values equal the period of time from the current time to a specified point in the future.
  • the specified point in the future is communicated to the SIMapp 16 by the RTSM platform 6 as the Internal Timer Value in the RTSM Registration Response Message.
  • the Internal Timer Value specifies the number of seconds to add to the time at which the RTSM Registration Response was received by the SIMapp 16. This defines the specified point in the future. If no Internal Timer Value is specified by the RTSM platform 6, the specified point in the future is set by the SIMapp as 24 hours from the current time.
  • the SIMapp 16 calculates the number of seconds from a Call Control event, a Call Connect event, and a Call Disconnect event to the specified point in the future during both MO and MT calls. Each .calcul_i___l__al e .is__rec_orded n the Tl, T2 or T3 data-set, as applicable. This information is transmitted to the RTSM platform 6 in the Service End Invoke Message when the call disconnects, in the manner previously discussed. A rollover count is also generated by the SIMapp 16. In one embodiment, each time the specified point in time is passed, the SIMapp 16 increments the rollover count so that the rollover count specifies the number of times the initially specified duration has occurred since the last registration.
  • Timer Values Table 4 defines the point within the call flow at which the timer value of Tl, T2 and T3 are populated.
  • Tl and T2 are always the same for a MT call Example: As an example of how Tl, T2 and T3 would be populated, consider the situation in which: (a) the specified duration ends at midnight local time; (b) the handset is powered on at 23:40:30 local time; (c) a call is originated at 23:54:10 local time; (d) the call is answered 10 seconds later; and (e) the call lasts for 60 seconds. At the end of the call, Tl, T2 and T3 values are as illustrated in Table 5 below:
  • Exemplary Services The presently described syst m provides the capability of detecting predetermined events within the wireless device and communicating information pertaining to those events via a data message to a central server or subscriber management platform that provides a wide range of abilities, including control of the behavior of the wireless device, subscriber management and real- time account management.
  • the following section provides examples of the services that can be provided using the presently disclosed architecture. The list is illustrative only, and is not intended to be exhaustive.
  • the SIMapp maintains configuration information that governs how specified events are to be processed. If a Mid-Service Disconnect status is set and the all ⁇ ttecTTime timer 35 expires before the call is otherwise disconnected, the SIMapp 16 disconnects the call. When the Call Disconnect Event occurs, the SIMapp 16 performs the following tasks: (1) obtain and record the current value of T3; (2) format and send to the RTSM platform 6 a Service End Invoke Message containing the context information associated with the call, the Tl, T2 and T3 data-sets, and the Disconnect Reason Code.
  • the Service End Response Message may contain a message to display on the handset logic 10, e.g. the balance remaining.
  • the SIMapp 16 may be necessary for the SIMapp 16 to monitor more than one call simultaneously, as in the case of Call Waiting or Conference Calling. In these cases, it may be necessary for the SIMapp 16 to maintain separate sets of Tl, T2 and T3 values along with context information for each call session. As noted above, if the balance in the RTSM platform 6 is insufficient for a call, the call is disallowed or disconnected.
  • the RTSM platform 6 can also selectively allow or disallow calls based on criteria other than a balance in an account associated with the user of the wireless device 4. In one embodiment, the RTSM platform 6 selectively allows or disallows calls based on a location of the wireless device 4.
  • the DB 50a stores information identifying geographic regions, regions associated with various wireless carriers or other types of regions, from or to which calls are allowed and/or disallowed.
  • the RTSM platform 6 selectively allows or disallows calls based on a list of permitted ("white- listed") and/or forbidden ("blacklisted") parties. These lists identify the parties by their respective telephone numbers, caller ID names or other appropriate identification information.
  • the RTSM platform 6 selectively allows or disallows calls based on a time of day of the calls.
  • DB 50a stores information identifying time periods, such as 9 a.m. to 5 p.m., weekends, or holidays during which calls are allowed and/or disallowed.
  • the RTSM platform 6 selectively allows or disallows calls based on an amount of use of the wireless device 4 within a predetermined control period. For example, the RTSM platform 6 can allow up to a cumulative total of
  • the RTSM platform 6 selectively allows or disallows calls based on a Boolean combination of two or more criteria, such as those listed above or other criteria.
  • the SIMapp 16 is able to query the handset's capabilities and disable the handset in the event that it or the user' s account does not meet some minimum criteria. This analysis is performed on power-up and is useful in reducing the likelihood of fraudulent use. In the event the query results in a determination that the minimum established criteria are not met, the handset logic 10 is disabled. The disabling of the handset logic 10 prevents it from being used to perform any MO or MT communications, such as voice, data bearer messaging (e.g. SMS), push to talk, wireless data, etc. Emergency numbers, such as 911 and other specified numbers, are always available.
  • MO or MT communications such as voice, data bearer messaging (e.g. SMS), push to talk, wireless data, etc.
  • Emergency numbers such as 911 and other specified numbers, are always available.
  • SIMapp Configuration Data The following configuration information defines how the SIMapp 16 operates under pre-specified conditions. This information can be changed during registration or via a Configuration Update message.
  • the SIMapp 16 enters its most recently configured trust mode.
  • the Trust mode is set to either a Trusting Mode or a ' Non-Trusting Mode.
  • the SIMapp 16 allows MO and MT calls even before a registration response is received from the RTSM platform 6.
  • the Non-Trusting Mode the SIMapp 16 does not allow MO or MT calls to proceed until a registration response is received from the RTSM platform 6 that indicates that such calls are authorized, the default mode is the Non-Trusting Mode.
  • the RTSM platform 6 may specify a trust mode in the RTSM Registration Response Message. Registration Modes
  • the SIMapp 16 handles registration requests based on its currently configured registration mode. In one embodiment, the SIMapp 16 supports the Registration Modes discussed in Table 7 below.
  • the default mode is to register on power up and location changes .
  • the SIMapp 16 only registers on power up and upon location changes and location information is conveyed .to the RTSM platform only in response to detection of the handset- power up or a location change.
  • Pre-authorization Mode The- SIMapp 16 handles Service Start Request Messages based on its currently configured Pre-authorization Mode .
  • the Pre- authorization Modes are as indicated in Table 8 below.
  • Table 8 The default mode is to allow all service until further notification.
  • the SIMapp 16 handles Service End Invoke Messages based on the currently configured Service End Mode.
  • the Service End Mode may be specified as indicated in Table 9 below.
  • Table 9 Allocation Depletion Mode As noted, if a call is allowed, the SIMapp 16 may be provided with an allocated time for a call. In the event the allocated time is depleted, the Allocation Depletion Mode specifies how the call is to be handled by the SIMapp 16.
  • the Allocation Depletion Mode may be configured as set forth in Table 10 below:
  • the Maximum Call Length indicates the maximum amount of time before the SIMapp 16 is required to check with the RTSM platform 6 again. When this time expires, the SIMapp 16 generates a new Service Start Invoke Message. This process can continue multiple times until the subscriber's balance is exhausted or the call ends.
  • the Service Start Invoke Response can indicate that the subscriber has no more money in one of two ways: (1) by returning a positive Maximum Call Duration, but with an indicator that Re-Authorization is no longer in effect (essentially saying "that's all the subscriber has left") or (2) by returning a zero Maximum Call Duration (essentially saying "the subscriber had some earlier, but it is all gone now").
  • the action typically indicated is the disconnection of the call. While the above-described system has been described in terms of a call, the presently disclosed system may ⁇ be employed for detecting events pertaining to web browsing and other wireless data services and communicating information from a wireless device to a central server pertaining to such services for accounting and subscriber management functions.
  • the SIMapp 16 can detect browsing and, optionally, the amount of data retrieved by the browsing in packets, bytes, etc. Some communications, including some web browsing, do not have distinct start and end times . These communications can be treated as having only a start or only an end time.
  • the SIMapp 16 may generate a data message to the RTSM SIM Interface 49 that indicates that a browse was initiated or ended.
  • the data message can include the number of bytes retrieved.
  • the RTSM platform 6 may utilize the number of such browses, the number of bytes retrieved, the type of data retrieved (e.g., text, music, or video), etc. for accounting, based on wireless data rating information retained at the RTSM platform 6.
  • the SIMapp 16 can seek pre-authorization for a number of browses and/or an amount of data that can be retrieved.
  • the SIMapp 16 can store the pre-authorization amounts in the SIM. Then, as the user browses, the SIMapp 16 can deduct appropriate counts from the appropriate stored pre-authorization amount. If a stored pre-authorization amount becomes depleted or reaches a low threshold, the SIMapp 16 can seek addition authorization from the RTSM platform 6.
  • Embodiments of the presently disclosed system enable the RTSM platform 6 to receive real-time information concerning calls and other communications, for roaming and non-roaming wireless devices. The RTSM platform 6 can, therefore, collect this information and use it to perform call accounting.
  • the RTSM platform 6 can use this information to generate and/or store call detail records (CDRs) .
  • CDRs call detail records
  • the RTSM platform 6 can forward these CDRs to another accounting and/or billing system, such as one operated by a carrier or a third party.
  • the above-described system has been described in terms of calls, wireless data services and other communications that are successfully completed.
  • the RTSM platform 6 can debit the subscriber' s account for MO or MT calls that are answered, but, in one embodiment, the RTSM platform 6 does not debit the subscriber's account for calls that are busy, intercepted or not answered.
  • the RTSM platform 6 can debit the subscriber's account for some or all communications, whether they are successfully completed or not. It should be appreciated that modifications to and variations of the above-described methods and system may be made without departing from the inventive concepts disclosed herein. Accordingly, the invention is not to be viewed as limited except by the scope and spirit of the appended claims .

Abstract

A system and method performs real-time subscriber management and accounting for a wireless device (4) by detecting predetermined events within the wireless device (4) and communication information pertaining to such events from the wireless device (4) to a real-time subscriber management platform (6) in association with each communication session. The information received by the real-time subscriber management platform (6) is used to control the behavior of the wireless device (4) and/or to update accounting information pertaining to the subscriber.

Description

TITLE OF THE INVENTION Subscriber Management and Accounting Using Event Detection in a Wireless Device
CROSS REFERENCE TO RELATED APPLICATIONS This application claims the benefit under 35 U.S.C. §119(e) of Provisional Patent Application No. 60/495,642, filed August 15, 2003 and titled EXTENDED INTELLIGENT NETWORK CALL CONTROL—USING
TRIGGERS RESIDENT IN A WIRELESS DEVICE WITHIN A WIRELESS
COMMUNICATION NETWORK.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT Not Applicable
BACKGROUND OF THE INVENTION The present invention pertains to a system and method for controlling the operation of a wireless device in a communication network and more specifically to a system and method that controls the operation of the wireless device using controls disposed within the wireless device that are cooperative with a subscriber management platform or server. Wireless communication networks have been widely deployed for over a decade. Over time, telecommunications networks have evolved from switch-based networks, in which switches included both data and control plane capability, to networks known as Intelligent Networks (IN) , in which the control plane is separated from the data plane. In an IN, the intelligence and control functions are removed from the switches and reside in SS7 control elements, such as Service Switching Points, Signal Transfer Points and Service Control Points, as known in the art. In conventional wireless communication networks, a call detail record is generated at the serving switch at the conclusion of each call. The call detail records are forwarded to a central database before being communicated to the serving or billing carrier or accounting service. As a consequence, delays in performing accounting are introduced.
BRIEF SUMMARY OF THE INVENTION In accordance with the present invention, a system and method for controlling the behavior of a wireless device within a wireless communications network is disclosed. In one embodiment of the presently disclosed system, a subscriber identity module (SIM) or other removable processor/memory module is disposed in a handset housing and is electrically coupled to the handset logic. The SIM includes an application program (SIMapp) that interacts with and allows a real-time subscriber management (RTSM) platform to control the operation of the service. The RTSM platform comprises one or more servers, databases and control software that are employed for wireless service accounting and control functions. The RTSM platform has connectivity to a wireless operator's SS7 network via a service control point. More specifically, the SIMapp application executing on a processor within the SIM performs functions in conjunction with the RTSM platform that permit real-time subscriber management and accounting in a way that minimizes implementation and/or integration requirements on the wireless operator' s existing infrastructure. The SIM is communicably coupled to the handset logic of the mobile equipment (ME) via a SIM Application Toolkit Application Programming Interface (SAT API), which is typically supplied by the supplier of the mobile equipment. The SIMapp application is therefore capable of communicating with the handset logic to control the handset, obtain notifications of call events and to issue commands to the handset logic through the SAT API to initiate wireless communications between the wireless device and the RTSM platform via a data messaging protocol, such as a data bearer channel communication protocol. Conversely, information sent from the RTSM platform is received by the handset logic and routed to the SIMapp application via the_ SAT API. Based—on the above-described communication among the SIMapp, the handset logic and the RTSM platform, the subscriber' s wireless communication experience can be controlled. This control is achieved without requiring Intelligent Network triggers or loop-back trunks. Other features, aspects and advantages of the presently disclosed apparatus and method will be apparent to those of ordinary skill in the art from the Detailed Description of the Invention that follows. BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS The invention will be more fully understood by reference to the following Detailed Description of the Invention in conjunction with the drawings of which: Fig. 1 is a block diagram of a system operative in accordance with the present invention; Fig. 2 is a diagram depicting an example of request and response messaging employed in the system of Fig. 1; Fig. 3 is block diagram depicting message flow in the system of Fig. 1 between the SIMapp and the RTSM platform; Fig. 4 is a diagram depicting the message flow employed in the registration of the wireless device depicted in Fig. 1; Fig. 5 is a diagram depicting the message flow in the system of Fig. 1 in response to a call for which a sufficient balance exists in the RTSM platform for billing through call completion; Fig. 6 is a diagram depicting the message flow in the system of Fig. 1 in response to a call for which an insufficient balance exists in the RTSM platform for billing through call completion; Fig. 7 is a diagram depicting message flow in the system of Fig. 1 to update the code image of the SIMapp within the wireless device; Fig. 8 is a flow diagram depicting countdown, timer operation; and Fig. 9 is a flow diagram depicting the operation of the SIMapp and countdown timer in response to Call Control, Call Connect and Call Disconnect events.
DETAILED DESCRIPTION OF THE INVENTION U.S. Provisional Patent Application No. 60/495,642, titled Extended Intelligent Network Call Control Using Triggers Resident in a Wireless Device Within a Wireless Communication Network, filed August 15, 2003, U.S. Provisional Patent Application No. 60/449,907, titled Method and System for Exercising Supervisory Control Over Wireless Phone Usage, filed February 25, 2003, and U.S. Patent Application No. 10/784,611, titled Method and System for Providing Supervisory Control for Wireless Phone Usage, filed February 23, 2004 are hereby incorporated by reference herein. In accordance with the present invention, a method and apparatus for controlling the behavior of a wireless device and performing real-time subscriber management and accounting functions is disclosed. Predetermined events are detected within the wireless device and specific information pertaining to such events is stored. The stored information or information derived from the stored information is communicated to the RTSM platform, either in response to the occurrence of the event that caused the information to be stored or, alternatively, at the end of a call. The information communicated to the RTSM platform is communicated via a data message sent over, for example, a data bearer communication channel. In the illustrated embodiment, the information communicated includes counter values and associated information that is employed by the RTSM platform to determine the time, date and duration of a call. It should be understood that stored information need not be conveyed by the data message in all embodiments and that, in some systems, information indic_atirxg_.th.at a predetermined event has occurred may be conveyed to the RTSM platform via the data message. The information pertaining to qalls and/or events detected by the SIMapp on the wireless device are communicated to the RTSM platform and employed by the RTSM platform for call accounting and subscriber management functions, as subsequently discussed in greater detail. For example, the, SIMapp sends a Service Start Invoke message to the RTSM platform when a service that requires pre-authorization and that involves the wireless device is initiated. The RTSM platform maintains call tariff data, available balance amounts for prepaid subscriber accounts and information defining how calls involving specific subscribers are to be accounted for and processed. Referring to Fig. 1, the presently disclosed system 2 includes a wireless device 4 in communication with the RTSM platform 6 via a communications network 8. In the illustrated embodiment, the wireless device 4 includes handset logic 10, a subscriber identity module (SIM) 12 and an interface 14 between the SIM 12 and the handset logic 10. The SIM 12 is removably inserted into the wireless device 4 housing. The SIM 12 includes a processor 22 and a memory 20. (Other removable memory/processor modules, such as USIMs or R-UIMs, are also acceptable, although for simplicity, an embodiment that utilizes a SIM will be described.) The processor 22 within the SIM 12 executes an application program 16, referred to herein as the SIMapp, that is- stored within the memory 20 of the SIM 12. The RTSM platform 6 comprises one or more servers that each include at least one processor and at least one memory. The RTSM platform 6 further includes a database (DB) 50a. The RTSM platform is operative as a real-time transaction processing system that interacts with the SIMapp 16 to perform call accounting and subscriber management functions, as subsequently discussed in greater detail. The SIM 12 includes a memory 20 and a SIM processor 22 that executes the SIM application (SIMapp) 16 resident in the SIM memory 20. The memory 20 includes a re-writable portion, a nonvolatile RAM portion and, additionally, may include volatile RAM. A handset processor 32 is operative to execute software code and/or firmware stored within a handset memory 30. The handset logic 10 further includes a plurality of timers 34 (identified as timers 34a - 34n) and 35, which are used to perform timing functions used by the SIMapp 16. In one embodiment of the presently disclosed system, the timers 34a - 34n and 35 may be loaded and read under the command of the SIMapp 16. A radio-frequency (RF) modem 36 is coupled between the handset logic 10 and an antenna 38. The RF modem 36 receives RF signals and converts the received RF signals to digital signals that are conveyed to the handset logic 10. Additionally, the RF modem 36 converts digital signals to RF signals that are transmitted from the handset logic 10 via the antenna 38. The interface 14 between the SIM 12 and the handset logic 10 includes an Application Programming Interface known as the SIM Application Toolkit Application Programming Interface (SAT API), which is typically supplied by the supplier of the mobile equipment. The SAT API enables the SIMapp 16 to command the handset logic 10 to initiate communications with the RTSM platform 6 and to load and read the timers 34a - 34n and 35. Additionally, the SAT API allows information that is sent from the RTSM platform 6 and received by the handset logic 10 to be passed via the SAT API to the SIMapp 16. Based on these communications, the SIMapp 16, in cooperation with the RTSM platform 6, is able to control the behavior of the wireless device 4. The wireless device 4 communicates with a wireless operator's network, which includes a Base Station Controller (BSC) 40, a Mobile Switching Center (MSC) 42, and a Home Lojoation Register (HLR) 44. These network elements are communicably coupled by the wireless operator's network or control channel 8, such as an SS7 telecommunications network. The RTSM platform 6 is coupled to the operator' s control channel via a Service Control Point (SCP) 48 where the control channel comprises an SS7 network. The SIMapp 16 provides the ability to: a) conditionally restrict the wireless device 4 from initiating mobile originated (MO) voice calls; b) conditionally restrict the wireless device 4 from receiving mobile terminated (MT) voice calls; c) conditionally send call detail information to the RTSM platform 6 when a voice call is disconnected; and d) conditionally send subscriber location information to the RTSM platform 6 on power-up and when the location of the handset 4 changes.
The manner by which the above-referenced capabilities are provided are discussed in greater detail below. The SIMapp 16 within the wireless device 4 initiates most of the communications between the SIMapp 16 and the RTSM platform 6. Communication between the SIMapp 16 and the RTSM platform 6 occurs through the exchange of data messages. By way of example and not limitation, communication between the SIMapp 16 and the RTSM platform 6 may be via the Short Messaging Service (SMS) using the Short Message Peer-to-peer Protocol (SMPP) , SMS via Mobile Application Part (MAP) , Unstructured Supplemental Services Data (USSD) via Transaction Capability User Part (TCAP) or any other suitable over-the-air data messaging protocol. Exemplary protocols are discussed further below.
SMS via SMPP
In this scenario, the SIMapp 16 uses the SEND SS proactive command from the SAT API to command the handset logic 10 to generate an SMS-SUBMIT into the serving network. The SMS message is routed to the appropriate serving short message service center (SMSC) and is routed via a standard protocol for SMS messaging known as Simple
Mail Point to Point (SMPP) , eventually arriving at an SMPP Gateway
(not shown) in communication with the RTSM platform 6. The SMPP
Gateway in communication with the RTSM platform 6 communicates with the SDP 50 of the RTSM platform 6 (see Fig. 1), which generates a response. The response is forwarded via SMPP and eventually arrives at the appropriate serving SMSC. The SMS-
DELIVER is received by the handset logic 10 and routed to the
SIMapp 16, completing the transaction. This scenario uses the wireless network's existing SMS infrastructure.
SMS via MAP
In this scenario, the SMS-SUBMIT bypasses the operator's existing SMS infrastructure and is sent directly over the SS7 network to the RTSM platform 6. The RTSM platform 6 formats a response, and sends the appropriate MAP transaction so the serving MSC 42 delivers the response as an SMS-DELIVER to the wireless device 4. The RTSM platform.6 performs a subset of the functions of an SMSC for both the requests and responses, reducing both the network latency and operational cost. For example, the SMSC the within the RTSM platform 6 queries an HLR to determine the servicing MSC 42, so the MAP transaction can be correctly addressed. However, the SMSC need not implement a store-and-forward capability. The carrier assigns the RTSM platform 6 a E.164 number, so SMS messages can be addressed to the platform. The carrier provisions this number into the SIM 12, so the SIMapp 16 can address SMS messages to the RTSM platform 6. In addition, the carrier assigns an SMSC address to the SMSC within _the RTSM platforra_£-^ -The messaging between the RTSM platform 6 and the SIMapp 16 may be via one or more intermediate SMSCs within the network, if the network latency and operational concerns are not significant.
USSD via MAP USSD provides an alternative to SMS for messaging between the SIMapp 16 and the RTSM platform 6. USSD is lightweight in nature, making it a desirable messaging protocol where supported.
In one embodiment, USSD is employed to communicate from the SIMapp 16 to the RTSM platform 6 and SMS is employed for the reverse path.
Bearer channel via GPRS In this embodiment, SIMapp 16 control messages are transported to and from the RTSM platform 6 via a GPRS data session initiated by the SIMapp 16.
Communication between SIMapp and RTSM Communication between the SIMapp 16 and the RTSM platform 6 proceeds using a Request/Response model. Fig. 2 illustrates the basic communication technique in the circumstance in which data messaging is performed using an SMS bearer channel communication service. Referring to Fig. 2, when communication with the RTSM platform 6 is required, the SIMapp 16 instructs the handset logic 10 via the SAT API 14 to generate an SMS-SUBMIT message containing the message data. The MAP messaging for SMS is directed to the RTSM platform 6 by the MSC. SMS messages are addressed to phone numbers. The RTSM is assigned a E.164 number to facilitate addressing SMS messages to the RTSM. SMS messages that are destined to the SIMapp and are delivered to the wireless device are passed to the SIMapp, rather than being displayed on the screen of the wireless_ device, _in a well-known manner MAP
Service Logic resident on the SCP 48 constitutes the RTSM SIMapp Interface 49 for communicating with the SIM 12. The RTSM SIMapp Interface 49 initiates an SMS-DELIVER message containing the response data and addresses it so that it is returned to the SIMapp 16 via the MSC 42. As previously noted, the SIMapp 16 and RTSM 6 communicate using a request/response model. Each request is processed by the receiving system and a response is generated and returned to the initiator of the request. Requests initiated by the SIMapp 16 correspond to events that occur on the handset and generally correspond to the concept of triggers in an intelligent network (IN) system. Specific events may be detected as predetermined signals or messages within the wireless device. The RTSM platform 6 returns responses to these triggered events containing one or more directives that instruct the SIMapp 16 as to what action should be performed. The RTSM platform 6 can initiate the transmission of directives to the SIMapp 16 independent of the detection of call related events on the wireless device 4 without first receiving a request from the SIMapp 16. Fig. 3 depicts a simplified message diagram depicting messaging between the SIMapp 16 and the RTSM platform 6. Referring to Fig. 3, the subscriber powers up the wireless device 4. On power up, the SIMapp 16 sends an RTSM Registration message to the RTSM platform 6 containing location information, among other parameters. The RTSM platform 6 finds the profile and account for the subscriber and returns a Registration Response Message to the SIMapp 16 that includes configuration information for the SIMapp 16. If so configured, when the SIMapp 16 detects a change in location of the handset 4, it sends a message to the RTSM platform 6 containing new location information. Additionally, at any time, the RTSM platform 6 may send a message to the SIMapp 16 containing new configuration parameters to reconfigure the SIMapp 16. In the event that the profile for the subscriber indicates that a pre-call authorization is to be performed for Mobile Originated (MO) attempts, the RTSM Registration Response includes an indication in a status element to this effect. The RTSM Registration Response also includes a text element that instructs the SIMapp 16 to display account information on the wireless device display. This information can include the subscriber's remaining balance and an indication of when those funds expire. As a matter of policy, some carriers limit the length of time unused funds remain in subscribers' accounts. After such time, the funds are transferred to the carrier, i.e., the funds expire. An exemplary indication of such a display is provided below. Available Funds: $2.75 Expires: 11/17/03 When the SIMapp 16 detects certain predetermined events, the SIMapp 16 sends a message to the RTSM platform 6 indicating that the respective event has occurred. Upon detection of other specified events, the SIMapp 16 controls the wireless device to perform predetermined functions. For example, upon detection of a Call Control event in the form of the initiation of a mobile originated call, the SIMapp 16 forwards a data message to the RTSM platform 6 that contains data about the event, e.g. a dialed number. The response from the RTSM platform 6 instructs the SIMapp 16 how to proceed and may contain context data to be stored and returned with the response to another, related, event. For example, a Service Start Response may contain context data that is later returned with an associated Service End Invoke. The response may also include other instructions indicating how services are to be provided. The instructions contained in the response may set a maximum duration for the service instance, may allow the service instance, or may .disallow., the__service instance. Additionally, the response from the RTSM platform 6 may specify warning tones or messages to be provided under specific circumstances . More specifically, when the subscriber attempts to place a mobile originated (MO) call or the SIMapp 16 detects an incoming mobile terminated (MT) call, the SIMapp sends a Service Start Invoke Message to the RTSM platform 6 that contains the MSISDN of the wireless device 4, the dialed number, and, in one embodiment, may include information indicative of the location of the wireless device 4. Typically, phone location information is conveyed to the RTSM upon power up of the phone or upon a change in location of the wireless device 4, such as a change in cell site, cell site sector, or carrier, for example as the wireless device roams. The RTSM platform 6 determines if the subscriber can make or receive the call and returns a Service Start Response Message that indicates that the placement of the MO or MT call is to be allowed or disallowed. In one embodiment, the SIMapp 16 delays completion of the call until it receives the Service Start Response Message. In this case, the SIMapp 16 either allows or disallows the call, based on the contents of the Service Start Response Message. In another embodiment, the SIMapp 16 does not delay completion of the call. In this case, if a MT call is disallowed by the RTSM 6, the SIMapp 16 may receive the Service Start Response Message after (by as much as several seconds after) the call has been completed. If so, the SIMapp 16 ends the call upon receiving the Service Start Response Message. In this embodiment, the SIMapp 16 ends MO calls immediately (generally before the calls are completed) and then waits for the service Start Response Messages. If a response message allows a MO call, the SIMapp 16 re-initiates the__call in a manner that, is transparent to the subscriber. The relatively short delay between the user dialing the digits of the called number and the reinitiation of the call by the SIMapp 16 is generally not noticeable to the subscriber. On the other hand, if the Service Start Response Message indicates the MO call is disallowed, the SIMapp 16 does not reinitiate the call. Optionally, the SIMapp 16 issues an instruction to cause a tone or message to be played or displayed to the subscriber. When the call ends, the SIMapp 16 detects this event and sends a Service End Invoke Message to the RTSM platform 6. The RTSM platform 6 rates the call using information contained in the Service End Invoke Message and call tariff data maintained at the RTSM platform 6 and debits the subscriber's account, which is also maintained at the RTSM platform 6. The RTSM platform 6 then returns a Service End Response Message to the SIMapp 16. The Service End Response Message includes text to be displayed on the subscriber' s handset that indicates the available funds remaining in the subscriber' s account and an indication of when those funds expire, as discussed above.
Available Funds: $0.25 Expires: 11/17/03 SIMapp to RTSM Message Set Table 1 below identifies transactions that are initiated by the SIMapp 16:
Figure imgf000016_0001
Table 1 Each Invoke message contains information specific to that request. A single generic Response message can be used. The Response message can include a parameter to distinguish among the various transactions. A response may contain one or more directives that the SIMapp 16 is instructed to perform, as identified in Table 2 below.
Figure imgf000017_0001
Table 2 The transaction identified in Table 3 below can be initiated by the RTSM platform 6:
Figure imgf000017_0002
Table 3 The Configuration Update Request from the RTSM platform 6 to the SIMapp 16 can contain directives that the SIMapp 16 is instructed to perform. The response from the SIMapp 16 contains status information. Fig. 4 illustrates the registration process by which the wireless device 4 first registers with an MSC 42 and then registers with the RTSM platform 6. Referring to Figs. 1 and 4, when the subscriber powers on the wireless device 4, the device receives transmissions from various MSCs 42 in its vicinity and determines which MSC 42 to utilize for communication, based upon the received system identifiers (SIDs) or other network and/or cell site identifying information (depending on the wireless protocol used by the wireless network) and signal strengths. As illustrated, via message 70, the wireless device 4 then registers with the selected MSC 42 via a registration protocol known in the art. The service registration protocol varies based upon the wireless protocol (e.g. GSM, iDEN, etc.) employed for communication. The selected MSC 42 next queries the HLR 44 via a _query message 72. In the instant case, it is assumed that the subscriber is configured in the HLR as a full-featured subscriber. A full-featured subscriber account can be provisioned as, for example, postpaid, postpaid with a spending limit, or any other suitable type. The HLR 44 returns the relevant subscriber status to 'the MSC 42. For example, in a GSM system, the HLR indicates whether service is or is not to be provided to the wireless device. The MSC 42 then communicates a registration message 76 to the handset logic 10 to complete the registration of the wireless device 4 with the MSC 42, so that the wireless device 4 can communicate over the network 8 with the MSC 42. The SIMapp 16 can be configured in either of two states ("dormant" or "active"), and the state of the SIMapp can be changed by the carrier. In the dormant state, the SIMapp 16 does not receive notifications from the handset logic 10 and plays no role in controlling calls to or from the wireless device 4. In the dormant state, the SIMapp 16 does not interact with the RTSM platform 6 when calls are placed to or from the mobile device. Instead, the wireless device 4 acts as a normal full-featured wireless device. In the active state, the SIMapp 16 receives notifications of call events from the handset logic 10. The SIMapp 16 can be further configured to react or not to react to the notifications from the handset logic 10. If the SIMapp 16 is configured not to react to these notifications, the SIMapp registers with the RTSM platform 6 (as described below) , but otherwise ignores the notifications from the handset logic 10. On the other hand, if the if the SIMapp 16 is configured to react to these notifications, the SIMapp operates as described herein. The RTSM platform 6 can send messages to the SIMapp 16 to configure the SIMapp to either ignore or react to the notifications from the handset logic 10. Thus, no changes are needed to the HLR 44 to support full- featured wireless devices and devices that are controlled by the RTSM platform 6. Wireless devices 4 that are controlled by the RTSM platform 6 can be provisioned in the HLR 44 as though they were full-featured devices. In addition, a given wireless device 4 can be changed from an unrestricted (for example postpaid or hybrid/spending limits) device to a restricted (for example prepaid) device, or vice versa, by changing the state of the SIMapp 16, but without requiring changes in the HLR 44. Furthermore, the same type of hardware, i.e. wireless devices 4 with SIMapp 16, can be dispensed to both full-featured subscribers and to subscribers whose wireless devices are to be controlled by the RTSM platform 6. Assuming the SIMapp 16 is configured in an active state, following registration of the wireless device 4 with the MSC 42, the SIMapp 16 initiates the registration of the wireless device 4 with the RTSM platform 6 by forwarding an RTSM Registration Invoke Message 78. The Registration Invoke Message 78 includes location information that indicates the location, of the wireless device 4 (such as the serving cell site ID) and the version and revision level of the SIMapp code. The wireless device 4 acquires location information through the wireless network 8, as is well known. In one embodiment,' this location information includes a country code, an area code and a cell site ID. Other embodiments include information sufficient to enable the RTSM platform 6 to properly rate calls. In response to receipt of the Registration Invoke Message 78, the RTSM SIMapp Interface 49 communicates with the RTSM platform 6 via a message 80 to store the information contained within the Registration Invoke Message 78 in the RTSM DB 50a. The RTSM platform 6 may return to the RTSM SIMapp Interface 49 in a message- 82 -an ..Internal -Timer Value _to- be communicated _tα_ the SIMapp 16. The Internal Timer Value specifies a time to a known point in the future and is subsequently discussed in greater detail. The Internal Timer Value can be stored in the RTSM DB 50a, calculated on the fly or hard-coded in the RTSM platform 6 logic. The RTSM SIMapp Interface 49 then forwards an RTSM Registration Response Message 84 to the SIMapp 16 via the SCP 48. The RTSM Registration Response Message includes a tag associated with the message being responded to that identifies the response and the Internal Timer Value, if such is provided. When the SIMapp 16 receives the RTSM Registration Response Message 84 from the RTSM SIMapp Interface 49, if the message contains an Internal Timer Value, the SIMapp 16 loads the Internal Timer Value into countdown timer 34 and starts the countdown timer 34. The timer 34 is illustrated as a countdown timer, although it is recognized that other forms of timers may be substituted, such as count-up timers, in which the counter is initialized to 0 and the current counter value is compared to the Internal Timer Value to determine if the counter has expired. If the Registration Response Message 84 does not include an Internal Timer Value, no timer values are sent to the RTSM platform 6 along with messages the SIMapp sends to indicate call initiation, etc. In this case, the RTSM platform 6 can use an internal timer to time calls. Alternatively, for services, such as wireless data browsing, call accounting can be performed based on the number of such requests, rather than on the durations of the requests. Fig. 5 depicts the events and messaging in the presently disclosed system in response to a mobile originated or a mobile terminated call when the account balance in the RTSM platform 6 is sufficient for the call. When the subscriber presses the send button to initiate a call from the_ wireless device 4 (MO—Call Control Event) or an incoming page to the wireless device 4 is received (MT Call Control Event) , the respective Call Control event is detected by the SIMapp 16 as illustrated by event 86. However, in one embodiment, the dialed digits are intercepted and not transmitted by the handset logic 10 to the MSC 42. Following the detection of the Call Control event by the SIMapp 16, the SIMapp 16 generates a Service Start Invoke Message and the handset logic 10 transmits the Service Start Invoke Message 88 to the SIMapp interface 49 on the RTSM platform 6. The Service Start Invoke Message includes a Service Start Message Tag that identifies the message as a Service Start Invoke Message, an indication of whether the call is a MO or a MT call, a dialed number string, and context information that uniquely identifies the SIMapp/RTSM communication context. Upon detection of the Call Control Event, the SIMapp 16 also reads the value of the countdown timer 34 and stores the value as an Internal Timer Value Tl. The RTSM SIMapp Interface 49 issues a query message 90 to the RTSM DB 50A (see Fig. 4) . If adequate funds are present in the applicable prepaid account, the RTSM DB 50a communicates such information to the RTSM SIMapp Interface 49 in a message 92 and reserves a specified number of minutes as allotted time. This process is referred to as balance reservation. The message 92 to the RTSM SIMapp Interface 49 includes an indication of the call authorization and the minute reservation (allotted time) . The RTSM SIMapp Interface 49 forwards a Service Start Response Message 94 to the SIMapp 16 that includes the authorization, security information and the allotted time. In response, in one embodiment, the SIMapp 16 allows the dialed digits to be transmitted by the handset logic 10 to the MSC 42 (see Fig. 4) as depicted at message 98, and the SIMapp 16 starts an allotted time timer 35. In another embodiment, the dialed digits are transmitted by the handset logic 10, but the SXMapp 16 subsequently ends the call (typically before it is completed) . Later, if the SIMapp 16 receives approval for the call from the RTSM platform 6, the SIMapp re-initiates the call in a manner that is transparent to the user. The allotted time timer 35 provides an indication when the allotted time timer equals the reserved number of minutes received in the Service Start Response Message 94. Following the transmission of the dialed digits to the MSC 42 as depicted by event 96, if the call is a MO call, the call involving the wireless device 4 is connected to the called party to permit communication between the subscriber and the called party. The SIMapp 16 detects the connection of the call as a Call Connect Event. In response to the detection of the Call Connect Event, the SIMapp 16 reads the internal countdown timer 34 and stores the value as one component of T2. In the event the allotted time timer 35 expires, indicating that the allotted time has been utilized, the SIMapp 16 sends another Service Start Invoke Message 100 to the RTSM SIMapp 49 Interface to request an additional reservation of time. The RTSM SIMapp Interface 49 queries the RTSM DB 50a, as illustrated by message 102, ascertains whether the account balance is adequate, and, if adequate, returns an authorization and minute reservation for communication to 'the SIMapp 16. The RTSM SIMapp Interface 49 sends a Service Start Response Message 106 to the SIMapp 16 that includes the authorization and new allotted time for storage in the SIMapp allotted time timer 35. The time reservation is stored in the allotted time timer 35 and the allotted time timer 35 is restarted. When the call is disconnected, the SIMapp 16 detects this event as a Call Disconnect Event as illustrated by event 108. In response to the detection of the Call Disconnect Event by the SIMapp 16, the SIMapp reads the value _of the internal countdown timer 34 and stores the value as a component of T3. The SIMapp 16 then generates a Service End Invoke Message that includes three data-sets, referred to herein as Tl, T2 and T3, and the context information that is employed to identify the call. The data-sets Tl, T2 and T3 each contain a Timer Value Identifier that identifies the data-set, a counter value and a rollover count. The timer identifier in one embodiment is the number of the data-set, i.e. 1, 2 or 3. The counter value is an integer having a value greater than 0 that is read from the countdown timer 34. The counter value represents a duration in seconds between the occurrence of the respective event and the end of a pre-specified period. The rollover count is an integer value, greater than or equal to 0. The rollover count indicates if the countdown timer 34 has expired since the wireless device 4 last registered with the RTSM platform 6. For example, assume the Internal Timer Value conveyed from the RTSM platform is 10000 seconds. The Internal Timer Value is loaded into the countdown timer 34 and the countdown timer 34 is started. Each time the countdown timer reaches 0, the countdown timer is reset to 10000 and the rollover count value is incremented. The Service End Invoke Message 110 is then communicated to the RTSM SIMapp Interface 49 for use by the RTSM platform 6 in performing call rating, subscriber management and call accounting functions . More specifically, the difference between the counter values in Tl and T3 may be employed by the RTSM platform 6 to determine the "Send to End" time, should accounting be performed on this basis. Alternatively, the RTSM platform 6 may ascertain the difference between the values T2 and T3 in the event call accounting is to be performed based on the duration between the Call Connect Event and the Call Disconnect Event. It should be recognized that instead__of Tl, T2 and T3__in the Service End Invoke Message, the SIMapp 16 could alternatively communicate the duration between the appropriate starting point for call accounting (Call Control Event or Call Connect Event) and the Call Disconnect Event and forward the calculated duration to the RTSM platform 6 in the Service End Invoke Message 110.
Additionally, the SIMapp 16 could forward the relevant timer ι' values needed to calculate the duration value of interest for accounting in separate data messages in response to detection of the specific Call Control, Call Connect and Call Disconnect Events. In an alternative embodiment, rather than receiving an Internal Timer Value from the RTSM platform 6, the SIMapp 16 uses real-time values to identify times of call control, call connect and call disconnect events. In such an embodiment, the SIMapp 16 ascertains the times of these events, such as by querying a clock in the handset logic 10, and the SIMapp conveys these times to the RTSM platform 6, with or without storing these values within the Tl, T2 and T3 records. The RTSM SIMapp Interface 49 obtains the call duration from the information contained in the Service End Invoke Message or as otherwise communicated to the RTSM platform 6 and updates the RTSM DB 50A to reflect the time used, as depicted by message 112. The RTSM platform 6 performs an accounting in real time based on call rating data maintained at the RTSM platform 6 and determines the balance remaining in the subscriber's account. The RTSM DB 50a communicates the remaining subscriber balance to the RTSM SIMapp interface 49 via message 114. The RTSM SIMapp Interface 49 forwards a Service End Response Message 116 to the SIMapp 16 that includes a text message that specifies the subscriber balance for display by the handset logic 10. The SIMapp 16 displays the account balance on the handset logic 10 display,__as depicted by event 118 in Fig. 5. Fig. 6 depicts the events and messaging in the presently disclosed system in response to a mobile originated or a mobile terminated call when the account balance in the RTSM platform 6 is not sufficient for the call. Referring to Fig. 6, events/messages 86 through 102 are as described with respect to Fig. 5, which depicts a call with a sufficient balance. In response to the query 102, the RTSM DB 50a returns a message 122 to the RTSM SIMapp Interface 49 that indicates that there are insufficient funds for the call to continue. In response to this indication, a Service Start Response Message 124 is returned to the SIMapp 16 by the RTSM SIMapp interface 49 that includes an insufficient funds indicator. Upon receipt of the insufficient funds indicator in the Service Start Response Message 124, the SIMapp 16 issues a command to the handset logic 10 to end the call. In response to this command, the call is ended, either immediately or after a predetermined time, such as one minute. The SIMapp 16 then forwards a Service End Invoke Message 128 to the RTSM SIMapp Interface 49 that includes the data-sets Tl, T2, T3 and context information that identifies the call communications session. Upon receipt of the Service End Invoke Message 128, the RTSM SIMapp Interface 49 rates the call using duration information derived from the Service End Invoke Message 128 and call tariff information stored in the RTSM DB 50a and updates the RTSM DB 50a via an update message 130. The RTSM DB 50a determines the respective subscriber's account balance and returns this information to the RTSM SIMapp interface 49 in a message 132. The RTSM SIMapp interface 49 then returns a Service End Response Message 134 to the SIMapp 16 that includes text information that indicates the subscriber's remaining balance. The SIMapp 16 issues a command 136 to the handset logic 10 to display the remaining balance to the subscriber.
Countdown Timer Operation The SIMapp 16 controls the countdown timer 34 that is resident in the wireless device for the purpose of determining time remaining to the end of a specified period. The countdown timer 34 may be implemented within the handset logic 10 and accessed via the SAT API interface 14 or, alternatively, may be implemented as logic within the SIM 12. As events occur, the value of the countdown timer 34 is read by the SIMapp 16 through the SAT API interface 14 and the respective timer value is associated with the event. Periodically, for example every 30 seconds, the value of the countdown timer is recorded to a memory, in case of a subsequent unexpected power loss. The SIMapp 16 can be configured to send messages to the RTSM platform 6 at the end of each call. Alternatively, it should be recognized that the SIMapp 16 may be configured to send a message to the RTSM platform 6 in response to the detection of any predetermined event or in association with the detection of a call. In the presently illustrated embodiment, the information conveyed includes the three (3) timer values Tl, T2, and T3 as discussed above. The Tl timer value is recorded by the SIMapp 16 at the time of Call Control (call initiation for a MO call; page of handset for a MT call) . The T2 timer value is recorded by the SIMapp at the time the call is connected for either a MO or a MT call. The T3 timer value is recorded at the time the call ends for either a MO or a MT call.
Power Loss Detection and Processing The SIMapp 16 is capable of recovering correctly from an unexpected loss of power. This is sometimes referred to as a "battery pull" scenario, because one possible way for this situation to occur is as a result of the physical removal of the battery from a wireless _device during a. call. If power is lost during a call, and the SIMapp 16 is configured to notify the RTSM platform 6 when the call is completed, the SIMapp 16 sends call detail information to the RTSM platform 6 the next time the wireless device 4 powers up. During the course of a call, the SIMapp 16 records the counter and rollover values for Tl, T2 and T3 in non-volatile memory. The SIMapp 16 periodically updates the counter value and the rollover count value of T3 as the call continues. Updates are performed at an interval that provides reasonable granularity while not degrading handset performance. The counter and rollover values of T3 are set to the values of T2 when T2 is populated, so that if a power loss occurs before T3 is updated for the first time, the values of T2 and T3 are the same. If, on power up, the SIMapp 16 detects that a power loss scenario has occurred, the SIMapp 16 uses the saved values of Tl, T2 and T3 to construct a Service End Invoke Message for the call that was in progress. The SIMapp subtracts one "update interval" from T3 before populating the Service End Invoke Message, e.g. the SIMapp 16 subtracts the amount of time within the update period (30 seconds in the present example) from the last saved counter value of T3. This essentially rounds T3 towards the next whole "update interval." The operation of the SIMapp 16 in the event of a power loss is discussed in further detail in connection with flow diagrams of Figs. 8 and 9.
Timer Support at Registration Fig. 8 illustrates the steps involved at registration that pertain to countdown timer 34 initiation and power loss processing. As depicted at step 170, the wireless device 4 is powered up. Following power up of the wireless device 4, the SIMapp 16 forwards an RTSM Registration Request Message to the RTSM SIMapp Interface 49 as illustrated, in step 172. In response to the transmission of the RTSM Registration Request Message, the SIMapp 16 receives a Registration Response Message that may include an Internal Timer Value to be stored within the countdown timer 34, as depicted at step 174. As shown at decision step 176, the SIMapp 16 tests a Power Loss Flag stored by the SIMapp 16 to determine if data-sets pertaining to a prior call were not communicated to the RTSM platform 6 due to a power loss. If the Power Loss Flag indicates that Tl, T2 and T3 data-sets were not previously communicated to the RTSM platform 6, the SIMapp 16 subtracts one update interval from the counter value T3 (30 seconds in the illustrated embodiment) , as illustrated in step 178. The SIMapp 16 then transmits a Service End Invoke Message to the RTSM platform 6 that includes the data-sets Tl, T2 and T3, context information that identifies the communication session and a tag that indicates the Service End Invoke Message pertains to a power loss scenario, as shown in step 180. In response to receipt of the Service End Invoke Message, the RTSM platform 6 calculates the call start time and the call duration. More specifically, the RTSM SIMapp Interface 49 maintains a timer value that corresponds to the time and date when the Internal Counter Value was conveyed to the SIMapp 16 during the last succession registration. Based on this time and date information, and the counter and rollover values stored in Tl, T2 and T3, the RTSM SIMapp Interface 49 calculates the start time of the call (from either Tl or T2, as applicable) and the duration of the call (from T3 and Tl or T2) . These calculated values are used by the RTSM SIMapp Interface 49 to rate the call, as previously discussed. As depicted in step 182, the SIMapp 16 stores the Internal Timer Value that was communicated to the SIMapp 16 in the RTSM Registration Response Message or a constant Internal Timer Value if no such value is provided by_ the RTSM platform 6. Xn_ one embodiment, the SIMapp 16 stores a value of 86200 in the countdown timer 34, which corresponds to the number of seconds in a 24-hour period. The actual constant chosen for storage in the countdown timer 34 is a matter of design choice. The value stored in the countdown timer 34 defines the point in the future at which the countdown timer 34 will expire. The SIMapp 16 also clears the rollover count values for Tl, T2 and T3 and starts the countdown timer 34. The countdown timer 34 runs continuously so that it can be sampled whenever the SIMapp 16 needs to populate a timer value for a call event. If, in step 176, it is determined that the Power Loss Flag was not set on power-up, the SIMapp 16 stores the Internal Timer Value that was communicated to the SIMapp 16 in the RTSM Registration Response Message or a constant Internal Timer value if no such value is provided by the RTSM platform 6 and clears the rollover count values for Tl, T2 and T3 and starts the countdown timer 34, as depicted in step 182. As illustrated in step 184, the SIMapp 16 determines whether the countdown timer 34 has expired. If the countdown timer 34 has expired, the SIMapp 16 increments the rollover count and resets the countdown timer 34. Fig. 9 illustrates the operation and use of the countdown timer during call event processing. As illustrated in step 200, the SIMapp 16 awaits the occurrence of a Call Control event, i.e. the detection of a signal associated with the pressing of the SEND key on the wireless device 4 or the detection of a signal indicative of a page of the wireless device 4. Upon detection of the Call Control event, the SIMapp 16 stores the following values in the SIMapp Memory 20 as Tl: the Timer ID ("1"), the current value of the countdown timer 34 and the current value of the rollover count as. illustrated at step 202. The SIMapp 16 then awaits the occurrence of a Call Connect event, as depicted in step 204. The handset logic 10 generates the call connect event when a MO or MT call is connected and notifies the SIMapp 16 of the call connect event via the API. In response to the detection of the Call Connect event, the SIMapp 16 stores the following values within the data-set T2: the Timer ID ("2"), the current value of the countdown timer 34 and the current value of the rollover count, as depicted in step 206. The SIMapp 16 also stores the counter and rollover count values of T2 as the initial values within the T3 data-set, as shown at step 208. The SIMapp 16 determines whether a Power Loss event has occurred, as illustrated in decision step 210. If the SIMapp 16 detects the occurrence of a power loss during the call or before Tl, T2 and T3 have been forwarded to the RTSM SIMapp Interface 49 at the end of the call, the SIMapp 16 sets a Power Loss Flag within the non-volatile memory 20, as illustrated at step 212. If no power loss has occurred during the call, as illustrated at decision step 214, the SIMapp 16 determines whether a Call Disconnect event has occurred. If no Call Disconnect event has occurred, control passes to decision step 220 to determine if n seconds (n=30 seconds in the illustrative example) have passed since the last update of T3. If n seconds have passed, T3 is updated by storing the current countdown counter value and the current rollover count in T3, as depicted in step 222. If n seconds have not passed since the last update of T3, control returns to decision step 210. If, in decision step 214, a determination is made that a Call Disconnect event (end of call) has been detected, the Timer ID ("3") and the current counter and rollover values are stored in the T3 data-set, as illustrated in step 216. While a call is in progress, the SIMapp 16 may increase the frequency at which it updates 'the counter and rollover count .values within the T3 data- set to maintain more current and accurate counter values in the event of a power loss. The SIMapp 16 transmits to the RTSM SIMapp Interface 49 a Service End Invoke Message that includes the Tl, T2 and T3 data- sets and the relevant context information that identifies the call session, as shown in step 218. The above-described counter operation may be employed in GSM-compliant phones and in cellular systems in which the SAT API between the SIM and the handset logic 10 supports counter management. Additionally, it should be recognized that the above- described functionality of the SIM 12 and SAT API 14 may be embedded within the handset logic 10 instead of in SIM 12. Some wireless devices using other wireless protocols (e.g. the iDEN protocol) do not support SAT API commands for timer management. In such devices, rather than sampling countdown and rollover values in response to detecting specified events, the SIMapp 16 directly calculates values that corresponds to the counter and rollover count values in response to the detection of the specified call events. The calculated values equal the period of time from the current time to a specified point in the future. The specified point in the future is communicated to the SIMapp 16 by the RTSM platform 6 as the Internal Timer Value in the RTSM Registration Response Message. The Internal Timer Value specifies the number of seconds to add to the time at which the RTSM Registration Response was received by the SIMapp 16. This defines the specified point in the future. If no Internal Timer Value is specified by the RTSM platform 6, the specified point in the future is set by the SIMapp as 24 hours from the current time. The SIMapp 16 calculates the number of seconds from a Call Control event, a Call Connect event, and a Call Disconnect event to the specified point in the future during both MO and MT calls. Each .calcul_i___l__al e .is__rec_orded n the Tl, T2 or T3 data-set, as applicable. This information is transmitted to the RTSM platform 6 in the Service End Invoke Message when the call disconnects, in the manner previously discussed. A rollover count is also generated by the SIMapp 16. In one embodiment, each time the specified point in time is passed, the SIMapp 16 increments the rollover count so that the rollover count specifies the number of times the initially specified duration has occurred since the last registration. Thus, every time the specified duration is passed, it is extended by a predetermined period (e.g. 24 hours), and the rollover count is incremented by one. In an alternative embodiment, the SIMapp 16 checks if the rollover count needs to be incremented every time a timer value is calculated and recorded. Timer Values Table 4 defines the point within the call flow at which the timer value of Tl, T2 and T3 are populated.
Figure imgf000032_0001
Table 4 Tl and T2 are always the same for a MT call Example: As an example of how Tl, T2 and T3 would be populated, consider the situation in which: (a) the specified duration ends at midnight local time; (b) the handset is powered on at 23:40:30 local time; (c) a call is originated at 23:54:10 local time; (d) the call is answered 10 seconds later; and (e) the call lasts for 60 seconds. At the end of the call, Tl, T2 and T3 values are as illustrated in Table 5 below:
Figure imgf000033_0001
Table 5 If the subscriber initiates another, similar call at 23:59:50, Tl, T2 and T3 values at the end of the cell as illustrated in Table 6 below:
Figure imgf000033_0002
Table 6
Exemplary Services The presently described syst m provides the capability of detecting predetermined events within the wireless device and communicating information pertaining to those events via a data message to a central server or subscriber management platform that provides a wide range of abilities, including control of the behavior of the wireless device, subscriber management and real- time account management. The following section provides examples of the services that can be provided using the presently disclosed architecture. The list is illustrative only, and is not intended to be exhaustive.
MO or MT Voice Call Control One purpose of the disclosed system is to provide control of voice calls. The SIMapp maintains configuration information that governs how specified events are to be processed. If a Mid-Service Disconnect status is set and the allόttecTTime timer 35 expires before the call is otherwise disconnected, the SIMapp 16 disconnects the call. When the Call Disconnect Event occurs, the SIMapp 16 performs the following tasks: (1) obtain and record the current value of T3; (2) format and send to the RTSM platform 6 a Service End Invoke Message containing the context information associated with the call, the Tl, T2 and T3 data-sets, and the Disconnect Reason Code. The Service End Response Message may contain a message to display on the handset logic 10, e.g. the balance remaining. It may be necessary for the SIMapp 16 to monitor more than one call simultaneously, as in the case of Call Waiting or Conference Calling. In these cases, it may be necessary for the SIMapp 16 to maintain separate sets of Tl, T2 and T3 values along with context information for each call session. As noted above, if the balance in the RTSM platform 6 is insufficient for a call, the call is disallowed or disconnected. The RTSM platform 6 can also selectively allow or disallow calls based on criteria other than a balance in an account associated with the user of the wireless device 4. In one embodiment, the RTSM platform 6 selectively allows or disallows calls based on a location of the wireless device 4. The DB 50a stores information identifying geographic regions, regions associated with various wireless carriers or other types of regions, from or to which calls are allowed and/or disallowed. In another embodiment' the RTSM platform 6 selectively allows or disallows calls based on a list of permitted ("white- listed") and/or forbidden ("blacklisted") parties. These lists identify the parties by their respective telephone numbers, caller ID names or other appropriate identification information. In yet another embodiment, the RTSM platform 6 selectively allows or disallows calls based on a time of day of the calls. The
DB 50a stores information identifying time periods, such as 9 a.m. to 5 p.m., weekends, or holidays during which calls are allowed and/or disallowed. In another embodiment, the RTSM platform 6 selectively allows or disallows calls based on an amount of use of the wireless device 4 within a predetermined control period. For example, the RTSM platform 6 can allow up to a cumulative total of
1000 minutes of calls in each calendar month. In other embodiments, the RTSM platform 6 selectively allows or disallows calls based on a Boolean combination of two or more criteria, such as those listed above or other criteria.
Over-the-Air Provisioning As a result of updates or changes to the SIMapp 16, it may be desirable to alter the SIMapp 16 programming from time to time. For this reason, the network operator may update the SIMapp code image 16 over the air (OTA), as it is known in the art.
Handset Support Query The SIMapp 16 is able to query the handset's capabilities and disable the handset in the event that it or the user' s account does not meet some minimum criteria. This analysis is performed on power-up and is useful in reducing the likelihood of fraudulent use. In the event the query results in a determination that the minimum established criteria are not met, the handset logic 10 is disabled. The disabling of the handset logic 10 prevents it from being used to perform any MO or MT communications, such as voice, data bearer messaging (e.g. SMS), push to talk, wireless data, etc. Emergency numbers, such as 911 and other specified numbers, are always available.
SIMapp Configuration Data The following configuration information defines how the SIMapp 16 operates under pre-specified conditions. This information can be changed during registration or via a Configuration Update message.
Trust Modes When the SIM is first powered on, the SIMapp 16 enters its most recently configured trust mode. The Trust mode is set to either a Trusting Mode or a' Non-Trusting Mode. .In the Trusting Mode, the SIMapp 16 allows MO and MT calls even before a registration response is received from the RTSM platform 6. In the Non-Trusting Mode, the SIMapp 16 does not allow MO or MT calls to proceed until a registration response is received from the RTSM platform 6 that indicates that such calls are authorized, the default mode is the Non-Trusting Mode. The RTSM platform 6 may specify a trust mode in the RTSM Registration Response Message. Registration Modes The SIMapp 16 handles registration requests based on its currently configured registration mode. In one embodiment, the SIMapp 16 supports the Registration Modes discussed in Table 7 below.
Figure imgf000037_0001
Table 7 The default mode is to register on power up and location changes . In one embodiment, the SIMapp 16 only registers on power up and upon location changes and location information is conveyed .to the RTSM platform only in response to detection of the handset- power up or a location change. Pre-authorization Mode The- SIMapp 16 handles Service Start Request Messages based on its currently configured Pre-authorization Mode . The Pre- authorization Modes are as indicated in Table 8 below.
Figure imgf000038_0001
Table 8 The default mode is to allow all service until further notification.
Service End Mode The SIMapp 16 handles Service End Invoke Messages based on the currently configured Service End Mode. The Service End Mode may be specified as indicated in Table 9 below.
Figure imgf000039_0001
Table 9 Allocation Depletion Mode As noted, if a call is allowed, the SIMapp 16 may be provided with an allocated time for a call. In the event the allocated time is depleted, the Allocation Depletion Mode specifies how the call is to be handled by the SIMapp 16. The Allocation Depletion Mode may be configured as set forth in Table 10 below:
Figure imgf000039_0002
Table 10
Re-Authorize Mode If Pre-Authorization is in effect for MO or MT calls, and the Allocation Depletion action is "Re-Authorize," then the Maximum Call Length indicates the maximum amount of time before the SIMapp 16 is required to check with the RTSM platform 6 again. When this time expires, the SIMapp 16 generates a new Service Start Invoke Message. This process can continue multiple times until the subscriber's balance is exhausted or the call ends. The Service Start Invoke Response can indicate that the subscriber has no more money in one of two ways: (1) by returning a positive Maximum Call Duration, but with an indicator that Re-Authorization is no longer in effect (essentially saying "that's all the subscriber has left") or (2) by returning a zero Maximum Call Duration (essentially saying "the subscriber had some earlier, but it is all gone now"). When either of these indications occur, the action typically indicated is the disconnection of the call. While the above-described system has been described in terms of a call, the presently disclosed system may ι be employed for detecting events pertaining to web browsing and other wireless data services and communicating information from a wireless device to a central server pertaining to such services for accounting and subscriber management functions. By way of example, the SIMapp 16 can detect browsing and, optionally, the amount of data retrieved by the browsing in packets, bytes, etc. Some communications, including some web browsing, do not have distinct start and end times . These communications can be treated as having only a start or only an end time. In response to the detection of the end of a browse, the SIMapp 16 may generate a data message to the RTSM SIM Interface 49 that indicates that a browse was initiated or ended. Optionally, the data message can include the number of bytes retrieved. The RTSM platform 6 may utilize the number of such browses, the number of bytes retrieved, the type of data retrieved (e.g., text, music, or video), etc. for accounting, based on wireless data rating information retained at the RTSM platform 6.
Alternatively, rather than informing the RTSM platform 6 of each individual data transfer, the SIMapp 16 can seek pre-authorization for a number of browses and/or an amount of data that can be retrieved. The SIMapp 16 can store the pre-authorization amounts in the SIM. Then, as the user browses, the SIMapp 16 can deduct appropriate counts from the appropriate stored pre-authorization amount. If a stored pre-authorization amount becomes depleted or reaches a low threshold, the SIMapp 16 can seek addition authorization from the RTSM platform 6. Embodiments of the presently disclosed system enable the RTSM platform 6 to receive real-time information concerning calls and other communications, for roaming and non-roaming wireless devices. The RTSM platform 6 can, therefore, collect this information and use it to perform call accounting. Alternatively or additionally, the RTSM platform 6 can use this information to generate and/or store call detail records (CDRs) . The RTSM platform 6 can forward these CDRs to another accounting and/or billing system, such as one operated by a carrier or a third party. The above-described system has been described in terms of calls, wireless data services and other communications that are successfully completed. For example, the RTSM platform 6 can debit the subscriber' s account for MO or MT calls that are answered, but, in one embodiment, the RTSM platform 6 does not debit the subscriber's account for calls that are busy, intercepted or not answered. In another embodiment, the RTSM platform 6 can debit the subscriber's account for some or all communications, whether they are successfully completed or not. It should be appreciated that modifications to and variations of the above-described methods and system may be made without departing from the inventive concepts disclosed herein. Accordingly, the invention is not to be viewed as limited except by the scope and spirit of the appended claims .

Claims

CLAIMSWhat is claimed is:
1. A wireless device comprising: handset logic for communicating over a wireless network; and a removable module communicably coupled to said handset logic, said removable module comprising: a memory containing an application program; and a processor operative to execute said application program to: detect an occurrence of at least one predetermined event pertaining to a communication involving said wireless device and directed to, or initiated by, a user of said wireless device; store information associated with said at least one predetermined event; generate a data message that includes said information for transmission to an external server in response to said communication; and initiate transmission of said data message from said handset logic over said wireless network.
2. The wireless device of claim 1, wherein said communication is a call having a call start and a call end.
3. The wireless device of claim 2, wherein said call is successfully completed.
4. The wireless device of claim 2, wherein said at least one predetermined event comprises said call end, and said application is operative to generate said data message in response to the detection of said call end.
5. The wireless device of claim 4, wherein said information includes at least one value indicative of a duration associated with said call.
6. The wireless device of claim 5, wherein said wireless device includes a timer, said at least one predetermined event- includes first and second events corresponding to said call start and said call end respectively, and said application is further operative to obtain first and second timer values from said timer in response to the occurrence of said first and second events, wherein said information includes said first and second timer values and a difference between said first and second timer values is indicative of said duration associated with said call.
7. The wireless device of claim 6, wherein said first event comprises one of a call control event and a call connect event.
8. The wireless device of claim 7, wherein said call control event comprises one of a an initiation of a call for . a mobile originated call and a page of said wireless device for a mobile terminated call.
9. The wireless device of claim 2, wherein said wireless device includes a timer, said at least one predetermined event includes first and second events corresponding to said call start and said call end respectively, and said application is further operative to obtain first and second timer values from said timer in response to the occurrence of said first and second events, wherein said information comprises a value indicative of a duration associated with said call derived from said first and second timer values.
10. The wireless device of claim 9, wherein said first event comprises one of a call control event and a connect event.
11. The wireless device of claim 10, wherein said call control event comprises one of an initiation of a call for a mobile originated call and a page of said wireless device for a mobile terminated call.
12. The wireless device of claim 2, wherein said information associated with said at least one predetermined event includes a value indicative of a duration associated with said call.
13. The wireless device' of claim 1, wherein said communication comprises retrieving data from a server in response to a request by said user, said at least one predetermined event comprises said request by said user, and said information is indicative of at least one of an occurrence of said request and an amount of data retrieved from said server.
14. The wireless device of claim 1, wherein said removable module comprises a subscriber identity module (SIM) .
15. The wireless device of claim 1, wherein said removable module comprises a universal subscriber identity module (USIM) .
16. The wireless device of claim 1, wherein said removable module comprises a removable universal identification module (R- UIM) .
17. A method of operating a wireless device that includes a removable module communicably coupled to handset logic comprising: detecting an occurrence of at least one predetermined event pertaining to a communication involving said wireless device and directed to, or initiated by, a user of said wireless device utilizing a processor in said removable module executing an application stored within a first memory portion of said removable module; responsive to the detecting of the occurrence of said at least one predetermined event, storing in a second memory portion of said removable module information associated with said at least one predetermined event; generating a data message that includes said information for transmission to an external server,; and initiating via said processor the transmission of said data message from said wireless device as a wireless RF message.
18. The method of claim 17, wherein said communication has a call start and a call end and said detecting the occurrence of at least one predetermined event comprises detecting said call end.
19. The method of claim 17, wherein said communication has a call start and a call end, said call is successfully completed and said detecting the occurrence of at least one predetermined event comprises detecting said call end upon the successful completion of said call.
20. The method of claim 18, wherein said storing information comprises storing at least one value indicative of a duration associated with said call.
21. The method of claim 18, wherein said predetermined event comprises first and second events corresponding to said call start and said call end, respectively, said method further comprising obtaining first and second timer values in response to the occurrence of said first and second events, wherein said information includes said obtained first and second timer values.
22. The method of claim 18, wherein said predetermined event comprises first and second events corresponding to said call start and said call end, respectively, said method further comprises deriving a value indicative of a duration associated with said call, wherein said information includes said derived value.
23. The method of claim 22, wherein said detecting the occurrence of at least one predetermined event comprises detecting at least one of a call control event and a call connect event.
24. The method of claim 23, wherein said detecting the occurrence of at least one predetermined event comprises detecting at least one of an initiation of a call for a mobile originated call and a page of said wireless device for a mobile terminated call.
25. The method of claim 18, wherein said generating a data message comprises generating a data message that includes at least one value indicative of a duration associated with said call.
26. The wireless device of claim 17, wherein said removable module comprises a subscriber identity module (SIM) .
27. The wireless device of claim 17, wherein said removable module comprises a universal subscriber identity module (USIM) .
28. The wireless device of claim 17, wherein said removable module comprises a removable universal identification module (R- UIM) .
29. A removable module for communicably coupling to a wireless communication device, comprising: a memory containing an application program; and a processor operative to execute said application program to: detect an occurrence of at least one predetermined event pertaining to a communication involving said wireless communication device and directed to, or initiated by, a user of said wireless communication device; store information associated with said at least one predetermined event; generate a data message that includes said information for transmission to an external server in response to said communication; and initiate transmission of said data message from said wireless communication device over a wireless network.
30. The removable module of claim 29, wherein said communication is a call having a call start and a call end.
31. The removable module of claim 30, wherein said call is successfully completed.
32. The removable module of claim 30, wherein said at least one predetermined event comprises said call end, and said application is operative to generate said data message in response to the detection of said call end.
33. The removable module of claim 32, wherein said information includes at least one value indicative of a duration associated with said call.
34. The removable module of claim 30, wherein said at least one predetermined event includes first and second events corresponding to said call start and said call end respectively, and said application is further operative to obtain first and second timer values in response to the occurrence of said first and second events, wherein said information includes said first and second timer values, and a difference between said first and second timer values is indicative of a duration associated with said call.
35. The removable module of claim 34, wherein said first event comprises one of a call control event and a connect event.
36. The removable module of claim 35, wherein said call control event comprises one of an initiation of a call for a mobile originated call and a page of said wireless device for a mobile terminated call.
37. The removable module of claim 30, wherein said at least one predetermined event includes first and second events corresponding to said call start and said call end respectively, and said application is further operative to obtain first and second timer values in response to the occurrence of said first and second events, wherein said information comprises a value indicative of a duration associated with said call derived from said first and second timer values.
38. The removable module of claim 37, wherein said first event comprises one of a call control event and a connect event.
39. The removable module of claim 38, wherein said call control event comprises one of ' an initiation of a call for a mobile originated call and a page of said wireless device for a mobile terminated call.
40. The removable module of claim 30, wherein said information associated with said at least one predetermined event includes a value indicative of a duration associated with said call.
41. The removable module of claim 29, wherein said communication comprises retrieving data from a server in response to a request by said user, said at least one predetermined event comprises said request by said user, and said information is indicative of at least one of an occurrence of said request and an amount of data retrieved from said server.
42. The removable module of claim 29, wherein said memory and said processor are parts of a subscriber identity module (SIM) .
43. The removable module of claim 29, wherein said memory and said processor are parts of a universal subscriber identity module (USIM) .
44. The removable module of claim 29, wherein said memory and said processor are parts of a removable universal identification module (R-UIM) .
45. A wireless device comprising: a first memory portion containing an application program; and a processor operative to execute said application program to: detect an occurrence of at least one predetermined event pertaining to a communication involving said wireless device and directed to, or initiated by, a user of said wireless device; store information associated with said at least one predetermined event within a second memory portion within said wireless device; generate a data message that includes said information for transmission to an external server; and initiate transmission of said data message as a wireless RF message in response to the occurrence of said at least one predetermined event.
46. The wireless device of claim 45, wherein said communication is a call having a call start and a call end.
47. The wireless device of claim 46, wherein said call is successfully completed.
48. The wireless device of claim 46, wherein said at least one predetermined event comprises said call end, and said application is operative to generate said data message in response to a detection of said call end.
49. The wireless device of claim 47, wherein said information includes at least one value indicative of a duration associated with said call.
50. The wireless device of claim 46, wherein said wireless device includes a timer, said at least one predetermined event includes first and second events corresponding to said call start and said call end, respectively; and said application is further operative to obtain first and second timer values from said timer in response to an occurrence of said first and second events, wherein said information includes said first and second timer values and a difference between said first and second timer values is indicative of a duration associated with said call.
51. The wireless device of claim 50, wherein said first event comprises one of a call control event and a connect event.
52. The wireless device of claim 51, wherein said call control event comprises one of an initiation of a call for a mobile originated call and a page of said wireless device for a mobile terminated call.
53. The wireless device of claim 46, wherein said wireless device includes a timer, said at least one predetermined event includes first and second events corresponding to said call start and said call end respectively, and said application is further operative to obtain first and second timer values from said timer in response to the occurrence of said first and second events, wherein said information comprises a value indicative of a duration associated with said call derived from said first and second timer values .
54. The wireless device of claim 53, wherein said first event comprises one of a call control event and a connect event.
55. The wireless device of claim 54, wherein said call control event comprises one of an initiation of a call for a mobile originated call and a page of said wireless device for a mobile terminated call.
56. The wireless device of claim 46, wherein said information associated with said at least one predetermined event includes a value indicative of a duration associated with said call.
57. The wireless device of claim 45, wherein said communication comprises retrieving data from a server in response to a request by said user, said at least one predetermined event comprises request by said user, and said information is indicative of at least one of an occurrence of said request and an amount of data retrieved from said server.
58. A method for communicating information between a wireless device and an external server comprising: detecting the occurrence of at least one predetermined event pertaining to a communication involving said wireless device and directed to, or initiated by, a user of said wireless device utilizing a processor executing an application within said wireless device; in response to the detecting of said at least one predetermined event, storing information associated with said at least one predetermined event within a memory within said wireless device; and generating a data message that includes said information within said wireless device for transmission to said external server; and transmitting said data message from said wireless device in response to the occurrence of said at least one predetermined event .
59. The method of claim 58, wherein said communication has a call start and a call end and said detecting the occurrence of at least one predetermined event comprises detecting said call end.
60. The method of claim 58, wherein said communication has a call start and a call end, said call is successfully completed and said detecting the occurrence of at least one predetermined event comprises detecting said call end.
61. The method of claim 59, wherein said storing information comprises storing at least one value indicative of a duration associated with said call.
62. The method of claim 59, wherein said predetermined event comprises first and second events corresponding to said call start and said call end, respectively; and further comprising obtaining first and second timer values in response to an occurrence of said first and second events, wherein said information includes said obtained first and second timer values.
63. The method of claim 59, wherein said predetermined event comprises first and second events corresponding to said call start and said call end, respectively; and further comprises deriving a value indicative of a duration associated with said call, wherein said information includes said derived value.
64. The method of claim 63, wherein said detecting the occurrence of at least one predetermined event comprises detecting a call control event or a connect event.
65. The method of claim 64, wherein said detecting the occurrence of at least one predetermined event comprises detecting an initiation of a call for a mobile originated call or a page of said wireless device for a mobile terminated call.
66. The method of claim 59, wherein said generating a data message comprises generating a data message that includes at least one value indicative of a duration associated with said call.
67. The method of claim 58, wherein the detecting of said occurrence of at least one predetermined event, the storing of said information and said data message generating are performed by an application program resident in a removable module within said wireless device.
68. The method of claim 67, wherein said removable module comprises a subscriber identity module (SIM) .
69. The method of claim 67, wherein said removable module comprises a universal subscriber identity module (USIM) .
70. The method of claim 67, wherein said removable module comprises a removable universal identification module (R-UIM) .
71. A method of operating a wireless device for use with a call accounting system, comprising: detecting within the wireless device a first event associated with a start of a communication involving the wireless device and directed to, or initiated by, a user of said wireless device and a second event associated with an end of said communication; obtaining information at said wireless device indicative of a duration associated with said communication in response to the detection of said first and second events; in response to the detection of said second event, sending a data bearer message from the wireless device to said call accounting system, said message including at least said information indicative of the duration associated with said communication.
72. The method of claim 71, wherein said information obtaining step comprises: obtaining a first counter value from a counter in said wireless device in response to the detection of said first event; and obtaining a second counter value from said counter in response to the detection of said second event; wherein a difference between said first and second counter values is indicative of the duration associated with- said communication and wherein said sending step comprises sending said first and second counter values to an external data processing platform in response to the detection of said second event .
73. The method of claim 72, further comprising: receiving said data bearer message at said external data processing platform; and utilizing said first and second counter values at said external data processing platform to perform said call accounting for said communication.
74. The method of claim 71 wherein said information obtaining step comprises: obtaining a first counter value from a counter in said wireless device in response to the detection of said first event; obtaining a second counter value from said counter in response to the detection of said second event; and generating a difference value indicative of the duration associated with said communication from said first and second counter values; and wherein said sending step comprises sending said difference value to an external data processing platform in response to the detection of said second event.
75. The method of claim 71, further comprising: storing a first counter value obtained from a counter in said wireless device in response to the detection of said first event; storing a second counter value obtained from said counter in response to the detection of said second event; wherein a difference between said first and second counter values is indicative of the duration associated with said communication and said information comprises at least said first and second counter values.
76. The method of claim 71, wherein said first event comprises one of an initiation of a mobile originated call and a page of said wireless device for a mobile terminated call; and said second event comprises an end of said call for either a mobile terminated call or a mobile originated call.
77. The method of claim 71, wherein said first event comprises connection of said communication for either a mobile originated call or a mobile terminated call; and said second event comprises an end of said call for either a mobile terminated call or a mobile originated call.
78. A subscriber management and accounting system, comprising: a wireless communication network; a management platform including a text messaging gateway; and a wireless device communicating over the wireless communication network with the management platform, the wireless device including a removable module comprising: a memory containing an application program; and a processor operative to execute said application program to: detect an occurrence of at least one predetermined event pertaining to a communication involving said wireless device and directed to, or initiated by, a user of said wireless device; store information associated with said at least one predetermined event; and in response to said communication, send a data message that includes said information over said wireless communication network to said management platform via said text messaging gateway.
79. The subscriber management and accounting system of claim 78, wherein said management platform is configured to allow or deny said communication based on a balance in an account associated with said user.
80. The subscriber management and accounting system of claim 78, wherein said removable module comprises a subscriber identity module (SIM) .
81. The subscriber management and accounting system of claim 78, wherein said removable module comprises a universal subscriber identity module (USIM) .
82. The subscriber management and accounting system of claim 78, wherein said removable module comprises a removable universal identification module (R-UIM) .
83. The subscriber management and accounting system of claim 78, wherein said data message is formatted as ' a text message.
84. The subscriber management and accounting system of claim 83, wherein said data message is formatted as an SMS message.
85. The subscriber management and accounting system of claim 78, wherein said wireless device is configurable to: in a first trust mode, allow communications directed to, or initiated by, a user of said wireless device without first receiving a registration response from said management platform, and in a second trust mode, disallow said communications without first receiving a registration response from said management platform.
86. The subscriber management and accounting system of claim 85, wherein said trust mode is configurable via a command message from said management platform.
87. The subscriber management and accounting system of claim 78, wherein a registration mode of said wireless device controls whether said wireless device registers or does not register with said management platform upon detecting a change in location of said wireless device.
88. The subscriber management and accounting system of claim 87, wherein said registration mode is configurable via a command message from said management platform.
89. The subscriber management and accounting system of claim 78, wherein a pre-authorization mode of said wireless device controls whether said wireless device requires or does not require authorization from said management platform before allowing communications directed to, or initiated by, a user of said wireless device.
90. The subscriber management and accounting system of claim 89, wherein said pre-authorization mode is configurable via a command message from said management platform.
91. The subscriber management and accounting system of claim 78, wherein a pre-authorization mode of said wireless device controls whether said wireless device allows or does not allow communications directed to, or initiated by, the user of said wireless device to begin without first receiving authorization from said management platform.
92. The subscriber management and accounting system of claim 78, wherein, in one of a plurality of pre-authorization modes of said wireless device, said wireless device allows a communication directed to, or initiated by, the user of said wireless device to begin without first receiving authorization from said management platform, and said wireless device is configured to end said communication, if so instructed by said management platform.
93. The subscriber management and accounting system of claim 91, wherein said pre-authorization mode is configurable via a command message from said management platform.
94. The subscriber management and accounting system of claim 78, wherein a mode of said wireless device is configurable to allow communications directed to, or initiated by, the user of said wireless device to begin without first sending the data message to said management platform.
95. The subscriber management and accounting system of claim 94, wherein said mode is configurable via a command message from said management platform.
96. The subscriber management and accounting system of claim 78, wherein said wireless device is configured to: in a first allotted timer expiration mode, end a communication directed to, or initiated by, the user of said wireless device after expiration of an allotted time; in a second allotted timer expiration mode, seek re- authorization from said management platform to continue said communication; and in a third allotted timer expiration mode, allow said communication to continue without seeking said re-authorization from said management platform.
97. A wireless communication device, comprising: a memory containing an application program; a processor operative to execute said application program to: in a first trust mode, allow communications that are billable to a predetermined account associated with a user of said wireless device to begin without first receiving a registration response from an external management platform; and in a second trust mode, disallow said communications from beginning without first receiving said registration response from said external management platform.
98. The subscriber management and accounting system of claim 97, wherein said trust mode is configurable via a command message from said management platform.
99. A wireless communication device, comprising: a memory containing an application program; a processor operative to execute said application program to: in a first pre-authorization mode, allow communications that are billable to a predetermined account associated with a user of said wireless device to begin without first receiving authorization from an external management platform; and in a second pre-authorization mode, prevent said communications from beginning without first receiving authorization from said external management platform for each of said communications.
100. The wireless communication device of claim 99, wherein said pre-authorization mode is configurable via a command message from said management platform.
101. The wireless communication device of claim 99, wherein said processor is further operative to execute said application program to, in a third pre-authorization mode, prevent said communications until said third pre-authorization mode is reconfigured via a command message from said management platform.
102. The wireless communication device of claim 99, wherein said processor is further operative to execute said application program to, in a fourth pre-authorization mode: allow said communications to begin without first receiving authorization from said external management platform; and seek authorization from said external management platform for each of said communications and either allow said communication to continue or end said communication, based on a response received from said external management platform.
103. The wireless communication device of claim 99, wherein a registration mode of said wireless device controls whether said wireless device registers or does not register with said management platform upon detecting a change in location of said wireless device.
104. The wireless communication device of claim 103, wherein said registration mode is configurable via a command message from said management platform.
105. The wireless communication device of claim 99, wherein a mode of said wireless device is configurable to allow communications directed to, or initiated by, the user of said wireless device to begin without first sending the data message to said management platform.
106. The wireless communication device of claim 105, wherein said mode is configurable via a command message from said management platform.
107. The wireless communication device of claim 99, wherein said application program operates: in a first allotted timer expiration mode to end a communication directed to, or initiated by, a user of said wireless device after expiration of an allotted time; in a second allotted timer expiration mode to seek re- authorization from said management platform to continue said communication; and in a third allotted timer expiration mode to allow said communication to continue without seeking said re-authorization from said management platform.
108. A wireless communication device, comprising: a memory containing an application program; and a processor operative to execute said application program to: in a first service-end mode, send a data message to an external management platform after completion of a communication that is billable to a predetermined account associated with a user of said wireless device, said data message including information indicative of at least a duration of said communication; and in a second service-end mode, not sending said data message after completion of said communication.
109. The wireless communication device of claim 108, wherein said service-end mode is configurable via a command message from said external management platform.
110. A method of operating a wireless communication call accounting system, comprising: at a wireless device, detecting at least one predetermined event associated with a communication directed to, or initiated by, a user of said wireless device; sending a wireless data message to an external server in response to the detection of the at least one predetermined event; and performing real-time call accounting at said external server in response to receipt of the data message.
111. The method of claim 110, wherein the step of sending a data message comprises sending a data message that includes information indicative of a duration of said communication.
112. The method of claim 110, wherein the step of performing real-time call accounting comprises allowing or disallowing said communication based on said accounting.
113. A wireless communication call accounting system, comprising: an external server; and a wireless device communicably coupled to the external server via a wireless network, said wireless device containing an application program operative to: detect, at least one predetermined event associated with a communication directed to, or initiated by, a user of said wireless device; and send a data message via said wireless network to said external server in response to the detection of said at least one predetermined event; wherein said external server is operative to perform realtime call accounting in response to receipt of said data message.
114. The wireless communication call accounting system of claim 113, wherein said data message includes information indicative of a duration of said communication.
115. The wireless communication call accounting system of claim 113, wherein said external server is further operative to allow or disallow said communication based on said accounting.
116. The wireless device of claim 6, wherein said first and second timer values are real times at which said first and second events occur, respectively.
PCT/US2004/026123 2003-08-15 2004-08-12 Subscriber management and accounting using event detection in a wireless device WO2005019998A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP04780892A EP1660977A2 (en) 2003-08-15 2004-08-12 Subscriber management and accounting using event detection in a wireless device
MXPA06001678A MXPA06001678A (en) 2003-08-15 2004-08-12 Subscriber management and accounting using event detection in a wireless device.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US49564203P 2003-08-15 2003-08-15
US60/495,642 2003-08-15

Publications (2)

Publication Number Publication Date
WO2005019998A2 true WO2005019998A2 (en) 2005-03-03
WO2005019998A3 WO2005019998A3 (en) 2006-09-14

Family

ID=34215929

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/026123 WO2005019998A2 (en) 2003-08-15 2004-08-12 Subscriber management and accounting using event detection in a wireless device

Country Status (4)

Country Link
US (2) US7418252B2 (en)
EP (1) EP1660977A2 (en)
MX (1) MXPA06001678A (en)
WO (1) WO2005019998A2 (en)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047284A (en) 1997-05-14 2000-04-04 Portal Software, Inc. Method and apparatus for object oriented storage and retrieval of data from a relational database
US8099393B2 (en) 2002-03-22 2012-01-17 Oracle International Corporation Transaction in memory object store
CA2546446C (en) * 2003-11-20 2013-08-06 Research In Motion Limited Seamless call switching in a dual mode environment
US7512107B2 (en) * 2003-12-17 2009-03-31 Samsung Electronics Co., Ltd Asynchronous mobile communication terminal capable of setting time according to present location information, and asynchronous mobile communication system and method for setting time using the same
US7139553B2 (en) * 2005-03-01 2006-11-21 Bellsouth Intellectual Property Corporation Providing real time call log data to a remote call log for calls to and from a mobile communications apparatus
US20070224984A1 (en) * 2005-03-08 2007-09-27 Muir Brockett Iii Communication Link Termination Indication Signal and Secondary Signal Method and Apparatus
US7930211B2 (en) 2005-04-20 2011-04-19 At&T Intellectual Property I, L.P. System and method of providing advertisements to portable communication devices
US8015064B2 (en) * 2005-04-20 2011-09-06 At&T Intellectual Property I, Lp System and method of providing advertisements to cellular devices
US8027877B2 (en) * 2005-04-20 2011-09-27 At&T Intellectual Property I, L.P. System and method of providing advertisements to mobile devices
US8223935B2 (en) 2005-04-30 2012-07-17 Oracle International Corporation Revenue management systems and methods
WO2007002841A2 (en) 2005-06-28 2007-01-04 Oracle International Corporation Revenue management system and method
WO2007016412A2 (en) 2005-07-28 2007-02-08 Oracle International Corporation Revenue management system and method
US7711391B2 (en) * 2005-07-29 2010-05-04 Varia Holdings Llc Multiple processor communication circuit cards and communication devices that employ such cards
US7715553B2 (en) * 2005-08-01 2010-05-11 Durward D. Dupre Encrypting a plaintext message with authentication
US20070060100A1 (en) * 2005-09-14 2007-03-15 Telemac Corporation Systems and methods for mobile station service control
US7761097B2 (en) * 2005-10-31 2010-07-20 Research In Motion Limited Apparatus, and associated method, for permitting communication system transition based upon signal threshold determination
US7894375B2 (en) * 2005-10-31 2011-02-22 Research In Motion Limited Method, and associated apparatus, for transitioning communications of hybrid access terminal between communication systems
US7720482B2 (en) * 2005-10-31 2010-05-18 Research In Motion Limited Method and apparatus for transitioning between EVDO and CDMA 1X systems using redundant data call blockings
US8223777B2 (en) 2005-11-15 2012-07-17 Oracle International Corporation Gateway for achieving low latency and high availability in a real time event processing system
US20070276520A1 (en) * 2006-05-26 2007-11-29 Brian Baker Control unit that manages the usage of electrical devices
US8078509B2 (en) * 2006-08-17 2011-12-13 Cheng Gang Yap Ye Method and system for auditing and reconciling telecommunications data
KR101398908B1 (en) * 2007-05-22 2014-05-26 삼성전자주식회사 Method and system for managing mobility in mobile telecommunication system using mobile ip
KR101430584B1 (en) * 2007-07-05 2014-08-14 삼성전자주식회사 Apparatus and method for providing sim application toolkit in mobile communication system
US8646039B2 (en) * 2007-08-01 2014-02-04 Avaya Inc. Automated peer authentication
US8950001B2 (en) * 2007-08-01 2015-02-03 Avaya Inc. Continual peer authentication
US8688075B2 (en) * 2007-09-19 2014-04-01 West Corporation Handling insufficient account balance of subscribers
EP2220839B1 (en) * 2007-11-22 2017-06-07 Telefonaktiebolaget LM Ericsson (publ) A method for registering a mobile terminal in a mobile radio communication system
US8301330B2 (en) * 2008-05-02 2012-10-30 General Electric Company Method and system for providing supplemental services to telematics systems
US20100167689A1 (en) * 2008-07-07 2010-07-01 Hossein Alexander Sepehri-Nik Method and apparatus for determining whether a cellular phone chip is dormant
US8837699B2 (en) 2008-10-01 2014-09-16 The Nielsen Company (Us), Llc Methods and apparatus to monitor subscriber activity
US9214990B2 (en) 2008-11-12 2015-12-15 Qualcomm Incorporated Method and apparatus for directional clear channel assessment in a wireless communications system
EP2226997B1 (en) * 2009-03-06 2020-09-09 Vodafone Holding GmbH Billing mechanism for a mobile communication network
US8369826B2 (en) * 2009-03-18 2013-02-05 The Nielsen Company (Us), Llc Methods and apparatus to identify wireless subscriber activity status
US8929849B1 (en) * 2010-09-14 2015-01-06 Cellco Partnership Text messaging 911 calls using PSAP TTY functionality
US8644805B2 (en) * 2012-02-28 2014-02-04 Blackberry Limited Smart-phone answering service for handling incoming calls
BR112015004599A2 (en) * 2012-09-04 2017-07-04 PEACHES Mobile GmbH credit consultation
IL226560A0 (en) * 2013-05-26 2013-09-30 Callup Net Ltd System and method for routing mobile equipment sms messages
US9615263B2 (en) * 2015-05-27 2017-04-04 Telefonaktiebolaget L M Ericsson (Publ) Method to improve the performance in cell range expansion using location based codebook subset restriction
US10452508B2 (en) * 2015-06-15 2019-10-22 International Business Machines Corporation Managing a set of tests based on other test failures

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748720A (en) * 1994-04-07 1998-05-05 Nokia Telecommunications Oy Removable subscriber identification module for a mobile radio terminal
US6466660B1 (en) * 1999-05-14 2002-10-15 Sun Microsystems, Inc. Method and apparatus for retroactively updating a communication billing system

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI95984C (en) * 1994-04-08 1996-04-10 Nokia Telecommunications Oy Method and arrangement for location management in connection with packet data transmission in a mobile communication system
US5903830A (en) 1996-08-08 1999-05-11 Joao; Raymond Anthony Transaction security apparatus and method
US20040185830A1 (en) 1996-08-08 2004-09-23 Joao Raymond Anthony Apparatus and method for providing account security
US7096003B2 (en) 1996-08-08 2006-08-22 Raymond Anthony Joao Transaction security apparatus
US6058309A (en) * 1996-08-09 2000-05-02 Nortel Networks Corporation Network directed system selection for cellular and PCS enhanced roaming
US6337977B1 (en) * 1997-02-26 2002-01-08 Ico Services Limited Roving voice mail
US6445783B1 (en) 1998-07-14 2002-09-03 At&T Corp. System and method that provides specialized processing of communications based on automatically generated identifiers
US6856616B1 (en) * 2000-02-29 2005-02-15 3Com Corporation System and method for providing service provider configurations for telephones using a central server in a data network telephony system
US6725031B2 (en) 2000-07-21 2004-04-20 Telemac Corporation Method and system for data rating for wireless devices
RU2308809C2 (en) 2000-07-21 2007-10-20 Телемэк Корпорейшн Method and system for estimating data for wireless devices
US20020120779A1 (en) * 2000-11-14 2002-08-29 Douglas Teeple Mediation software for delivery of interactive mobile messaging and personalized content to mobile devices
US6871062B2 (en) * 2001-01-16 2005-03-22 Idt Corporation “Calling party pays” cellular and prepaid platforms for cellular calling systems
JP3994707B2 (en) * 2001-09-17 2007-10-24 株式会社日立製作所 Billing method and terminal device for information communication network system
US7392039B2 (en) * 2002-03-13 2008-06-24 Novatel Wireless, Inc. Complete message delivery to multi-mode communication device
JP4082137B2 (en) * 2002-08-28 2008-04-30 沖電気工業株式会社 Mobile phone having TV playback function
JP4005898B2 (en) * 2002-10-29 2007-11-14 株式会社日立製作所 Communications system
US6999748B2 (en) 2002-12-19 2006-02-14 Cingular Wireless Ii, Llc Automated device behavior management based on network charging and rating conditions
US20040123147A1 (en) 2002-12-19 2004-06-24 Christopher White Control of security or ease-of-use sensitivity for a wireless communication device
US6999749B2 (en) 2002-12-19 2006-02-14 Cingular Wireless Ii, Llc Conditional application invocation in a wireless device
US6941134B2 (en) 2002-12-19 2005-09-06 Cingular Wireless Ii, Llc Automated device behavior management based on preset preferences
US7088237B2 (en) * 2003-02-14 2006-08-08 Qualcomm Incorporated Enhanced user privacy for mobile station location services
US20050009500A1 (en) * 2003-06-24 2005-01-13 Openwave Systems Inc. System and method for extending billing services to applications on a carrier's network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748720A (en) * 1994-04-07 1998-05-05 Nokia Telecommunications Oy Removable subscriber identification module for a mobile radio terminal
US6466660B1 (en) * 1999-05-14 2002-10-15 Sun Microsystems, Inc. Method and apparatus for retroactively updating a communication billing system

Also Published As

Publication number Publication date
US20050107066A1 (en) 2005-05-19
US8095127B2 (en) 2012-01-10
US7418252B2 (en) 2008-08-26
EP1660977A2 (en) 2006-05-31
MXPA06001678A (en) 2006-05-19
US20080274724A1 (en) 2008-11-06
WO2005019998A3 (en) 2006-09-14

Similar Documents

Publication Publication Date Title
US8095127B2 (en) Subscriber management and accounting using event detection in a wireless device
EP1177655B1 (en) Prepaid subscriber service for packet-switched and circuit-switched radio telecommunications networks
US8204542B2 (en) Methods for processing apparatus originated communication request and communication apparatuses utilizing the same
EP1552714B1 (en) Method and apparatus for storing subscriber data
US20030037176A1 (en) Method, apparatus and software program for message transmission between telecommunications network elements
US7454200B2 (en) Personal handyphone system component employment of prepay telephone service system component to allow user employment of wireless telephone service subsequent to purchase thereof
KR20060048682A (en) Method for notifyng a primary wireless unit of group calling plan activity
CZ297157B6 (en) Telecommunication method and system suitable for establishing connection with mobile station
EP1223737A1 (en) Providing prepaid service to a GPRS mobile station when roaming
US20050013423A1 (en) Telecommunication method and apparatus with provisions to exceed usage limit
GB2364214A (en) Providing charge advice via an IP connection
WO2003096724A1 (en) Method and device for the automatic configuration of a gprs terminal
EP1290865A2 (en) Cost control management in telecommunication systems
WO2005015926A1 (en) A method and system for including location information in a ussd message by a network node
US20110171931A1 (en) Method and Apparatus for Supplying Billing Information a Communication Device
EP1898658A1 (en) Msc and called process method thereof
EP1428375B1 (en) Telephone call dialling
KR100706492B1 (en) System and method for paying in advance a rate on sms value-added service by using intelligent network
WO2008123983A2 (en) Method and system for controlling the roaming behaviour of mobile subscribers having active data sessions
KR100529019B1 (en) Control Method for Charging in Asynchronous IMT-2000 Network
KR19990069504A (en) How Calls Are Handled by Prepaid Service
KR101054628B1 (en) Devices that offer roaming service charges
WO2002093949A2 (en) System and method for communication using public telephones
WO2002028113A1 (en) Charge management in telecommunication systems
KR20100038245A (en) Method and system for balancing the charge of short message service at real time irrelevant to phase of intelligent network

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: PA/a/2006/001678

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 2004780892

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2004780892

Country of ref document: EP