WO2006052294A1 - Methods and apparatus to manage collect phone calling limits - Google Patents

Methods and apparatus to manage collect phone calling limits Download PDF

Info

Publication number
WO2006052294A1
WO2006052294A1 PCT/US2005/022504 US2005022504W WO2006052294A1 WO 2006052294 A1 WO2006052294 A1 WO 2006052294A1 US 2005022504 W US2005022504 W US 2005022504W WO 2006052294 A1 WO2006052294 A1 WO 2006052294A1
Authority
WO
WIPO (PCT)
Prior art keywords
collect
call
time period
calls
limit
Prior art date
Application number
PCT/US2005/022504
Other languages
French (fr)
Inventor
Michael P. Link
Original Assignee
Sbc Knowledge Ventures, L.P.
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 Sbc Knowledge Ventures, L.P. filed Critical Sbc Knowledge Ventures, L.P.
Publication of WO2006052294A1 publication Critical patent/WO2006052294A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/83Notification aspects
    • H04M15/85Notification aspects characterised by the type of condition triggering a notification
    • H04M15/854Available credit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/08Metering calls to called party, i.e. B-party charged for the communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/88Provision for limiting connection, or expenditure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M17/00Prepayment of wireline communication systems, wireless communication systems or telephone systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/01Details of billing arrangements
    • H04M2215/0116Provision for limiting expenditure, e.g. limit on call expenses or account
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/62Called party billing, e.g. reverse billing, freephone, collect call, 0800 or 0900
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/81Notifying aspects, e.g. notifications or displays to the user
    • H04M2215/815Notification when a specific condition, service or event is met
    • H04M2215/8166Available credit

Definitions

  • This disclosure relates generally to collect phone call management, and, more particularly, to methods and apparatus to manage collect phone calling limits.
  • the prior art call velocity limit systems have employed various toll limit metrics. For example, some prior art collect call velocity limit systems enforce a temporary ban on collect calls after a predetermined number of collect phone calls or collect phone call attempts to a terminating number have occurred within a predetermined time period. Other approaches temporarily prevent further collect phone calls after the monetary value of collect phone calls to a terminating number within a predetermined time period have exceeded a predetermined toll limit.
  • the prior art call velocity limit systems have also employed various time period metrics. For example, hourly, daily, weekly and/or monthly limits have been used by prior art systems. Further, some of the prior art systems have employed a fixed time window when determining if a collect call limit has been exceeded. Others have employed a rolling time window in this role.
  • FIG. 1 is a schematic illustration of a prior art collect phone call management system.
  • FIG. 2 is a schematic illustration of an example apparatus to manage collect phone calling limits constructed in accordance with the teachings of the present invention.
  • FIG. 3 is a schematic illustration of an example manner of implementing the apparatus of FIG. 2.
  • FIG. 4 is an example total-limits comparison table.
  • FIG. 5 is the example total-limits comparison table of FIG. 4 shown after pruning.
  • FIGS. 6A-6D are a flowchart representative of example machine readable instructions that may be executed to implement the apparatus of FIG. 3.
  • FIG. 7 is a schematic illustration of an example computer that may be programmed to execute the instructions represented by FIGS. 6A-6D to implement the apparatus of FIG. 3.
  • FIG. 1 is a schematic illustration of an example prior art collect call velocity limit system 10.
  • one or more vendors such as T-Netix of Dallas, Texas provide the inmate phone systems in one or more correctional institutions 12.
  • T-Netix of Dallas, Texas
  • correctional institutions 12 Although for simplicity of illustration, only two correctional institutions 12 are shown in FIG. 1, persons or ordinary skill in the art will appreciate that many more than two correctional institutions 12 located in various geographic locations may be present.
  • references will be made to correctional institutions/prisons and inmates, persons of ordinary skill in the art will readily appreciate that other types of institutions including, by way of examples, not limitations, hospitals, boarding schools, military bases, etc. could alternatively be serviced by the system of FIG.
  • FIG. 1 Similarly, although for simplicity of illustration only one vendor validation server 14 and one vendor billing server 16 is shown in FIG. 1, more than one validation server 14 associated with one or more vendors and/or one or more billing servers 16 associated with one or more vendors may also be present. Also, although only one Line Information Database (LIDB) 18 and one Regional Bell Operating Company (RBOC) 20 are shown in FIG. 1, more than one LIBD 18 and/or more than one RBOC 20 may also be present.
  • LIDB Line Information Database
  • RBOC Regional Bell Operating Company
  • the inmate phone system at the correctional institute 12 sends a message to the validation server 14 of the vendor servicing the associated correctional institute 12.
  • the vendor validation server 14 queries a Line Information Database (LIDB) 18 such as the SNET (Southern New England Telephone) LIDB to determine if a collect call or other restriction has been placed on the termination number the calling inmate is seeking to reach.
  • LIDB 18 is a database associating termination numbers with codes placing restrictions on, and/or indicating services to be provided with, calls placed to termination numbers.
  • a separate customer ID has been setup with SNET LIDB to validate collect call attempts from correctional facilities.
  • the blocked terminating numbers are identified in the LIDB 18 under this customer ID so that only collect calls from correctional facilities managed by SBC are affected by the block, and no other calls, including collect calls, to the terminating number are impacted.
  • Persons of ordinary skill in the art will appreciate that other collect call blocking approaches are also possible. For example, an institutional collect call blocking code could be adopted which, when associated with a termination number in the LIDB 18, indicates that collect calls from correctional facilities 12 to that termination number are precluded.
  • the vendor validation server 14 permits the inmate's collect call to be placed through the public switched telephone network (not shown) in the usual manner. If, however, the LIDB 18 returns a collect call blocking code, the vendor validation server 14 prevents placement of the call. Typically, the inmate phone system 12 will play a recording to the inmate indicating that the call is not permitted at this time.
  • the vendor in addition to the vendor validation server 14, the vendor also maintains a vendor billing server 16.
  • the vendor billing server 16 maintains call records identifying the time and date of calls placed from the inmate correctional phone system, the duration of such calls, and the termination numbers associated with those calls. These call records will primarily relate to collect calls. However, it may also include records relating to calls initiated, for example, with a pre-paid calling card.
  • the call records compiled by the vendor validation server 16 are periodically (e.g., once per business day) transferred to the RBOC 20 that actually services the calls.
  • the RBOC 20 rates and bills the calls, and determines whether any termination number has exceeded a collect call limit. If a termination number is in excess of the collect call limit, the RBOC 20 adds the terminating number to the list of blocked numbers in the LIDB 18 under the customer ID which is used for correctional collect calls. The RBOC 20 also removes the terminating number from the list of blocked numbers in the LIDB 18 under the customer ID used for correctional collect calls when the collect calling restriction is lifted.
  • the collect call limit is based on the identity of the correctional institute(s) from which the collect calls are originating.
  • some termination numbers may be provided with an override limit.
  • termination numbers associated with law offices, public defenders offices, etc. are typically provided with a very high override limit such that, effectively, no collect calls are ever blocked to that terminating number.
  • termination numbers that have had past payment delinquencies may be provided with lower limit overrides.
  • FIG. 2 An example apparatus 30 to manage collect phone calling limits is shown in FIG. 2.
  • the apparatus 30 may be located at the Inmate Phone System 12, an RBOC 20, or at a vendor providing a phone system to an institution (e.g., at the vendor validation server 14 and/or vendor billing server 16). Irrespective of its location, the apparatus 30 is provided with access to a call records database 32 containing the call records developed by the vendor server(s) 14, 16. Access to this data enables the apparatus 30 to determine when collect calls from one or more institutions 12 to one or more destination numbers have exceeded a predetermined collect call limit.
  • the apparatus 30 includes a collect call limiter 34.
  • the collect call limiter 34 examines the call records in the call records database 32 to identify any termination number(s) which have received more than the collect calls limit of collect calls from one or more predetermined locations such as correctional institutions 12.
  • the collect calls limit may be a number of connected collect calls, a number of attempted collect calls, and/or a monetary value of connected collect calls.
  • the collect call limit may be referenced to a predetermined time period.
  • the predetermined time period may be a number of hours, a number of days, a number of weeks or a number of months.
  • the time period may be a fixed time period (e.g., a series of sequential, non-overlapping time periods) or a rolling time period (e.g., a window of a fixed length of time measured backward in time from, and always including, the current time period).
  • a fixed time period e.g., a series of sequential, non-overlapping time periods
  • a rolling time period e.g., a window of a fixed length of time measured backward in time from, and always including, the current time period.
  • the collect call limiter 34 of the illustrated example develops a list or table of terminating numbers that have exceeded the collect call limit in a working database 36 or it may be a realtime system that determines whether a particular number has exceeded the limit. Such termination numbers are referred to in the following as "overdrawn termination numbers.”
  • the apparatus 30 is further provided with a block duration calculator 38. More specifically, the block duration calculator 38 examines the data associated with each termination number in the working database 36 to determine the date on which the ban on further collect calls will be lifted. Persons of ordinary skill in the art will appreciate that the manner of calculating this future date is dependent on the type of time period and type of collect call limit employed.
  • the automated message unit 42 may be implemented, for example, by an automated outbound message dialer which automatically places a call to the terminating phone number and plays an automated message identifying the future date on which collect calls will again be permitted from the institutions 12 in question.
  • the automated message dialer 42 may play a message to a human receiving the call or leave a message on an answering machine/service.
  • the message played by the automated message dialer 42 may be, for example, "This is a courtesy call from SBC advising you that the permissible call limit from inmate facilities that SBC manages have exceeded the permissible limit for this time period. Accordingly, no further collect calls from those inmate facilities will be permitted to your number until ," wherein the blank is filled in with the future date calculated by the block duration calculator 38.
  • the automated message unit 42 may be implemented by an interactive voice response unit which is responsive to an inbound call from a person associated with a termination number. Upon entry of the appropriate inputs from a caller, the inbound message unit 42 plays an automated message identifying the future date on which collect calls will again be permitted from the institutions 12 to the termination number in question.
  • the automated message unit 42 may play a message indicating that all further collect calls will be blocked until the future date calculated by the block duration calculator 38 during the collect call that causes the terminating number to exceed the collect call limit (i.e., during the last permitted call before imposing a temporary block).
  • the advantage of this approach is that both the calling and the called party (i.e., both the inmate and the called person at the terminating number) simultaneously receive the notification of the placement of the block and the future date on which additional calls will be permitted. Because of the need for real time access to the call records, this approach may be best implemented by associating the apparatus 30 with a vendor server 14, 16 or otherwise locating the apparatus 30 at the vendor or institution 12.
  • the service representative database 40 can quickly provide this information by simply using the termination number as a key to look-up the future date in the service representative database 40.
  • call center calls inquiring as to collect call blocks from institutions can be more informative and shorter than in prior art scenarios.
  • FIG. 3 An example manner of implementing the apparatus 30 is shown in FIG. 3. Many of the structures of FIG. 3 are similar or identical to the structures of FIG. 2. Accordingly, other than to point out differences, a description of the corresponding structures of FIG. 2 will not be repeated with respect to FIG. 3. Instead, the interested reader is referred to the discussion of FIG. 2 for a complete discussion of those structures. To facilitate this process, like reference numerals refer to like structures throughout the drawings.
  • the collect call limiter 34 is implemented by a call rating engine 131 and a limit tester 133.
  • the call rating engine 131 also has access to a site rate database 135.
  • the site rate database 135 identifies the toll schedule(s) for calls of various distances on a day part by day part basis.
  • the call rate engine 131 utilizes the toll schedule(s) to determine the call tolls for the collect calls placed to terminating numbers from the institutions 12 being serviced. These tolls are stored in the working database 36.
  • the total- limits comparison table includes a column which identifies each termination number associated with at least one collect call from at least one correctional institution 12. It also includes a column identifying the institution from which the collect calls originated and the call limit associated with that institution. It is possible for a termination number to appear more than once in the table if, for example, the termination number receives collect calls from more than one serviced institution 12. Alternatively, a single row entry could be used to group collect calls to a termination number from more than one institution 12. In the illustrated example, the collect call limit is a rolling weekly toll limit, and the collect call limit for the institutions is $75 per week.
  • a terminating number it is possible for a terminating number to have a collect call limit override that permits greater or fewer collect calls to the terminating number than would otherwise be provided under the institution's collect call limit. Therefore, a third column of the total-limits comparison table identifies any collect call limit override for each termination number.
  • one of the termination numbers i.e., number 345-678-9012
  • Such a virtually unlimited termination number could be, for example, a public defenders or criminal lawyer's office.
  • another termination number i.e., 456-789-0123
  • This reduced override limit might be enforced, for example, against a terminating number with a poor payment history.
  • Further columns of the total-limit comparison table of FIG. 4 allocate the collect call tolls on a time period-by-time period basis. Since, in the illustrated example, the collect call limit is a rolling one week time period, there are seven daily collect call toll columns; one for each day of the current period. In addition to the time period-by-time period toll columns, there is a total tolls column reflecting the sum of collect call tolls to the corresponding termination number during the time period in question.
  • the apparatus 130 in order to reduce the size of the total-limit comparison table, the apparatus 130 includes a limit tester 133.
  • the limit tester 133 can shorten the length of the total- comparison table by eliminating rows corresponding to termination numbers that have not exceeded their collect call limit during the time period in question.
  • the entries for termination number 234-567-8901 and termination number 345-678-9012 are eliminated from the example table of FIG. 4 to arrive at the example pruned table of FIG. 5.
  • the block duration calculator 138 analyzes the data for each termination number entry in the pruned total-limits comparison table to determine a future date when the block of collect calls from serviced institutions 12 will be lifted for the corresponding termination number.
  • the block duration calculator 138 determines the future time period in which collect calls to a terminating number will be permitted by determining a number of sequential time periods in a sequential series of time periods wherein a sum of sub-totals corresponding to the sequential time periods exceeds a toll limit.
  • the sequential time periods are inclusive of the first time period.
  • the block duration calculator 138 compares the toll charges for the current day (i.e., $23.34) to the weekly limit (i.e., $75). If the weekly limit was exceeded with just today's toll charges, then the number of sequential toll periods required to exceed the toll limit was one (i.e., today). If the weekly limit was not exceeded by just today's toll charges, then the block duration calculator 138 sums today's toll charges (i.e., $23.34) and yesterday's toll charges (i.e., $12.35), and compares that sum to the weekly limit.
  • the block duration calculator 138 adds one additional day of charges to the running sum of toll charges, until the running sum exceeds the weekly toll limit.
  • the running sum exceeds the weekly limit after six days (inclusive of the current day).
  • the block duration calculator 138 determines that the number of sequential time periods wherein the sum of sub-totals corresponding to the sequential time periods exceeds the toll limit is six.
  • the block duration calculator 138 identifies a time period occurring immediately after expiration of the number of time periods in the series of time periods less the number of sequential time periods as the future time period. In the illustrated example, there are seven time periods, and the number of sequential time periods wherein the sum of sub-totals corresponding to the sequential time periods exceeds the toll limit is six. Therefore, the block duration calculator 138 identifies the future date as one (i.e., 7-6) time period (i.e., one day) away.
  • the apparatus 30, 130 may be located at and/or integrated in the Inmate Phone System 12, the RBOC 20, at the vendor validation server 14, at the vendor billing server 16, and/or at some other location.
  • the vendor billing server 16 provides the call records to the apparatus 30, 130 on a substantially continuous, substantially real time basis.
  • the call records may instead be provided quasi-continuously or periodically.
  • the apparatus 20, 130 updates the LIBD 18 with the terminating numbers that are to be blocked, and the duration of the block (e.g., by identifying the future date on which collect calls will again be permitted). This future date may also be provided directly to the vendor validation server 14 and/or directly to the vendor billing server 16.
  • FIGS. 6A-6D A flowchart representative of example machine readable instructions for implementing the apparatus 30, 130 of FIG. 3 is shown in FIGS. 6A-6D.
  • the machine readable instructions comprise a program for execution by a processor such as the processor 1012 shown in the example computer 1000 discussed below in connection with FIG. 7.
  • the program may be embodied in software stored on a tangible medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD) 5 or a memory associated with the processor 1012, but persons of ordinary skill in the art will readily appreciate that the entire program and/or parts thereof could alternatively be executed by a device other than the processor 1012 and/or embodied in firmware or dedicated hardware in a well known manner.
  • any or all of the collect call limiter 34, the block duration calculator 38, 138, the call rating engine 131, and/or the limit tester 133 could be implemented by software, hardware, and/or firmware.
  • the example program is described with reference to the flowchart illustrated in FIGS. 6A-6D, persons of ordinary skill in the art will readily appreciate that many other methods of implementing the example apparatus 30, 130 may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined.
  • the program of FIGS. 6A-6D begins at block 200 where the collect call limiter 34 receives the call records from the vendor validation server(s) 14.
  • the call rating engine 131 accesses the site rate database 135 and applies the rate schedule(s) to the call records to associate toll charges with the records (block 202).
  • the rated calls are then stored in a working database 36 (block 204).
  • the collect call limiter 34 determines if it is time to process the rated call records (block 206). If not, control returns to block 200. Otherwise, control advances to block 208.
  • Persons of ordinary skill in the art will appreciate that the processing of the data call records could occur periodically as suggested in the flowchart of FIG.
  • the call records could be processed immediately upon being rated.
  • Immediately processing call records is useful, for example, where call records are provided on a continuous or quasi-continuous basis to ensure collect call bans are invoked as soon as the appropriate call limit is exceeded.
  • the collect call limiter 34 sums the collect call charges from the last seven days (inclusive of the current day) on a terminating number by terminating number basis (block 208) from the working database 36. It also retrieves the toll limits for the terminating numbers from a site and terminating number limits database 210 (block 212).
  • the site and terminating number limits database 210 may, for example, be part of the site rate database 135 or may be a separate database.
  • the data compiled by the collect call limiter 34 is stored in a total-limits comparison table (see, for example, FIG. 4) (block 214).
  • the limit tester 133 then begins pruning the total-limits comparison table. In particular, it retrieves the total toll charges accrued by first termination number in the relevant time period and the weekly limit for that termination number (block 216). It then determines if the weekly limit has been exceeded by the termination number's collect tolls from the serviced institution(s) in question (block 218). If the weekly limit has not been exceeded (block 218), the termination number is dropped from the table (block 220) and control then advances to block 222. (If the terminating number was previously blocked and has just entered the unrestricted state, the LIBD database 18 may also be updated to ensure that collect calls are permitted to the terminating number).
  • control advances directly to block 222 without passing through block 220.
  • the limit tester 133 determines whether there are additional termination numbers to test for a weekly limit violation. If so, control returns to block 216 where the process of examining the next termination number proceeds. Otherwise, if all of the terminating numbers have been examined for a weekly limit violation, control proceeds to block 224.
  • the block duration calculator 138 determines whether the collect call charges incurred today by the first terminating number in the total-limits comparison table exceeds its toll limit. If the limit was exceeded with just today's calls, a six day block is stored in the service representative database 40 in association with the terminating number (block 226). Control then proceeds to block 258. If the limit was not exceeded with just today's calls, control proceeds to block 228. At block 228, the block duration calculator 138 sums the collect call tolls for the last two days (i.e., today and yesterday). Control then proceeds to block 230.
  • the block duration calculator 138 determines whether the collect call charges incurred in the last two days by the first terminating number in the total-limits comparison table exceeds its toll limit. If the limit was exceeded with the last two day's calls, a five day block is stored in the service representative database 40 in association with the terminating number (block 232). Control then proceeds to block 258. If the limit was not exceeded with the last two day's calls, control proceeds to block 234. At block 234, the block duration calculator 138 sums the collect call tolls for the last three days. Control then proceeds to block 236.
  • the block duration calculator 138 determines whether the collect call charges incurred in the last three days by the first terminating number in the total-limits comparison table exceeds its toll limit. If the limit was exceeded with the last three day's calls, a four day block is stored in the service representative database 40 in association with the terminating number (block 238). Control then proceeds to block 258. If the limit was not exceeded with the last three day's calls, control proceeds to block 240. At block 240, the block duration calculator 138 sums the collect call tolls for the last four days. Control then proceeds to block 242.
  • the block duration calculator 138 determines whether the collect call charges incurred in the last four days by the first terminating number in the total-limits comparison table exceeds its toll limit. If the limit was exceeded with the last four day's calls, a three day block is stored in the service representative database 40 in association with the terminating number (block 244). Control then proceeds to block 258. If the limit was not exceeded with the last four day's calls, control proceeds to block 246 (FIG. 6D). At block 246, the block duration calculator 138 sums the collect call tolls for the last five days. Control then proceeds to block 248.
  • the block duration calculator 138 determines whether the collect call charges incurred in the last five days by the first terminating number in the total-limits comparison table exceeds its toll limit. If the limit was exceeded with the last five day's calls, a two day block is stored in the service representative database 40 in association with the terminating number (block 250). Control then proceeds to block 258. If the limit was not exceeded with the last five day's calls, control proceeds to block 252. At block 252, the block duration calculator 138 sums the collect call tolls for the last six days. Control then proceeds to block 254.
  • the block duration calculator 138 determines whether the collect call charges incurred in the last six days by the first terminating number in the total-limits comparison table exceeds its toll limit. If the limit was exceeded with the last six day's calls, a one day block is stored in the service representative database 40 in association with the terminating number (block 256). Control then proceeds to block 258. If the limit was not exceeded with the last six day's calls, control proceeds to block 258. (Theoretically, control should never pass directly from block 254 to 258 unless a terminating number that did not exceed its limit was somehow left in the table by the limit tester 133).
  • the block duration calculator 138 determines whether all of the terminating numbers in the total-limits comparison table have been analyzed. If not, control returns to block 224 (FIG. 6C) where the next termination number in the pruned total-limits comparison table is analyzed as explained in connection with blocks 224-258. Otherwise, when all of the terminating numbers have been analyzed, control proceeds to block 260.
  • the apparatus 30, 130 exports the terminating numbers and the block durations/future date to unblock to the LIBD 18 and/or the vendor server(s) 14, 16.
  • the automated message unit then calls the terminating numbers to notify them of the block and the future day when the block will be removed (block 262). Control then terminates or returns to block 200 of FIG. 6A.
  • FIG. 7 is a block diagram.of an example computer 1000 capable of implementing the apparatus and methods disclosed herein.
  • the computer 1000 can be, for example, a server, a personal computer, a personal digital assistant (PDA), an Internet appliance, a DVD player, a CD player, a digital video recorder, a personal video recorder, a set top box, or any other type of computing device.
  • the computer can be the vendor validation server 14 or a server at the RBOC.
  • the system 1000 of the instant example includes a processor 1012.
  • the processor 1012 can be implemented by one or more Intel® microprocessors from the Pentium® family, the Itanium® family, the CentrinoTM family or the XScale® family. Of course, other processors from other families are also appropriate.
  • the processor 1012 is in communication with a main memory including a volatile memory 1014 and a non- volatile memory 1016 via a bus 1018.
  • the volatile memory 1014 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM) 5 RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device.
  • the non-volatile memory 1016 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 1014, 1016 is typically controlled by a memory controller (not shown) in a conventional manner.
  • the computer 1000 also includes a conventional interface circuit 1020.
  • the interface circuit 1020 may be implemented by any type of well known interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a third generation input/output (3GIO) interface.
  • One or more input devices 1022 may be connected to the interface circuit 1020.
  • the input device(s) 1022 permit a user to enter data and commands into the processor 1012.
  • the input device(s) can be implemented by, for example, a keyboard, a mouse, a touchscreen, a track ⁇ pad, a trackball, isopoint and/or a voice recognition system.
  • One or more output devices 1024 may also be connected to the interface circuit 1020.
  • the output devices 1024 can be implemented, for example, by display devices (e.g., a liquid crystal display, a cathode ray tube display (CRT), a printer and/or speakers).
  • the interface circuit 1020 thus, typically includes a graphics driver card.
  • the interface circuit 1020 also includes a communication device such as a modem or network interface card to facilitate exchange of data with external computers via a network 1026 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
  • a network 1026 e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.
  • the computer 1000 also includes one or more mass storage devices 1028 for storing software and data.
  • mass storage devices 1028 include floppy disk drives, hard drive disks, compact disk drives and digital versatile disk (DVD) drives.
  • the mass storage device 1028 may implement the local storage device 62.
  • the above disclosed methods and apparatus may be modified in many different ways to suit various applications and technological changes.
  • the above disclosed methods and apparatus may be used with an inmate phone system that employs Voice over IP technology.
  • the inmate phone system does not necessarily reside at the correctional facility.
  • Tl lines may be used to carry the dial tone so that the inmate phone system is not at the location of the phones.
  • the system could be implemented to obtain the billing name and address (BNA) of each terminating number, and then combine the limits for all serviced institutions by BNA.
  • BNA billing name and address
  • 6A-6D would allow up to the collect call limit's worth of calls (e.g., $75) for each phone number per time period (e.g., every week).
  • collect call blocks are placed on both phone numbers when the combined amount of collect calls from the serviced institutions exceeds the collect call limit in the relevant time period (e.g., exceeds $75 in a week).

Abstract

Methods and apparatus to manage collect phone calling limits are disclosed. A disclosed example method comprises: determining if collect calls from one or more predetermined locations to a terminating phone number have exceeded a collect calls limit; and determining a future date when collect calls will be permitted from the one or more predetermined locations to the terminating phone number if the collect calls limit has been exceeded.

Description

METHODS AND APPARATUS TO MANAGE COLLECT PHONE CALLING LIMITS
FIELD OF THE DISCLOSURE
[0001] This disclosure relates generally to collect phone call management, and, more particularly, to methods and apparatus to manage collect phone calling limits.
BACKGROUND
[0002] Often, inmates at correctional institutions wish to place collect phone calls to friends and family members. Such phone calls from inmates can create substantial toll charges to the persons at the terminating phone number. Historically, a portion of such toll charges have been uncollectible, thus, causing the Regional Bell Operating Company (RBOC) providing the service to incur losses.
[0003] To address this situation, various approaches to limit collect calls from inmate facilities have been employed. In general, these call velocity limit systems track collect calls to terminating phone numbers over time to ensure that a toll limit is not exceeded within a predetermined time period. Once the toll limit is exceeded, further calls to the over-limit terminating number are blocked for some time period.
[0004] The prior art call velocity limit systems have employed various toll limit metrics. For example, some prior art collect call velocity limit systems enforce a temporary ban on collect calls after a predetermined number of collect phone calls or collect phone call attempts to a terminating number have occurred within a predetermined time period. Other approaches temporarily prevent further collect phone calls after the monetary value of collect phone calls to a terminating number within a predetermined time period have exceeded a predetermined toll limit.
[0005] The prior art call velocity limit systems have also employed various time period metrics. For example, hourly, daily, weekly and/or monthly limits have been used by prior art systems. Further, some of the prior art systems have employed a fixed time window when determining if a collect call limit has been exceeded. Others have employed a rolling time window in this role.
[0006] Some prior art call velocity systems have notified calling and/or called parties that collect calls are being blocked, no known prior art system has notified these parties of the future date when the call block would be removed. Further, no known prior art system notified service representatives of the future date when such a call block would be lifted. Further, while the service representative might try to manually determine a future date when the restriction would be removed, this inquiry would be a time consuming process. Therefore, inquiries from individuals concerning collect call blocks have traditionally resulted in uninformative and/or lengthy call center calls.
BRIEF DESCRIPTION OF THE DRAWINGS [0007] FIG. 1 is a schematic illustration of a prior art collect phone call management system. [0008] FIG. 2 is a schematic illustration of an example apparatus to manage collect phone calling limits constructed in accordance with the teachings of the present invention.
[0009] FIG. 3 is a schematic illustration of an example manner of implementing the apparatus of FIG. 2.
[0010] FIG. 4 is an example total-limits comparison table.
[0011] FIG. 5 is the example total-limits comparison table of FIG. 4 shown after pruning.
[0012] FIGS. 6A-6D are a flowchart representative of example machine readable instructions that may be executed to implement the apparatus of FIG. 3.
[0013] FIG. 7 is a schematic illustration of an example computer that may be programmed to execute the instructions represented by FIGS. 6A-6D to implement the apparatus of FIG. 3.
DETAILED DESCRIPTION
[0014] FIG. 1 is a schematic illustration of an example prior art collect call velocity limit system 10. In the illustrated system, one or more vendors such as T-Netix of Dallas, Texas provide the inmate phone systems in one or more correctional institutions 12. Although for simplicity of illustration, only two correctional institutions 12 are shown in FIG. 1, persons or ordinary skill in the art will appreciate that many more than two correctional institutions 12 located in various geographic locations may be present. Further, although in the example of FIG. 1 and the remainder of this detailed description, references will be made to correctional institutions/prisons and inmates, persons of ordinary skill in the art will readily appreciate that other types of institutions including, by way of examples, not limitations, hospitals, boarding schools, military bases, etc. could alternatively be serviced by the system of FIG. 1 and/or by the methods and apparatus described below in connection with FIGS. 2-7. Similarly, although for simplicity of illustration only one vendor validation server 14 and one vendor billing server 16 is shown in FIG. 1, more than one validation server 14 associated with one or more vendors and/or one or more billing servers 16 associated with one or more vendors may also be present. Also, although only one Line Information Database (LIDB) 18 and one Regional Bell Operating Company (RBOC) 20 are shown in FIG. 1, more than one LIBD 18 and/or more than one RBOC 20 may also be present.
[0015] Returning to the example of FIG. 1, when an inmate attempts to place a collect phone call, the inmate phone system at the correctional institute 12 sends a message to the validation server 14 of the vendor servicing the associated correctional institute 12. The vendor validation server 14 queries a Line Information Database (LIDB) 18 such as the SNET (Southern New England Telephone) LIDB to determine if a collect call or other restriction has been placed on the termination number the calling inmate is seeking to reach. The LIDB 18 is a database associating termination numbers with codes placing restrictions on, and/or indicating services to be provided with, calls placed to termination numbers. A separate customer ID has been setup with SNET LIDB to validate collect call attempts from correctional facilities. The blocked terminating numbers are identified in the LIDB 18 under this customer ID so that only collect calls from correctional facilities managed by SBC are affected by the block, and no other calls, including collect calls, to the terminating number are impacted. Persons of ordinary skill in the art will appreciate that other collect call blocking approaches are also possible. For example, an institutional collect call blocking code could be adopted which, when associated with a termination number in the LIDB 18, indicates that collect calls from correctional facilities 12 to that termination number are precluded. Irrespective of the manner of identifying blocked termination numbers in the LIDB 18, if the LIDB 18 does not return a code blocking collect calls, there is no restriction precluding such a call and, accordingly, the vendor validation server 14 permits the inmate's collect call to be placed through the public switched telephone network (not shown) in the usual manner. If, however, the LIDB 18 returns a collect call blocking code, the vendor validation server 14 prevents placement of the call. Typically, the inmate phone system 12 will play a recording to the inmate indicating that the call is not permitted at this time.
[0016] As shown in FIG. 1, in addition to the vendor validation server 14, the vendor also maintains a vendor billing server 16. The vendor billing server 16 maintains call records identifying the time and date of calls placed from the inmate correctional phone system, the duration of such calls, and the termination numbers associated with those calls. These call records will primarily relate to collect calls. However, it may also include records relating to calls initiated, for example, with a pre-paid calling card.
[0017] The call records compiled by the vendor validation server 16 are periodically (e.g., once per business day) transferred to the RBOC 20 that actually services the calls. The RBOC 20 rates and bills the calls, and determines whether any termination number has exceeded a collect call limit. If a termination number is in excess of the collect call limit, the RBOC 20 adds the terminating number to the list of blocked numbers in the LIDB 18 under the customer ID which is used for correctional collect calls. The RBOC 20 also removes the terminating number from the list of blocked numbers in the LIDB 18 under the customer ID used for correctional collect calls when the collect calling restriction is lifted.
[0018] In the prior art system of FIG. 1, the collect call limit is based on the identity of the correctional institute(s) from which the collect calls are originating. However, some termination numbers may be provided with an override limit. For example, termination numbers associated with law offices, public defenders offices, etc. are typically provided with a very high override limit such that, effectively, no collect calls are ever blocked to that terminating number. On the other hand, termination numbers that have had past payment delinquencies may be provided with lower limit overrides.
[0019] An example apparatus 30 to manage collect phone calling limits is shown in FIG. 2. The apparatus 30 may be located at the Inmate Phone System 12, an RBOC 20, or at a vendor providing a phone system to an institution (e.g., at the vendor validation server 14 and/or vendor billing server 16). Irrespective of its location, the apparatus 30 is provided with access to a call records database 32 containing the call records developed by the vendor server(s) 14, 16. Access to this data enables the apparatus 30 to determine when collect calls from one or more institutions 12 to one or more destination numbers have exceeded a predetermined collect call limit.
[0020] In the illustrated example, the apparatus 30 includes a collect call limiter 34. The collect call limiter 34 examines the call records in the call records database 32 to identify any termination number(s) which have received more than the collect calls limit of collect calls from one or more predetermined locations such as correctional institutions 12. The collect calls limit may be a number of connected collect calls, a number of attempted collect calls, and/or a monetary value of connected collect calls. The collect call limit may be referenced to a predetermined time period. For example, the predetermined time period may be a number of hours, a number of days, a number of weeks or a number of months. Further, the time period may be a fixed time period (e.g., a series of sequential, non-overlapping time periods) or a rolling time period (e.g., a window of a fixed length of time measured backward in time from, and always including, the current time period).
[0021] Irrespective of the call limit and time period metrics selected, the collect call limiter 34 of the illustrated example develops a list or table of terminating numbers that have exceeded the collect call limit in a working database 36 or it may be a realtime system that determines whether a particular number has exceeded the limit. Such termination numbers are referred to in the following as "overdrawn termination numbers."
[0022] In order to determine a future date when collect calls will be permitted from the institute(s) 12 to the overdrawn termination numbers, the apparatus 30 is further provided with a block duration calculator 38. More specifically, the block duration calculator 38 examines the data associated with each termination number in the working database 36 to determine the date on which the ban on further collect calls will be lifted. Persons of ordinary skill in the art will appreciate that the manner of calculating this future date is dependent on the type of time period and type of collect call limit employed.
[0023] Once the future date is calculated, it is written in a service representative database 40 and provided to an automated message unit 42. The automated message unit 42 may be implemented, for example, by an automated outbound message dialer which automatically places a call to the terminating phone number and plays an automated message identifying the future date on which collect calls will again be permitted from the institutions 12 in question. For instance, the automated message dialer 42 may play a message to a human receiving the call or leave a message on an answering machine/service. The message played by the automated message dialer 42 may be, for example, "This is a courtesy call from SBC advising you that the permissible call limit from inmate facilities that SBC manages have exceeded the permissible limit for this time period. Accordingly, no further collect calls from those inmate facilities will be permitted to your number until ," wherein the blank is filled in with the future date calculated by the block duration calculator 38.
[0024] Alternatively or additionally, the automated message unit 42 may be implemented by an interactive voice response unit which is responsive to an inbound call from a person associated with a termination number. Upon entry of the appropriate inputs from a caller, the inbound message unit 42 plays an automated message identifying the future date on which collect calls will again be permitted from the institutions 12 to the termination number in question.
[0025] Alternatively or additionally, if call record information is made available in real time or quasi-real time to the apparatus 30, the automated message unit 42 may play a message indicating that all further collect calls will be blocked until the future date calculated by the block duration calculator 38 during the collect call that causes the terminating number to exceed the collect call limit (i.e., during the last permitted call before imposing a temporary block). The advantage of this approach is that both the calling and the called party (i.e., both the inmate and the called person at the terminating number) simultaneously receive the notification of the placement of the block and the future date on which additional calls will be permitted. Because of the need for real time access to the call records, this approach may be best implemented by associating the apparatus 30 with a vendor server 14, 16 or otherwise locating the apparatus 30 at the vendor or institution 12.
[0026] Additionally or alternatively, because the future date at which collect calls from an institution 12 to a terminating number will be permitted is stored in the service representative database 40, should a person associated with a termination number call a service representative to inquire as to when the collect call block will be lifted, the service representative can quickly provide this information by simply using the termination number as a key to look-up the future date in the service representative database 40. As a result, call center calls inquiring as to collect call blocks from institutions can be more informative and shorter than in prior art scenarios.
[0027] An example manner of implementing the apparatus 30 is shown in FIG. 3. Many of the structures of FIG. 3 are similar or identical to the structures of FIG. 2. Accordingly, other than to point out differences, a description of the corresponding structures of FIG. 2 will not be repeated with respect to FIG. 3. Instead, the interested reader is referred to the discussion of FIG. 2 for a complete discussion of those structures. To facilitate this process, like reference numerals refer to like structures throughout the drawings.
[0028] In the example of FIG. 3, the collect call limiter 34 is implemented by a call rating engine 131 and a limit tester 133. In addition to having access to the call records database 32, the call rating engine 131 also has access to a site rate database 135. The site rate database 135 identifies the toll schedule(s) for calls of various distances on a day part by day part basis. The call rate engine 131 utilizes the toll schedule(s) to determine the call tolls for the collect calls placed to terminating numbers from the institutions 12 being serviced. These tolls are stored in the working database 36.
[0029] An example manner of storing the tolls charges in the working database 36 is shown in FIG. 4. In the example of FIG. 4, the data in the working database 36 is stored in a total-limits comparison table. The total- limits comparison table includes a column which identifies each termination number associated with at least one collect call from at least one correctional institution 12. It also includes a column identifying the institution from which the collect calls originated and the call limit associated with that institution. It is possible for a termination number to appear more than once in the table if, for example, the termination number receives collect calls from more than one serviced institution 12. Alternatively, a single row entry could be used to group collect calls to a termination number from more than one institution 12. In the illustrated example, the collect call limit is a rolling weekly toll limit, and the collect call limit for the institutions is $75 per week.
[0030] As mentioned above, it is possible for a terminating number to have a collect call limit override that permits greater or fewer collect calls to the terminating number than would otherwise be provided under the institution's collect call limit. Therefore, a third column of the total-limits comparison table identifies any collect call limit override for each termination number. In the example of FIG. 4, one of the termination numbers (i.e., number 345-678-9012) has an extremely high limit override of $10,000. Such a virtually unlimited termination number could be, for example, a public defenders or criminal lawyer's office. Also in the example of FIG. 4, another termination number (i.e., 456-789-0123) has an override limit of $50/week. This reduced override limit might be enforced, for example, against a terminating number with a poor payment history.
[0031] Further columns of the total-limit comparison table of FIG. 4 allocate the collect call tolls on a time period-by-time period basis. Since, in the illustrated example, the collect call limit is a rolling one week time period, there are seven daily collect call toll columns; one for each day of the current period. In addition to the time period-by-time period toll columns, there is a total tolls column reflecting the sum of collect call tolls to the corresponding termination number during the time period in question.
[0032] Returning to FIG. 3, in order to reduce the size of the total-limit comparison table, the apparatus 130 includes a limit tester 133. By comparing the sum of collect tolls to the collect call limit of the corresponding termination number, the limit tester 133 can shorten the length of the total- comparison table by eliminating rows corresponding to termination numbers that have not exceeded their collect call limit during the time period in question. Thus, for example, the entries for termination number 234-567-8901 and termination number 345-678-9012 are eliminated from the example table of FIG. 4 to arrive at the example pruned table of FIG. 5.
[0033] Once the total-limit comparison table is pruned, the block duration calculator 138 analyzes the data for each termination number entry in the pruned total-limits comparison table to determine a future date when the block of collect calls from serviced institutions 12 will be lifted for the corresponding termination number. In the illustrated example, the block duration calculator 138 determines the future time period in which collect calls to a terminating number will be permitted by determining a number of sequential time periods in a sequential series of time periods wherein a sum of sub-totals corresponding to the sequential time periods exceeds a toll limit. The sequential time periods are inclusive of the first time period. Once the block duration calculator 138 completes this determination, it identifies a time period occurring immediately after expiration of (the number of time periods in the series of time periods) less (the number of sequential time periods) as the future time period.
[0034] In other words, considering the first termination number in the example of FIG. 5, the block duration calculator 138 compares the toll charges for the current day (i.e., $23.34) to the weekly limit (i.e., $75). If the weekly limit was exceeded with just today's toll charges, then the number of sequential toll periods required to exceed the toll limit was one (i.e., today). If the weekly limit was not exceeded by just today's toll charges, then the block duration calculator 138 sums today's toll charges (i.e., $23.34) and yesterday's toll charges (i.e., $12.35), and compares that sum to the weekly limit. This process is continued, with the block duration calculator 138 adding one additional day of charges to the running sum of toll charges, until the running sum exceeds the weekly toll limit. In the example of FIG. 5, the running sum exceeds the weekly limit after six days (inclusive of the current day). Thus, the block duration calculator 138 determines that the number of sequential time periods wherein the sum of sub-totals corresponding to the sequential time periods exceeds the toll limit is six.
[0035] With this calculation complete, the block duration calculator 138 then identifies a time period occurring immediately after expiration of the number of time periods in the series of time periods less the number of sequential time periods as the future time period. In the illustrated example, there are seven time periods, and the number of sequential time periods wherein the sum of sub-totals corresponding to the sequential time periods exceeds the toll limit is six. Therefore, the block duration calculator 138 identifies the future date as one (i.e., 7-6) time period (i.e., one day) away.
[0036] In the above examples, the apparatus 30, 130 may be located at and/or integrated in the Inmate Phone System 12, the RBOC 20, at the vendor validation server 14, at the vendor billing server 16, and/or at some other location. Preferably, the vendor billing server 16 provides the call records to the apparatus 30, 130 on a substantially continuous, substantially real time basis. However, the call records may instead be provided quasi-continuously or periodically. Preferably, the apparatus 20, 130 updates the LIBD 18 with the terminating numbers that are to be blocked, and the duration of the block (e.g., by identifying the future date on which collect calls will again be permitted). This future date may also be provided directly to the vendor validation server 14 and/or directly to the vendor billing server 16.
[0037] A flowchart representative of example machine readable instructions for implementing the apparatus 30, 130 of FIG. 3 is shown in FIGS. 6A-6D. In this example, the machine readable instructions comprise a program for execution by a processor such as the processor 1012 shown in the example computer 1000 discussed below in connection with FIG. 7. The program may be embodied in software stored on a tangible medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD)5 or a memory associated with the processor 1012, but persons of ordinary skill in the art will readily appreciate that the entire program and/or parts thereof could alternatively be executed by a device other than the processor 1012 and/or embodied in firmware or dedicated hardware in a well known manner. For example, any or all of the collect call limiter 34, the block duration calculator 38, 138, the call rating engine 131, and/or the limit tester 133 could be implemented by software, hardware, and/or firmware. Further, although the example program is described with reference to the flowchart illustrated in FIGS. 6A-6D, persons of ordinary skill in the art will readily appreciate that many other methods of implementing the example apparatus 30, 130 may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined.
[0038] The program of FIGS. 6A-6D begins at block 200 where the collect call limiter 34 receives the call records from the vendor validation server(s) 14. The call rating engine 131 accesses the site rate database 135 and applies the rate schedule(s) to the call records to associate toll charges with the records (block 202). The rated calls are then stored in a working database 36 (block 204). [0039] The collect call limiter 34 then determines if it is time to process the rated call records (block 206). If not, control returns to block 200. Otherwise, control advances to block 208. Persons of ordinary skill in the art will appreciate that the processing of the data call records could occur periodically as suggested in the flowchart of FIG. 6 A, or alternatively, the call records could be processed immediately upon being rated. Immediately processing call records is useful, for example, where call records are provided on a continuous or quasi-continuous basis to ensure collect call bans are invoked as soon as the appropriate call limit is exceeded.
[0040] When it is time to process the calls, the collect call limiter 34 sums the collect call charges from the last seven days (inclusive of the current day) on a terminating number by terminating number basis (block 208) from the working database 36. It also retrieves the toll limits for the terminating numbers from a site and terminating number limits database 210 (block 212). The site and terminating number limits database 210 may, for example, be part of the site rate database 135 or may be a separate database.
[0041] The data compiled by the collect call limiter 34 is stored in a total-limits comparison table (see, for example, FIG. 4) (block 214). The limit tester 133 then begins pruning the total-limits comparison table. In particular, it retrieves the total toll charges accrued by first termination number in the relevant time period and the weekly limit for that termination number (block 216). It then determines if the weekly limit has been exceeded by the termination number's collect tolls from the serviced institution(s) in question (block 218). If the weekly limit has not been exceeded (block 218), the termination number is dropped from the table (block 220) and control then advances to block 222. (If the terminating number was previously blocked and has just entered the unrestricted state, the LIBD database 18 may also be updated to ensure that collect calls are permitted to the terminating number).
[0042] If, at block 218, it is determined that the terminating number has exceeded its limit, control advances directly to block 222 without passing through block 220.
[0043] At block 222, the limit tester 133 determines whether there are additional termination numbers to test for a weekly limit violation. If so, control returns to block 216 where the process of examining the next termination number proceeds. Otherwise, if all of the terminating numbers have been examined for a weekly limit violation, control proceeds to block 224.
[0044] At block 224, the block duration calculator 138 determines whether the collect call charges incurred today by the first terminating number in the total-limits comparison table exceeds its toll limit. If the limit was exceeded with just today's calls, a six day block is stored in the service representative database 40 in association with the terminating number (block 226). Control then proceeds to block 258. If the limit was not exceeded with just today's calls, control proceeds to block 228. At block 228, the block duration calculator 138 sums the collect call tolls for the last two days (i.e., today and yesterday). Control then proceeds to block 230.
[0045] At block 230, the block duration calculator 138 determines whether the collect call charges incurred in the last two days by the first terminating number in the total-limits comparison table exceeds its toll limit. If the limit was exceeded with the last two day's calls, a five day block is stored in the service representative database 40 in association with the terminating number (block 232). Control then proceeds to block 258. If the limit was not exceeded with the last two day's calls, control proceeds to block 234. At block 234, the block duration calculator 138 sums the collect call tolls for the last three days. Control then proceeds to block 236.
[0046] At block 236, the block duration calculator 138 determines whether the collect call charges incurred in the last three days by the first terminating number in the total-limits comparison table exceeds its toll limit. If the limit was exceeded with the last three day's calls, a four day block is stored in the service representative database 40 in association with the terminating number (block 238). Control then proceeds to block 258. If the limit was not exceeded with the last three day's calls, control proceeds to block 240. At block 240, the block duration calculator 138 sums the collect call tolls for the last four days. Control then proceeds to block 242.
[0047] At block 242, the block duration calculator 138 determines whether the collect call charges incurred in the last four days by the first terminating number in the total-limits comparison table exceeds its toll limit. If the limit was exceeded with the last four day's calls, a three day block is stored in the service representative database 40 in association with the terminating number (block 244). Control then proceeds to block 258. If the limit was not exceeded with the last four day's calls, control proceeds to block 246 (FIG. 6D). At block 246, the block duration calculator 138 sums the collect call tolls for the last five days. Control then proceeds to block 248.
[0048] At block 248, the block duration calculator 138 determines whether the collect call charges incurred in the last five days by the first terminating number in the total-limits comparison table exceeds its toll limit. If the limit was exceeded with the last five day's calls, a two day block is stored in the service representative database 40 in association with the terminating number (block 250). Control then proceeds to block 258. If the limit was not exceeded with the last five day's calls, control proceeds to block 252. At block 252, the block duration calculator 138 sums the collect call tolls for the last six days. Control then proceeds to block 254.
[0049] At block 254, the block duration calculator 138 determines whether the collect call charges incurred in the last six days by the first terminating number in the total-limits comparison table exceeds its toll limit. If the limit was exceeded with the last six day's calls, a one day block is stored in the service representative database 40 in association with the terminating number (block 256). Control then proceeds to block 258. If the limit was not exceeded with the last six day's calls, control proceeds to block 258. (Theoretically, control should never pass directly from block 254 to 258 unless a terminating number that did not exceed its limit was somehow left in the table by the limit tester 133).
[0050] At block 258, the block duration calculator 138 determines whether all of the terminating numbers in the total-limits comparison table have been analyzed. If not, control returns to block 224 (FIG. 6C) where the next termination number in the pruned total-limits comparison table is analyzed as explained in connection with blocks 224-258. Otherwise, when all of the terminating numbers have been analyzed, control proceeds to block 260.
[0051] At block 260, the apparatus 30, 130 exports the terminating numbers and the block durations/future date to unblock to the LIBD 18 and/or the vendor server(s) 14, 16. The automated message unit then calls the terminating numbers to notify them of the block and the future day when the block will be removed (block 262). Control then terminates or returns to block 200 of FIG. 6A.
[0052] FIG. 7 is a block diagram.of an example computer 1000 capable of implementing the apparatus and methods disclosed herein. The computer 1000 can be, for example, a server, a personal computer, a personal digital assistant (PDA), an Internet appliance, a DVD player, a CD player, a digital video recorder, a personal video recorder, a set top box, or any other type of computing device. By way of example, not limitation, the computer can be the vendor validation server 14 or a server at the RBOC.
[0053] The system 1000 of the instant example includes a processor 1012. For example, the processor 1012 can be implemented by one or more Intel® microprocessors from the Pentium® family, the Itanium® family, the Centrino™ family or the XScale® family. Of course, other processors from other families are also appropriate.
[0054] The processor 1012 is in communication with a main memory including a volatile memory 1014 and a non- volatile memory 1016 via a bus 1018. The volatile memory 1014 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM)5 RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device. The non-volatile memory 1016 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 1014, 1016 is typically controlled by a memory controller (not shown) in a conventional manner.
[0055] The computer 1000 also includes a conventional interface circuit 1020. The interface circuit 1020 may be implemented by any type of well known interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a third generation input/output (3GIO) interface.
[0056] One or more input devices 1022 may be connected to the interface circuit 1020. The input device(s) 1022 permit a user to enter data and commands into the processor 1012. The input device(s) can be implemented by, for example, a keyboard, a mouse, a touchscreen, a track¬ pad, a trackball, isopoint and/or a voice recognition system.
[0057] One or more output devices 1024 may also be connected to the interface circuit 1020. The output devices 1024 can be implemented, for example, by display devices (e.g., a liquid crystal display, a cathode ray tube display (CRT), a printer and/or speakers). The interface circuit 1020, thus, typically includes a graphics driver card.
[0058] The interface circuit 1020 also includes a communication device such as a modem or network interface card to facilitate exchange of data with external computers via a network 1026 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
[0059] The computer 1000 also includes one or more mass storage devices 1028 for storing software and data. Examples of such mass storage devices 1028 include floppy disk drives, hard drive disks, compact disk drives and digital versatile disk (DVD) drives. The mass storage device 1028 may implement the local storage device 62.
[0060] From the foregoing, persons of ordinary skill in the art will appreciate that the above disclosed methods and apparatus enable enforcement of collect call limits while advising the effected party at the terminating number of a future date when collect calling privileges from inmate(s) at the serviced institution(s) will be reinstated. In a disclosed method of calculating the duration of the block, the length of the block is not dependent on the amount by which the toll limit was exceeded. However, methodologies which take into account the magnitude of the toll limit overrun in some fashion could likewise be employed.
[0061] Persons of ordinary skill in the art will appreciate that the above disclosed methods and apparatus may be modified in many different ways to suit various applications and technological changes. For example, the above disclosed methods and apparatus may be used with an inmate phone system that employs Voice over IP technology. Further, the inmate phone system does not necessarily reside at the correctional facility. For example, Tl lines may be used to carry the dial tone so that the inmate phone system is not at the location of the phones. [0062] As another example modification, the system could be implemented to obtain the billing name and address (BNA) of each terminating number, and then combine the limits for all serviced institutions by BNA. Thus, if for example a person has two phone lines, the system discussed above in connection with FIGS. 6A-6D would allow up to the collect call limit's worth of calls (e.g., $75) for each phone number per time period (e.g., every week). In the modified system where the BNA information is obtained, since both numbers have the same bill name and address, collect call blocks are placed on both phone numbers when the combined amount of collect calls from the serviced institutions exceeds the collect call limit in the relevant time period (e.g., exceeds $75 in a week).
[0063] Although certain example methods, apparatus and articles of . manufacture have been described herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the appended claims either literally or under the doctrine of equivalents.

Claims

What Is Claimed Is:
1. A method of managing collect phone calling limits comprising: determining if collect calls from one or more predetermined locations to a terminating phone number have exceeded a collect calls limit; and determining a future date when collect calls will be permitted from the one or more predetermined locations to the terminating phone number if the collect calls limit has been exceeded.
2. A method as defined in claim 1 further comprising identifying the future date to a person associated with the terminating phone number.
3. A method as defined in claim 1 wherein identifying the future date to the person associated with the terminating phone number comprises placing a call to the terminating phone number to play an automated message identifying the future date.
4. A method as defined in claim 3 wherein the automated message indicates that collect calls from the one or more predetermined locations will be blocked until the future date.
5. A method as defined in claim 2 wherein identifying the future date to the person associated with the terminating phone number comprises playing an automated message identifying the future date to the person associated with the terminating phone number.
6. A method as defined in claim 5 wherein playing the automated message comprises playing the automated message during a last permitted call.
7. A method as defined in claim 1 further comprising storing the future date in a service representative accessible database to enable manual identification of the future date in response to an inquiry from a person associated with the terminating phone number.
8. A method as defined in claim 1 further comprising identifying the future date in response to an inquiry from a person associated with the terminating phone number.
9. A method as defined in claim 1 wherein determining if collect calls from the one or more predetermined locations to the terminating phone number have exceeded the collect calls limit further comprises: determining call tolls for collect calls placed to terminating phone numbers from the one or more predetermined locations; and allocating the call tolls to the terminating phone numbers on a time period-by-time period basis.
10. A method as defined in claim 9 wherein the collect calls limit is referenced to a predetermined time period.
11. A method as defined in claim 10 wherein the predetermined time period is a number of hours, a number of days, a number of weeks, or a number of months.
12. A method as defined in claim 11 wherein the predetermined time period is a rolling time period.
13. A method as defined in claim 1 wherein the collect calls limit is a number of calls or a number of call attempts in a predetermined time period.
14. A method as defined in claim 1 wherein the one or more predetermined locations includes at least one correctional institution, hospital, school or military base.
15. An apparatus to manage collect phone calling limits comprising: a collect call limiter to determine if collect calls from the one or more predetermined locations to a terminating phone number have exceeded a collect calls limit; and a block duration calculator to determine a future date when collect calls will be permitted from the one or more predetermined locations to the terminating phone number if the collect calls limit has been exceeded.
16. An apparatus as defined in claim 15 further comprising an automated outbound message dialer to place a call to the terminating phone number to play an automated message identifying the future date.
17. An apparatus as defined in claim 16 wherein the automated message indicates that collect calls from the one or more predetermined locations will be blocked until the future date.
18. An apparatus as defined in claim 15 further comprising an automated message device to play an automated message identifying the future date to a person associated with the terminating phone number.
19. An apparatus as defined in claim 18 wherein the automated message device plays the message during a last permitted call.
20. An apparatus as defined in claim 15 further comprising a service representative accessible database storing the future date to enable manual identification of the future date in response to an inquiry from a person associated with the terminating phone number.
21. An apparatus as defined in claim 15 further comprising an automated inbound interactive voice response unit to identify the future date in response to an inquiry from a person associated with the terminating phone number.
22. An apparatus as defined in claim 15 wherein the collect call limiter further comprises: a call rating engine to determine call tolls for collect calls placed to terminating phone numbers from one or more predetermined locations, and to allocate the call tolls to the terminating phone numbers on a time period-by- time period basis.
23. An apparatus as defined in claim 22 wherein the collect calls limit is referenced to a predetermined time period.
24. An apparatus as defined in claim 23 wherein the predetermined time period is a number of hours, a number of days, a number of weeks, or a number of months.
25. An apparatus as defined in claim 23 wherein the predetermined time period is a rolling time period.
26. An apparatus as defined in claim 15 wherein the collect calls limit is a number of calls or a number of call attempts in a predetermined time period.
27. An apparatus as defined in claim 15 wherein the one or more predetermined locations include at least one correctional institution, hospital, school or military base.
28. An apparatus as defined in claim 27 further comprising: a vendor server associated with at least one of the correctional institutions; and a line information database identifying termination numbers which are blocked from receiving calls from the at least one of the correctional institutions.
29. An apparatus as defined in claim 28 wherein the vendor server provides call records to the collect call limiter.
30. An apparatus as defined in claim 29 wherein the collect call limiter and the block duration calculator are associated with the vendor server.
31. An apparatus as defined in claim 29 wherein the vendor server provides the call records to the collect call limiter in real time, quasi- continuously, or periodically.
32. A method of determining a future time period in which collect calls to a terminating number will be permitted comprising: determining sub-totals of collect call tolls respectively incurred in a series of time periods by the terminating number for calls from at least one predetermined location; determining a number of sequential time periods in the series of time periods wherein a sum of the sub-totals corresponding to the sequential time periods exceeds a toll limit, the sequential time periods being inclusive of a first time period; and identifying a time period occurring immediately after expiration of a number of time periods in the series of time periods less the number of sequential time periods as the future time period.
33. A method as defined in claim 32 wherein each of the time periods is a day.
34. A machine accessible medium storing machine readable instructions which, when executed, cause a machine to: determine if collect calls from one or more predetermined locations to a terminating phone number have exceeded a collect calls limit; and determine a future date when collect calls will be permitted from the one or more predetermined locations to the terminating phone number if the collect calls limit has been exceeded.
35. A machine accessible medium as defined in claim 34 wherein, when executed, the machine readable instructions further cause a machine to identify the future date to a person associated with the terminating phone number.
36. A machine accessible medium as defined in claim 35 wherein the machine readable instructions cause the machine to identify the future date to the person associated with the terminating phone number by playing an automated message identifying the future date to the person associated with the terminating phone number.
37. A machine accessible medium as defined in claim 36 wherein playing the automated message comprises playing the automated message during a last permitted call.
38. A machine accessible medium as defined in claim 34 wherein the machine readable instructions cause the machine to store the future date in a service representative accessible database to enable manual identification of the future date in response to an inquiry from a person associated with the terminating phone number.
39. A machine accessible medium as defined in claim 34 wherein the machine readable instructions cause the machine to determine if collect calls from the one or more predetermined locations to the terminating phone number have exceeded the collect calls limit by: determining call tolls for collect calls placed to terminating phone numbers from the one or more predetermined locations; and allocating the call tolls to the terminating phone numbers on a time period-by-time period basis.
40. A machine accessible medium as defined in claim 39 wherein the collect calls limit is referenced to a predetermined time period.
41. A machine accessible medium as defined in claim 40 wherein the predetermined time period is a number of hours, a number of days, a number of weeks, or a number of months.
42. A machine accessible medium as defined in claim 41 wherein the predetermined time period is a rolling time period.
43. A machine accessible medium as defined in claim 34 wherein the collect calls limit is a number of calls or a number of call attempts in a predetermined time period.
44. A machine accessible medium as defined in claim 34 wherein the one or more predetermined locations includes at least one correctional institution, hospital, school or military base.
45. A method of managing collect phone calling limits comprising: determining if a sum of collect calls from one or more predetermined locations to two or more terminating phone numbers associated with a same street address have exceeded a collect calls limit; and determining a future date when collect calls will be permitted from the one or more predetermined locations to the terminating phone numbers if the collect calls limit has been exceeded.
PCT/US2005/022504 2004-11-09 2005-06-23 Methods and apparatus to manage collect phone calling limits WO2006052294A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/984,487 US7164757B2 (en) 2004-11-09 2004-11-09 Methods and apparatus to manage collect phone calling limits
US10/984,487 2004-11-09

Publications (1)

Publication Number Publication Date
WO2006052294A1 true WO2006052294A1 (en) 2006-05-18

Family

ID=36316346

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/022504 WO2006052294A1 (en) 2004-11-09 2005-06-23 Methods and apparatus to manage collect phone calling limits

Country Status (2)

Country Link
US (2) US7164757B2 (en)
WO (1) WO2006052294A1 (en)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8929524B2 (en) 2004-04-27 2015-01-06 Value-Added Communications, Inc. System and method for determining and associating tariff rates for institutional calls
US9014355B2 (en) 2004-04-27 2015-04-21 Value-Added Communications, Inc. Telecommunication revenue management system
US11062412B2 (en) 2004-05-19 2021-07-13 Touchpay Holdings, Llc Machines and process for managing a service account
US7742581B2 (en) 2004-11-24 2010-06-22 Value-Added Communications, Inc. Electronic messaging exchange
US9282188B2 (en) 2005-01-28 2016-03-08 Value-Added Communications, Inc. Voice message exchange
US9876915B2 (en) 2005-01-28 2018-01-23 Value-Added Communications, Inc. Message exchange
US20060291641A1 (en) * 2005-06-02 2006-12-28 Lucent Technologies Inc. Methods and systems for selective threshold based call blocking
US8190121B2 (en) * 2007-08-23 2012-05-29 3C Interactive LLC System and method for authorizing and monetizing collect cellular telephone calls
US8359270B2 (en) 2007-09-07 2013-01-22 Btm Investments Llc System for identifying an individual and managing an account
US7584147B2 (en) * 2007-09-07 2009-09-01 Pence Joseph A System for identifying an individual and managing an account
US9357061B2 (en) 2007-09-10 2016-05-31 Dsi-Iti, Llc System and method for the automatic distribution of inmate phone recordings
US9621714B2 (en) 2009-01-27 2017-04-11 Value-Added Communications, Inc. System and method for electronic notification in institutional communication
US20110110507A1 (en) * 2009-11-10 2011-05-12 CASHMate LLC System And Method For Communication Account Management
CN106657536A (en) * 2016-10-24 2017-05-10 深圳有麦科技有限公司 Method of acquiring local telephone number and system thereof
US10708369B2 (en) 2016-11-02 2020-07-07 Global Tel*Link Corp. Control of internet browsing in a secure environment
US10735431B2 (en) 2016-11-02 2020-08-04 Global Tel*Link Corp. Control of internet browsing in a secure environment
US9990826B1 (en) 2016-12-07 2018-06-05 Global Tel*Link Corporation System for monitoring offender during correctional supervisory program
US10749827B2 (en) 2017-05-11 2020-08-18 Global Tel*Link Corporation System and method for inmate notification and training in a controlled environment facility
US10104710B1 (en) 2017-06-19 2018-10-16 Global Tel*Link Corporation Dual mode transmission in a controlled environment
US9912821B1 (en) 2017-06-30 2018-03-06 Global Tel*Link Corporation Call processing system for modifying inmate communication limits
US10333870B2 (en) 2017-07-06 2019-06-25 Global Tel*Link Corporation Presence-based communications in a controlled environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956393A (en) * 1996-12-23 1999-09-21 Nortel Networks Corporation System and method for limiting call velocity attempts in a public switched telephone network
US20020071537A1 (en) * 1994-04-19 2002-06-13 Jay L. Gainsboro Computer-based method and apparatus for controlling, monitoring, recording and reporting telephone access

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5436957A (en) * 1992-12-24 1995-07-25 Bell Atlantic Network Services, Inc. Subscriber control of access restrictions on a plurality of the subscriber's telephone lines
US5467388A (en) * 1994-01-31 1995-11-14 Bell Atlantic Network Services, Inc. Method and apparatus for selectively blocking incoming telephone calls
US5926533A (en) * 1994-04-19 1999-07-20 Opus Telecom, Inc. Computer-based method and apparatus for controlling, monitoring, recording and reporting telephone access
US7106843B1 (en) * 1994-04-19 2006-09-12 T-Netix, Inc. Computer-based method and apparatus for controlling, monitoring, recording and reporting telephone access
US5524145A (en) * 1995-04-06 1996-06-04 Bell Atlantic Network Services, Inc. Incoming call completion threshold restriction
US5864613A (en) * 1996-09-16 1999-01-26 Mci Communications Corporation System and method for controlling telephone use
US6169790B1 (en) * 1996-11-06 2001-01-02 U.S. Philips Corporation Method of restricting the duration of telephone calls and telephone implementing such a method
US6665376B1 (en) * 1998-10-23 2003-12-16 T-Netix, Inc. Selectively activated integrated real-time recording of telephone conversations with automated documentation of consent to call recording
US6700957B2 (en) * 1998-12-07 2004-03-02 Curio, Ltd. Caller ID system with retransmitted caller ID information
US6665380B1 (en) * 1999-01-11 2003-12-16 T-Netix, Inc. Inmate messaging system and method
US6246756B1 (en) * 1999-03-17 2001-06-12 Advanced Micro Devices, Inc. Method and system to meter and control usage of telephone systems
US6654452B1 (en) * 1999-09-08 2003-11-25 Nortel Networks Limited Method and apparatus in a communications system for dynamic call rejection
WO2001095602A1 (en) 2000-06-05 2001-12-13 Mci Worldcom, Inc. System and method for providing time-of-day controllable anonymous call blocking
US6836540B2 (en) * 2002-04-29 2004-12-28 Evercom Systems, Inc. Systems and methods for offering a service to a party associated with a blocked call
US7698182B2 (en) * 2002-04-29 2010-04-13 Evercom Systems, Inc. Optimizing profitability in business transactions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020071537A1 (en) * 1994-04-19 2002-06-13 Jay L. Gainsboro Computer-based method and apparatus for controlling, monitoring, recording and reporting telephone access
US5956393A (en) * 1996-12-23 1999-09-21 Nortel Networks Corporation System and method for limiting call velocity attempts in a public switched telephone network

Also Published As

Publication number Publication date
US7409051B2 (en) 2008-08-05
US20070121858A1 (en) 2007-05-31
US20060098796A1 (en) 2006-05-11
US7164757B2 (en) 2007-01-16

Similar Documents

Publication Publication Date Title
US7409051B2 (en) Methods and apparatus to manage collect phone calling limits
US7158621B2 (en) Pre-paid calling and voice messaging services for inmates
US7042992B1 (en) Systems and methods for account establishment and transaction management using interrupt messaging
US9774726B1 (en) Detecting and preventing fraud and abuse in real time
US7961858B2 (en) Systems and methods for account establishment and transaction management
US6668045B1 (en) Message screening, delivery and billing system
US7272222B2 (en) System and method for processing complaints
US9106746B2 (en) System and method for controlling calls for contact centers
US7698182B2 (en) Optimizing profitability in business transactions
US6282276B1 (en) Method of billing a value-added call
US9628614B2 (en) System and method for controlling free phone calls through an institutional phone system
US6636591B1 (en) System and method for affecting inmate conduct with good behavior discount telephone rates
US6298125B1 (en) Frequency-based discount system for host-system within a communication network
US9014355B2 (en) Telecommunication revenue management system
US20110110507A1 (en) System And Method For Communication Account Management
US7257388B2 (en) Pre-paid mobile phone with temporary voice mail
US7860226B1 (en) Systems and methods for account management using interrupt messaging
US7127233B2 (en) Technique for controlling fraudulent use of a telecommunication service including information assistance
US7925558B2 (en) System and method for commoditizing browsing time in a self-service store
JP2007094998A (en) System for distributing telephony work and its program
US20070201643A1 (en) Cost-free calling system and method
US20030225639A1 (en) Method and system for managing and administering a supplemental unemployment benefit plan

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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 KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): 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 IS IT LT 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
122 Ep: pct application non-entry in european phase

Ref document number: 05763662

Country of ref document: EP

Kind code of ref document: A1