CA1322397C - System for the extended provision of cellular mobile radiotelephone service - Google Patents

System for the extended provision of cellular mobile radiotelephone service

Info

Publication number
CA1322397C
CA1322397C CA000611769A CA611769A CA1322397C CA 1322397 C CA1322397 C CA 1322397C CA 000611769 A CA000611769 A CA 000611769A CA 611769 A CA611769 A CA 611769A CA 1322397 C CA1322397 C CA 1322397C
Authority
CA
Canada
Prior art keywords
service area
subscriber
cmr
home
foreign
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CA000611769A
Other languages
French (fr)
Inventor
Terry S. Parker
Harold Grant Saroka
Harold E. Horton
Edward L. Didion
Elmer Lyle
Randall L. Crouse
Richard J. Crane
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Syniverse Technologies LLC
Original Assignee
Syniverse Technologies LLC
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 Syniverse Technologies LLC filed Critical Syniverse Technologies LLC
Application granted granted Critical
Publication of CA1322397C publication Critical patent/CA1322397C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/08Mobility data transfer
    • H04W8/12Mobility data transfer between location registers or mobility servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Abstract:
A technique for enabling a peregrinating Cellular Mobile Radiotelephone (CMR) subscriber to automatically receive, in a foreign service area (that is, an area outside his home service area), calls placed to his MID at his home service area. An FMR processor is coupled through a cable or LAN to a switch associated with the foreign MTSO and is coupled, preferably through a private data network, to a switch associated with the subscriber's home MTSO. Within the FMR
processor resides a program that detects the reception at the foreign switch of a predetermined code indicating that calls placed to the roamer's home MID are to be forwarded to the foreign MTSO. Subsequent to the "validation" of the roamer and to the performance of certain software housekeeping tasks, the roamer is assigned a Temporary Directory Number (TDN) for use in the remote service area. The FMR processor then commands the subscriber's home MTSO switch to forward calls, placed to the subscriber's MID at the home MTSO, to the TDN.
Calls are subsequently forwarded, via the PSTN, from the subscriber's home MTSO to the foreign MTSO.

Description

~3~3~7 SYSTEM FOR THE EXTENDED PROVISION OF
CELLULAR MOBILE RADIOTELEPHONE SERVICE

FIELD OF THE INVENTION

This invention relates to the Cellular Mobile Radiotelephone (CMR) technology and, more particularly, to a system ~or significantly extending the provision of CMR service by automatically forwarding, to a CMR subscriber outside his home service area, calls placed to the subscriber's Mobile Identification Number (MID) at his home sarvice area.

B GROUND OF THE INVENTION :

CMR service is one of the most rapidly growing telecommunication services currently offered. (See, ~or example, "Surging, Price-Insensitive Demand Over Next Two Years and Strong Five-Year Picture Forecast for Cellular Industry Association, Which Sees Capacity ~oncerns Validated," TELECOMMUNICATIONS REPORTS, ~', .
~ 1 .

, ~3~3~

August 15, 1988 (pp. 22, 23). The technology undarlying CMR service is exhaustively documented and well within the understanding of those possessed of ordinary skill in the art. Accordingly, a rigorous description of CMR technology will not be undertaken here, and khe reader will be refarred to the following representative publications.
Arrendondo, G.A., J.C. Feggeler, and J.I.
Smith. 1979. AMPS: Voice and Data Transmission. Bell System Technical Journal 5~, no. 1 (January): 97.
Bernard, Josef. 1987. The Cellular Connection.
Mendocino, Cali~ornia: Quantum Publishing.
Bartee, T.C. r ed. 1985. Data Communications, _ _orks, and SYstems. Indianapolis: Howard W. Sams.
Bartee, T.C., ed. 1986. Diaital Communications.
Indianapolis: Howard W. Sams Fluhr, Z.C., and P.T. Porter. 1979. AMPS:
Control Architecture. Bell SYstem Technical Journal 58, no. 7 (January~: 43.
Gibson, Stephen W. 1987. Cellular Mobile Radio TelePhones. Englewood Cliffs: Prentice-Hall IEEE Journal on Selected Areas in Communications.

,~. ., .: . :.:, : , : .
,. ... ...
: , . ,: . ..

1984. Special issue on mobile radio communications. See Hirono et al., Miki and Hata, and Suzuki et al. IEEE Journal on Selected Areas in Communications SAC-2, no.
4 (July)-IEEE Transactions on Communications. 1973.Special joint issue on mobile radio communications. IEEE Transactions on C mmunications COM-21, no. 11 (November).
~ee, W.C.Y. 1982. Mobile Communications Enqineerinq. New York: McGraw-Hill.
MacDonald, V.H. 1979. AMPS: The Cellular Concept. Bell SYstem Technical Journal 58, no. 7 (January): 15.

Of course, one of the saliPnt attractions o CMR service is that it affords the subscriber enhanced access to the public switched telephone network (PSTN), thereby enabling the subscrib~r both to place and to receive telephone calls at times when he would otherwise have been inaccessible, that is, at times when he is constrained to the confines of an automobile. The accessibility afforded by CMR technology i9 further enhanced by the availability of transportable CMR units that may be removed from the automobile and carried by the subscriber.

, ' . .

~2~97 However, one characteristic of the existing CMR system is that this high degree of accessibility is approachable only when the subscriber is physically present within the range covered by his home service area. The subscriber's ability to :receive incoming calls outside his home service area has heretofore been severely restricted in ways that will be de cribed below, but are largely circumvented by the instant invention. (A subsc:riber using, or attempting to use, his cellular phone in a service area out~ide his home service area is said to be "roaming" and is, at least for the purposes of this document, referred to as a "roamer".) In fact, although it might be assumed that the subscriber will not always be aware that he has travelled beyond the range of his home service area, the cellular system has been designed to detect this situation and to so apprise the subscriber.

Briefly, each cellular system has been uniquely assigned a System ID (SID). Electrical signals corresponding to each cellular system's SID are continually transmitted by that system over a control channel separate from the channel used to provide voice communications. The SID of the system from which a particular subscriber has agreed to acquire CMR services is programmed into a Numerical Assignment Module (NAM) incorporated into the subscriber's mobile unit. When a subscriber's mobile unit is "powered up," it reads a System Parameter Overhead Message that includes the fifteen-bit SID o~ the system whose signal the mobile ,.". - , - , .-.: .. .:, . , - : . ." ", . .
" , , , ~. ;~
:" ., . " . .
.:, . : ~.

~ 32~33~
unit is receiving. The mobile unit then compares the transmitted SID to the SID programmed in its NAM to determine indenticality.
If the unit determines lack of indenticality, a "RO~M" light is activated on the control head associated with the mobile unit. In this manner, the subscriber is made aware that his mobile unit has "seized~ a system other than the system on which he is an authorized subscriber.

A roamer who desires to place an outgoing call to the system in the area in which he i5 roaming need only remember to first dial the area code of that system. Calls placed to the subscriber's home system does not re~uire the dailing of a prefatory area code.

The procedure for receiving i.ncoming calls, however, is substantially more cumbersome. An essential element of the roamer's ability to receive incoming calls is that would-be third-party callers to him need to know in which system the subscriber is physically available. Unanswered calls placed to the subscriber's home number will be answered with a message indicating that the subscriber cannot be found. What the caller needs to know, then, is what CMR system the roamer is using and the procedure for accessing the subscriber through the facilities of that system. That is, the caller must know the roamer's itinerary and the roamer access number of the system the roamer is using.
The major service areas each have a ten-digit roamex access number.
Areas in which service is provided by both a wireline and a nonwireline carrier, of course, have two roamer access numbers, one , ,, ~

:~3~2397 ~.orresponding to the wireline carxier and one corresponding to the nonwireline carrier.

Armed with this information, the would-be caller must first dial the ten-digit ro~ner access number of the system he expects the roamer to be using. After a short pause followed by a toner the caller must then dial the roamer's home nu~er, including this home area code. In some service areas, this cumbersome and demanding procedure is exacerbated by the need for the subscriber to prearrange, with the CMR service provider in the "foreiyn'l area, the right to have incoming calls delivered.

Even when the above-mentioned procedural hurdles have been surmounted, the foreign~area service provider may be disinclined to have (or technically incapable Qf having) the applicable service charges applied to the subscriber's home service area bill, and the charge will need to be prepaid or applied to an acceptable credit card.

In a manner that will be made clear by the detailed Description set forth below, the above-indicated limitation of the CMR system, as it has been heretofore implemented, is cured by the invention underlying the ~ollow-Me-Roc~ming~(SM) Cellular ~obile Radiotelephone Service. ("Follow-Me-Ro~ingl' is a service mar~ of GTE Mobilnet Incorporated. At appropriate occurrences ~hroughout the remainder of this document, various constituent elements of the * trade mark .. , . ~:, : .

.: . ~ . :
:, . .~ ,~
.; ~
. : :

~2~7 ~
combined hardware and software system that implements that service are re~erred to in conjunction with the use of the acronym "FMR".) SUMMARY OF THE INVENTION

The above and other objects, advantage and capabilities are achieved in one aspec~ of the invention by a method for enabling a roaming CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area. ~he method comprise the steps: (a) receiving, at a foreign service area MTSO, information indicating that the roaming CMR subscriber desires to receive, in the ~oreign service area~ calls placed to his home service area; (b) validating the roaming subscriber; (c) upon validation of the roaming subscriber, assigning the roaming subscriber a temporary directory number (TDN) for use in the ~oreign ser~ice area; and (d) providing information to the xoaming CMR subscriber's home service area MTSO so a~ to enable the roaming CMR subscriber's home service area MTSO to call forward, to the TDN, calls placed to the roaming CMR subscriber's MID in his home service area.

In another aspect, the invention comprises an apparatus for enabling a roaming CMR subscriber to automatically receive, in a foreign service area, calls placed to this home service area. The apparatus comprises a computer for coupling both to a switch associated in the home ervice area and to a switch associated with the foreign service area. The computer is programmed to: (1) . , . , . ,:
~ i ' '` - , ' ' : ' " ~ ` :`, .
,,: , ` ,:: i '~ ',:, ' : ' receive information indica~ing that calls placed to the home service area are to be forwarded to ~he foreign service area; (2) assign the subscriber a ~emporary directory number (TDN) in the foreign switch; and (3) command the home switch to forward, to the TDN, calls placed to the home service area.

In a further aspect, the invention comprises a CMR system that automatically forwards, to a foreign service area outside a CMR
subscriber's home service area, calls placed to the subscriber's home service area. The system comprises a home MTSO that is associated with the home service area and includes a home switch for receiving calls placed to the subscriber's NID. A foreign MTSO
is associated with a oreign service area and includes a foreign switch. A control computer is coupled to the home switch and to the foreign switch for (1) receiving information indicating that calls placed to the CMR subscriber~s home MTSO are to be forwarded to the foreign MTSO; (2) assigning the CMR subscriber a temporary directory number (TDN) in conjunction with the foreign switch for use in the foreign service area; and (3) providing information to the home switch that enables the home switch to forward, to the TDN
at the foreign switch, calls placed to ~he CMR subscribex~s MID in the home service area.

In yet another aspect of the invention, a method for activating a process that enables calls placed to a CMR
subscriber~s home service area to be automatically forwarded to a foreign service area outside the CMR subscriber~s home service area .: , . ., . . . . .: i , ::
. . ~ , . . ~ . .

, . . . ~ ., ~2~
includes, as a step, determining whether an activation request is a duplicate request and, further, determining whether a duplicate request is a valid duplicate request or an invalid duplicate request. Duplicate activation requests are detec:ted by searching existing TNUM rPcords in order to identify a match, if any, between the requesting CMR subscriber~s MID and the MIr) in each of the respective TNUM records. If a match is identified, a det~rmination is made that the activation request is a duplica~e request. The duplicate request is determined to be a valid duplicate request if the time of activation contained in the TNUM record that resulted in the identification of a match is at least a predetermined length of time earlier than the time of the then~pending activation request. If the duplicate request is determined to be a valid duplicate request, the subscriber is re-activated in his home service area, and, if the duplicate request is determined to be an invalid duplicate request, the duplicate re~uest is substantially discarded.

BRIEF DESCRIPTION C)F THE DRAWI GS

Figure 1.1 is a system diagram of a conventional CMR system, depicting the constituent cell sites, MTSO~ (Mobile Telephone Sw.itching Offices), and corresponding MTSO cellular switches.
Figure 1.1 additionally depicts the manner in which two independent CMR systems are coupled via the PSTN (Public Switched Telephone Network).

` - ' .' ' .. ... .

, . , . ., , ;:

Figure 1.2 depicts, in block form, the cons~ituent elements of a CMR mobile uni~: the txansceiver unit, the control unit~ and the handset.

Figure 1.3 is a pictorial representation of the handset and shows, particularly, the ke~pad through which activation or deactivation codes may be entered.

Figures 2.1 through 2~15 constitute a detailed and comprehensive flow diagram of the operational steps, primarily software-driven, that represent a fundamental aspect of the invention. Each of Figures 2.1 through 2.15 comprises several steps to which are attached individual reference designations. For example, in Figure 2.10, the step labeled "SET P~OCESS STATE VALUE
= TO 5" has been assigned reference designation 1012. In adclition, a directional bubble labeled "E2-~ " is attached to step 1012 . The prefix portion, ~E2" is intended to indicate that step 1012 i9 connected to a step bearing the identical prefix (E2) on the Figure associated with the suffix, "9", that is, on Figure 2.9.
Therefore, the bubble "E2-9" on Figure 2.10 is to be connected to the bubble "E2-10" on Figure 2.9.

Figure 3 is a diagram of the subject System for the Extended Provision of Cellular Mobile Radiotelephone Ser~ice. The diagram depicts a ~'home~' MTSO and associated home switch, and a ~foreign~
MTSO and associated foreign switch. An FMR processor, programmed with the software disclosed in this patent document, is appended ,: ~, ' . ' ',, ' ; ' : .' ~ 3 ~
~o the foreign switch and is coupled to the home switch via, for example, a private data network. The home MTSO and the foreign MTSO are conventionally interconnected via the PSTN.

DESCRIPTION QF A PREFERRED EMBODIMENT OF THl;' INVENTION

For a thorough understanding of the sub~ect invention, reference is made to the following Description and appended Claims, in conjunct-on with the above-described Drawings.

Preliminarily, howsver, in order to arrive at a contextual appreciation of the subject invention, a~tention is directed to the constituent Drawings of Figure 1, which depict various conventional aspects of the existing CMR system.

Figure 1.1 depicts two conventionally configured cellular systems, 2 and 3 respectively, interconnected via a Public Switched Telephone Network (PSTN) 1. For present purposes, assume that system 2 is a ~home~ system, that is, a system in which a particular, roaming, CMR customer is an authoriæed subscriber.
Conversely, assume that system 3 is a ~foreign~ system, that is, a system to which the roaming subscriber may travel and through the facilities of which the subscriber desires to receive CMR telephone calls.

By way of background (and deferring for the moment the discussion of the more pertinent details of the subject invention), it is well understood that the con~entional cellular system . - .

., ; . . :
.. . .

~32~
comprises a ~obile Telephone Switching Office (MTSO), illustrated by reference numerals 21 and 31 in Figure l.1, surrounded by an appropriate array of more or less identically equipped cell sites, 22 and 32. Mobile subscribers, 42 and 43, establish an R~
communications link with the cell sites. Each of ~he cell sites is, in tur~, coupled to its associated MTSO by a dedicated landline. The MTSOs are coupled by dedicated lines to the PSTN.

A complete description of the fixed and mobile hardware and software necessary to implement a cellular system, such as either s~stem 2 or system 3, would be feckless as an effort to enhance the understanding of the invention by those even modestly acquainted with the U.S. cellular system, inasmuch as practitioners having ordinary skill in the art o CMR system design are well ac~uainted with the configuration and operation of such systems and will, therefore, be well prepared to apprehend the Description of the invention that ~ollows. However, the conscientious reader is referred to the document entitled DYN~ T.A.C. (TM) System Description,' ~nstruc~ion Manual 68P81150E01-A, available from Motorola, Inc., Technical Writlng Services, 1301 East Algonquin Road, Schaum~urg, Illinois 60196.
Suffice it to say, however, that incorporated into each MTSO
is a software-driven, computer-based cellular switch that performs various func~ions, including but not limited to:
(1) Providing switched interconnection between the ~TSO and the PSTN~

: ,. ,, :

~322397 (~) Providing switched connections between mobile subscribers served by the MTSO.
t3) Administering the usage of RF voice channels available o the associated cellular system.
(4) Providing con~rol over signaling with the mobile units.
(Some specifics regarding the configuration and operation of the mobile units are forthcoming below.) (5) Providing control of the intercell location process and control of the resulting "handoff" of calls between cells.
(6) Recording billing information, including~ inter alia, the generation of Call Records.
(7) Providing custom service to mobile users.

A specific example of a cellular switch that has been used in connection with the subject invention is the EMX 25no, available from Motorola, Inc. Literature descxibing that switch has in the past been available from Motorola, Ins.~ at the address provided above.

Turning now to the mobile unit, depicted in Figure 1.2 with reliance on functional block diagrams, it is well understood that installed within each cellular subscriber's vehicle is a mobile unit that includes a transceiver unit, a control unit (including a cradle and a handset), a cellular antenna, and associated control, power, and antenna cables. A detailed description of one .f~ `
.

; ~
~ .

1322~7 ~embodiment of such a mobile unit is found in the documentl GTE
METAI, SERIES C~:LLULAR MOBILE TELEPHONE (MT930), " Publication Reference GTE-M~ 1176, available from GTE Mobilnet Incorporated, 616 FM 1960 West, Suite 400, Houston Texas 77373.
As alluded to above, included with each mobile unit is a handset, such as the handset depicted in Figure 1.3. The handset includes a keypad that operates in some ways like the keypad of a standard, pushbutton residential telephone set. However, the handset provides many functions uncommon to residential telephones.
These functions are described in operating manuals available from vendors of the mobile units. In the context of the subject invention, however,-the handset (specifically, the keypad) will be seen as a suggested preferred mechanism by which the roaming subscriber may indicate a desire to receive the FMR cellular service.

With the above background in grasp, it will be seen that the ~MR system, in most'respects, may be viewed as an "overlayl' on the C~R system depicted in Figure 1.1. As may be seen in Figure 3, the ~MR system includes an FMR processor 5 that is coupled to the ~oreign MTSO 31. Specifically, processor 5 is coupled, in a manner described below, to the cellular switch 33 resident within the foreign MTSO 31. The FMR processor is also coupled to the home cellular switch 21 through, preferably, a dedicated network 6.
(The use of a dedicated network i.s suggested; however, those ., ,~;,., .

`
i~
2~3~7 sKilled in the art will recogni~e that numerou~ telecommunication Iacilities exist for establishing a communication channel between two computer-based devices such as the FMR processor 5 and the home MTSO 21 switch.) The FMR processor 5 may be implemented in one form by a Compaq Portable II*(~odel 2), available from Compaq Computer Corporation, 205~5 FM 14g, xouston, Texas 77070. The processor is e~uipped with 64~(Xilobyte) internal RAM (Random Access Memory) and a ~OM
(megabyte) hard disk and may ~e upgraded with a co~munication por~, also a~ailable from Compaq Computer Corporation. The FMR processor is also enhanced with a "WATSON"* ~oice communication card (provided by Natural Microsystems Corporation, Natick, Massachusetts) and a four-port communications card ~such as the product designated Asynchronous Cluster Adapter Co~unication Board and available rom AST Research Incorporated, Irvine, Californla) that provides four communication ports on a single, pluggable circuit board.

The processor 5 is coupled to the "foreign~ switch 33 (the switch resident in the foreign MTSO 31) at one port. Another communications port is used for remote maintenance by a central monitoring center that dials into the processor. The voice card is used to communicate with the switch via the so~tware modules referred to as "~OAMERHOME~' and "HOME.x," described below.
Additionally, the ~oice card allows the FMR system to place a voice call (colloquially referred to as a "Watson") to the subscriber in * trade mark -' ~322~
order to announce to the subscriber that, for example, an FMR
activation process has been successfully completed. The remaining communications ports may be used to monitor callers to that Call Records can be tracked and so that an activation or deactivation code may be detected.

Directing attention now to Figures 2.1 through 2.15, set forth therein is a comprehensive flow diagram describing in detail the operation of the software-driven FMR system according to which the subject invention is realized. The complete FMR software package includes an executive or background program, FMR.EXEC, and a basic program, FMR.BAS

However, the keystone, and central software component, of the FMR system is the FMR.BAS program. Accordingly, the complete source code listing of FMR.BAS is set forth in Appendix A. (It will be recognized by programmers of any meaningful experience that FMR.BAS is written in the Advanced Basic language.) As is immediately apparent from an inspection of FMR.BAS, as well as from an inspection of the flow diagram constituted by Figures 2.1 through ~.15, FMR.BAS utilizes in its operation a number of software flags, variables, and subroutines. The descriptions and definitions of many of these flags, variables and subroutines are set forth in Appendix B, "FMR.BAS Glossary," which is provided to assist in the intimate and comprehensive understanding of the software-related aspects of the invention. In addition, FMR.B~S
utilizes in its operation a number of subroutine~ of vaxying . ,. "

~ 3~2~7 length. These subroutines are set forth in Appendix C. For completeness, Appendix D contains the FMR.EXEC software, which i~
written in assembly language.

What will be described immediately below are ~he operational steps required to "activate" a roaming subscriber. In this context, to "activate" a roaming subscriber means to perform all the functions performed by the subject inven~ion in the context of the FMR system in order that the roaming subscriber might receive, in a ~foreign~ service area (that is, a service area outside his home service area), calls placed in his home service area to his MID. (It is understood that such calls may originate with callers outside the subscriber~s home service area. These calls, however, will be routed through the PSTN, perhaps by interexchange carriers, but will ultimately be delivered to the end office connected to the subscriber~s home MTSO.) It will be appreciated that some of the necessary operations are purely software operations, some are purely hardware operations, and some are hybrid. A ~hybrid~ operation is, for example, an operation that in~olves hardware operating under the control of or in response to a stimulus provided by the software, or software operating in response to a stimulus provided by the hardware. Furthermore, a number o the functions described below are performed by conventional cellular systems and are known to those familiar with the operation of cellular systems. To the extent that such functions are implicated in, or assist in an ,` ' ~
,, : , , , ~.
.- .: , :

~22~7 understanding of, the invention, they are included in the Description, infra. However, the comprehension and implementation of such functions are well understood ~y those ha~ing ordina~y skill in the art of cellular communications.

In addition, a nu~ber of functions convent:ionally performed by cellular systems are deemed ancillary or collateral to the operation of the subject invention. Such functions have not been described in detail, but their comprehension and understanding are liXewise understood by those having ordinary skill in the art of cellular communications.

In order to assure an intimate understanding of a roamer activation process, a software "map" is provided in tabular form below. The map sequentially traces the operational steps encountered according to the sub~ect invention in order to activate a roaming CMR subscriber. The steps set forth below refer, of course, to the software-driven steps illustrated in Figures 2.1 through 2.15. A narrative description of those steps appear immediately infra.

ACTIVATION
Step Number Figure 2 Notes
3 013
4 01~

, . . . .
- . ,, , , . :

6 01~

8 019 ROAM13RCALL FLAG= 1 12 025 BUFFlLG=l 14 0~1 042 :

, , -, :. : . : .
' ~ : ' ' : ! , , , 7 ~ ~ 7 19 ~ ~S~ :
. 055 0510 - . ACIRFI~G~l 26 051 B4- (I.aST ~æc: READ) 27 045 C6- tAC5rR SET OS10) 2 8 0 61 SA~IE TOTAL TDN ~ S
29 06a 32 071 . :;

07~3 4~ 0814 41 0815 SNDF=SNDF~l 42 t)~16 43 0817 STl~ }

- :-;. - . .
: . :. :, ~ :, ~ ,, ;

; , ,; ` ~ ~
.. ,: , : ~ ~ : . ,;.. . .

i .

48 0~;6 49 ~3~ 0~7 ^ 50 046 SNl~F ~0 SET 0815
5~ 096 56 ~910 57 0~12 59 0gl4 0gl6 61 101. STATE=~l 0817 64 104 NODUI,E ROAM~S~IONE

67 1011 STATE=4 69 0g5 096 STAT~=4 SEq~ 1011 71 097 STAT~--4 SET 1011 - ` : ~, ~, ; :-- :
. , . : :: :
.~ . . .. . . ;: . .,:~ .. :

~ 3 ~
72 111 SNDF~O SET0815 76 ~ 116 77 ~ 117 STAT~=4 SEq~ 1011 78 1112 S'rA~:=4 S}~T 1011 al 122 MODtJlE ~IO~X
8 2 12 3 XOM}5 FL~G--l 8 4 12 S ROa~ S~T I~ TDN

8 6 1211 SNDF~0 8 ~ 1214 SET WATSON C~LI, 89 1215 Ql-L FL~G31 :
9 0 1216 STAT~=~9 g 1 114 g6 135 99 138 RE~N TO EXEC
22 .

- ~ . `. . : ., - . , - -.; . , ~ , `: , , . : .

~ 3 ~ ~JI
Operation may be assumed to begin when a Call Record is received, in Step 011, by the MTSO in the foreign service area.
The FMR processor coupled to the foreign swi-tch monitors all Call Records (regardless whether the corresponding call represents a request for FMR service) and, in Step 012, inc:rements a variable whose value represent the total number of calls received. In Step 013, a determination is made as to whether the Call RQcord represents a roamer Call Record. The ~peci~ic manner or logical method by which this determination is made depends on the particular characteristics of the foreign switch to which the FMR
processor is coupled. Uniformly, however, the software driving the foreign switch must be adapted so as to provide some form of indication in the Call Record that a request for an FN~ activation or FMR deactivation, usually a call class 67, has been received.
This is conveniently accommodated in the Dial Digit field or the Roamer ~ome field in the Call Record. Alternatively, the detexmination may be derived from the call class failure indicator.

If the Call Record is, in fact, determined to be a roamer Call Record, the total number of roamer calls is incremented in an associated register. In Step 015, a determination is made whether the call class indicator associated with the then current Call Record is 67, 69, or 70. It should be understood that the call class indicator field of the Call Record indicates the manner in which the call was handled. For example, the call class indicator may designate a dropped call, a completed call, a call routed to ,, :, -: ;
.., -:.:
.. - . : . ,, . :
: ., . . :. . :: ~ : . .
~.~ .... :.: :
: , . ~ :. . . :
.. . ,. , .~

~ 3223~1 a message or recording, or a call diverted to special handling trunks. If the call class indicator gives reason to suspec~ that the call might be a roamer call, a subsequent determination is made to see whether the subscriber has transmitted an FMR activation code, tha~ i5, the digits ~211.~ The code, 211, i9, of course, ~he code indicating to ~he foreign MTSO that the call being processed has been placed by a subscriber who is a roamer in that system.
The code repre~ents a request that calls placed to the roamer~s home service area be forwarded to the foreign system ~hat serves the location in which the roamer is now present. If it is determined that the code digits ~i.e., 211) have in fact been dialed, the Call Record is stored in a call huffer (step 018) and a flagl ROAMER CALL, i9 set (Step 019).

At this point it i9 useful to introduce the reader ko the structur2 of the "TNUM" file and corresponding records entered into that file in response to the receipt, by the FMR system, of the activation code that represents a request for FMR service by a CMR
subscriber. The TNUM file comprises a number of TNUM records containing inf ormation in the f ormat set forth in the table below.
Notice that a TNUM record includes a ~TDN~ field -that contains the Temporary Directoxy Numbers (TDNsj available for use with the a~sociaked foreign switch. The "USED" field indicates whether the TDN has been ttentatively or finally) assigned to a roaming subscriber. The Mobile Identification Number (MID) of the requesting subscriber is indicated in the ~MID~ field. Other , . . .
~; : ~ , , . : :

2 ~
g~3~ ~
information in a TNUM record includes the roamer~s Electronic Serial Number (ESN), time and date of activation, and the roamer~
feature package in his home switch. The "Sent" field indicates whether the activation has been completed (SENT--Y) ox is merely in process (SENT=N).

-, , ~ , , . . - ~, .
, . . - . . .... .
:
; . , , . -:

.
''~. ''1 Lr~

~ h l OD H
E-l F~ ~ Z
E-l H
O -~ ~ O ~'3 O
o H E~ a ~
O :2; V
o ~æ m~
O ~il .¢ O H
.. ~ H ~ O ~
H
E~ ~
, _, _, p li3 O ~ ' -h ~ o~
O ID P~
P ~ H 1:4 X

H H _- _- _~
h :~
~ ~' CO " :, ~ a _ o ~ ; Q
,~ ` O ~1 ' ~1 U: C.) ~ .
~ a ~
C ~ u~ , ", po~ ~ ~ p E~ æ p ~

co ~ `
~ p1 H
o p~ h ~1 Fl `' o ~D o~æ

:

`.3~`

The FMR processing indicated above has been performed by the background or executive program, FMR.EX~C, which runs in a continuous loop. However, once the 1ag ROAMER CALL is detected by FMR.BAS, ~MR.BAS begins to process the call as indicated below.
Specifically, in Step 021, the FMR proce 80r examines ~he ROAMER CALL flags to determine whether any o~ those flags are se~.
Becau~e a ROAMER C~LL flag had been set in Step 019, the determination is positive, and the system proceeds, in Step 023, to remove the corresponding Call Record from the call buffex and store the Call Record on a RAM, disk storage medium. This procedure is done primarily as a backup, precautionary, mea~ure.

Next, in Step 024, the ROAMER CALL flag that had been set up in Step 019, the buffer flag, and pointers are all reset.

In Step 025, the flag BUFFhAG is set. The setting of BUFF~AG
occurs as paxt of the operation of the subroutine PEEKCAL~. (See Appendix C.13.) Specifically, BUFFLAG is set whenever Call Record data is passed by FMR.EXEC to a predetermined buffer, e.g., the RAM
disk.

After Step 025, the FMR processing system loops back to Step 021. If any other ROAMER CALL flags have been or remain raised ti.e., set) (which would be true if there were, at the time, at least one other roaming subscriber who was simultaneously requesting FMR ser~ice), the processing of Steps 023 through 026 would be repeated until all ROAMER CALL flag~ have been cleared~

.. , : :

t ' ~ .

. . ,, ' ' `3 ~

Assuming the pending request is the only, or the last, request to be served, ~he FMR system proceeds to Step 041. Subsequently, in Step 042, a determination is made as to whether the two-~econd ~imer has timed out. If it is determined that the two-second timer has timed out, a routine is called to check the operation of the ~MR sy~tem. For example, the ~heartbeat~ incorporated into the background program i3 examined for continuity. In addition, it may be possible for FMR.BAS to become "stuck" in one module for an excessive duration. If nok, BUFFER is reset in Step 42~ ancl the system ~umps to step 052.

In Step 052, information related to tha call is retrieved from the Call Buffer. Recall that information had been previously stored in the Call Buffer in Step 18. In Step 053, relevant in~ormation ~MID, ESN, dialed digit~) accumlated in the original re~uest for FMR service is extracted. In Step 054, 055, and 056, a determination is made whether or not to l'validate" the roaming subscriber~s home switch. This determination i8 based on the information extracted in Step 052. Specifically, the FMR
processing system determines: (1) whether the NPA NXX associated with the ~ubscriber's request is in the validation file; (2) whether the subscriber~s home switch is a ~valid" switch. The determinants here are, inter alia, whether or not the switch is part of the FMR sys~em and whekher or not khe switch is operating.

Once the roaming subscriber~s home switch has been "validated," the digits dialed by the subscriber are examined in .
... .

:

~2~
-Step 0511 to determine whether those digits constitute an "activation" code. The activation code is, to a degree, arbitrarily chosen and may, for example, correspond, as suggested above, to the selection, by the sub~criber, of the three keys on the control unit keypad corresponding to the digits 211. (The converse "deactivation~ code and attendant processing by the FMR
system will be described below.) Once it has been determined ~hat an activa~ion code has been re~eived, an AC~IVE FI~E is created (Step 05~), a~d the MI~ and ESN
associated with the subscriber's mobile unit, as well as information identifying his home switch site~ are stored (Step 059). In Step 0510 the ACTR flag is incremented, indiicating that an activation request has bean received. FMR.BAS then returns to Step 051 in order to determine whethsr the la~t Call Record has been stored. If there are no remaining Call Records to be stored, the FMR processing jumps to Step 045, where a determination is made whether AC~R is equal to ~ERO. Inasmuch as, in this instance, ACTR
cannot be equal to ZERO because ik had, in Step 0510, been incremented, the program ~umips to Step 061.

In Step 061, FMR.BAS determines the total number of temporary directory numbers (TDNs) provided for or allocated by the switch in the foreign MTSO. This value is stored in the variable LC (~ast TDN Count~. Subsequent to Step 062, in which it is determined thiat an activation is pending, the Call Record is retrieved (Step 063 from the ACTIVE file, and the value of ACTR is decrem2nted by one.

~ 322~`3~

Assuming the current Call Record is not the la~t record in the file, the first record i8 retrieved from TNUM file (Step 074), and first record indicator LTRI (Step 071) is set to ONE.

Steps 072 through 075 comprise a looping routine that examines all TDN records in the TNUM file. In so doing, FMR.BAS searches for the first unused ~DN or attempts to determine whether the roamer has previously requested the FMR activation. At Step 078, after all temporary number records in the TNUM file have been examined, the variable ~R~ will equal the record number in TNUM
file of the first unused temporary number or the record number associated with a temporary number already allocated to the roamer.
If 'R' is equal to ZERO, all temporary numbers have been used, and a message is sent to the daily transaction file (Step 0715) to indicate this condition. Assuming that an unused temporary number has been found or that the roamer ha~ already been assigned a TDN, the program flow continues with Step 072O

If, during Steps 072 through 077, the roamer was found to already have a TDN assigned to him, the flag DUPFLG will be set equal to ONE (Step 0714~ and program flow continues with Step 082~
A determination is made at Step 084 whether the roamer's initial request for an activation has been completed or whether FMR.BAS is in the process of activating the roamer. Because we have assumed the presently described operation to be an activation, and because DUPFLG will be ~ERO, FMR.BAS proceeds to Step 0815, where the : . . . ..
:
.
'' ~

then-present data is stored in the ACTSND file and SNDF t_eND Flag) is set.

At this point, (S~ep 0816), an examinlation of DDUP is undertaken to determine if ~he roamer has already been assigned a temporary number in the foreign MTSO and three hours have elapsed since his first activation. If so, the value of the variable PROCESS STATE is set ko 3, indicating a re-activation in the local switch only, else the value of PROCESS STATE i~ set to ONE (Normial Activation).

Because, again, the system ig undergoing an activation process, processing proceeds to Step 063 where, inter alia, ACTR
is caused to be decremented. Because, during Step 065, the then-current record is determined to be the last record and, in fact, an activation (Step 066), ACTR is set to ZERO, and the file is cleared. That is, all necessary information is at this time extracted from the file a~ the file i~ being processed.
Consequently, the file can be used for another activation while this processing takes place. FMR.BAS then jumps to Step 046.

Because SNDF is set (recall Step 0815)I FMR.BAS skips to Step 091. At Step 091, a determination is made that the processing then encountered i5 an activation. Accordingly, at Step 092, File is set to indicate an activation. Because (1) the then-present record is not the last record (Step 095), ~2) the value of PROCESS STATE
is ONE, and (3) all the ACTSND variablesJ roamer ESN and MID, are , ~ . . ,, ~, .,. ;, ,,~ .

valid, FMR.BAS then determines which switch to call (Step 0910).
This determination is made based on data in the ACTSND file.
Specifically, data identiying the roamer's home switch is stored ~.
in ACTSND, and this data can be matched against the NPA file to retrieve the telephons number (that is, the number assigned to the switch in the private data network) of the home switch. In Step 0912, FMR.BAS calls the roamer~s home switch. The roamer's home switch is then interrogated to determine:
Step 0213- Is the roamer a 'Ihomer" in the switch called?
Ste~ o9L4. Has there been no denial of services to the ESN
corresponding to the roamer's equipment?
Step 0915: Do the ESN and the ~ID match in the data base?

If the results of the interrogation are all affirmative and the value of PROCESS STAT~ is not equal to 3 (Recall: PROCESS
STATE was set to ONE in Step 0817), then, according to Step 102, the subscriber~s feature package is retrieved from the home switch and stored in the assigned record in the TNUM file. (As an aside, the subscriber~s featura package is evaluated tv determine whether the subscriber has Call Forwarding in his home service area. If not, FMR.BAS will give the subscriber Call Forwarding in conjunction with the command to the home switch, set forth below.) Because the file is an ACTSND (Step 103), the FMR processor, in Step 104, issues a command to the roamer's home swi~ch to call ~, . .

;

, ~ : ;

~322~

forward all calls placed to the roamer~s MID in his home ser~ice area to the assigned TDN.

The command, sent fxom the FMR processor to ~he roamer's home MTSO switch is a central component of th2 invention. This command, as well as ancillary and penumbral operations associated with it, form the contents of a subroutine referred to a~3 ROAMERHOME. The specific processing steps undertaken ~y ROAMER~OME Will vary in their detail in order to accommodate the command structure of the home switch with which ROAMERHOME is, at the time, interacti~g.
The complete source listing of an exemplary form RO~MERHOME
follows.

33 :~

,.. ... ..

: , , . . . ~ , . .
- . :: :. :, :.:
"
: : ; .. `. : :; : .

~ ~2~3~
RO~MERHOME
SUB ROAMERHOME

3100 TIMER OFF: TCHGFLG = 1: CALLSORT: HOME = O
3105 Ml$ = FNDUM$: M2$ = FNDUM$: N3$ = FNDUM$: LS$ =
"FIRST"' TMCON# = 0 3110 TOUT# - 3500: CLS : CALL GETTNUMI: CLOSE 11: CA$L
FIELDTNUM
3120 ' 3135 C~S : CLOSE 4: XZ = 0: PH2$ = "NONE ACTIV~": NF =
4: NA$ = FIl$: CALL OPENACTSND
3140 C~S : PRNFLG = 0s BUSYF = 0: RN = RN + 1: SEROX =
FPTRAP = 0: BALCT# = 0: DSC~ = VAL(RCD$):
SEROK = 0: FR~RAP = O
3141 IF EOF(4) OR RN ~ RECORD# THEN 3265 ~LSE GET 4, RN: BSTATE~ = 0 3142 IF VAL(STATE$) = O THEN TS$ = SPACE$(2): GOTO
3140: ELSE BUSYF = 0: BALCT# = 1 3143 STATE# = VAL(STATE$): ON STATE~ GOTO 3145, 3145, 3145, 3140, 3140, 3140, 3140, 3140, 3140 3144 PRINT "BAD STATE": GOTO 3140 3145 IF VAL (RMID$) = O AND VAL (RCD$) <> 0 THEN CALL
CLEARTNUM: GOTO 3140: ELSE IF VAL (RMID$) = O
AND VAL (RCD$) = O THEN CALL RERUN~ CHAIN
"pokecom"
3147 CLS : KEY OFF: ~COATE 25, 1: CO~OR 15, 0, 0:
STATUS: PRINT STATl$: COLOR 7, 0, 0: LOCATE 12, 27: PRINT "@@ C~LLIN~ " + SITE$ + " SWITCH @~"

-:
:

, ." :~

~322,~7 ,9 I~ SITE$ - "S~NANT~ r~EN 6ZOo ELSr IF SITE$ =
I'~STNTX" THEN 6300 ELSE I~ SITE$ ~ "MIAFL~" THEN
6400 EISE IE SITE$ = "QRDFLA" T~EN 6aoo ELSE I~
SIT~$ = "DAISTX" T~EN 6400 31~0 PH2$ = SITE$: C~LT.V~LIDATENpA: IF LS$ ~ SIT~
THEN LS$ = SITE$
3151 I~ SIT~$ = :;JAC~LA" T~EN PRM$ =
",N,8,1,CD,DS,PE": ELSE PR~$ =
",E,7,1,C~,DS,PE"
3152 I~ 5IT~$ = "YO~O~I" THEN FPl$ = ":FPsOl":
ELSE FPl$ ~ ":FP-15"
3156 BSTATE~ = 9: C~LL DIAhCONNECT: I~ 3USY~ = 1 THEN
3140 ELSE BSTATE~ = 0 3157 CTO~T = 15: GET 11, VAL(RCD$) 31a5 PRNFLG = 0: CAL~ DEL~Y2: Nl$ = "(" + CER$(3): ~2$
= ~?": M3$ = FNDUN$: PRI~T ~2, CER$(27) 319~ CALL OE T OEAR: IF INsTR(A$, Ml$) TXEN 3195 ELSE IE
AA~ - nc$ THEN 3228 ELSE 31gO
3195 P~NFLG = 1: CALL DELAY2: P~I~T ~2, P~SSWD$
3200 C~Lh G~TcaaR: I~ INSTR(A$, M2$) T~EN ~r-T
OE T ~ : GOTa 3195: EISL I~ INST~(A$, ~1$) AND LEN(A$) ( 5 TEEN 3205 EISE I~ AA~ = ~c$ THEN

3205 PRIN~ ~'2, ~oDE$
3210 CALL OE TCEAR: PRNFLG = 0: IF INST~(A$, ~2$) THFN
C~LL GETC~R: G~T0 3205: El5E IP INSTR~A$, ~1$~ ~EN 3220 EISE IF AA$ = nc$ THEN 3228 ~ISE

:....
, ~. .

. : .
~ ! r ' "', . ' . , ' ` ` ' , ~ '' ` , ` ~

~3~391`7 INsT~A$, "PAS") TXEN C:~LL G~TC~' GOTO 318S:
EI~E 3210 3220 P~NFI.G = 0: IE FIl$ = ''ACTSND~ EN 322S ELSE
SI~C~D$ = ~ IGLS :." + :~MID$ ~ li FP=" ~ FE~
Il :NOFT*I': GOTO 3236 3225 FPq~?AP = 0: XZ - V~L(RCD$): IF STATE', -- 3 T}~N A$
FPTRaP = 0: G3TO 32~4: EL~SE SIMC~ID$ --I'DISSD: SER=~ + RSJ3R$ + "*": Sl-M~ID'; --IJC:ASE$ (SI~I~D$): PRI~T j~2 , SI~C~D$
3226 CALI GETC~R: I~ INSl~(A$, "NOT") l~EN SIMC~D$ --" DIFI.S ~ ID$ ~ ~I * I~ FPT~AP -- l: GOTO 3 2 2 6 ~
ELS~ STR(A$, l~c~) AND FPTgAP = 1 17~IEN 3230 EISE IF INSTR(A$, ll~ll) AND FPTRAP = O I~N CALL
G~TC~AR: PRINT lr2, SIM(:~D$: GOTC) 3226 3227 I~ INST~(A$~ I~DENI~ SERVIC~) ~N DSC~ = XZ:
SEROK = 3: CALL DENYHANDL~R : SEROK - 0: GOTO
3140: EISE I~ I~SIR (A$, ~TAPE OOS ~ ) TXEN
BSTATE~ ~ 8: PUTINBUSYFIIE: G~TO 3140 3228 I~ INSTR(A$~ I~COM~AND~I) TEEN 3225 ELSE IF AA$ =
nc$ THEN BSTA~E~ = 7: P~TINB~SYPILE: GOTO 3140:
EI SE I}~ INSI~ (A$, ~2 $ ) T}~N CALL G:ETC~ GOTO
. 3185: EISE 3226 3230 PRINT ~2, SI~C~D~
3231 CAIL GETOEAR: I~ (INSTR(A$~ I~DOES NOT EXIST~) OR
INST~ (A$ ~ I'~ACANT S~BSC~IBE~ OR INSTR (A$ ~ I~N~T
LOCaLLY") ~ THEN DSC~ = XZ: SERO~ ~ 3: FPTRAP = 2:

~.

`3~
~ALL DENY}IANDIJ~R: GaTo 3140: ELSE I~

I~ST~ ( A~ ? " ) TEEN 3 2 3 0 3232 I~ INSTR(A$, "~I3. . . ") THEN F~ RAP -- 2: GOTO

3231: EI5E IE I~Sll~(A~, "IN IJSE") TXE~ PRINlr ~2, 9-1 ~3 ELSE I~ INSlrR(A~ AP~: OOS~

BSTATE~ ~ 8: PIJTI~USY~ G3TO 3140: ELSE IF

AA$ = nc$ ~}~ ~TINBIJSY~II.E . GO~O 314 0 3233 I~ FPl~AP = 2 T~;N ~p~ = A$~ GOSIJB 3300: IF

BSTAT~ = 1 TEi~ P~ITIN3~5YFILE: GOTO 3140:

EIlSE IP' C~ OK" ~EN ~ P = 0: SEROK = 0:
GOTO 3 2 31: Er~sE I~ C}~$ = "NO CO~ Ir l~EN Cl~$
SERO~ = 4 ~ DSC" = XZ: C~LL DENYH~NDLER: PRINT
~r2~ GOTO 3140: EI.SE 3231 3234 IE FPTRAP ~ O AND INSTR(A$~ ) ~EN SIMC~D$ =
I~CXGIS:l~ ~ RMID$ + FPl$ + I~:C~ + TDN$ ~ l~*ll:
GOTO 3236: EISE 3231 3236 Ml$ = FNDU~$: PRD~T ~2~ SI~C~D$
237 C~hL OE ~C~AR: I~ INST~(A$~ IlCO~PLETEDll} TXEN ~1$
GOTO 3240 ~ = nc$ lr}IEN
PUTINBUSYFIIE: GOTO 3140: EISE I~ I~STR(A$, IICO ~ D?ll) T~EN 3236 3238 IF INSTR(A$~ I~FORM~TI~) TEEN CALL OE TCX~R: BSTATE~
= 12: CALL DENYHANDLE~: GOTO 3140 3240 IF INSTR(A$~ Ml$) ~EEN 3245 EISE IF INSTR(A$~

~ITAPEl~ OR INSTR(A$~ ~IN ~SE~9) TEEN 9STATE~
P~TINB~SY~IIE: GOTO 3140: EISE 3237 3245 PRINT #2~ CALL OET~R

,, ,. . ,- .

~L3~2397 3 ; CALL OE TC~R: I~ INST~(A~ "C~NC2LL~D") TEEN 3250 ELS~ I~ AA$ = nc~ TEEN 3250 ELSE 3Z46 3250 I~ sTAT~$ = "02" OR STATE$ = "03" TEEN ISET

ST~T~ 05l' .EISE LSET ST~TE$ a ~704ll 3251 GOS~B 32900 I~ FIl$ = "ACTSND" TEEN S~DF~ a SNDF~ -; 1 .
32~2 I~ FIl$ Y "D~ASND" T~N SNDD~ = SNDD~ - 1 325~ LSET sPARE$ = SPAC~$(6): P~ 4, R~: CALL
~PDAT~RST~T: GO~O 314~
3Z65 I~ FIl$ = "ACTSND'~ TH~N SNDF~ 3 SNDF~ - 1 3266 I~ FIl$ = I'DEASND" TEEN SNDD~ = SNDD~ - 1 3267 C~OSE 4: LS$ = "": GOTO ROA~ERR~T
329a I~ FIl$ = "ACTSND" TH~N MODAFLG = MODAFLG + 1 3291 IF FIl$ = "D~ASND" TXæN MODDFLG = ~ODDFLG ~ 1 3~92 RETU~N

3300 ' 3305 GET 11, XZo Q$ = MID$(fp$, 16, 3): I~ VAL(Q$) c O
OR VAL(Q$) > 99 TEEN BSTATE~ RET~RN:
EISE ISE~ FE$ ~ Q$: Q$ ~ ~ p$ = ~"~ FPTRAP -0 ~ U'l' ~ X~z;
3310 I~ MID$(A$, 38, 8) = NID$(N$, 15, 8) ~l~EN C~$ =
"OR": ELS~ C~$ = "NO CO~oeARE": HOSER$ =
MID$(A$, 38, 8) 3315 RETU~N
620 a PRN$ = l7 ,E~7,1,CD,DS,PE": I~ SNA~E$ = "CI~MR"
THEN FP OE~$ 3 "e": ELSE FPCE~$ - "h"

' ' ' ~3~3~7 6201 LOGIN$ -- "apxr~ -text -3:rie~": s~cMD$ -LC~ RS~$) ~ ~RAIJD$ -- "sr~o . srnu~L=h" + Sl:MC~D$
~ r~: S~ ND$ ~ N$ 3"sub dirno.su~npa=" ~ ~ID$(~MID$, 1, 3) n SU~ dirno ~ su~ D$ (R~ID$, 4, 3 ) It Stlb dirno . submdn=" ~ I~ID$ (R~ID~, 7, 4 ) + " r"
6~ 02 IJPDA~El$ -- ~ID$ (~IEW$ , 1 , 64 ): l:rpo~E2 $
"licf=y lic:~dgt=l'l * TDN~ * " licfac:t=y u"
C~NOEL$ -- IJPDATEl~ : GET 11 , VAh (RcD$ ): CA~Ll$
"licf~y licfact=n u"
6203 IF INSl~(FE$, llNO"~ l CANOE~l$ = "licf=n licfact=n u"
6205 PH2$ = SITE$: CALL YAIIDAq'ENPA: IE Is$ <~ SITF$
T}IEN LS $ = SITE$: CLOSE 2: BSTATEtr -- 9 ~ CALL
DEI,AY2: CALI. DIALCONNECT: IF BUSYF = 1 T~EN 314 0 6207 ~3STAT~ 0: Ml$ = ~'gin: ": CALL G~TC~AR
IF INST$~A$, Ml$) ~EN 6209 I~ AA$ -- ~c$ T~N PUTINB~S~FIhE: G~TO 314 0 6209 CAIL DELP~Y2: Ml$ -- ": ": PRNFLG = 1: P~NT ~r2, ~oDE$: C~LL G~.TCX~R: PRNFLG = 0: Ml$ ~
6211 C~IL OETCE~ INSTR(A$, "Passn) TEEN 6213 ELSE
IF ~$ = nc$ T~N PIJTINB~SY~ : GOTO 314 0:
ELS~ I~ INSTR(A$, "log~rl: ~') ~EN 6209 EISE 6211 6213 ~LL DELaY2: PRNFI.G = 1: PRINT ~2, PASSWD~: C~L
OET~R: PRNFLG = 0: Ml$ = ~'$": ~2$ = ": "

'~

~32~39~
;215 CALL GETC~ NST~(A$, Ml$) ~N PR~EI,G = 0:
Gt:)TO 6217: EI.SF IF AA.$ -- ~lC$ ~ 6:i!g7 EISE
I:F INST~(A$, "lo~in"~ ~EN 6209 EISE 6215 6217 PRI~aT "2, LOC;IN$
6Zl9 Ml~ CAI~ GETc~R~ lNSTR(A$, "not îound") TI~EN 6217 ELSE IF I~STR(A$, 'IEnter Farm"~
5~N 6221 ELSE I~ AA$ -- ~c$ 1~ 62g~ EL~ IF
INSTR(A~ $'~ qXEN 6217 EISE 6219 6221 IF S'rATE~, = 3 THh~ 6236 1S~ D~ FII$ -- "DEASND"
TEEN 623 6 ELSE PRINT ~2, '~raud"
6223 CAI,L G TCXAR: I~ INST~(A$, I'E=Ex~c''~ I~IE~` 6225 ELSE IP' AA$ = nc$ 1~ 6297 E~S~ INSTR (A$, "not all~wed" ) l~IEN 6221 ELSE 6223 6225 PRI~T ~2, ~r": CMPl$ = FNDUN$
6227 M2$ = ">": CALL GE~C~AR: IF XNSTR(A$, ~2~) THEN
6230 EISE IF ~$ = nc$ T~EN 6297 ELSE 6227 6Z30 SEROK = 0: P~I~T ~2, FRAUD~
6232 C~IL G~TCEAR: IF INSTR(A$, "Eorm not found") ~HE~
S~O~ = 1: GOTO 6232: EISE I~ I~STR(A$, N2$) T~EN 6234 EISE IP AA$ = nc$ ~EN 6297 EIS~ 6232 6234 I~ SERO~ = O T~EN DSC~ = V~h(RCD$): SEROg = 3 :
~PTRAP - O: CAL~ D~NYEANDLE~ : GOS~B 6290: S~OK =
O: GOTO 3140: EISE GOSUB 6275: IF SERO~ = O

6235 IF INST~(A$, ~'$ "1 TEEN 62l7 EISE SERO~ = 0: GOTO
6~g7 6236 P~INT ~i2, '1sub1' :' .
:

- ~3~2~
6238 Ml$ = ":": C~LL GrTCX~R: I~ INST~(AS, "E=Exec") THEN 6240 E~SE IE ~A$ 3 nc$ TXEN 6297 EISE IF
INSTR(~$, "not allowed") TE~N 6236 ELSE 6238 6240 IF STATE~ ~ 3 ~EN 6241 ELSE IE EIl$ = "DEASND"
THEN 624~ EISE PRINT ~2, "r"
6241 M2$ = ">": CALL GETCHAR: IF INSTR(A$, ~2$) ~HEN
6Z42 EISE IF AA$ = nc$ T~EN 6297 ELSE 6241 6242 SEROK = 0: PRINT ~2, REVI~W$
6243 ~l$ = "~ 2$ = "~": C~LL GETCXAR
IF INSr~R(A$, "ldn type=") TE~N GOS~B CEK~P
I~ INSTR(A$, ~.srnum=") T~ fp$ - A$: GOTO 6243 I~ INsl~A$, "not Xound") TEIEN SE~OK = 3: GOTO
6243 ~.
IF AA$ - nc$ TXEN 6297 IF INSTR(A$, "~=Exec") THEN 6244 6244 IF SE~OK Y 3 OR SEROK - 5 TH~N F~TRAP ~ 2: DSC~ -VAL(RCD$): C~LL DENY~NDI~: F~TRAP - 0: SE~O~ =
0: GOTO 3l40 624$ SEROK 3 0 GOSUB 6294: IF SERO~ ~ 1 THEN SERO~ -O: GOTO 6246: EISE SEROK ~ 4: DSC~ ~ ~
V~(RCD$): CAIL DENYX~NDLER: SE~OX ~ 0: GOSUB
6290: GOTO 3140 6246 I~ Q$ ~ TEFN BSTATE~ 3 1 GOTO 6297: EISEIF STATE~ ~ 3 TXEN 6247 EISE XZ 3 ~AL(RCD~): GET
ll, XZ~ LSET FE$ ~ Q$: Q$ ~ PUT ll, xæ
6247 PRINT #2, ~U~

~;

` ~ 3223~7 6248 ~1$ -- ">": C~LL GETC.YAR: IF INST~(A$, Ml$) T~I~N
6250 EI5E IF AA$ - n::S TXEN 6297 ELSE 624 6250 IF FIl$ a "DEASND" l~N PRINT ~2, C~NCEL$:
ELSE PRINT X2, ~JPDAT:E:l$
6251 C~LL GETC~R: IF INSI~tA$, ~1~) THEN 6252 ELSE IF
AA$ ~ ncS TXEN 6297 ELSE 6251 6252 IF FIl$ = "DEASND" T}I~:N PRIN'r #2, CANC:ELl$:
ELSE }?XI~II # 2, UPDAT:E2 $
6253 ~1$ =~ CALL 6~TC~R: IF INSTR(A$, "l~=Exec") T}IE~ 6255 ELSE IF AA$ -- r~c$ IHEN 6297 EISE IF
INsT$~(A$, "(Y or N)") TX~N CALL DELAY2: PRINT 7,2, "y": GO~O 6253: $LSE 6253 6255 GOSUB 6290: IF STATE$ -- "02" OR STATES = "03"
THEN LS~T STAT:E$ -- "05": ELSE LSET ST2~TE$ = "04"
6256 IF FIl$ -- "ACTSNDI' THEN SNDF~ = SNDF~ - 1 6257 IF FIl$ =~ "DE~SND" TX~N SNDD$ -- SNDD~ - 1 6258 LSET SPARE$ - SP~CE$(6): PU'r 4, RN: GOSUB 3290:
CALL l:JPDATEE~STAT: GOTO 3140 627S ~ql$ ~ ": ": M2$ ~ "$": SEXOK =~ û
6276 PRINT #2, ~"
6277 ~LL GETC~ IF INSTR(A$, "Enter Form") l~IEN
SERO}~: ~ 0: RETURN: ~I,SE IE INSTR ~A$, M2 ~ ) rXEN SEROX - 1: REI~RN: ELSE IF AAS =~ nc$ TXEN
SEROK -- 3: RETURN: ELSE IF INSTR ~A$, Ml$ ) T~EN
6276 EI,SE 6277 ~290 ' 6291 Ml$ 8 "$ ": ~2S ~ ": ": PRINT #2, "<"

; ' , ~ .

" ' ~ ~ 2 .~

~292 C~LL GETCXA~: IE AA$ = nc$ T~EN RETURN: El,SE
IF INsT~(A$, MlS) T~N ~ ELSE IF INSTR(P~$, "E=Exec"~ OR INST~(A.$, ~2$) TH~N 6290 E:LSE 6292 6294 I~ INSTR(fE~$, ~.srT~ h~ TXEN SI~CMD$ ~
LCZ~SE$ (RSER$ ): X~ i INST~ ( fp$ , 1 . Sl~lt~ a~7 ): IF
MII:S (fp$, X# ~ 8, 8) -- SI~C~ID$ TXEN SEROK - 1:
GOTO 6296: ELSE SEROK -- 4: XosE:Rs =
MID$(fp$, X~ + ~, 8): GOTO 6296 6295 IF INST~(fpS, I'.srnum=m") ~N CALI, MANUFTO~X~
X;~ - INs~(fp$t ".srnum-"): IF ~II)$(~p$, X~ + 8, 11) -- sI~ D$ T~EN SEROK = 1: GOTO 6296:
ELSE SE$lOK = 4: XOSER$ = MID$(fp$, X~ + 8, 11):

6296 IF INSTR(fp$~ I'licf=~y") T~N Q~ -- "YES": RETURN:
ELSE IF INSTR(fp$, "licf=n") THEN Q$ ~ "NO":
RETURN: ELSE Q$ -- " ": PRINT "I~OUBLE WITX
I~MEDIAT}~ CALI FORWARD FIELD": RETU}?N
6~97 I~ INSTR(A~, nc$) THEN 3140 E~S~ GOSUB 6290:
PUTINBUSYFILE: GOTO 3140 C~XFP:
X$ ~ X% D I~STR(AS, "ldn typa-"): IF X% ~> O THEN
X$ = ~ID$tA$, X% + 9, l) IF X$ - FPCX~S T~EN SEROK ~ a: EhSE SEROK - 5 ~Eq~URN

6300 PRMS ~ ",E,7,1,CD,DS,~E": PH2S ~ SITE$: C~LL
VALIDATENPA:

. , .. , .- , ~.

, . . . ~ :

., , :. . . , :

~32~3~i7 6301 IF LS$ <> sITE$ THEN LS$ = SIT~: BSTATE~ = 9:
C~LL DIALCONNECT: IF BUSYF Y 1 T~N 3140 ELS~
SEROR ~ 0: C~LL DELAY2 6304 3ST~TE~ - 0 6305 GOSU~ 6390: IF BUSYF ~> 1 TH~N 6311 6306 IF BSTATE~ c> 6 THEN ~STATE~ ~ 7: PUTIN~USYFI~Eo GOTO 3140: ELSE P~TINBUSYFILE: GOl'O ~140 6311 SERO~ - 0: IF STATE~ 3 3 TXEN 6326 ELS IF FIl$ =
"ACTSND" TEEN SD$ - "DISPL C~ SERDEN " + ~SER$:
P~INT #2, SD$: ELSE 6328 6312 CALL GETCXA~: IF INST~(AS, "NOT FOUND IN") T~EN
6314 EISE IF INSTR(A$, "DENIED SE~VICE") THEN
DSC~ ~ VAL(RCD$): S2ROK - 3: GOTO 6314: ELSE
IF AA$ - nc$ 'L~N 6370 ELSE IF INSTR(A$, I'COMM~ND
. ABORT") THEN 6311 ELSE 6312 6314 Ml$ 3 ~ CAL~ GETCXAR: IF INSTR(A$, Ml$) THE~
GOSWB 6390: IF BUSYF - 1 THEN GOSUB 6350:
PUTINBUSYFILE: GOTO 3140 6315 IF SERO~ ~ O T~EN 6316 ELSE IF SERO~ - 3 THEN
GOS~B 6350: DSC~ - VaL(RCD~): e~L~ D$NYXANDLER:
GOTO 3140: ~LS~ I~ SEROg ~ 2 T~EN GOS~ 6350:
PUTINB~SYFI~E; GOTO 3140 6316 Ml$ ~ TT$ ~ RMID$: DS$ - ~9DISPLA C~
S~BSCRIBER ~ ID$(TT$, 1, 3) ~ MID$(TT$, 4, 3) + " '9 ~ ~ID$(TT$, 7, 4): PRINT ~2, DS~
6317 CALL GETCX~R: X~ ~ INsTR~A$, MID~(RNID$, 1, 3))~
IF INST~(A$~ '9NOT ASSIG~ED") ~æN 5ERO~ - 2:

' 3 ~ 7 FPTRP.P -- 2 . GOTO 6 3 2 0: EI~S~ IE AA$ ~ c$ l~I~ N

6318 IF Xrr > O AND XX c 5 TEEN 6319 13LSE IF INTR(A$~
l~e~ND A30RT~) TEEN 6316 EI~ 6317' 6319 I}? INS5~(A$~ RS ~S) I~N 6320 ELS~5 SEROP; ~ 4:
HosER$ =~ MID$ (A$ r 2 6 r 8 ) 6320 IF SEROK ~ 2 T~EN DSC;$ ~ VAI~(FICD$): GOSUB 6350:
C2~LI~ DENY~IaNDIæ}?.: S~X~Og a 0: GC)TO 3140: EI~SE
IF SER:)K -- O I~N 6321 EISE IF SEROR -- 4 THEN
DSC" = VAL(RCD$): GOSUB 6350: CALL D}~NYHA~DLER:
SERO~ Y o: G~TO 3140 6321 t:ALL GETCXAR: I~ I~ST~(A$, "~ N 6322 EI~SE
X~ = INSTR (A$ ~ "PRG" ): IF Xi~ <> 0 5~N ~p = XX : :
GOTO 6321: ELSE 6321 6322 CALL GETCXAR: GET 11, V~RCD$): Q$ -- MID~(A$, fp 3): IE VAL(Q$) ~ O OR Vl~L~Q$) > 99 TEIEN ~3STATE~ =
1: GOTO 6370: ELSE ISET FES -- Q$: ~JT 11, VAL (RCD$ ): fp 8 0 6323 ~1$ ~ CP.LL GETCXAR: IF I~STR(A$, "NPA") ~HEN
6326 EISE IF A.a$ -- nc$ ~N 5370 :~:ISE 6323 6326 Gos~:rB 6390: IF 13USYF ~ 1 T~EN PUTINBUSYFIIE:
BlJSYF ~ 0: GC TO 314 0: EI SE CAI~ DEI~Y2: DS $
"C}~ANGE CP S~BSC~IBER " + ~ID~ ID$, l, 3 ) ~ "
+ ~ID$ (RNID~, 4, 3 ) ~ + ~ID$ (R~ID~, 7, 4 ) -~-,s;;;;;;;15 Y ;5;;;;11" + TDN~ 8 1l ;;y;~ PRINT
#2, DS$

:: : :, - -.

~32~3~7 `
6327 Ml$ = '~ ETC~IAR: IF INSTR(AS, "NPA: ") l~N 6340 ELSE IF I~STR(~$, "COM~ND ABORT") T}~EN
6311 ELSX IF AA$ - nc~ TXEN 6370 ELSE 6327 6328 OET 11, V~L(RCD$) 6329 DS$ -- I'C~NGE OP S~BSC~IBER " + 2~ID$(~MID$, 1, 3) ~ MID$ (RMID$, 4, 3 ) ~ ~ " + MID$ (RMID~, 7, 4 ) + l~ ;;;;;;;;; " t FE ~ ~ " N ;;;;;;;;; Y; '~: CALL
DEIAY2: PRINT ~2, DS$: GOTO 6327 6340 C~LL DELaY2: GOSUB 6350: IF STATE$ ~ '902" OR
STAT~:S =~ ~03~ T~N LSET STATE$ 3 ~1051~ EI~;E LSET
ST~T:E$ ~ " 0 4 "
6341 I~ FIl$ -- "ACTSND" l~N SNDF~ ~ SNDFJ~ 1 6342 IF FIl$ -- ~DEASND" THEN SNDD~ ~ SNDD~ - 1 6345 LSET SPAR~ SPAC~:$(6): PUT 4, RN: ~;OSUB 3290:
CALL UPDAT~RSTP.T: GOTO 3140 6 3 5 0 IF INS'rR (A$, nc$ ) ~;N RE~URN
6 3 S l M2 $ , ~I > ": BUSYP ~ 0: GOSUB 6 3 9 0: IF BU5Y~ Y
I~EN REl~N: EISE PRINI! #2, "LOGOUT"
6352 ca~ G~3TC~ IF INST~(A$, ~..>") I~EN RETURN:
EISE I~nc~ T~N R~TtJRN: EISE 5352 63~0 pp D TI~ t 2 6363 IF TI~ > PP I~N RETURN: EISE IF PP >
(T~ER ~ ) l~EN 6360 ~IS}S 6363 6370 ~3~SYF ~ 1: P~JTINBIJSYFII~: IF INST~(A$, nc$) T~iN
3140 ELS~ GOSUB 63SO: GOTO 3140 6390 BIJSY~ ~ a: ~ >Il PRI~ #2, C}IRS~17);: PRINT
2, CH~!$ ( 17 ); : Q.LL DE~Y2: PRINT ~ 2, C~R$ ( 1 ) , ,: .
: - ., :

~322~7 ~`

63~1 CALL GrTC~IAR: Ir INSTR(A$, ~ ) THEN CALL
Dl~ LAY 2 - GOTO 6 3 9 6: EI S E I F INS l'R ( A $ ~ ll > ll ) T~N RE~URN
6392 IF AA~ ~ nc$ OR INSI~(A5, nc~) q~N B~SYF 3 I
RETURN

6396 PRINT j~2 ~ I'LOGIN'I: Ml$ ~ ": ": CALL DEI~Y2 6397 ~LL &I~TC~ IF INSI~(AS, "USEN~E: ''') T~IEN C~
DELAY2: PRNFLG - 1: PRINT ~2 ~ ~ODE$: GOTO 6398:
ELSE IF AA$ ~ nc$ ~N BSTATE# = 5: GOTO 6392:
ELSE IF INsTR(A$, l7QlJ~;u~:DI~ IEN .3STATE~ -- 6:
BUSYF = 1: ~ N: EISE 6391 6398 CALI~ GETCXAR: PRNFLG -- 0: IF INSTR(A$, "PASS") l~IEN CAI~ DELAY2: ~IS ~ ~>~: PRNFLG ~ 1: PRINT
~2, PASSWD~: EISE IF AA$ -- nc$ THEN 6392 E:LSE
IF INST~A$, "FAI~URE") ~EN 6390 ELSE 6398 6399 C~;L GETCHAR.: PRNFLG ~ 0: IF INSTR(A$, "FAXLUR:E") l~N BUSYF -- 1: PRNFLG a 0: RE5~}W: ELSE IF
INSTR(A$, "~ T}~ PRINT . PRNFLG ~ 0: }?ETU~N:
ELSE IF ~ nc$ ~ 6392 ELSE 6399 6400 PR~S ~ Il,E,7,1,CD,DS'': P}~2$ ~ SITE$: CAI~
V~IIDAl~NPA: ~oDE$ 8 "~:RCC~N SRM! " ' 6401 I~ I~S$ <> SITE$ T~EN L3$ D SITE~: CLOSE 2: ~AL~
DE~Y2: ~STATE~ ~ 9: CAI~ DI~CONNEC~: SEROK ~ 0:
GOTO 6405: EISE IF BUSFI,G ~ O T~EN 6406 6405 IF BTJSYE ~ 1 l~EN B~SYF -- 0: GCTO 3140: EL5E
~1$ n l- n: GOSIJB 6480: IF BUSYF ~ 1 T~N
PIJTINBlJSYFIIE: B~SYF ~ 0: GOTO 3140 ,, ..

' , ~'' ' ~ . :'' 3 ~
6406 Bs~rATE7r =~ 0: IE FIl$ 1 "AC'rSND" TXFN C~DlS =
"VFY~DN-30" + MIDS(~MID$, 4, 7) + "."~ D2$ -"VFY-I~N-31": C~5D3$ -- "RC:~SOBI.; CXG~ C~D4$ -"ORD 4,TN " ~ MID$(~fID$, 4, 7) + i',ESM!": C~S$
'I~C:CF~:/": CMD6$ -- ~BA.SE " ~ MID$~R~ID$, 4, 7) + ", ~0 " ~ ~DN$ + ", PFX! '~: EISE 64SO
IF ST~TE~ -- 3 THEN 6423 6407 c~w$ -- "YES": SEROK ~ 0: ~1$ = "PF": ~3$ --$ND~$: ~2$ = "?": C~D$ -- CNDl$: GOS~:rB 6490 6408 C~I,L GETC}I~R: IF INSl~(A$, Nl$~ l~N Ml~ =
FUN~$: GOTO 640g: EI~E IF INsT~(A$, ~2$) OR
~$ - nc$ I~EN 6487 ELSE 6408 6409 C~ GETC~R: IF INST}~(A$, I~T.EN~ EN PLEN~ =
~ID$(A$, 10, 10) VAIFW ~ 1: GOTO 6409: EIJSE
IE INST~ (A$, "END OF JOB" ) ~IEN Ml$ -- CXR$ ( 25 ) -GOTO 6409: EIS~ I~ VALFLG =s 1 l~J VA.LI$ = A$:
VAI~LG - 2: ELSE IF INSTR(A$, Ml$) ~N 6411 6410 IF AA$ Y nc$ T~N 6487 ELS~ ID$(A$, 7, 2) -- "
2" AND YAIFIG -- 2 l~N OCS~ -- A$: VAIFIG - 0:
GOTO 6409: EISE IF INSTR(A$, "O 000 000 0000") I~T c~w$ =~ "NO": GOTO 6409: EI.SE 6409 6411 ~1$ ~ "PF": M3$ ~ FND~ ~2S ~ "?": SA~ ~ PLEN$:
CA~ ~LavEspAc~ D$ -- CMD2$ + SA~ + " . ": GOS~B

6i412 C~Lh G~TC}IAR: IF INS~AS, 1~1$) T~IEN 6413 ELSE IE
I~STR~A$, M2~) OR AA$ - nc$ l~EN 6487 6413 I$' INSTR (A~, MID~ 5IDS, 4, 3 ) +
~ID$ ~ID$, 7, 4) ~ T~ PEFIG -- 1: SEROg ~ 1:

................ .
:, ; . -:: :

.. :".; . . :

.. . .

GOTO 6412: ELS~ IF FEELG = 1 T~ p~ S:
FEFLG O: GCTO 6'L12 ~ IF INSl~ (A$, 1IEN3 CE
JOB") l~N M3$ ~ C~IR$ (25): GOTO 6412: ELSE IF
INSTR(A$, ~S3~ N 6416 ELSE 6412 6416 IF 5E~Og O 1 I~N DSC~ =~ VAL(}l.CD$): SE}?OR Y 3:
FPI~P ~ 2: CALL DE~NDI~R : FPT~ 0: GOTO
6487: ELSE IF VAL(MID$(VALI$, 30, 1) ~ ~> 4 SEROK -- 3 : FPT~AP = O : DSC:t~ = VA:L (RCD$ ):
C~Ll; DENYX~I)I~: GOTO 6487 6417 oSCER$ -- NID$(OCSER$, 8, 11): CAII OCTTOHEX:
SE:E~Og a 0 I~? RSER$ = MH$ q~IEN 6420 ~:LSE DSC' VAI. (RCD$ ): SEROR = 4 : ~OSER$ = ~$ : C~LL

DENYXANDLER: GOTO 6 4 8 7 6420 IF STATEi~ - 3 l~IEN 6423 ELSE Q$ - MID$~fp$, 7, 1): IF Q$ ~ "1" l~IEN Q$ -- "YES" : ELSE IF Q~ =
"O" TH}~N Q~ - "NO": ELSE 8STAT~i$ = 1: GOTO 6487 ::
6421 XZ -- VAL(RCD$): GET 11, XZ : LSET FE$ -- Q$ : Q$ -p$ = "": ~UT 11, XZ
6423 IQDES -- ~W:RCC$a~J SRM! ~: GOSUB 6485: IE BUSYF --THEN P~IN~USYFIIE: GOTO 314 0: ELSE CMD$
C~5D3$: GOS~ 6490: Ml$ Y ''O~;'l: ~2~; ~ "?": ~f3$ ~

6424 C~ GETCXl~: IE INSTR~A$, Ml$) TEE2~ 6425 ELSE IE
I~STR(A$, ~2$) OR AA$ s nc$ 5~EN 6487 E~E I~
INST~(A$, M3~ EN QLL DELP~Y5: GOTO 6423: E~;E

6425 ~D~ ~ CND4$: GOSUB 6490: ~1$ =~ "IP"

... .. . ..

. .

- . , . - . j ., :, . - . - ~

6426 C~LL GETC~AR: IF INSTR(AS, "AC~T"~ TEEN M3$ =
C~RS(25): GOTO 6426: ELSE IF INSTR~A$, ~3~) THEN 6427 ELSE IE INSTR(A$, M2$) OR AAs 3 nc$ CR
INST~(A~ , ER") TXEN G~SUB 6437: ELSE 6426 6427 IF c~w$ - "NO" ~EEN C~D$ - C~D5$~ GOS~B 6490: ~lS
- "OK": M2$ ~ "?": ~3$ - "~L": GOTO 6428 &OSUB 6475: IF cfw$ - "NO" ~H~N GOT 6427:

6428 C~LL GLTCHAR: IF INsTRtA$, Ml$) THEN 6429 ELSE IE
INST~(AS, M2$) OR ~A$ - ncS ~HEN 6487 ELSE IF
INST~(AS, ~3$) THEN CA~L DELAY5: GOTO 6427: EISE

S429 M3$ ~ FUNDUM$: C~D~ - CMD6$: GOSUB 6490 "IP"
6430 CALL GETCXAR: IF IN5TR(A$, "ACPT") THEN ~3$ =
CXR$(25): GOTO 6430: ELSE IF INSTR(A$, ~3~) THEN 6431 ELSE IE INS~R(AS, ~2$) OR AA$ - nc$
TXæN 6487 ELSE IF INSTR(A$, ~, ER") TEEN GOSUB
6463: AA~ 3 nc$: GOTO 6487: ELSE 6430 5431 ~ODE~ - "ALW:XCCRAN " ~ RCCXaN$ + "!'~: GOS~B
6485: IF B~SYF - 1 THEN B~SYF: 0 6432 IF STAT~$ ~ "02" OR S~ATE$ ~ ~'03" T~EN LSET
5TATE$ ~ ~05~: EISE LSET STATE$ - "04"
6433 I~ FIl$ - "ACTSND" TH~N SNDF~ ~ SNDF~ - 1 6434 IE FIl~ - I'DEASND" TH~N S~DD~ - SNDD# - 1 6435 LSET SPAR~$ - SPAC ~t6): PUT 4, RN: GOSUB 3290:
C~LL ~PD~TE~STA~: GOTO 3140 , . , - .

.::

2 3 ~ 7 645~ CNDlS - "T~-DE~CT-26" ~ MI~$(~M~D~, 4, 7) C~D2 $ 8 "RC: MO~L; C~G ~ C~D3 s - I'ORD 4, TN "
~IDS (~IDS, 4, 7) + " ESM NO ! ~
6451 XZ = VAL(RCD$): MlS = "PF'g : M2$ 3 "?": ~3$ =
FND~M$: CND$ - C~Dls: GOSUB 6490 64S2 C~LL OETCXAR' IF INS~R~A~ FWD DLTD") T~æN M3~ =
C~R$(25~: GOTO 6452: EISE IF INST~(A$, M2$) OR AAS = ~c~ TXEN 6487 ~LSE IF INSTR(A$, ~3S) THEN 6454 ELS~ IF INST~(A$, ", ER") T~EN GOSUB
6463~ AAS - ncS: GOTO 6487 6453 IF IN5TR(AS, "FWD NONE") ~EEN ~3$ - CX~ ~25):
GOTO 6452: ELSE 6452 6454 G~T 11, XZ: IF FE$ = I~YES'' THEN 6431 6455 MoDE$ ~ "ALW:RCC~AN S~M! ": GOSUB 6485: IF 3USYF =
~ ~EN PUTINBUSYEILE: GOTO 3140: ELSE M1$ - "OK":
M2$ - "?": M3$ - ", ER": CND$ = CMD2s: GOSUB 6490 6457 CALL GETCa~R: I~ INSTR(A$, M1$) T~EN 6457 E~S~ IF
INS~RtAS, M2$) OR AA$ - nc$ ~XEN 6487 EISE I~
INSTR(A$, ~3~) TXEN GOSUB S4S3: AA$ ~`ncS: GOTO
6487: EISE 6456 6457 ~3$ 9 FUNDU~$: ~1$ - ~7IP~I: C~D$ ~ C~D3$: M2$
OS~B 6490 6458 CAL1 G~TCXAR- IF INSTR(A$, "~CPT") ~EN ~3$ -CER$(25): GOTO 6458: ELSE IF AA$ - nc$ T~EN 6487 ~LSE I~ I~ST~(A~, M3$) TXEN 6431 EISE I~
INSTR(A$, ", ER") ~rxEN GOS~B 6463: AA$ ~ ncS:
GOTO 6487: EISE I~ INS~R(AS, "RL") THEN CALh DELAY~: GOTO 6457: EISE 6458 ~-. . , . ; .

- : ~

6 4 61 QU~S X a QUES f~ ~ 1: IF QUES 1~ > 5 T}IEN QUES ~ ~ a:
AA~; 3 nc$: RETURN : ELSE RET~RN
6462 Q~JES~ = QUES~ + 1: IF QIJES~ ~ 5 l~EN QUES~ Y C:
BUSY~ 3 1 RETUR~: ELSE 8USYF -- O: REmRN
6463 ~1$ ~ j(25): CALL OETC~R IF INSTPc(~$~ Ml~) I~IEN REI~ EhSE 63 63 6471 ALL ~ LOC(2): IF AL~ a O q~HEN RE~TtrRN: EI.SE
BB$ -- INPUT~; (AI,L, 2): GOTO 6471 6475 CMD$ = ~ DEACT-26l~ -- ~IID$ (R~lID~ 4 ~ 7) + l~ .11 Ml$ ~ "~F": ~2$ - "?": M3$ - FNDUNS: GOSU~ 6490 6476 CALL GETC~AR
IF INS~(A$/ I~FWD DLTD~) ~IEN P~3$ = CXR$(25):

IF INST~(A$, ~2$) OR INSTR(A$, ",ER") OR AA$
nc$ THEN BUSTF - 1: RETURN
IF INSTR(A$, M3$) T~EN 6478 6477 I~ INSTR(A$, "FWD NONE") TXFN Gos~a 6463: 3STA~E~
- 3: B~SYF - 1: REToRN
IF INSTR(~$, ", ER") THEN GOSUB 6463: AAS - nc$:

~USY~ ~ 1: R~RN

647~ cfw$ - "NO": BSTA~E~ ~ 0: RET~RN
64 a O SRIPF~G ~ 0: IE BUSYF - 1 THEN ~ETURN: ELSE CLLL
DEL~Y2: C~D$ ~ ''OP:RCOENSUS!Il: GOSUa 6490 6481 Ml$ D F~D~M$: M2$ - "?": ~3$ ~ CALh OETCXAR:
IF INSTR~A$, "R~ ~XANN~") TEEN RCC~AN$ ~ A~:
GOTO 6483- EISE IF INSTR(A$, "OP:R~C~N'7) THEN

- . . -.

1322~9~1 BSTATE~ = 5: BUSYF = l: RE~URN: EI.SE I-- I~STR (~$, " C~L IDLE " ) T}~:N 6 4 8 0 6482 IF AA~ - nc$ TXEN BUSYF - l: SXIPFLG = 0: FORTF~G
-- 0: RETURN: EI~SE 6481 6483 ~h~ GETCX~R: IF INST~(~$, ~CC~=0") THEN ~1$
~$(25): GOTO 6483: ELS~ IF INS'l~(A$, ~
THE~ 6484 EL5E IF AA$ = nc$ OR INST~A.$, M~$) ~N PUTINBUSYFI~E: BUSYF a 1: RET-tJRN: E~SE 6483 6484 RC~ = INSTR~RCCEAN$ , "="): RCC~$ --M~CD$ (RCCE~N~, RC~ ~ 2): XF RCC~$ -- "SR~" OR
RCC~IANS = ~ RCC~IAN$ -- "SCZ ": PROTFLG = 0:
R~TURN: ~ESE RETT~N
6485 ~D$ -- MODE$: GOS~B 6490: ~l$ -- P'NDUM$: M2$ =
FNDU~l$: M3 S -- M2 ~
64a6 CALI OETC~R: I~ INST~(~S, ~ EN ~ETURN:
~LSE IF INSTR(A$, "OFFICE") l~N Ml~ - C~(25):
GOTO 6486: EISE I~ AA$ = nc$ OR INSI~ tA.~, '1<3USY~") l'HE~ BUSYF -- l: RETURN: ELS~S 6486 6487 WDE~ -- "ALW:~CC~IAN " + RCCH~N$ + 19 ! 19: GOSUB
6485: BUSYF ~ 0: IF SERO~ ~ 0 5~1 SERO~ ~ O
64 8 8 PlJTINBtJSYFIIE: GOTO 314 0 ~89 RE~R~
64 9 0 CaI~ DEIAY2 6492 PRINT ~ FOll ZA - 1 TO LENtC~DS): PRINT #2, MID~(C~$, ZA, 1); : PRI~ ID$(C:~D$, Z~
GOSUB 6493: NEXT~ RN
6493 PP -- TIM~R + .15 - , ~; . ~ . -.

~ .
;~ :

......

~ 3 ~
6494 IE TI~ > pT~ T~IEN R~:TU~N: ELS~: IF PP >
(TI~ + 1) l~N 6493 E~Sr 6494 64~5 ~1$ ~ ~JNDU~$: II2$ -- MlS
6 4 9 6 PP -- TI~:~ +
6497 IF TI~IER ~ PP THEN RET~ ELSE :CF :?P >
( :CI~}~ + 2 ) TXEN 6 4 9 6 ELS~ 6 4 9 7 6800 P}~2$ =~ SITE$: C:ALL VALIDATENPA~ I$ =
",E,7,1,CD,DS"
6801 IF ~S$ ~:> SITE$ r~N LS$ ~ SITE$: CI.OSE 2: CAI;L
DEI~Y2: BST~ 9: CALL DIALCONNECTo GOTO 6804:
EI,SE 6805 6804 IF BUSYF -- 1 T}IEN 3140 }:LSE 5E~OK - 0: B5TATE~, --0: C~LL DELAY2 6805 GOSU3 6890: ~1$ -- ~NDU~S: ~2S -- FNDUM$: 2~3$ -ENDU~: GOSUB 6880: IF B~JSYF -- 1 T}IEN
PUTINBUSYFII.E: GQTO 314 0 6806 IF FIl$ -- "ACTSND" THEN C~Dl$ ~ "SM~S~ MD2$ =
"DSO": CMD3$ =~ "DISP" ~ (9) ~ RIGXT~ (RMID$,
7): ~D4$ -- "SMTCC": CMI)5~ ~ "CX~G: + ~IRs(9) RIGXTS(R~ID$, 7): ~D6~; J C~$(9) + "56" +
CER$(9) ~ ~F" t C~R$(3) + "N~i': ELSE 6850 6807 C~D7$ D C~$(9) ~ TDN$: ~1$ =~ FND~:
~PTtJRE!; -- ~NDI~$: ~2S ~ FNDl~ 3$ =~ FNDI~M$
6~110 Ml$ "FUNCTION": C~qD$ ~ C~l$: GOSUE~ 6870: IF
B~JSYF ~ 1 l'HEN 314Q ELS2 Nl $ ~ "~5": GOS~IB 6871:
IF BUSYF =~ 1 T~ 314 û

~3~ 7`
~811 C~D$ = CMD2$: Ml$ ~ ~EQUEST~: GOSIJB 6870: I~
BlJS'~rF = 1 TXEN 3140 E15E Ml$ 2 II~TSI~: GOSIJB 6371:
I P BUSYF ~ IEN 314 0 6812 C~D~; ~ C~D3S: Ml$ ~ EQUEST~: C~?Ul~; 3 RIG}~T$ ~}~ID$~ 7): G~:)S~JB 6870: IF 31J5YF 1 ~N
3140 ELSE IIl$ ~ ~MTSI~: GOS~B 6871: IF BUSYF = 1 T~N 3140 6813 Cal~ DOUBLEDP~BBLE: GOSIJB C~ SP: IF SERC~ = O
l~N 6814 ELSE GOSUB 6890: GOSIJB 6895: 5ERC~ = 0:

6814 GOSUB 6890~ CMD$ ~ C~D4$: Ml$ - "REQUEST": GOSU3 6870: IF BUSYF ~ N 3140 EI,SE ~1$ -- "MTC":
GOSUB 6871: IF BUSYF - 1 THEN 3140 6815 CMD$ -- CMD5$: Ml$ =1 "C~Gt': GOSUB 1;870: I~ B~JSYF
a 1 THEN 3140 ELS~ ~lS ~ ITC": GOSUB 6871: IF
B~JSYF ~ 1 THI~N 3140 6817 Q$ -- MID$(fp$, 37, 2) ~ NID$(i~p$, 45~ 1): I~
RIG~T$ (Q$, 1) <> ~F" ~ND RIG~T$ (Q$, 1) <~ I'V'i AND
RIGHT$ (Q$ ~ l) <> "N" TEEN BSTA~
P~TINB~JSYPIIE: GOTO 3140 6818 IF ST~TE~ =~ 3 TXE~ 6820 EhSE IF I~N(QS) ~:: 3 T~EN
Q$ -- 1'0" + Q$: GOTO 6818 6819 XZ ~ V~L(RCD$): GET 111 XZ: L5ET FE$ -- Q$: Q$ =
PUT 11~ XZ
6820~D$ ~ D6$: ~11$ ~ NGt~: CAPT~RE~; FND~$:
GOSUB 6870: IF BIJSYF =~ EN 3140 ELSE ~1$ -7~CI/: G351JB 6871: I}~ JSYF = 1 THEN 3140 .

. ~

.

6a22 C~5D$ -- C.'fD7$: ~1$ = "C~IANGE": G~5UB 6a70 ~
BIJSYF Y 1 TH}~N 3140 ELSE Ml~ ~ "MTC": C;OS~JB 6871:
IF B~SYF - 1 TXEN 3140 6825 GOSUB 6890~ GOSUB 6895 6840 IF STATE$ -- "02" OR STAT~$ =~ "03" 5}IE.N I.5ET
STAT}~:$ -- " 05 ": EISE LSET STATE$ = " 04 "
6841 IF FIl~ -- "ACTSND" THEN SNDF~ - SNDFj~ - 1 6842 IF FIl$ -- "DEASND" Tn~;N SNDD~ -- S~DD# - 1 .
6843 LSET S~AREs -- S~?AOE$(6): PUT 4, RN: GOSU}~ 329û:
CALL UPDATE~STAT: GOTO 314 0 6850 XZ -- V~(RCD$): GET 11, XZ: IF RIG~ITS (FE$, 1) "N" I~EN fp$ -- "NA"~ ELSE IF RIG~IT~; (FE$, 1) "V" l'HEN ~p$ = "VT": ELSE IE RIGXT$ (FE$, 1) =5 "F" T~IEN fp$ ~ "F"
6851 C:MDl$ 8 'I$~TCC'l: C~D2$ -- "C~G" + CXR$ (9) +
RIG~:IT$(RMID$, 7): CND3$ 5~ C~IR$(9) + LEFT$(FE$, 2) + CXR~; ( 9 ) + fp$ + ~S ~ 9 ) + "NA"
6852 ~1$ -- ~REQUFST": ~2$ -- FNDU~ 3!; ~ FNDIJM$:
CAPI~JRE~ Y E~JD~I$: C~$ ~- ~sDl$: GOS1:JB 6870: IF
EIIJSYF -- 1 T~N 3140 ELSE Nl$ =~ "~TC": GOS~B 6871:
IF BUSYF ~ 1 I~EN 314 0854 C~lD$ ~ C~D2$: Nl$ _ nC~ING": GOS~JB 6~70. I~ :BUSYF1 T~N 3140 ~I,S}5 Ml~ 2~CI~: GOSUB 6871: IF
BtJSYF -- 1 l~N 314 085~ C~5D$ ~ lD3$: ~1$ 3 I~C~NG~:~I: GOS~JB 6870: IF
BUSYF ~ IEN 3140 :ELSE IF INST~(A$, ~NG~
T~N C~ID$ ~ C}IR$(9): Ç;OS~B 6870: IF BtJ9YF -- 1 T~N 3140 ELSi~ ~1$ 2l I~C~: GOS~B 61371: IF BltSYF

~ 3 ~ 7 = 1 ~XEN 3140 ELSE Ml~ = "MTC": GOSU3 6871: I-BUSYF ~ 1 TXEN 3140 6856 &3SUB 6890: GOSUB 6895. G~TO 6840 6870 M2S ~ "?": M3$ - ">": G~SUB 6875: PRINT X2, C~D~
6871 CAL~ GETCEaR: IF (AA$ - n $ AND HO~E '3 O) TEEN
PUTlNBUSYFITE: GOSU3 689~: GOS~B 6~95: BUSYF - 1:
RETURN: ELSE IF INS~(A$, ~1$) OR INS~(A$, IICENG'~) TH~N RET~RN: El5E IF INSTR(A~, "INVALID") T~EN 6a77 ELS~ I~ INSTR(A$, C~PT~RE~ TX~N fp$ =
A$: GOTO 6871 6875 PP - ~I~ER ~ 2 6876 IF TI~ER > PP THEN RETURN: ELSE IF PP >
(TI~ER ~ 2) ~HEN 6875 ELSE 6876 6877 ~OSU3 6462: IF 3USYF - 1 THEN AA$ - ncS: GO~O
6872: ELSE 6870 6880 ~1~ ~ FNDU~S: ~2$ - "~": LOGl$ ~ "SLOGIN'I: PRINT
"LOGGING IN"
6881 CAIL DEIAY2: PRI~T #2, ~OGl$
6882 CALL GETCXAR: IF INSTR(A$, "PASSWORD'~) T~EN LOGl$
- P~SSWD$: GOTO 6881: ELSE IF AA$ = nc$ T~EN
BST~TE~ - 7: ~SY~ RXTURN: ELSE IF INSTR(A$, "LO~GED IN") TEEN M3$ ~ ~'~ON~": LOGl$ ~ GOTO
68~ 1 6883 X~ INSTR(A$, ~3$) T~EN 3~SYF Y 0: RETURN:
E~SE IF INSTR(A~, "INVAIID") TXEN LOGl$ ~ "":
GO~O 6881 ' ~322~
6884 IF INsTRt~$, "MTC") OR INsTR(A$~ "DSO") OR
IN5TR(A$, "CENG") OR INST~(AS, "MTS") TEEN GOSUB
6890: GOTO 6880: E1S~ 6882 6890 C~LL D~LAY2 : 2RINT ~2, CXR$ (27): Ml$ = ~>~ o M2$ 3 " ? "
6891 CALL OETCH~R: IF INSTR(A$, '~MTC") QR INSTR(A~, "DSO") OR IN5~R(A~, "C~NG") OR INSTR(A$, "~TS") OR INSTR(A$, "INVALID") THEN 6890 EISE IF
INSTR (A~ ON" ) OR INSTR (A~, "LGN" ) THEN Ml$ a FNDUMS: RETURN : ~15E I~ AA$ ~ nc$ TH~N BUSYF
= 1: RETURN: ELSE 6891 6893 ' 6895 LOGl$ - "~LOGOFF": Ml~ - ">": M2$ - "?"
6896 CAL~ DE~Y2: PRINT ~2, LOGl$
6897 CAIL GETC~AR: IF INSTR(A$, "LOGGED OFF") THEN
RE5~RN
IF AA$ - nc$ THEN RET~RN
IF INSTR ~A5, "INVALID" ) OR INSTR (AS, "MTC" ) ~R
INSTR(~ SO") OR INST~(A$, ~'CENGs') OR
INSTR(A$, "MTS") ~HEN CALL DELAY2: PRINT #2, CER$ (27): ~OTO 6R95 G~TO 6897 CERDISP:
IF INST~ ( ~p$, RSERl$ ) T~EN SERCR ~ O: GOTO
CERDISPRET

.. : , . .

,~
..

~ 3 ~
I~ INSTR ( fp$, "UN" ) T~:~ SEROK =' 3: FPT~AP = ~:
SE~C~ a 3: GOTO C~DISPl S~O~ 4: SERC~ -- 4 C~IS21:
DSCi~ V2~h(RCD~ IOSE~$ - MID~; t~p~, 35, 10) C;~LL DEN~NDLER
CXKDIS:PRE'r:
~EI~URN

ROAME~ET:
CAI,L TI~ESUB
TCXG~LG ~ 1: CI.S
END SUB

. A~ter the command has be~n issued by the E~
processor to the xoamer ' s home switch, the F~R
processor continu~ to monitor the switch ' s rsspor~se to all issued commands in order to assure that proper responses to those commands have been raceiv ed . This operation is illustrated as Stap 106.
A~suming proper responses ar~ obtained, the sy~3'tem t:h~n dat2rmines that the value o~ PROC~:S~ STATE
is not ~qual to 2 or. 3. (A value o~ PROCESS STATE
equal to 2 wouLd indlcate that the roam~r was ~ound to have had hiR ~S~ denied in hi~ homQ switch. A value o~ 3 indic:ate~ that a reactivation is in progress~) ThQ value o~ P:ROCESS ST~q~ is th~n s~t to 4, at which point th~ E~rogram ~ lp9 to Step 094.

~ 3 ~

At Step 094, the Call Record is pulled from the file and, because this is not the last record (Step 095) and the value of PROCESS STATE is equal to 4 (Steps 096 and 097), the program jumps to Step 111.

At Step 111, a determination is made that the then-ongoing process is an activation. ~s a result, file i.8 set to ACTSND in Step 112. In Step 114r the next record is retrieved, and, because (1) that record is determined not to be the last record (Step 115), (2) the SKIP flag is not set (Step 116), (3) the value of PROCESS
STATE is equal to 4 (Step 117 and 1112), and (4) all command parameters are determined to be valid (Step 1113) J the program jumps to Step 121, At Step 121, a determination is made that the HOME flay i9 not set. The HOM~ flag would be set if the FMR system were at this time simultaneously processing several requests for activation.
In Step 122, the FMR proce~gor obtains all parameters necessary to establish a communications link with the local switch. The link may be established through the PSTN or through a private network such as is available through Telenet Corporation. This information is then stored in the ~ONE file, and the FNR processor calls the local switch. This processing is done in one of several subroutines generically referred to as HOME.x. The word "HOME" in the subroutine name denotes the FMR processor's perspestive rather than the perspective of a CMR subscriber. Thus, HOME.X is used to communicate with the local (i.e. HOME) switch, which is a foreign ~2`3 ~

switch for FMR service purposes. -~ Each of the HOME.x subroutines will vary in its particulars in order to accommodate the specific command structure of the local switch to which the FMR processor is, at the time, coupled. (HOM~.2500, for example, is the version of HONE.x currently used in con~unction with the EMX 2500, available from Motorola, Inc.) The command structure of the switch dictates the ~pecific code required to ~tell~ the local ~witch to validate the roaming subscriber~s TDN. In addit:ion, the format of the Call Record generated by each model of switch can be expected to vary 90 the EXEC software may need to be modified as well. The complete source code listing of HOME.2500 follows.

.. : ,,: , , ~
, . .
. "
: ......... , .,, :
.. . .

.: ..

HOME.2500 ON ERROR GOTO FMR2500HAN~LER:

3401 CLS : CALL GETTNUMI: CLOSE 11: CAIL, FIELDTNUM
3405 BUSYF = 0: FO ~ 0: HONE = 0: RN = 0: KEY OEF: LOCATE
25, 1: CLS
3408 TIMER OFF: TCHGFLG = 1 3410 CLOSE g 3411 NF = 9: NA$= FIl$: ~LL OPENACT~ND
3415 BUSYF = 0: BSTATE# = O RN = +1: BALCT~ - O
3416 IF EOF(9~ OR RN ~ RECORD# THEN 3469 E~SE GET 9, RN: STATE~
= VAL(STATEI): IF STATE# = O TEHN 3415 IF STATE# = 99 THEN

3417 IFlSKIPFLG = 1 T~EN BSTATE# = 7- LOGO = 0: PUTINBUSYFILE:
GOTO 3415 IF STATE# = 1 THEN CALL PUTINBUSYFILE: GOTO 3415 3418 IF STATE# = 6 OR STATE# = 7 OR STATE# = 8 OR STATE# = g T~N 3415 IF STATE# = 1 AND FIl$ = "ACTSND" THEN SNDF# = 1: CALL
UPDA~ERSTATE: GOTO 3415 IF STATE# = 1 AND FIl$ = "DEASNDI' THEN SNDD~ = 1: CALL UPDATERSTATE: GOTO 3415 3419 IF ST~TE# = 2 OR STATE# = 3 OR STATE# = 5 THEN 3463 IF VAL(RMID$) = O THEN CALL CLEARTNUN: GOTO 3415 3420 BALCT# = 1: GET 11, VAL(RCD$): IF M$ = SPACE$(22) THEN
CLOSE 6: GOTO 3415: ELSE IF MIL$tSPARE$, 1, 4) = 'IBUSY'' T~EN 3415 ' 3421 IF HOME = O THEN OPEN I'HOMEI' FOR INPUT AS 15: ~OME - 1:

3422 LINE INPUT ~15, PHV$: INPUT #15, tnet$: INPUT #15, PASSWD$: INP~T #15, MoDE$: LINE INP~T #15, BAUD~: CLOSE
15: ST$ = "4": FO = 1: CLS : KEY OFF: LOCATE 25, 1 COLOR 15, 0, 0: STATUS: PRINT STATl$
3423 COLOR 7, 0, 0: LOCATE 12, 26: PRINT "@@@ DIALING LOCAL
SWITCH Q@@"
3424 PRM$ = l'l-: XEY OFF: LOCATE 25) l: COLOR 15, O, 0:
STATUS: PRINT STATl$: CALL DIALCONNECT: IF BUSYF = 1 THEN BUSYF = 0: ~OME = 0: GOTO 3415 3425 KEY OFF: LOC~TE 25, 1: COLOR 15, 0, 0: STATUS: PRINT
Sq'ATl$: LOCATE 13, 1 3426 GOSUB 6390: IF BUSY~ = 0 THEN 3428 3427 IF BSTATE# ~ 6 THEN BSTATE# = 7: PUTINB~SYFILE: SKIPFLG
= 1: GOTO 3415: ELSE PUTINBUSYFILE: SKIPFLG = 1: GOTO

.

- ., :: . , 1~2~
3428 HOME = 1: CTOUT = 20 IF FIl$ - "DEASND" THEN 3435 GOSUB 3550 CMDl$ = "CHAN CP
ROAMER " + MID$ (RMID$, 1, 3) ~ " " + M:CD$(RMID$, 4, 3) Il + MID$(RMID$, 7, 4) + " 0 ; " RSER$ ~ ;; " + RBNo$
RNDY~ + " " + MID$(RNYR$, 4, 2) ~ " ; 15 ;;;;;;;1 ;
Y":CND2$ = "CHANG CP SUBSCR " ~ MID$(TDN$, 1, 3) + " " +
MID$(TDN$, 4, 3) + " " ~ MID$ (TDN$, 7, 4) + "
;;;;;;,,;;;:;;;; " + RMID$ ~ " ; 1 ; Y": GOTO 3450 3435 IF FIl$ = "ACTSND" THEN 3450: CMDl$ = I']DE~ETE CP ROAMER"
MID$(RMID$, 1, 3) + " " ~ MID$tRMID$, 4, 3) ~ " " ~
: MID$(KMID$, 7, 4) ~ " Y" CMD2$ = 'IDELETE CP SUBSCR 1l +
MID$~TDN$, 1, 3) ~ " " ~ MI~$(TDN~, 4, 3) ~ " " +
MID$(TDN$, 7, 4) ~ " Y"
3450 ESNOK% + 0: Ml$ = ":" PRINT #Z, CMDl$: PRINT "Enteriny Sub~criber Update Commands~: PRINT CMDl$
3455 CALL GETC~R
IF INSTR(A$/ ''NPA:I') THEN 3460 IF AA$ = nc$ THEN P~TINBUSYFILE: GOTO 3415 IF ( INSTR (A$, "~PDATED" ) AND ESNOK% c> 5) THEN ESNOK% = 1:
: GOTO 3455 IF INSTR(A$, "NOT FOUND" THEN ESNOK% = 2:
IF INSTR(A$, "NOT ASSIGNED"~ THEN ESNOK% = 1: GOTO 3455 IF
INSTR(A~, "CANNOT") THEN ESNOK% = 4 GOTO 3455 3460 IF ESNOK% - 1 THEN ESNOK% = 0: GOSUB 6330: CA~L DELAY2:
PRINT ~2, CMD2$: PRINT CMD2$: GOTO 3461 IF ESNOK% = 2 THEN CD$ - "ATTEMPTED TO DELETE " ~ M$ " "
AND IT WAS NOT FOUND ACTIVE IN SWITCH": ESNOK% = 1: GOTO

IF ESNOX% - 4 THEN GOSUB 6390: CMD$ = "DELETE CP RO~MER "
+ MID$~RMID$, 1, 3) ~ " " + MID$(~MID$f 4, 3) ~ " " +
MID$(R~ID$, 7, 4) ~ " Y": CALL DEL~Y2. PRINT ~2, CMD$:
ESNOK% = 5: Ml$ = "~" GOTO 3455 IF ESNOK% = 5 THEN GOSUB 6390: CA~L DELAY2u ESNOK% = 0:

3461 Ml$ = ~ CALL GETCHAR:
IF INST~(A$, '~NPA:") THEN 3462 IF AA$ - nc$ THEN PUTINBUSYFILE: GOTO 3415:
IF INSTR(A$, "UPDATED") THEN ESNOK% = 1~ GOTO 3461 IF
INSTR(A$, "NOT ASSIGNED") THEN ESNOK~ = Z: GOTO 3461 GOTO

3466 IF ESNOK% = 1 THEN ESNOK% = 0: GOTO 3463 ESNOK% = 2: CC$
= "ATTEMPTED TO DELETE TDN 13 -~ ts + ll AND IT WAS NOT FOUND
ACTIVE IN SWITCH": ESNOK% = 1: GOTO 3462:
3463 PORTFLG = 0: XZ = VAL(RCD$): GET 11, XZ
3464 IF FIl$ = "DEASND" THE~ CC$ = DATE$ -~ " " + TIME$
CHR$ ( 13 ) ~ M$ = ll DEACTIVATED FROM TEMPOR~RY NUMBER " ~ ts~
CALL PRINTTONPAFILE(CC$): LSET M$ = SPACE$(22): TTDN# =
TTDN# - 1~ CALL CLE~RTNUM: GOTO 3468 , `

, .

~ 3 .~ 9 7 IF FJl$ = "ACTSND" THEN LSET S$ = "Y": LSET TI$ = TIME$:
LEFT DTA$ = DATE$: IF STATE# <> 5 THEN CC$ = TIME$ + " " +
M$ + " 11 + FE$ + " ASSIGNED TEMPORARY NUMBER l -~ ts: CALL
PRINTTONPAFILE(CC$): TTDN# = TTDN# + 1 PUT 11, XZ
IF FIl$ -- "ACTSND" AND CoNF$ = "POS" AND SNAME$ <> "BTFMR"
THEN OPEN "TEXT.TXT" FOR APPEND AS 14: PRINT ~14, "?1713"
+ MII:~$(TDN$, 4, 7) + ""' ~ RIGHT$(RMID$, 6~ + "10": CLOSE
14: C~LFLG = 1 3468 LSET STATE$ = "09": PUT 9, RN: GOTO 3415 3469 IF SKIPFLG = 1 THEN HOME -- 9 IF HOME = 1 THEN GOSUB 6350: HONE = O
3470 SKIPFLG = O: NR = 500~ FOR X = 1 TO NR: GET 9, X
IF VAL(STATE$) = 99 THEN X = NR RN = x~ NF = 9: RV$ =
SPACE$(2): TS$ = "99": CALL CLEARFILE NEXT: LOGO = 0:

3475 CLOS;E: 4: TNCON# = O: CLOSE 2: CLOSE 6: CLOSE 11: CLS
3477 IF SNDF# ~ 0 THEN SNDF# = 0 3478 IF SNDD# < 0 THEN SNDD# = 0 3479 HOME = 0 3550 MO# = FNMO#: DY# = FNDy#: YR# = FNYR#
3551 IF FNDY# > 27 AND FNMO# = 4 THEN MO~ FNMO# + 1: DY# = 1:

3555 IF FNDY# ~ 29 THEN MO~ = FNMO# ~ 1: DY# -- 1: ELSE D~l# =
FNDY# ~ 1: Mo# = FNMO#: YR# = FNYR#
3557 IF MO# = 13 THEN MO# = 1: YR# = FNYR# + 1: GOTO 3560 6350 IF INSTR(A$, nc$) THEN RETURN
6351 M2$ = ">" BUSYF = O GOSUB 639Q: IF BUSYF = 1 THEN RETURN
PRINT #2, "LOGOUT": PRINT ~Logging Off System"
6352 CALL GETCHAR: IF INSTR(A$, "..>") THEN RETURN IF INSTR~A$, ">") THEN 6351 IF AA$ = nc$ THEN RETIJRN

6390 CALL DELAY2: BUSYF = 0: Ml$ = ">'': PRINT #2, CHR$(17~;:
PRINT #2, CHR$(17); CALL DEX~Y2: PRINT #2, CHR$(1) 6391 CP~LL GETCHAR: IF INSTR(A$, ".)") THEN CALL DEI~Y2: GOTO

IF INSTR~A$, ">") THEN RETURN
6392 IF AA$ = nc$ OR INSTR(P~$, nc$) THEN BUSYF ~ RE~

6396 PRINT #2, "LOGIN"; CHR$(13); : PRINT "Logging On ~o System'l: Ml$ = l~ CALL DELAY2 IF INSTR(A$, l1USERNAME:") THEN CALL DELAY2: PRINT ~2, MODE$: GOTO 6398 IF AA$ - nc$ THEN BSTATE# = 5: GOTO 639~:
IF INSTR(A$, "..>") TEIEN 6396 63a , ~3223~

IF INSTR(A$, "USER NOT") THEN CALL DELAY2: GOTO 6390 IF
INSTR(A$, I'QUEUED") THEN.BSTATE# = 6: BUSYF = 1: RETURN

6398 CALL GETCHAR~
IF INSTR(A$, "PASS") THEN CALL DELAY2~ = ">": PRINT
~2, PASSWD$; CHR$(13); : GOTO 6399 IF AA$ = nc$ THEN 6392 IF INSTR(A$, "FAILURE") THEN 6390 ELSE IF INSTR~A$, "..>") 6399 CALL GETCHAR:
IF INSTR~A$, "FAILURE") T.HEN BUSYF = 1 RETURN
IF INSTR(A$, ">"~ THEN RETURN
IF AA$ = nc$ THEN 6392 GOTO 6399 HOME250ORET:
IF FIl$ = "ACTSND" THEN MODAFLG = O
IF FIl$ = "DEASND" THEN MODDFLG = O
CALL UPDATERSTAT
END SUB

63b : -. .

~ 3223~7 The HOME flag is then se~ in Step 123, and after a determination is made, in Step 124, that the ongoing process is an activation, the TDN is validated, and the roamer is included in the list of TDNs (Step 125).

In Step 127 a test is undertaken to confirm that correct responses have been received to all commands. If 90, the TNUM file is updated with date and time of activation, and the SND is set to ONE. In Step 1214, the roamer's TDN is entered into the TEST.TXT
file, in preparation for a callback that will be transmitted to the roamer. This callback is colloquially referred to as a "W~TSON."

In Step 1215, the CALL flag is set; and in Step 1216, PROCESS
S~ATE is set to 9. The program then ~umps to Step 114, where the next record is obtained. If this record is de~ermined to have been the last record, the program jumps to Step 131.

At Step 131, a determination is made that the SKIP flag is not set. The SKIP flag would be set, for example, when multiple activations are pending or when the initial attempt to establish a communications link with the home switch had failed. Such failure might be attributable to several causes, including, for example, blockage of the switch. The SKIP flag is then set to ZERO
in Step 133, and in Step 134 all records in the ACTSND file are cleared. ~ecause the HOME flag is determined in Step 135 to be equal to ONE, the FMR processor logs off the home switch (Step .

~ 64 ;,. .: ~ "

~322~
136), clears all appropriate flags~ and updates countsrs (Step 137).

In Step 138 a determination is made whether AUTO FLAG i9 greater than 2 and whether BUSY FLAG equals ZE~O. Because this condition is not satisfied, FMR processing then re~urns to FMR.EXEC.

The FMR system also provides a unique feature, alluded to above, i.n that it is capable to detecting and appropriately processing a ~'duplicate activa~ion request." A first type of "duplicate activation request" would occur, for example, when the roaming subscxiber repeatedly enters an activation code through the keypad on his handset, without allowing the FMR system su~ficient time to process the request, or on any other occasion when the subscriber initially enkers an activation code and then re-enters the code, prematurely, before the FMR system has completed processing of the initial activation request.

A second type of duplicate activation request arise~ when, for example, a CMR subscriber roams into a foreign service arPa and is provlded FMR service in that area. Should the subscriber, on the same day, leave and then return to a local service area, he would need to be "re-activated" in this local area. Otherwise, of course, although this local MTSO would consider him active, calls placed to his hom2 MID might be forwarded to the ~DN in another foreign se~vice area or not forwarded at all. Throughout the ... ..,, , ,. ., " . . ..

, : ~ . . . ~ .,i : , ~

` ` ~327~ ~
remainder of thi~ document the second type of duplicate application request will be denominated a ~valid" duplicate application, and the first type (described in the paragraph immediately above) will be denominated an "invalid" duplicate activa~ion. In order to understand the manner in which either type of the duplicate activation request is handled, the flow of FMR.BAS wLll be re-traced, beginning with Step 0511.

Again, at Step 0511, FMR.BAS detects that an activation code, 211, has been received by the foreign iwitch. In response, an ACTIVE file is created in Step 058. In Step 059, the subscriber's MID and ESN are stored, and his home switch is identified and stored. The ACTR flag in incremented in Step 0510, indicating that an activation process is pending. At Step 051 a determination is made that the pending call is the last call s~ored, and processing is routed to Step 045. Because, at this point, ACTR is set (an activation is in proceis), processing ~umps to Step 061. At this point a determination is made a~ to the exact number of TDNs allocated to the foreign switch, and this value is stored in LC.
Because the pending process is an activation, in Step 063 the record is retrieved from the ACTIVE file, and ACTR is decremented.
The pending record is not the last record (Step 065). (The effective last record is a dummy record.~ Processing continues at Step 071, where LTRI is set to ONE~ that i5, a limit is imposed on the number of attempts that will be allowed to complete this activation. A~ S~ep 074, the record is recalled from TNUM. At .

.

:
` ' .~ 3 ~
this point, the FMR system is reading a TDNs in the ~M file and attempting to assign a TDN to the requesting subscriber.

At Step 075, the la~t try (LTRI) is not equal to LC. That is, the FMR system determines that it has not exhausted all the rDNs available for assigning to the requesting subscriber. At Step 076, a determination is made that the ~'USED~ field of the temporary number does not contain an ~N~ (= No).

At Step 077, the system compares the requesting roamer's MID
to the MID field of the TNUM record. That is, FMR.BAS attempts to determine whether this roamer has previously been assigned a TD~.
The process of comparing (i) MIDs that have already been assigned to TDN to (ii) the requesting MID is repeated for every TDN record.
That is, a determination is made whether the reguesting roamer has already been assigned ~aY of the foreign switch's TDNs. If, in any one case, a match is found between the roamer's MID and the MID
field of any TNUM record, that match indicates a duplica~e activation, DUPFLG is set (Step 0714), and processing continues at Step 082. At Steps 082 and 084 a determination is made whether (1) this activa~ion has actually been sent to ROAMERHOME or (2) whether the FMR ~ystem i8 simply in the process of activating this subscriber. To reiterate, if the "SENT" field in TN~M is equal to "Y" (= Yes)l then the requesting roamer has already been activated.
If the SENT field is equal to ~N~ (= No), the FMR system has not completed the initial request for activation.

Assuming the response in Step 084 was ~, then at Step 085 the system ~etermines whether more than three hours have elapsed since the prece~ing activation. I~ three hour h~ve elaps2d~ a local re-activation is indicated. ~hat is to say, the subscriber travelled, for example, from a foreign ser~ice area in Houston to a service area in Austin~ and then returned to Houston. He therefore needs to be ~locally re-activated~ in the foreign switch.
~he local re-activation is initiated in Step 0812. In addition, in Step 0812 the flag DUPFLG is reset, and the flag DDUPFLG is set.
Setting DDUPFLG is an indication to the FMR syRtem that a valid duplicake activation reques~ is being processed.

If three hours have not elapsed, the FMR system effectively decides that it is encountering an ~invalid" duplicate activation, and FMR.BAS sets LTRI (last try) to LC (last temporary number) plus 6. In essence, this step discards or ignores the invalid duplicate activation re~uest. This is because LC is the last record ~MR.BAS
will complete and, as a result, there is no mechanism for arriving at LC. To apprehend the manner in which the discard is effected, we pick up the processing sequence at Step 074, where the next TDN
record is extracted from the TNUM file. At Step 075, LTRI will be equal to LC ~ 7 (because LTRI was incremented in Step 074). At Step 078, we assume that all TDNs are not in use.

Because at Step 079 DUPF~G is detected to be set (see Step 0813) and LTRI = hC + 7, processing returns to Step 062. At this ~:: :.. .. .
, :: . .~ .
.. ..
- . ~ .

.' :, :. ' '' '' " i ` ` ` ' . ' ` ' ' `

point, the Fl~R system undertakes to process the TDN record ac~uired immediately above in S~ep 074, having effectively discarded the invalid duplicate activation re~uest By way of synthesization with respect to the detailed processing steps ~isclosed above, the FMR system uniquely processes activation requests by determining, initially, whether the request represents a duplicate activation request. Thi~ determination is made by comparing the then-requesting subscriber~s MID to the MIDs in all the then-existing TNUM records. A match indicates a duplicate activation request and thereby gives rise to the need to discriminate between invalid and valid duplicate requests.

The duplication request is ~udged to be a valid re~uest if the time of activation in the earlier TNUM record that formed the basis fox the match is at least a predetermined length of time, for example, three hourc r earlier than the then-requested activation.
In this instance, it is assumed that the CMR subscriber has left the local foreign service area, been provided FMR ser~ice in another foreign service area or had FMR service removed while in his home service area, and then returned to the local service area.
A local re-activation is required, and the system sets DDUPFLG to siynal this condition. The predetermined length of time is accordingly chosen to be the anticipated minimum time of travel between conti~uous CMR service areas.

Conversely, if the duplicate activation request is determined to be an invalid request, because, for example, ~he earlier activation request occurred less than the predetenmined length of time prior to the pending request, the request is substantially discarded.

What has been described above represent3, in detailed form, the processing steps required to ~a~tivate~ an FMR roamer. An analogous process is, of course, undertaken in order to "deactivate~ the roamer once the FMR service is no longer required.
The sequence of these steps is in some respects similar to and suggested by the steps encountered in the activation process.

However, in order to assure an intimate understanding of a roamer deactivation process, a software "map", similar to the one above, is provided in tabular form below. The map sequentially traces the operational steps encountered according to the subject invention in order to deactivate a roaming CMR subscriber.

DEACTIVATION
Step Number Figure 2 Notes ' ' .,` ', ~.' ; .~ '~ ' ~2~
8 019 ROAMERCAI,L FI~G= 1
9 021 12 0 2 5 BU~?E'LG= 1 16 0 5 2 BUFFLG= 1 0 2 5 lg 055 23 0513 CREATE DEA~TIVE FILE
24 0514 SAVE MID,ESN,SW
0515 DACT=DACT+l 27 045 DACrr#0 SET 0515 2 8 0 61 SAVE TorrAL TDN ' S
29 06:2 DACT<::~0 SET 0515 064 DACT=DACT-l 32 071 LTRI=l ~3~23~ ~

3 4 0 7 5 LAST TDN INDE~ ~ LC

36 077 SET DUPFLG-l 37 082 DACT~ 0 ( SET 0515 ) 3 9 0 8 3 LTRI -I.TRI+5 41 075 `

4 5 0 8 6 DUPFLG= 1 S ET 0 7 7 46 088 STATE=l SNDD+l 4 7 0 810 Tl;LAP;IS=DATE&TIME
48 062 DACT':~0 SET 0515 4 9 0 6 4 iDACT=DACT- 1 51 0~6 53 046 SNDD <~ 0 SET 088 5~ 0gl 58 096 STATE=l SET 088 . . , . :. .

: -: : . .; . :, :

~3~2~

~9 098 62 0913 GOOD GUY?

101 STATE=l SET 088 67 103 SNDD#l~DEACT) 69 106 `
108 `~

73 095 : :

~97 ~`
76 lll SNDD#0(DEACT) ~
77 1~3 :"
78 114 :
79 .115 ~0 116 ~2 111~ ``

73 '::

~2~

88 1~
89 1:212 1216 ~;ET STATE=9 g2 115 9~ 133 9~ 137 By way of summarization, the subject System for the Provision of Extended Cellular Mobile Radiotelephone Service substantially enhances that value of CMR service to the subscriber by overcoming one of the limiting aspects o the existing system and permitting the subscriber to receive CMR calls, in a very convenient manner, beyond his home service area.

The underlying invention includes a method for enabling a roaming CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area. The method comprises the steps: (a) receiving at a foreign service area MTSO

,. ..- , , 2~7 .

request information indicating that the roaming CMR subscriber desires to receive, in the foreign service, call~ placed to his home service axe~; (b) validating the roaming subscriber; (c) upon validation of the roaming subscriber, assignillg the roaming subscriber a temporary directory number (TDN~ Eor use in the foreign service area; and (d) providing command information to the roaming CMR subscriber's home service area MTSO so as to enable the roaming CMR subscriber/s home service area MTSO to call forward, to the TDN, calls placed to the roaming CMR subscriber's MID in his home service ~rea. The reque~t information may be delivered to the foreign MTSO by virtue of an activation code entered by the subscriber hrough the control unit (specifically, the handset keypad) of the subscriber's mobile unit. However, other approaches to logging the re~uest for CMR service are contemplated by the invention. It is not necessary that the request be initiated through the mobile unit; and the subseriber himself may, on occasion, be not involved.

In addition, the subject system has been described as including a "validation" process prior to the grant of FMR service.
Validation is granted according to a number of criteria. One of these criteria is that CMR system, or CMR carrier, that provides the subscriber service in his home service area be part of the ~FMR
networkll. This determination is made by examining the NPA.~XX file to determine whekher the subscriber~s home NPA.NXX are listed as part of the ~MR network. In this sense, validation is directed, .. , . , , :

~, :" . ., ' ~ ' ' ' " ' :: ~ . , : .
~ ` . . .

not primarily to the subscriber~s ~ntitlement, but to whether the subscriber~s home system is entitled to participate in the provision of FMR service. Ik is contempla-ted tha~ t in some configurations, validation, whether of the subscriber or of his home system, may be circumvented.

In another aspect, the subject System embod;es an appara~us for enabling a roaming CMR sub~criber to automatically receive, in a foreign service area, calls placed to his home service area. The apparatus comprises a computer for coupling bo~h to a switch associated with the home service area and to a switch associated with the roaming service area. This switch is programmed ~o (1~
receive information indicating ~hat calls placed to the home service area are to be forwarded to the foreign service area; (2) assign the subscriber a temporary directory number (TDN) in the foreign switch; and (3) command the home switch to forward, to the TDN, calls placed to the home service area. The apparatus, as described herein, assumes the form of a ~control computer," namely FMR processor 5. Although a specific model computer (the Compaq computer identified above) has been described for enablement purposes, various hardware configurations, including the computer and supplemental or peripheral equipment, are contemplated by the invention.

':: ' : , ~ ! ' ~ ~23~
The FMR processing system, additionally, includes software means, in the form of FMR.BAS, its associated subroutines, and FMR.E~EC, all associated with the foreign MTSO (by virtue of the coupling and information exchange between the cellular switch ~;
resident in the foreign MTSO, and the FMR processor) for performing the FMR system functions described above.

~ inally, the FMR processor is described in an environment ~hat is characterized by the physical collocation of that processor with the foreign switch. At present this configuration is deemed preferred. However, given the comprehensive De cription of the invention set forth above, it seems clear that the functions of that processor are susceptible of performance by or integration into a cellular switch.

Correspondingly, although the FMR processor may be coupled to the foreign and home switches by any appropriate telecommunications transmission media, transfer of calls between the home and foreign systems are presently performed, because of external constraints, through the PSTN. It i5 possible, however, that at some time these constraints, whether ~echnological or regulatory, will be mitigated, and substitute forms of call transfer will be perm.itted.
It is submitted beyond peradvanture that such substitute forms will reside withi~ the scope of this invention as claimed below.
~.

. , , !

C~ 7 Accordingly, although there has been disclosed and described what at present is considered to be a preferred embodiment of a CMR
system for automatically forwarding, to a foreign service area, calls placed to a roaming subscriber~s home service arear it will be apparent ~o those having ordinary skill in the art that various modifications can be made to the described system withou~ departure from the concept of the subject invention or the scope of the appended claim~.

, . , . , .. , , . ~ .
. ~

,. ~ . . :, . .
., .~ . . . .
.
,. ~.
. ; . -.. ~. ; : .~,/

13~39~
APl~ENDlX A
F~R. ~S
$INCLIJDE: ' CO~ONS . BI ' R,, 2000~ 5 ~ "4. 13"
4 Z~ -- 0: PO$ = "~": DE:@ SEG = Z~o SG~ --( (PEEX(&H36) + PEE~ H37) * 256) ): DEF SEG
SG~: PO~OE 7, 250: DI~ H$(15), oc$(15), O$(20), Y(30), }~(30), '~R(200) M~A% -- (PE~X(8) + ~PEEK(9) * 255) ): ~RC9~ = ,/
(PEE~;(10) + (PEEg(ll~ * 256) ): ~ITCl~ (PE:~K(12) ,i (PEEg(13) * 2~i6) ): ~CC96 ~ (PE}~(14) + --(PEE~(15) * 256) ): ~C~% 3 (PEEg(16) (PEEX(17) * 256) ): 2~1~CC% ~ (PEER(18) (PEER(l9) * 256) ): ~ITDDD% ~ (PEEX(20) t~
(PEER(21) * 256) ) I; MOPE~% ~ (PEER(22) + (2EE:E~(23) * 256) ): TGPI~
(PEEK(24) + (PEEX(25) * 256) ): TGP% -- (PEEK(32) -t (PEER(33) * 256) ): TRRlCT% ~ (PEEg(40) ~
(PE~:~(41) * 256) ) ~ CB9c ~ (PEER(48~ + (P ER(49) *
25 6 ) ) 8 DE}~ FNP~A~ ~ (PEE~(~P~A%) + (PEE:E~(~qRA~c + 1) * 256) ): DEF FNE~C;~ Y (PEEX(~RC%) ~P}~:Egt~RC% + 1) * 256) ): DEF FNTCA~ ~
( PEE~ 5 ) + ( PE~ 1 ) * 2 5 6 ~ +
( PEE~ I 2 ) * 16 A 4 ) + ( PEE~ 3 ) *
16 ~' 5) ) .
.. . - ~ `.. : ~ :
,.: , ,. -.. ;. .
;
'. ' .
' .

" ' . . ': ' ' . .'. : .' . . ' , : ... ', .

~322397 9 DEF FNI~c~ (PEER(M~RCA%) ~ (~?EER(MTR~% + l) * 256~ ): DEF F~l~tCC~ 3 (PEE~ C%) +
(PEE~ CC% ~ l) * 256) ): DEF FNTCC~, --(PEE~(MTCC%) + ~PEEX(~TCC96 -t 1) * 256) ~
(PE ~t~TCCSs ~ 2) * 16 A 4) + (PE~ C~ ~ 3) *
16 A 5!) )
10 DEF FNTDDD# -- ~PEER(~DDD%) + (PEEg(MTDDD% + l) * 256) ): DEF FNOPERX = (PEE~(MOYER9~) +
(PE K(~OPER9~ ~ l) * 256) ): DEF E~l~OAM;~ 3 P NTRCl~: DEF FNCALPTiYi =~ ( PEEg ~ 4 8 ) + ( PEEX ( 4 ~ ) *
256) )
11 DEF FNTl -- (PEEX(~ %) + (PE~ lTC~96 + 1) * 16 ^ 2) ~ (PEEK(~ % + 2) * 16 A 4) + (PEEKtM~CA96 3 ) ~ 16 ^ 5) ): DEF FNT2 -- ~PEER~lTCA% t- 4) +
(PEEK~ S) ~ 16 ^ 2) + ~PEEX(~C~% + 6) 16 ^ 4) + (PEEg~MTCA% + 7) * 16 ^ 5) )
12 DEF FNTT}~OAM# -- ~PEER~ 96) + ~PE~ TRCA% 1-1) * 256) ) + (PEER(~l~CI~% + 2~ ~ (PEEg(~RCA~ +
3) * 256) ) + ~PE~i:X(~l~CI~% + 4) 1 (PEE~
5) * 256) ) ~ (P}:ER(~rl~CA% + 6) + (PEEg(~l'RCA9c +
7) * 256) )
13 DEF F~ PEEg(~ % + 8) t- (PE~:R(~TCA9c + 9) *
16 ^ 2) + (PEE~ L'CA% + 10) * 16 ^ 4) +
(PEE~:(MT~96 + ll) * 16 ^ 5) ): DE~F FNT4 (PEER(~CA96 + 12) + (PEEg(~TCA% + 13 j * 16 A 2) (PE}~R~ c + 14) * 16 ~ 4) ~ ~PEE~ %

.
, , :
;

15) * 16 ^ 5) ): DE~ FNTTCALL~ -- FNTl + ENT2 F~T3 + FNT4
14 ON E~ROR GOTO LOCALX~ND12~1: OPEN "home" FOl~
APPEND AS l: CLOSE l~ OPEN "home" FOR INPUr AS 1 FQR X = 1 TO 5o LINE INP~T ~1, q$: NEXT: INPUT
~1, SNZ~:$: SNAME$ -- ~CASE$(SNa~E$) 16 INP~T #1, ACT$: INPUT ~tl, DEP.$: INP~T #1, CL~P~: INPtJT ~l, SDAS$: ~INE INPtrr ~l, q$
17 ~INE INPUT ~1, Pl$: LINE INPUT t~l, P3$: LINE
INE~T ~l, P6$: INPUT ~l, P7$: INP~T
LOC~LSWS: INPUr #1, CON~$: CONF$ g UCAS~5~ (CONF$): CLOSE 1 I~ P6$ -- "AUTOPI}3X10~ N VER$
AU'rOPLEX 10"
IF P6$ -- ~'AU'rOPLEX100ll THl~N VER$ ~ VE~NUM$ ~ "
AU'rOPI EX 10 0 ~
IF P6$ ~ ''AUIrOPLEXl000'' T~N V~:R$ -- VERN~$ + "
~TOPIEX 1000"
IF P6$ ~ "E~IXl00" OR P6$ ~ "E~IX250" OR P6~ --"E~IX~OO~ $ =- Vh~UM~ + " l~X
10û/250/500"
I~ P6$ ~ K2500" T}~EN VE~S - t7E~ $
2~00"
I~ P6~ IX~500'l AND SNA~$ ~ "E~TF~R" TXEN
VER$ ~ VERN~$ + ~ E~ 100/25 0/500 D~{
OFF ~ 2500 "

:: . ; .

. -.. . .

IF P6$ -- "AST~ONET" rl'XEN VER~ -- VE~IUM$ + "
ASTRONET"
18 IF SNA~ " " OR CLXUPS =~ " " q~N CLOSE : CHA:CN
" F~INS 1-19 DEF FNBT ~ INT (BTDIE - TI~): rsval 8 5480 :
rs~ral ~ " 5 4 8 0 l-20 nc~ =~ "NO CP~I:ER'1: DEP~ P~RMSG~ - MID$(TII~, 1, 5 ) + " " + m~$ + " ": DEF EN~qSG$ ~
MID$(DATE$, 1, 5) t " " + MID~(TI~, 1, 5) ~ "
.
21 DEF FNDI1S l'ATDT" + ~ID5~PHl$~ 2, I~N(P~Il$) ) 31 DEF FNDUM$ , 11\~
3 2 SH~L~ "DEL D: NPA"
34 SXEhL "COPY C:\F~\NXXFILE D:": SHELL "del c: \temp\np~ * . * "
01~ -- 1 02~ a 2: N'rDN~ ~ "": DAFZ$ -- DATE~
41 Z$~ 3 0 R~Y 7, ''R}~SETI': ON ÆY(7) GOS~B 10000: R~Y(7) ON: TATD ~ 0 50 ~::I.OS~: 4: OPEN "RSTAT" FOR INP~T AS 4: INPtJT #4, l~AWFI,G: INPIJT #4 ~ TACT#: IN}~T .#4, TDACT~:
INP~ #4, ACTR~: INPUT 1~4, DACT#: INP~ 4, SNDFi$: INP~T ~4, SNDD~: INP~JT #4, FI$: IN$~UT ~4, FIl~: INPUT $4, ~31JFFLG: INP~T #4, BUSFI~;: INPtJT
~4, }3T~E: INP~ ~4, ~STCTR
51 INPUT #4, SNN~: INPUT #4, SRDN~: INPIJT ~4, ~IIDNV~: INP~T #4, B~SCT~o INP~:e #4, T'rD~

~2 .

. ` ~- '; ' ' ~ : ' , ~

:.

~4, BLT: INPUT J14, ~ODE: INPUT ~4, CII~ PUT
~4, MODAFIG: INPUT ~4, ~fODDFLG: INP~ 4, NCI.L~LG: CLOS~ LL GETTN~ TTD~A~ - RECORD~
RSTI~R ~ T~ER ~ 60: IF RsTcrrR > 2 THEN RSTCTR
- Z ~ UN: CXAIN "pokecom"
REY 2~ "CLS ": ~EY 1, "ST~DY": ON KEYtl) GOSUB
4 2 0 2: O~ ~OEY ( 2 ) GO5~:13 12 5: ~EY ( 2 ~ ON: ON }~:EY ( 8 ) GOSUB 20000: }~EYt8) ON: ~OEY 5, "":
K~:Y 4, "TNU~5": ~Y 7, "RESET": ÆY 8, 'sS;~R":
}~Y 9, '9EiELL" ~ Y :L0, 1"':
IF ~OD~S -- 1 T~N }~EY 3, "LOC~L": ~Y 6, "PRNON'I:
PO~ 7, 255: PRNELG =~ O: F~::NS~
1:
IF ~ODE -- O ~HEN ~Y 3, "NO~": gEY 6, " PRNOFF ": PRNFLG - 1:
ON R~Y(4) GOS~B 1300: ~EY(4~ ON: ÆY(l) ON: ON
~OEY ~ 9 ) GOSUB 12 6: }OEY ( 9 ) ON
81 ~OEY 15, C~R$(4) ~ C~RS(31): ON ~Ytl5) GOSUB
112: ~EY ~15) ON
82 '}~Y 16, C}IR$(4) ~ CXRS(20): ON ~OEY~16) GOSUB
111: P~}i:Y ~16) ON
83 ~Y 17, CXR$(4) + CXR~35): ON REY(17) GOSUB
20000: ~Y(17) ON
84 '~Y 18, C~R$(4) ~ ~R$(38): ON ~OEY(18) GOSUB
165: ~r(18) ON:
8 5 ' ~CEY 19 , CXR~ ( 4 ) ~ CXR~ ( 3 6 ): ON ~OEY ( 19 ) GOSUB 115: ~EY(l9) ON

', ' ,:' ',', .' ' :
. ' '." .,' "" ', ~ "' '. , ~. , .. :`' `3 ~7 6 ' K} :Y 2 0, C~RS ( 4 ) + CXRS ( 3 û ) : ON ~OEY ( 2 0 ) GO SUB
4200: }OEY (20) 0~
87 'REY 21, C~RS~4) ~ C~(32): ON REY(21) GOSUB
1900~ Y~21) ON
8 8 ' ~EY 2 2 , C$RS ( 4 ) + CXR$ ( 1 8 ): ON ~EY ( 2 2 ) G5SU~
3800: ~EY(22) 0~
8 9 R~3Y 2 3 , C}IR$ ( 4 ) ~ CXR$ ( 3 3 ): ON ~EY ( 2 3 ) GOSUB
12 8: ~;EY ( 2 3 ) ON
'~Y 24, C~RS(4) + CXR~(48): ON ~EY(24) GOSUB
127: ~æY(24) ON
91 ~OEY 2S, C}~R$(4) + CXR~(2.): ON ÆY(25) GOSU}3 PR~ Y ( 2 5 ) ON
9~ CAI~ tnumstability:
100 R$ ~ "on"
lOS aN TI~ER(2) GOSUB 200: CLS : TI~ER ON
110 C~S : W}l$ -- 'IACT'': GOTO 1410 111 CLS : SHEI~ "SETC~OCg": CLS : RE~RN
112 PORE 7, 2S5: SYSTE~5 115 I~ ~1$ ~ S" T~N Pl$ ~ "NO": ELSE Pl$ =
"~ES ": R~STURN
12 5 CLS : RET~JRN
126 I~ call~lg Y 2 9N callflg - O
12 7 B Z ~: C:I S : RET~l!t 12 8 C~IN "F~RINS "
1~9 PO~: 7, 255: SYSl~l 13 0 I~ TTDN~ ~ O T~EN TTDN# ~ O

:: - . :.. , : ... ~
., ,,: . .: ::

~ ~2~
13 1 ~1 -- CSRLIN : CR -- POS ( O ): COLOR 15 , 0 , O : hd~ -"COPYRIGXT GTE ~OBIINET INC. 19R7 - E~ " ~
VE~S: LOC~TE 1, (40 ~N(hdS) / 2) ): ~RINr hd$: COIOR 7, 0, 0: LC CRTE 2, 1: P:E~INT DATE$:
LOCATE 2, 37: COIOR 15, 0, 0: PRINT "TOT~S":
COLOR 7, 0, O: I~CA.TE 2, 71: PRINT TI~S
132 LOCATE 3, 1: PRINT IICALLS RO~S RC~ DE-~CT
SE~IAI ~ SERIAI. ~ MID ' S REl~IES TDN ' S
TDN'S"
13 3 PRIN':r " DIDN ' T MATC$ DENIED NOT VI~LID
ACT I~:ET "
13 4 PRINT " ~
13 5 IF F~q~OA~# ~ TROA~ q~EN call~lgt~ ~ Z X
BELl;~ -- 0 13 6 IOC~TE 6, 1: PRINT USING " ~ "; FNTTC~LL~r:
I,OC~TE 6, 9~ PRINT IJSING "~#~ FNTTROAM~
140 LOCAT:E: 6, 14: PRINT USXNG "$##~'~; TACT#;:
LO~TE 6, 21: PRINT IJSING ";Y##~'~; TDACT$;:
I~CATE 6, 29: PRI~T USING ll###~l-; SNNM#;:
LOCAT~ 6, 42 142 PRIN'r USING "~##'~; SRD~#: IA~CATE 6, 52: PRI~T
~S ING ~ # # # ~ IDNV#
144 ~ TE 6, 59: PRINT ~J5IN& ~' #$~ '; BUSCTR: LOCATE
6, 69: PRINT ~SING "~#~"; TTDN#: LOCAT}S 6, 76:
PRIN`T ~SI~G ~'~##$"; (5~DN~ - TDN~ GOS~3 147:
R~T~RN

- , ~3~2~7 ~

145 GOSUB 155~ 3 Z~: N~ GOSUB 151: ~I =5 1: N;~ 8 ENF~Ci~: GOSUB 151~ Z: N# ~ FNTC~
GOSUB 151: H -- 3: N~ 3 FNTCCi~: GOSUB 1';1: ~ =~ 4:
N# ~ FNl~CA#: GOSUB 151: ~I ~ 5: N# 3 FNTRCC~:

146 ~I ~ 6: N~ ~ FNTDDD~' GOSIJB 151: H - 7: N#
FNOPE~#- GC)S~TB 151: RE~RN
147 IF Pl$ <> I'YES~ ~N RETURN: ELSE CEMRA% --MF~A%: C~IRC% = I~FNRC~ 5TCC% ~ MTCC%: ~MTCA96 Cq~C~% J ~CP~% C~CC% 3 M~ %
C~ITDDD% -- ~TDDD%: C~IOPER% =~ MOPER%~ &0SIJ3 153 148 V -- 10: GOSUB 14!i: FOR 5~? -- 1 TO 3: MTRCA% --~TRCA96 + 2: ~CC% - ~lTRCC~ t 2: MTC:A% ~ NTCA% t-4: ~STCC% - ~STCC96 + 4: ~A% - ~$~gC + 2:
MFMRC% -- MFMRC% + 2: ~DVD% -- ~TDDD% ~ 2: ~IOPER%
-- D~OPER% + 2 149 V =l 10 + S}?: GOSU3 145
15 0 NE~T: l~A% ~ C~RA%: M~NRC9~ ~ ~F~C%: M~CC% :~
CN~CC%: ~ ca% ~ CTRCa%: l~T ~% Y ~ C~%: ~IrRCC:%
8 C~l~CC%: ~DDD96 ~ CNTDDD9~: ~OPER9~ Y- CI!SOPER%:

151 IF ~ ~ O TXEN H ~ 1: EISE }~ 5- H * 10 15 2 IF PlPF$& ~ IEN RE~N: ELSE LOCATE V, H: IF
~T# ': O TXEN N# =~ ~# + 65534 !: PRINT U5ING
Il # ;~ # $~ ~; N#: RE~J~ ELSE PRINT IJSING 19 # ~ ~ j$ # ~ ";
N~: RE~N

.
` ~ ` ` ` : -: :: , ` ~ ` :

~ 3 ~
153 IF PlPFL~ EN RLTURN: ELSE l~OC~TE 8, 1: PRINT ' AL:I:AS Al,IAS CAI~ CAIJ;
ROAM ROA~ DDD OPF~
154 LO~l~ 9, 1: PRINT " ATT~. CO~P. ATTEM.
t:OMP. ATTE~. CO~P. ATT~.ATTEM. ":
RETURN
155 IP' PlPFLG 3 1 THE~ CC$ 3 C~$ (2) ~ " " +
ST~$ (FNF~ ~ ST~$ (~NFMRCt~) + ST~$ (FNTC~
STRS (FNTCC~) + STR~ (FNT~CA~.) + STR$ ~FNTRCC") +
STFcS (FNTDDD~) + STR$ (FN:lPER#): C~L
~?RINTTONI?AFIIæ (CC$~: RETtJRN: EISE RETURN
165 IF MODE ~ O l'~}~N MODE -- 1: POKE 7, 255: ~:Y 3, "LOCAL": PRNFLG =~ 0: æY 6, "PRNON": CALL
UPDATERSTAT: RETURN: ELSE MODE = 0: ~EY 6, "PRNOFF": PRNFLG - 1: ~Y 3, "NO~fAL": POKE 7, 2 5 a: CALL ~PDATERSTAT RET~JRN
2 0 0 C~LL TI~ESUB: RET~JRN
275 DDi~ 3 VAL(OSE}~5): DDB~$ ~ lll.
276 DDl# 2- (DD# ~ (INT(DD# / 16) * 16) ) TF DDl~ > 9 l~N DDBUL$ ~ ~IR$ (55 + DDl#) ~ DD~3UI.S: ELSE
DDBtJL$ ~ C~$ (48 -t DDl~) t DDBU~$
277 DD# ~ r(DD# / 16): IF DD# < i l'HEN OSER$ 3 DDBUL$: ~URN : ELSE 2 7 6 320 V - FRE(O): C$ ~ FOR X :la 1 TO I,EN(B$)- D$ =
~ID$(B$, X, 1): IF D~ " THEN GOTO 330:
E1SE CS ~l C$ ~ D$

~ I !

~` ! , ,~

~ 3~23~7 390 IF T~N(H$) < 4 T}~N FOR YY - 1 TO (4 - I~N(H$~ ):
H$ =~ "O" ~ H~: NEXr 400 FOX X = 1 TO 5: H$(X) -- MID~(~IS~ X, l): GOSUB
4 7 0: NEXT
410 D 3 VAL(H$ (1) ) * 16 A 4 t- ~AL(~$ (2) ) -J~ 16 ^
VAL (X$ ( 3 ) ) ~ 16 2 + VAL (EI~ ( 4 ) ) * 16 VAL(}IS (5) ) 420 H~ 3 STR~ (D): REq~URN
470 RE~
471 I:F ~$ (X) - "A" OR H$ (X) - "a" ~N H$ (X) = "10"
472 IF H$(X) ~ "B" OR }~(X) -- ~b" 1~` ~$(X) = "11"
473 IF H$~X) ~ "C" OR H$(X) -- "c" l~N H$(X) = "12"
474 IF H$(X) -- "D" OR E~$(X) =~ "d" THEN HS(X) =~ "13"
475 IF H$ (X) ~ "E" OR HS (X) - "e" T~IXN H$ (X) - "14"
476 IF H$ (X) - "F'l OR H$ (X) - "~" l~EN H$ (X) = "15"

500 IF (TI~R > O AND TI~ < 60) I~IEN OPEN "THR~WY"
FOR APPEND AS 6: CLOSE 6: CC$ -- "~lIDNIG~IT CLEAR
OUT OF l~ROW AWA~ FILE " ~
~RINTTONPP~I~E ( CC$ ): GOTO 5 2 0 CC$ D "ChQcking q'hrow Away ~ile 'l~IRAWY' :eor work It~ C~S I,OCATE 12, 1: PRINT CC$:
IF (T~WF~ -- 2 OR 5~ ,WFI,G ~ 3 ) AND BUSFLG ~ O
T}I~N 510 5 0 5 IF l~WFLG 3 2 A~D ~USFI G ~> O l~N l~WFLG ~ 3:
~PDATERSTAT
IF l~IAWFI.G ~ 4 THEN 510 8~

- , 5 0 6 CC$ ~ CLS : RETURN
510 PRINl~TONPAFILE (CC$) OPEN I7TXRAMY~ FOR APPEND AS 6O CLOSE 6: OPEN
"TERAWY" FOR INPUT AS 6 511 IF EOF(6) l~N 520 ELSE LINE INPUl~ ~6~ q$:
IF t;I$ ~ I7DEASND~ IEN EI$ -- ~DEAC~IVE~
IF ~$ -- I~ACTSNDI~ T}IEN FI$ -- I~ACTI~
515 FOR TX = 2 TO 7 IF EOF ( 6 ) I~EN 5 2 0 ELSE LINE INPUT ~ 6 t g$ ( q'}I) NEXT
516 OMID$ =- g$(3): OSER$ -- q~j(4): PHl$ -- q~j(5):
SWNU~$ - ~$ ( 7 ) IF FI $ :3 ll DEACTIVE ~ TXEN SUNU~S~i a l~
IF SWN~$ ~ ~ T~EN SWN~JM$
OPEN EI ~i FOR APPEND AS 7:
PRINT #7 ~ OMID$ ~ OSER$ r PHl~; I SWN~$
IF FI$ ~ I~ACTIVE~ TXEN ACTR~ a ACq~# + 1: CLOSE

IF FI!~ DE~CTIVEI~ T~N DACT$ :~ DACT# + 1:

Ol!fID$ ~ OSER~ DD$ -- ~7 ~: sWNU~$ -- ~7 G~TO 511 520 CLOSF 6: CLOSE 7: l~AWFLG -- Z~: KIL~L "T}IRA~Y":
~PDAT13~S'rAT: CLS : RETURN
530 FF$ a 111~ FOR X -- 1 TO I,EN(Fl$): F2$ -- MID$(Fl$, X, 1): IF F2~ ~ "F" q~EN F2S =""' 540 FF~ ~ FF$ ~ F2$: NEXT: RETtJ~N

~;

600 IF ~INSFLG =~ 1 OR ~ODE -- 1 TBN E~RINSFLG = 0:

FMRINS FLG -- O
601 TC~GFL~ SANITYTFST ~ 1: TNCON~ ~ Z~: BUSYF
-- Z ~: T~qE~ OFF:
GOSU~ 2 o 0: CLS : M2 $ a FND~$: M3 $ ~ E ND~$:
~AUD$ -- "1200": P}~lS ~ P3S: PR~I
",Et7,1,CD,DS,PE": t~et$ - P7 CAI L DIALCONNECT
6 û5 IF BUSYF 3 ~ EN S~NITY 3 SA~ITY ~ 1: EI,SE
SANITY a O
610 IF SANITY = O THEN 61S
IF SANITY ~ 9 TXE~ 6 0 0 IF SP~NITY > 9 5}IEN SANITY ~ Z~: GOTO 620 615 cc$ =, cc$ ~ cclS: CALL DEI~Y2: CALL DELAY2:
PP~INT ~2, CCS: PRINT CC$
620 SANITYTEST -- Z~: CC$ -- "": ccl$ -- "": CLOSE 2:
TNCON# - ~#: ChS : TI~R ON: RET~N
680 TI~:R OF~: TC~GFLG -- 1: LOCATE 8, 1: ST~ ~ Z;~: V
Q ): OPEN "D : ~I~FII.EIl P'OR I~PIJT as 13 68i CLS : LOCA5E 12, 25: PRI~7T "Retreiving calls ~or Bu~lle "
690 IP ~OF(13) THEN 1340 EI.SE INP~T #13, CD$: CC$ =
CD~: PRIN~TONPAFII,~3 ~ CC$ ) 700 O~iID$ 3 MID$~CD~, 1, 10): DD$ ~ RIGHT~(CD$, 31:
S~N~S ~ ~ID~(CD$, 23, 1): IP SWN~$ ~ "" T}IEN
SWN~q$ ~ ni"

- , , ~ . -? ~ - .

2 ~
d IF SNA~IE$ a IICIF~ ~N SWNUM
I}~ SN~ES 3~1 " SF~" l~EN SWN~S~
IF SNZ~SES 8 I~DF~I l~N 5W2J~$ a~
I}~ INSI~P6$~ ;3 T~N OSER~ IID$(CD~j~ 15 8 ): GOTO 1010 IF P6$ -- ~iAUTOPlEX100~ T}IEN OSER$ a ~IID!~i(CD~
12 ~ GOTO '701 XF INST~(P6~;~ "ASTRONET") T}IEN OSE~$ =1 MID$(CD$~
13 ~ 10): GOS~JB ;275 : GOTO 1010 IF P6~ IJTOPLEX10~ OR P6$ - ~A.UTOPT~X1000 T}IE~ oSER$ 5 ~ID$(CD$~ 15~ 8): GOTO 1010 CALL RE~ IN l'praXecom"
701 FOR MX -- 1 TO IEN(O~ID~): IF MID$(0MID~, ~SC, 1) -- "A" T}~ MID$ (O~ID~, ~X, 1) =~ "0":
702 NEXT: FOR MX - 1 TO hEN(OSE~$): IF ~ID$(0SE}~$, MX, 1) ~ "A" l'}IEN MID$ (OSER$, MX, 1) ~ "O"
703 NEXT: OCSE~$ -- OSE~$: t:A~ OCTTO~I:EX: OSER$ ~ ~
~H$: ~$ ~ "": OCS~ GOTO 1010 711 CI OS~3 NF: OPEN "R", NF, N~S, 4 8 712 FI}~ F, 2 AS sTATEl$, 10 AS RMIDl$, 8 AS
RS}~l$, 6 AS SITEl$, 10 AS ~DNl~, 4 AS RCDl~, 6 A~; SPAREl~, 2 AS SWN$ ~ Z~ ~ RE~RN
1010 G~S~J~3 4005 lûll IF S~$ <~ lolt OR 9~MS <> "" OR SWN~I~ <~
"1" 5~EN 1020 1012 I~ I,OC~I5W$ ~ P}~l$ TBN PEIl~ ~ SP;~OES (6): GOTO

: , . .
' , , ~c3~J ~ 7 1020 I~ (DD$ - "211~' CR DD$ ~ "B18") AND PHl$ <>
SPACE$(6) ~r~EN FI$ - "AC~IVE": T~CT~ - TAC~
1: GOTO 1300 1030 IF (DD$ - '~311" OR DD$ - "~19") ~ND P~l~ <>
SPACE~(6) T~æN FI$ - "DE~CTIVE": TDACT~ - TDAC~
+ 1: &OTO 1300 1035 IE (DD$ - "211" OR DD - "311'l OR DD~ - "B18" CR
DD$ - "~19'~) TX~N CC$ = DAT~$ ~ " " + TI~E~ ~
CXR$(13) ~ "MORILE " ~ O~ID$.~ " ATT. to used F~R - th~ NPANXX was not valid site - " ~
SNAME$: C~LL PRINTTONPAFILE(CC$): GOSUB 1310:
TATD - ~ATD - 1: GOTO 690 1045 CC$ - DATES + " ~ ~ TIME$ + ~ BAD RECORD PASSED
" ~ CD$: CALL PRINTTONPAFILE(CC$): TATD = TATD -1: GOTO 690 1050 GOSU~ 1310: TATD ~ T~TD - 1: GO~O 690 1300 IF FI$ - "ACTIVE" OR FI$ - "DEACTIVE" TXEN 1305 1305 OPEN FI$ FOR APPEND AS 7: PRINT ~7, OMID$, osER$, P~l~, S~N~M~: XF FI$ ~ CTIVE" T~æN
ACTR# ~ ACTR~ + 1: CLOSE 7: GOTO 690: ELSE
IF FI$ ~ "DE~CTIVE" ~XE~ DACT# ~ DACT~
CLOSE 7: GOTO 690:
1310 O~ID$ - 171~ osER$ ~ ~ , DD$ ~ ~ S~NUM~ - ~7~' 1320 RET~RN

, ~ -., - ! . -, ' ' ' ~ ' ' ' ' 1322~97 !
13 4 0 CI.OSE 13: OPEN "D: BUFII~:" FOR CUTP~ AS 13:
CI~OSE 13: CI,S : BIJFFIJG - Z i~ PDATER5TAT :
TI~}~ ON: RETURN

1411 TIME}~ ON
1430 IF N'rDN~ 3 ~ AND (TTDNAX - TT9Nt~) <= O T$EN
BE~: ccl$ Y "ER~ " + FNT~SG$ + " " ~ SNaME$ t "CXECg T~ANS . ~ AL~ TDN ' S IN USE": GOSUB 600:
BELLX a 1 1431 IF (TTDNA~ - TTDN~ -- O AND BEI.L~ -- 1) ~EN BEEP .
1432 IF l~AWFLG -- 1 TXEN ccl$ -- "l~RR " I FNT~SG~
" + SN~$ + " THROWING CON~NDS ANAY": G05UB
6 0 0: l~WFLG -- 2: FPDAT:E~STAT
IF ~AWFLG -- 3 l~N GOSUB 500 1433 IF TC~IG~LG <> O THEN ON TIMER(2) GOSUB 200:
TI:~IER ON: TC}IGF~ O
14 3 4 IF TAT9 0 O ~l~;N TATD ~ O
1435 IF ~ODAEIG < O T~N ~ODAFI~; =' O
143 6 IF MODDFI& ~ O T~EN ~IODDFI.G ~ Q
1437 IF SNDD~ c O ~N SND9# -- 2~ LL UPDATERST~T
143~ LS$ ~ "": IF B~FFLG 8 ~ J GOSUB 680 1439 IF SNDF~ c O T~t SNDF# ~ O
1440 GOS~ R~YS: IF NOTDNFIG - 1 qHEN ccl$ -- "ERR "
FNT~ISGS t~ SNA~qE$ ~ No TDN 7 ~;
avaiable ": GOS~ 600: NOTDN~ O
1441 IF c:all~lgX ~ 1 TXEN ccl$ 3 1l~ It ~ FNTMMS~
" " ~ SNA~: GOSUB 600: call~lg~ - 2 , . ' , .

~ 3~23~7 IF callflg;~ - Z l~N LOC~T 23, 1: PRINT S~AS$
1442 IF PORTFLG ~ 1 TXE~ cc15 ~ "E~R " ~ F~IT~SGS +
" " ~ SNA~$ ~ ccl$: GOSUB 6ao: PORT:FIG = O
1.443 IF hstn~lg - 1 T~ cclS - 'gl~ *
SNAME$ ~ " To many operators log into houston ": hstnîlg - Z~: GOSUB 600 1445 IF TI~R ~ 26700 OR TI~ER ~ 61200 T~CEN 1450 ELSE
IF ~ID$(~, 4, 2~ ~ 'g30" AND WH$ ~ CT" TXEN
T~:STFLG ~ 1: W~$ =~ "DEA": CALL TFSTCALL: ' TE~POR8R~! TEST FOR ~II
14Sû BALCT~ -- Z~: GOSIJB ~EYS: IF POR~IG ~ O OR PORFLG
-- 3 ~IEN &OS~B 13 0:
1451 IF ~1$ <> LEFT$ (TIME$, 2) T~EN N~l$ =~
LEFT$(TIP~E$, 2): GOSUB 13000: GOSU}3 500 14 5 2 F:R - FRE ( O ): El~l - FRE ( I~ ~1 ) 1453 IF CV > 24 THFN CV -- 6: LOCATE c~r, CR: ElSE
LOCATE CV, C:R
1465 IF BUFFLG ~ 1 T~N GOS~I 2005: GOS~J}3 680 1470 GOS~IB REYS: IF ACT~ e~ O l~EN FI~ - "ACT~
GOSUB 2 û 0 5: GC)S~B 2 9 0 0:
1480 IF l:ACT~ > Z~ 5HEN FI~ DEACTIVE'': GOSUB 2û05 GOSIJB 290~:
14gO IF SNDFt~ > Z~ ~IEN FIl$ - "ACTSND": GOSU~3 2005:
S ~0 # Y Z ~ LL ROA~O~ ~ ~ TI~ESUB
1491 IF DACT~ ~ O AND SNDD# > Z~ THEN FIl$ -"DE~SND": GOS~ 2005: C~LI ROa~ HOME: C:AIL
TI~ESIJB

.. . ~ .. ~. . ,-. ~ - . ~ . . :
.. . .
, , :,, ~ . ; .
, , ?

1492 I~ MOI)AFLG 3 0 AND ~ODDFLG -- O THEN 1500 EISE
GOS~B 2005: SCRNO# -- Z~:
IF ~ODAFLG > Z# IH:E:N FIl$ a "ACTSND"
IF MODDFLG ~ Z~ T~EN FIl~ ~ "D~ASND"
t~OSlJB ~EYS
SN~E~ =~ UCaS~$ (SNAM~
IP' INSl~(P6$, "ASTRONET") l~N C~LL HO~EASI~O
IF INSTR(P6~, '^AUTOPIæX100") AND NOT
INST~(P6~ I~OPL~XlOOû"~ I~EN C~ 0~100 IF SNA~EC a ~CIFMRI~ T}IEN CAI,L homelOOO
IF SNAME$ ~ "AT~R" l~N CALL HO~:ATLaN
IF SN~E$ - "~Il~" TEEN C~LI XO~:100 IF SNA~!E5 Y "SFN~I' l~N CALL HO~EO10: ~I
update 6/ 2 7/ l9 8 8 I~ (INSTR(P6$, "E~XSOO") OR INSTR(P6~, "EMX250") OR INSl~l(P6$, "ENXlOû") ) TEEN CAIL
HO~E500 IF INS'l~(P6$, "~X2500") 5HEN CALL HON:E25ûO:
REM update 6/27/1988 IF SNA~E$ ~ ~ 5~N CAI,L ~IO~:NOV j a I~ TINFLG - 1 ~}IEN GOS~JB 600: R~PTINF$G =~ O
1510 V ,8 ~E ( O) 1520 IP D~TI:~ ~> DAFZ~ ~ GOStJB 2500: CALI
rJPDA~ST~T: GOSrJB 4 3 0 û
1532 V$ ~ I~OEY$

:
: ` ` ':' ' 1535 IF VS ~ "" q~XEN 1536 ELSE I~ ASC(V$) -- 11 T~EN
GOSUE~ ~010: ~;EYT~l - TI~R t~ 30: R~ ~ "on"
1536 IF TI~R > :E~:EYq~l ~N~ R~ - "on" T~:N GOS~B 2005:
f f 1545 I~ ~B~SFLG a 1 AND TI~ER > BTI~:) TH}~N GOSUE~
9000: ELSE I~ (BU5FI.G ~ 1 AND (BTI~E
TI~:R) > 60) T}~:EN GOSUB 9000 54, 6 IF ~SFLG <> 0 THFN CV ~ CS}~LIN : ~ -- POS ( O ):
LOC~TE 2, 56: PRINT "3T - "; FNBT: WCATE CV, CR
1551 V$ a IN~OEY$: IF V5 ~ ~;N 1552 EI~E 1551 1552 IF (CLI~LG ~ 1 AND (ACTR~ ~ O AND SNDD# -- O AMD
SNDFt~ = O AND DACT~ -- O AND BUSFLG = 0) ) T~IEN
CALL WATSONCA.LL: ~ S}~LL "WAT"
1553 IF (NC~LFLG =~ 1 AND (ACTR~ -- O AND SNDD# - O AND
SNDF# -- 0 A~D DACTlt -- 0 AND BUSFLG 3 O) ~ T}IEN
Ca~LL NEGWATSON: ~shell ~'nwat~

1900 LINCTR ~ 0: t:imct:r - Z#: CLS: C~ GETl~MI:
CI;OS 11~ ~ FIEI~q~M: GOS~B 1907: GOTO 1910 1907 PRINT "TNUP5 USED ROA~ER ROA~ SENr DEACT TI~E DAT~ SX5~ FEAT.
1~09 P~N~ ~ MID SER~ ~: RETIJRN: ~ cl CSRI IN : cr ~ POS ( O ): I.OCl~TE 12 , 1 : P~
"P}~E'IIOUS CF # PREFE~R~D CARRIE~ TE cl, cr ~
1910 FOR Z al 1 TO REOO~ GET 11, Z: IF INSq~(~$, RSEARC~$ ) ~N COI~R 15, O, O EI.SE COI~)R 7, O, O

.. , : . :

:: :~ : .... ..

~322397 1915 I~ ~S <> SPACE$(22) THEN PRINT t~; " "; u$; "
~ "; S$; " "; DEAT$; " "; TI$; " ";
DT~ PXlS; " "; FES: IINCTR - LINC~R + 1:
IF IINCTR > 20 T~EN GOSUB 1975: GOS~B 1907: :
1920 ~EXT: C~OSE 11:
1921 ~EY OFF: LOCATE 25, 23: COLOR 15, 0, 0: PRINT
"$AST ~SED TDN - ~ET5RN TO CONTIN~E"; : INPUT
q~: COLOR 7, O, 0: CI5 : RE~RN
1923 CIS : RETURN
1975 KEY OFF: COLOR 15, 0, 0: LQC~TE 25, 33: PRINT
"RETURN FOR ~O~E"; : INPUT ~$: CLS : ~INCTR - 0:
COLOR 7, 0, 0: CLS : ~ETURN
2005 BALCT~ 3 1 2006 XæY(l) OFF: REY(2) OFF: XEY~3) OFF: Æ Y~4) OFF:
KEY(5) OFF: K~Y(6) OFF: KEY(~) OFF: XEY(9) OFF:
REY(1) OFF: RBY OFF: CIS
2007 RET~RN
2010 ~EY(1) ON: ~EY(2) ON: REY(4) ON: ~EY(7) ON
KEYt8) ON: REY(9) ON: K~Y ON: RET~gN:
2500 W~IC~$ ~ CIS : ~OCATE 12, 30: PRINT
"MIDNIG~T DE-ACTIVATION CEEC~ "
2501 HMR ~ Z~: TI~ER OFF: TC~GFLG - 1: CALL GETTNU~I:
C~OSE 11: C~hL FIELDTN~
2502 FOR XZ - 1 TO RECORD#
2503 GET 11, XZ: I~ u$ 3 l~ylt ~XEN EMR
2504 NEXT: FI~STF~G ~ Z~: IF EMR ~ O TEEN 2514 2505 R ~ 1: FOR z~ ~ 1 TO EMR: RN ~ zx - 1 ' ~ :

.
' ' ' ,A ` ~

2506 ~N - RN + 1: GET 11, RN:
2507 IF RN - (~ECORD~ + 1) TH~N 2512 IF IN5T~(WHICXS, STR$ (~N) ) THEN 2S06 IF FIRSTFLG - O AND P~l$ <> SPACE$ ~ 5) T9EN
MATCX5IT~S ~ PXl$: FIRST~G = 1: GOTO 2510 IF PRl$ - ~ATC~SITE$ AND u$ - "Y" TXEN 2510 ~O~O 2506 25~ 0 WXICH$ - WXIC~$ + STR$ (~N): GOTO 2506 2512 FIRSTFLG ~ Z ~: NEXT zx:
2513 X 3 INSTR(WHIC~$, " ") IF X ~ O TH~N XZ - V~L(WHIC~$): GOS~B 2515 : GOTO

WXICX$ - ~ID$~WHICX$, X ~ 1, (L2N~WHICX$) - 1)) X - INST~ (WHICXS, " " ) IF X ~ O T~EN XZ -~ VAL(WHICX$): GOSUB 2515 : GOT0 XZ = VAI~ID$~WXICH$, 1, (X - 1) ) ) GOSUB 25~ 5: GOTO 2~13 2514 CLOSE llo CIS
CC~ - DATE$ + " ~ ~ TI~E$ ~ ~ A~TO~ATIC
DE-ACTIV~TION S~ARTED"
CaLL P~INTTONPAFILE ( CC~ ): RET~XN
2515 GET 11, XZ:
2520 R - XZ: PP$ ~ P~ DACT~ ~ TD~CT~ GOSUB
3035: LSET PHl$ ~ PP$: LSET DEAT$ - "D": P~T 11, XZ: R~RN
2900 TI~ OFF: TOEGF~ CALh ~PDATERSTAT

:
.:, ~

~2~7 2302 LOCATE 12, 25: PRINT " Checlcing Temporary Num~er File! "
2 9 0 5 OPEN FI S FOR INPUT AS 3: C:aLL FIELDTNUM
2910 I)IJP ~ Z~ EOF(3) l~N 3020 EISE L~INE INPU'r ;Y3, N~: SWNU~$ - RIGXT$ (N$, l) 2911 IF P'I$ -- I'AC'rXVE:" THEN ACTR~ a ACI~ E~S~
DACT$~ -- DACTt~ - 1 2 915 CAI;C GET~lUMI: R = O
2 9 2 O FOR XX -- 1 ~O RECORD~ .
2 9 21 IF SWN~$ -- " 0 " OR SWN~$ ~ '91l9 OR SWN~ -- '119 2922 GET 11, XX
IF RIG}~$ (C~R$, 1) ~ SWNU~I$ l~N 292S

2925 GET 11, XX
IF u~ N'I AND R a O T~IEN R =~
IF MID$~, l, 10) 0 MID$(N~, 1, 10) THEN 2955 D~P ~ 1 IF ~DIJP ~ 1 AND FIS -- "ACTIVE" ANI) S~ -- "Y" ) ~EN GO5~B 3070: GOTO 2955: ~C~Cg FOR 3 HOUR
l?P~ST
I~? (DUP 9 1 A~D FI~ ~ "ACTIVE" AND S~ ~ "N" ) R ~ XX 3 RECO~D$t ~ 5: ' ~CT W}~I~
PRO~:FSSIN~;
IF (WP J 1 AND FI$ ~ "DEA~'TI~:" AND DE2~T$ --'UD~') ~N R D Xx: XX 1~ RECORD# + 5: 'DE-ACT
W~ILE PROC}:SSIMG

, ~2~97 IF (DUP = 1 AND FI$ = "DE~CTIVE" AND S$ -- "Y") TXEN R ~ RECORD~: Inormal de-ac:
295 5 NEXT:
I:F R ~ O 'rHEN Ct:$ 3 TI~E$ + " ~SOBILE " ~ N$ + "
TRIED TO ACT.~E~OW1~7ER AI,L TDN AI~0CATïON5 WE~E
USED": C~LI PRINTTONPAFILE tCC~) IF R > Z$ I~IEN 2959 2 9 5 6 CLS : TT ~I~ER + 5 2957 IF TI~E~ ~ TT TXEN LOC~TE 12, 1: BEEP: COLOR 15, 0, 0: ~DN$ ~ "C~IECg T~7S~ FILE " + "NPA" +
NID~ (DATE$, 1, 5) ~ " - A MOE~IhE l~I}~D q~O ACT.
-HOWEYER AII TDN ' S IN USE": PRIN'r NTDN$ 4 NOTDNFLG -- 1: GOTO 2957: ELSE COLGR 7, 0, 0:

2959 IF DUP =~ 1 ANI: XX =~ R~CORD~ ~ 7 ~l~EN 2910 2 9 6 0 IF DUP -- 1 AND XX ~ RECORD$~ ~ 6 l~EN 2 9 7 6 2965 IF (~ 1 AND FI$ - "DE~CT:1:~7E") 1~2~ GOS~JB
3 03 5: GOTO 2910: ' normal d~-act 2970 I~ D~JP ~ O AND FI~ ~ I'D~ACT:CVE" T~J 2985 E~S~
IF DIJI? ~ O ~N 2990 2975 GO'rO 2910 2976 IF ~IDS(DTA$, 4, 2) - ~1,D$~DA.TE$, 4, 2) THEN

I~ FI~ DEACTI~TE" q~N GOS~B 3035: GOTO 2910 IF FI$ - ''ACTIVEI' l~N ISET u~ ~ ~N~: ÇOT0 2995 2977 IF FI~ ~ ~DEACT~IE" l~N CC$ 2- P~IT~G~ ID ' D$(N$, 1, 23) + ll ATT. TO DE ACT ~ lST

;. - ,. , . . :, .~. ~ . , . . : , -:
.: .
, ~ . . . . ... . .

~2`2:~9'7 REQUEST NOT COMg . " : C~ PRINTTONPAFIT ~ ( CC$ ):

2978 IF FI$ -- "ACTIVE" TXEN CC~ 3 FNT~MSG$ ~ "MID " ~
~fID$ (N$, 1, 23 ) + " ATT . TO ACT W~N lST REQUEST
NOT CO~P. " : CALI PRINTTONPAPI~E (CC$): GO:rO 2910 ~985 IF DUP ~ O A~D FI$ = "DEACTIt~E" TX:EN CC$ =
FNT~ISG$ t- "~ID " + ~ID$(N$, l, 23) + " ATT.
DE~ACT W/OU'r lST BEING ACT. ": CALI.
~RINrTONPAFILE ~CC~): GOTO 2910 2995 GET 11, R: I~ (uS + "N" AND (S$ = "N" OR S$ a 13 Il ) OR DDUP -- 1) ~N I5~T u$ =~ "Y": ISET ~$
N$: LSET DEAT$ ^ " ": LSET S $ -- "N": LSET DTA~ =
DA~rE$: LSET PHlS -- ~IID$(N$, 29, 6): PUT ll, R:
GOSUB 3045: GOTO 2910 2996 Ct:$ =~ "GOTO 2996 TN~ FIIE I~IALID RECORD ~ -t STR$ (R): CALL PRINTTONPAFILE (CC$) LSET u$
-- "N": LSET S~ CLOSE 3: RILL FI$: C~
R~UN: C~IAIN '~pak~c~m"
3020 CI.OSE 3: CLS : IF FI~ -- "ACTIVE" I~EN ACq~ --Z~: OPEN "ACTIVE" FOR APPE~D AS 3: CLOSE 3: gILL
"ACTIVE": FI$ -- "NO FII~E"
3 025 IF EI~ ~ "DEACTIVE" l~EN DACT$ ~ Z;~: OPEN
~DEACTIVE" POR A.PPEND AS 3: CLOSE 3: KII~
"DEACTI~": FI$ =~ "NO FIIE"
3 03 0 CIOSE ll: CALL IJPDATE~STAT
3 0 31 TI~}~ ON: RE~N

`

~2~
-3035 OPEN "R", 6, "DEASN~", 48 3 03 6 FIELD 6, ~ AS 5TATE$, 10 AS RMID$, 8 AS :RSE}?.~, 6 AS SIT}~:S, 10 AS TDN~, 4 AS RCD$, 6 AS SPA~RE$, 2 ~S SWN$: RR -- ztr: IF INSTR(t$, " ") ~N GOS~13 3060: C~OSE 6: RETIJRN
3037 R~ -- RR + 1: GET 6, RR: IE VAL(STAq~E$) = O l~N

3 03 ~ SWN~f$ - " 113 LSET TDN$ =s t$: LSLT ST~TE$ = "01": LSET RMID~ =
MIDS (~f$ , 1 , 10 ~: ISET RSE~ NID$ (~$ , 15 , 8 ):
ISET SITES -- P~l~ : LSET RCD$ -- Sl~$ ~R): LSET
SPARE$ -- SPACE$ ( 6 ): L5ET SWN$ - SWN~S
3039 PUT 6, R~: SNDD~ ~ SNDD~ ~ 1: cc$ a ~$ + 1~ 17 +
FE$ + " DE-AC'rIV~TION " + FNl~SG$: CLOSE 6:
CALL PRINTTONP~?ILE ( CC$ ):
3040 I.SET DE~T$ ~ I'D": P~JT ll, R: RETURN
3045 OPEN "R", 6, "ACTSND", 48 3046 FIEI,D 6, 2 AS STAl~$, la ~; ~ , 8 AS BSERS, 6 AS SIl'E$, 10 AS TDN$, 4 AS RCD$, 6 AS SPl~ , 2 AS SW~$ ~ Z ~: IF INSTR ( t$, " " ) 1~ Ga 3060: CLOSE 6: RETtJRN
3047 RR ~ GEq: 6, RR: IF VAI,(STATE$) S~ O THEN

3048 LS~T STATE$ ~ "01l': LSET }~ID$ - NID$ (~
10): LSET RSER$ m ~ID$ (~$, 15, 8) ~ ST SITE$
P~Il$: LSET TDN$ =~ t$ ~ ET RCD$ -- S5'R$ (R) ~ T

.:; i ,: ", , .
:: : . :: , . ;, .. . . ..

SPA~E$ -- SPACF$(6~: LSET SWN$ =~ SWNUM5: IF DDUP
~ N DDUP ~ Z~ T STATE~ 703 3052 PU5~ 6~ SNDFi~$ - SNDF~ + l: CCS ~ TI~E$ t ~1$ + l~ ACTIVATIONIl: CI.OS}~ 6: CALL
~?RINTTONPAFIIE ~ CC$ ): ~ETURN
3060 L5ET uS ~ 11~ SET ~S$ - SPACE$ (22): LS;ET 5$ -SET 3EAT$ ~ LSET TI$ -- SPACE~;(8): LS T
DTA~; -- SPAOE$(10) ~ LSET P}Il$ =~ SPACE$(6) ~ ;T
FE~$ -- SPAC $ ( 3 ): PUT 4 ~ R
3061 CC$ ~ TIME$ t ~ + FI$ + ~ + TI~E$ + 1~ BAD
I~U~ RECORD FOUND IN 5~ FII~E RECORO j~zl~ + STR$
(R): CALI~ PRI~JTTONPAFII~ ( CC$ ): ~ETIJRN
3070 IF S$ -- I'NI~ T}IE~ REq~URN: E:tSE TIl$ ~
FOR XI -- 1 TO LEN(TI$) IF ~iD$(TI$~ XI~ 1) a ":" I~IEN 3071 EISE TIl$ - TIl$ ~ MID$~TI$, XI, 1) 3 07 1 NEX5' 3072 TI2$ ~ FOR XI -- 1 TO I~N(TI~E$)~ IF
MID$(TI~IE$, XI, 1) ~ n:~l 1~ 3073 EISE Tl:2$
TI2$ ~ MID$ (TI~E$, XI, 1) 3073 NEXT: TIl ~ VAL(TI15): TI2 =~ VAL(TI2!;): IF TI2 =~
TIl ~ 30000 I~N 3075 3074 CC$ -- TI~ S 1~ ACT IN LOCAL
SWITC}I ON:l:Y": C~ PRINTTONPAFILE ~CC$): R a XX:
D~P ~ Z ~$: DD~ RETtJRN
3075 CC~; ~ T:l:ME$ + "*DUP ~CT. Pa:a ~ID--" + 1!~
AI~DY ASSIGNED '~ -t t$ + 'l *l- C~.LI, 1û3 ,., ` , :
.
, :. . .
::: .
.:. ., , :

PRIN~TONPAFII~ ( CC$ ): R ~ RECOR~ + 6 :
RET~N

3305 GET 11, XZ: g$ -- ~ID$(fpS, 16, 3)o IF Y~q~) O OR VAL ( q$ ) > 9 9 TXEN BSTAT~ ~ ~ l: RETURN:
E~: LSET FE$ = ~$: q$ ~ "": fp$ ~ F~TRAP
Z~: P~r 11, XZ
3310 1}? ~ID$(A$~ 381 8) = ~ID$(M~;~ 15~ 8) THEN CX$ -10R": ELSE C~$ ~ o CO~PAREI~: HOSE~$ -- :
MID$(AS~ 38~ 8) 3 3 15 RET~
3800 QQ$ -- I~ACTSND~: GOSUB 3802: QQ$ ~ DEASND~I:
GOSlJB 3802: QQ$ a l~USY~: GOSUB 3~12: QQ$ --~ D: TENPI~: GOSUB 3 8 0 2: GOTO 3 8 2 0 3 8 0 2 ttctr ~ Z ~: CLS : LOCATE 1, 3 7: P~INT QQ$: NF
7: NA$ ~ QQ~: CAI~ OPENACTSND
3803 GET NF~ EOF(7~ OR NF > RECORD# T~N CI,OSE NF:

3805 IF V~(S~ S) ~> O T}~EN ttctr - ~tct~ + 5: l;
P~:NT STATE~ ; " "; R~ID$; " '~; RS~S; " '~;
5ITF$; ~ ; TDN$; " "; RCD$; l ~; SPARE$
3ao6 ~OT~ 3803 3310 T~ ~ T~E~ ~ ttctr 3811 IF T~ > TT T}~N CI.S: RET~N: E~SE 3811 3 812 CI.OS:E 7: ttctr D Z ~ OP:EN QQS FOR APP~ AS 7:
CLOSE 7: LOCATE 1, 37: PRINr QQ~: OPEN QQ$ FO~
INP~T AS 7 . ~

3 ~ 7 3813 IF EOF(7) THEN 3815 ELSE INP~r "7, OQ$: ttc~-- 3 4: PRINT ~QS: GOTO 3 813 3 8 15 CLC~SE 7: GOTO 3 ~ 10 3 8 2 0 V$ = IN~EY$: IF V~ ~ ~3 l7 ~EN RE$UR~T: FLSE

3830 CC$ - "goto 3830 and reran": PRINTTONPAFII~
(CC~): CAIL RERtJN: C~IN "p~kecom"
LOC~I~NDLERl:
3900 WR -- CSRLIN: WC - POS (0~ .
IE E}~ ~ 57 ~:EN ER -- 57: RES~E NEXT
LOCATE 2 4, ~RINT "Error ~ "; ERR ; " in line number "; ER~
~OCPATE WR, WC
3901 I~ (E~R = 7 OR ERR 3 lq,) T}IEN SHEI~ "~OOT":
3902 ER - ERR: EL =~ E}~L: IF E~ 8 61 qHEN SHELL "DEI.
D:NPA": RESU~ 3955 3903 CE~$ ~ FNT~ISG$ ~ "E~ROR=~" + STRS (E:E~R) + "
I,INEY" ~ STR$ (ERI ): CI,OSE 8 : OPEN "E~ROR'I FOR
~PPEND ~as 8: PRINT #~, C~$: C~ ~ " ": CI.OSE B:
IF E~ ~ 76 OR ER -- 7S ~N S~IELL "BOOT"
3 9 0 4 IF E~ ~ 6 T}IEN RES~ NEXT
3905 IF ER ~ 62 AND tEL - 15 OR Eh ~ 51) TXEN RESU~
3g55 3906 IF E:R ~ 53 AND EL -- 1553 ~ CLLFI.G ~ Z~:
~E5U~ 1552 39û7 IF ER -- 53 AND :EL ~ 680 TX~ R}~SI~ 1340 3908 IF ER 3 53 AND EL ~ 2905 T~EN RES~OE 3020 t .~
3909 IF ER = 53 AND EL = ~000 THEM RESUME 9051 3010 IF ER = 68 THEN TCHGFLG = 1: TIMER OFF: DEF SEG
- &H40: POKE 2, &HF8: POKE 3, 2: DEF SEG = SG#:
TIMER ON: CAL~ DELAY2: RESUME t 3911 V$ = INKEY$: IF V$ = ~I THEN 3915 ELSE IF V$ =
"S" THEN SYSTEM
3915 IF ((ER = 53 OR ER = 52 OR ER = 62~ AND E~ = 50) 3916 IF ER = 53 AND EL = 9000 THEN RESUME 9050 3917 IF ER = 57 T~EN RESUMB
3918 IF ER - 52 THEN PRINT "fmrbas"
3930 ERC = ERC ~
3931 IF ERC ~ 4 ~HEN CALL RERUN2: IF RSTCTR = 0 THEN

3950 CHAIN "pokecom"
3955 CHAIN ''fmrins' 3956 CALL UPDATERSTAT: RESUME 50 4000 REM *

4005 xxr = 1: PHl$ = SPACE$(6): OPEN "R", 12, "D:NXXFILE", 58s NPA$ = MID$(0MID$, 1, 6) 4010 FIELD 12, 6 AS NP$, 6 AS SC$, 11 AS MODN$, 10 AS
PW$, 10 AS MD$, 4 AS BUD$, 11 AS TN$
4015 GET 12, xxr~ xxr = xxr ~ 1 ,~

:. ` ' , ' : '.' ' ': ' . ' ~ :

"~..~ ,f~S.....

~, 3 ~ ~ ?~

4016 IE xxr = 2 AND V~(NP$) - O THEN CLOSE 12: S~ELL
"del d:npa": SHELL "copy c:\~mr\nxx~lle d:":
G~TO 4005 40ZO IF N~$ ~ S2AC~St6) OR ASC(NP$) =~ O I~IEN 4035 4025 I~ ~rP$ = NPA$ l~N PHl$ ~ SC$: GOq~O 40~5 4 0 3 5 CLOSE 12: RETURN
4200 INPUT "Which ", V$: IF V$ - "e" OR V$ 3 "E" T}~
com~il$ = "ERRO~": EISE IF V~ - "x" OR Y$ = "X"
TH~N comfil$ - "thrawy": ELSE com:f~il$ ~ "N3?A" t ~ID~ (DATE$, 1, 5) 4 2 01 CLOSE 6: CLS : OPEN comf il $ FOR APPEND AS 6:
CLOSE 6: CIS : &OTO 4205 4202 com~ilS ~ "NPA" ~ MID$~DATE$, 1, 5) 4205 S~EIL "BROWSE " t- comfil$
4210 V$ ~ OEY$: IF VS ~ IEN R~ W: ELSE ~L210 4300 CAI:L UPDAl~STAT
4301 LOC~TE 12, 20: PRINT "('LEARI~G OUT COUNTE:RS "
4305 ChI~LG 8 Z~: SNNH# ~ Z~: S~DN# ~ Z~: ~IDN~
Z~: }IUSCTR 8 Z~ TROA~# ~ Z~: TACTt~ -~ Z~: TD~CTi~
-- Zi~ OPEN "textOtxt" FOR A~?PEND AS 15: CLOSE
15: RI~ ~text . txt"
4310 Cl~ UPDATE~STiT: SXI~ "copy d:*.* c:\temp:":
S~IEIh "~300T"
9000 Dlm$ ~ "": OPEN I'BlJSY~' P'OR INP~ AS 6~ RN = Z~:
IF SNDD j~ < O 1~ SNDD# =~ O
9 0 01 I~ SNDF ~ ~ O 1~ SNDF $ -- O

.
, -~ ~ ~ r ~ ~ ~ 7 9002 IF ~CDAFLG < O TXEN NOD~I.G a o 9 0 O ~ IF MODDFLG < O l~N ~ODDFI.~; Y o 9007 I:? EOF(6) T}IEP~ 5050 9008 INPUT ~6, qS: INPUT j~6, Sl~: INPU'r it6, 52~:
INPUT #6, S3$ ~ 6, S4$: INPUl~ ~,6, SS$:
INPUT ~6, S6$: INPtJT ~6, 57$: INP~T #6, S8$
9011 IF INSI~(q$, "ACTSND") AND YAL(Sl$) ~ 4 ~N
SNDF~ -- SNDFt~ + 1: GOTO 9020 9012 IF INSl~(q$, "ACTSND") AND VAL(Sl$) -- 4 l~N
~ODAFLG ~ ~ODAFI,G + l: Gt~'rO 9020 9013 I}? INSTR(q$, "DEASND") AND VA1(Sl~;) < 4 ~N
S~IDD~ ~ SNI:)D# ~ l: GOTO 9020 9al4 :I:F INS5R(t~$, "DEASND"~ AND VA~(Sl$) -- 4 TFI:EN
MODDFLG = l~ODDFLG + l: GOTO 9 0 2 0 9020 C~IL UPDATE~STAT: CLOSE 13: OPEN 'IR", 13, q$, 48 9021 FIELD 13, 2 AS STATE$, 10 AS R~ID!;, 8 AS RSER$, 6 AS SITE$, 10 AS TDNS, 4 AS RCD$, 6 AS S~?ARE~, :2 AS SWN$
9022 RN - RN + 1 9025 LSET STATE$ ~ Sl!~;: LSET RMID$ -- S2$: LSET RSER$
a S3$: SET SITE~ S4$: LSET TDN$ ~ S5$: LSET
RCD$ ~ S6$: I.SET 5PARE$ -- S~?ACE$(4) + ~qID$(S7$, 5, 2): LSET SWN$ - S8$: PtJT 13, RN
9030 GOS~JB 905S- GOTO 9007 9050 C~;OSE 6: OP~J ItB~JSYI~ FOR APPEND AS 6: CIl~SE 6:
~ILI 1'B~SY~

`

., :
. . . . . . . .

,A.. ~.~ ~

9~51 C..OSE 13: CICS2 6: BUSFI.G ~ Z~: BTI~E ~ Z~
~PDAl~STAT: TI~ER ON: REl~N
90S3 CLQSE 11: C~LL FIELDl'NUM
IF VAL(56$) = O THEN CLOSE 11~ JRN
9060 zx -- V~L(S6~): GET 11, zx~ T ~$ 3 S2$ -- "
+ S3$: PU'r 11, Zx: CLC~SE 11: RETURN
10000 ::LOSE: ChS: BEE~: LOCATE 12, 15: CC)IOR 15, t 0: CC~ @@Q@@ WA~NING --A master reset has been invoked by operator --PLEASE WAIT Q@@@~@@":
PR:INl CC~: COLOR 7, O, 0: CC$ -- P~rl~SS(;$ ~ CC$:
CAI;~ PRINTTONPAFIIE ( CC$ ) 10002 CALL RE~IJN: CXAIN "pokecom"
13000 FOR t~c = 2 TO 7: ccs -- "~: FO:R zx9~ -- 1 TO 79: Xl' -- SC~EEN(t~c, zx%): CC$ ~ CC$ + CER$~X#): NEXT:
CALL PRIMTTOMPAFIIl~ (CC$): NEXT: PK$ ~ PlS : Pl~ -"YES": PlPFI.G ~ 1: GOSUB 147: Pl~ -- Pg~: PlPFLG
Z ~: CLS
13001 cclS =~ $ + " TC--" + S5'R$ (FNT~ ) + "
TA=~" + STR$ ~TACTi~) + 11 TD=~" + STR$ (TDa.CT~) ~
"ACT. TDN'S -- " + STRs(TTD~3 ~ '~ T9N'~ 3FT "
STR$ (~TD~Ai~ - TTDN~) IF ~ACT~ 0 ANl:~ SNDD# <-- O AND SNDF# ~ O AND
DACTi~ O AN~ MODAFI~ ~-- O AND ~IC)DDE'~G c=l O
T~tEN GOStJB 600: EI.SE REP'rINFIl~
13û04.GOStJB 14000: IF P6$ =e l'AIJTOPLEX100" 1~ P~ 3 11: ELSE P}~13N D 10 , ' : ', ' . '::

.:
.' ' ' , . -~
. . '':. . .: .

~2 3~
I~ Th~ 2 8 8 0 0 OR TI~ > 612 0 0 TH~N 13 0 0 6 E~SE I~ " T~ TESTFL~ S a "ACT": C~LL TESTC~LI, 13 00S ' I~ TI~ ~ 21600 AND TI~ ~ 21900 ~L~N WEIS
" ": TEST~ ~LI 'rEST~LI: E]:5E TESTFLG
:a O
13006 SANITYTEST 3 2X: IF TI~ > 28~00 AND TI~
64900! T~13N GOSUB 13010: RETURN: ELSE CLS:
RET~RN .
13010 IF INSl~(SDAS$, 'IN~A"~ TXEN RETURN
IF ~OAM~ -- O THEN T~OA~lX 8 FNTI~OA~: CLS :
RETIJRN .
13011 IF TRO~21~ - ~NTROA~ ~HEN callflg~ BEL~ -1: CC$ 3 FNT~SG$ ~ SDASS: C~L
PRINTTONPAFILE ~CC$): RET~: ELSE call~lg;~ =
Z ~
14000 OPEN "RSTAT" FOR INP~ AS 6: INPUT ~6, THAWF~G:
INP~ 6, TAC:T$~: INPtJT # 6, TDACT~: IN~JT # 6, ACTR# ~ T # 6, D~CT#: I~PU5! # 6, SNDF~: INP~T
#6, SND~#: INPtJT #6, FI~: IN}UT ~{6, FIl$: INl~T
~6, ~FFLG: INPU~ ~6, B~SFLG: IN~UT #6, ~TI~E:
6, RS~Cq~
14001 INP~ ~6, SNNM~: INPTJT #6, S~DN#: INP~T #6, MIDNV#: INR~ 6, B~SCT~: INPIJT ~6, TTDN~: INPUT
~ 6, BLT: IN~T # 6, MODE: IN~ ~ 6, CILFIl;: INPU r # 6, MODA~LG: INP~T # 6, ~ODDFLG: INP~r ~ 6, NCLLFIG: CI.OSE 6 1~0 . ",.
:
: ,,, ~ -3 ~ ~

20000 STDN$ - "/////": CLS: LOC~TE 12, 27: COLOR 15, O, O: INP~T "Enter Roamer to Sear~h ~or";
RSEARC~
20001 CIS : SFILE$ ~ "NPA" ~ LEET$(DATE$, S): CLOSE 6:
OPEN SFIT~$ FOR INPUT AS 6:
20002 IF EOF(6) TEEN 20050 ELSE LI~E INP~ ~6, q$:
20003 IF INSTR(q$, RSEARCX~) TH~N IF INS~R(q$, "ASSIGNED TE~PORARY") TEEN PRINT q$: STDN$ -RIGXT~(q$, 7): GOTO 20025 20004 IF INSTR(q$, RSEARC~$) THEN IF INSTR(q$, "
ACTI~ATION") THEN PRINT ~$: GOTO 20025 20005 IF INSTR(q$, RSEARC~I$) ~ N IF INSTR(qS, "DE-ACTIVATION") T~EN PRINT qS: GOTO 20025 20006 IF INSTR(q$, STDN$) TXEN IF INSTR(q$, "mobile not ~ound") TH~N PRINT qS: GOTO 20025 20007 I~ INSTR(q~, STDN$) TXEN IF INST~qS, "mobil~
wa~ busy") T~EN PRINT g~: GOTO 20025 20010 IF INSTR(q$, STDNS) THEN IF INST~$, "unsucce~ully") TXEN PRINT qS: GOTO 20025 20011 I~ INSTR(q$, STDNS~ TXEN I~ INSTR(q$, "was noti~ied"~ T~N PRINT g$

20050 ~EY OFF: ~OCaT~ 25, 33: COLOR 15, 0, 0: P~I~T
"End o~ Search"; : INP~T q$: COLOR 7, 0, 0: CLS:
Rl~T~N

., - .: : .

: :, : :

1~22~9 d K}:YS:
V$ ~ IN~Y$: IF VS =~ " " ~IEN GOTO KEY~ND
IF ASC (V~) -- l9 T~ GOSIJEI 129: GOTO K~:YEND
IF ASC(VS) ~ 16 l'n~ GC~SUB WP~T~ICA~: GOTO ~YEND
IF ASC~V$~ ~ 20 TX}:N GQS~B 111: GOTO ~:YEND
IF ~SC (VS) ~ 12 TX~N GOS~B 165: GOTO ÆYEND
IF ASC (V$ ) ~ 10 TH~:N GOSUB 115: GOTO KEYEND
IF ASC (VS) - 6 l~N CXAIN "fmrins"
IF ~SC(V$) ~ 1 I~N GOSUB 4200: GOTO R}~Y~ND
IF ~SC (V$ ) -- 4 l~N GOS~ 19 0 0: GOTO :~OEYEND
IF ASC (V$ ) -- 15 THEN GOS~B PRFI~;: GaTo KEYEND
IF ASC(V$) 5 q~N GOSUB 3800: GOTO ~YEND
IF ASC(V$) -- 7 T~N GOSUB 128: GOTO ~OEY ND
IF ASC(V$) ~ 24 T~IEN TXAWFLG -- 4: GOSI}B 500:
I~WFLG -- Z ~: GOTO ~OEY~ND
IF ASC (V~) ~ 2 THEN GOSUEI 127: GOTO REYEND
IF ASC (V$) -- 8 TXEN GOSUB 20000: GOTO }~EYEND
IF ASC (~$) ~ 25 l~N CALh TESTC~LL500 ~EYEND:
V $ 9 I:F rsval ~ O l~EN rs~ral~ - "10": rsval ~ 10: ~Y 6, rsval~
RETURN

PRFIG:
I~ PRNF~G ~ O l~EN PRNFI~ ~ 1: ELSE PRNFLG -~ O
IF PRNFIG a 1 l~N ~EY 6, IIP~WOFFl': EI.SE }~EY 6, li2 . . : .

" ~NCN "
RET~N
WATC~IChLL:
IF ~ODE -- O TXEN PO~L& -- Z X: RET~N
PO~?LG -- PO~FI~ t 1: IF PO~?LG ~ 3 I~IEN POKELG -- 2 ",:
IF PO~ O TH~N DEF SEG 3 SGX,: POKE 7, 250~ Y 5, "NO~"
IF POKFLG ~ 3 q~N DEF SEG -- SG~: POR~: 7, 255: ÆY 5, "NOBOOT "
IF PO:E~?LG -- 2 ~HEN DEF SEG -- SG~: PO}~S 7, 5: KEY 5, "POX~=5"
IF ~OKP'LG =~ 1 q~EN DEF SEG ~ SG~: PO~:E 7, 1: ÆY 5, "PO~3=1"
REqlJRN

.

: . :` , ..
~, : . , : .:

:-: ~

~ 32.23~
P~_N~IX 3 FMR.3AS GLOSS~RY
P.~RT A: VLRIA3LES AN~ F~GS
~mDNA~: This variable represents ~he number of temporary numbers currently in use..
~N: This variable represents the total number o~
temporary numbers allocated to ~h~ pra~ram.
XAWF~G: When set, this variable indicate~ that nine consecutive errors have been encoulltered whil~ t~ying to either activate or deactivate a roamer. Nhen ~WFLG is set, ~he appropriate FMR.BAS modules will dial the central monitoring syste~ and in~orm the system that an actiYation or deactivation process has ~ailed.
CXGFLG: When set, TCXG~LG indicat~s that another module ha¢ interrupted t~e original ti~er values and that F~R.BAS should reset ~hose value~ to ~he original values.
ATD: This variabl~ is set to indicatQ how many processes (activation~ or deactivations) arP
then currently pending.
ODAFLG: MODA~LG is set by ROAMER~OME to indicate ~hat an ac~ivation is pending and that all necessary data from the xoamer'~ home swltch has been received. When F~R.~AS encounters MOD~FLG ~lag set, it call3 th9 appropriate FMRxxxx module to react to responses . . ~ .

'' ', : ` '. ~.
,, ~
' ' ' , ,~, ' ;, ' ' ;

received f-om the roamer's home switch~
(FMRxx~x is deter~ined by the type o~ MTSO
switch to which the FMR processor is appended, it being understood ~hat ~e details o~ various programmin~ steps in the FNRxxx~ sukroutines axe switch-dep~ndent.
~DFLG: W DDF~& is set by ROA~E~HOME to indicate that a deactiYation requ~st has been receivad and that all necessary data ~rom ~he roamer's home switc~ has been received.
~hen F~RqBAS encounters MODDFLG ~laq set, it calls the appropriate FMRxxxx module, to react to responses received ~rom the roamer's home switch.
UFFLG: BUFFLG is set by the subro~tine PEE~CALL.
PEEXCALh will set 3UFF~G i~ call record data is passed by the background program to a predetermined buf~er, i~e., to a bloc~ o~
continuous memory. When BUFFLG is set, the ~ollowlng processing step~ take place:
1) A jump is made to a subroutine which collects this.data (Step 044).
2) The data is ~ormatted (Step 05Z).
3) The data is checked ~or validl~y (Step 05~
4) The roamer'~ NPA NXX is verified to exist in NXX~Ih~ so, variable SC~

. . :,. 1~ . . .

. .: :. :
. ::: , ~ :

~ '7 is set to correspond to t~.e roamer's home switc~, i.e., A~STT~, HSTNTX, etc.
5) Data in ACTI~E file or DE~CTI~E ~ile is stored.
6) Either ACTR~ or DACT~ ~lag is set (Step G515).
DAC~X: This flag, if set, indicates that a deactivation request has been received. A~
5tep 45, a jump is ~ade to a subroutine which:
1~ Chec~s all active temporary ~umbers ~ar one assigned to the mobile which requested the deactivation.
2) If one is not found, ~rints a message to the transaction ~ile to indicate a deact.ivation was requested by a mobile who did not have a temporary n~mber assigned.
3) I~ a match i5 found, a cheGX i~ made to ensur~ that the requesting subscriber is not ~le currently undergoing ei~her an acti~ration or a deactivation~
~) When all chec~s are positive, the roamer~ DATA is moved to a file call DEASND (deactivation pending to sent to switches), DACT~ is reset, and S~DD~ is s~t.

~' r '` . ;.! , ~ 3 22 3~f 7 C~ This ~lag, i~ set, indicat2s ~at an ac~ivation re~uest has been racPived. A
ju~p i~ made (Step 045) tf'ff a subroutine in which ~h~ following procassing steps occur:
1) A11 te~porary number~ ara check~d to in ure ~hat a numkfer has not already been assigned to the roamer. If not, th~ next available tsmporary num~ffer is seized.
2) If all temporary numbers are :in use, a warning message is printed to the screen, and an audible tone is sounded to alert ~e subscriber.
3) I~ a temporary number is already assigned to the ~obile, a determination is made whether three hours have elapsed since a ~irst activation. I~
s~, DDUPF~AG is ~et. A ~essage is written to transaction ~ile to indicate a reacttvation in home switoh only. I~ f less than three hours ha~s el psed, then a message is written to transaction file to indicate duplicate activation.
4) I~ more than three hours have not elaps2d or this is not a valid ~uplicate activation, the ~ollowin~

- . ., . :
: .

.:

~223~7 variables in the respective TNUM file are given the values indicated below.
U$ (used field) = ~y~l M$ (roamer ID field) = Roamer~s MID and ESN
DEAT$ (auto deact field) = " "
S$ (commands send field) = "N~
D~A$ (current date) = Dat:e PH1$ ~site code field) = Roamer~s home site SNDF#: This flag, if set, indicates that a request to vexify a roamer and call forward him to a tempora~y number at his home switch has been made. FIl$ will be set to ACTSND, and ~MR.BAS will assume processing control.
SND~: This flag, if set, indicates that a request to cancel call forwarding in roamer's home switch has been made. FI1$ is set to equal DEASND, and FMR.BAS
will assume processing control.
Ç~J~/Ja~: This flag, if set, indicates that there is a potential problem in extracting call records from a source. A message is printed to the screen to alert the user. ~he message is also printed to the daily transaction file and sent to a central monitoring center.
PORTFLG: This flag, if set, indicates that trouble has been been encountered four consecutive times ~ 3~
in t~yins to ~stablish communication bet~een the FMR processor and a cQllular switch. An er-or message is printed to the transac~.on ~ile and i~ ~ent to a central monitoring centar.
HSTNF~G: This flag, i~ set, indicates ~hat attempt~
to communicate wi~h an EMX 2500 switch, ~cr example, have failed because too many operators were logged onto the switch. A
corresponding message is printed to the transaction ~ile and sent to ~anitoring center.
NHRl~: This variable is set to equal ~he current hour. ~R,BAS constantly comparss the value . o~ NHR1$ with the cuxrent time. When the hour changes, the top eight lines o~ the screen are printed to the transaction ~ile.
MODAFY~: This ~lag is set by F~. BAS after data co~unicatlon is complet~d with the roamer ' s home switch during an activatlon.
Speci~ically MODAFLG is set when the roamer is validated and the ro~mer is call ~orwarded to a temporary number ~ Modul e FMR.~AS s~ts variable FI1$ to equal ACTSND
and dQter~ines which type o~ switch the FMR
prOC~550r i5 collocated with, then calls the corr~sponding 50~WarQ ~odule.

, . . . . . .

.

,, ~C'O~TG: This flaq is set by FMR.B~5 set after data communication is completed with the roamer's home switch duxing a deacti~ation.
Speci~ically MODDFLG is set when ca:Ll ~orwarding i~ cancelled in raa~er 1 5 home switch. F~R.~AS sets variable FIl$ to equal DEASND and det rmines which type o~ switch the F~R processor is collocated wi~h, then calls eorresponding software ~odule.
FLG: This ~lag may be set by FMR.BAS to indicate ~hat a co~and to a switch was not completed and was put in the 3~5YFIL~ to be tried again later.
Thi~ i~ a timer which is set to approximately 15 seconds later than the ..
actual time upon which a co~mand was put in the BUSYFILE. FMR.BAS ~onitors this tl~er and, should it expire when B~SFIG is set, then call~ a subroutine which pull~ thQ data out o~ BUSYFIIE, detQrmines ~ho~he~ an ac~ivation or deactivation wa~ in process, and ~et~ appropriat~ ~lags.
~F~: A~T~LG is continually monitore~ along with tho current time. When the ti~a is 23:55:00 and ~UTFIÇ i~ ~ 0, a routine to automatlcally check th~ temp~rary number is in~ked. This routi~Q will check ~or actl~e temporary numbers. When ona ig found, a 1~0 . .
,, , . . - : , .. : ~ ' .

~; ~

deactivatlon cr~ er is generated and appropriate deacti~ation fla~s are set.
A~ter all temporary n~ber are deactivated, AUTFLG is set to 999. ~MR.BAS will rPact to ~his value by re~o~ting ~he computer.$YTM1: This variable is set to the present time plus 30 seconds when an ~perator depress a Cntll~', allowing access to th~ ~OT ~EYs.
FNR.BAS monitors this timer value and, when it expires, extinguishes tha 25th line and disallows acc ss to the ~OT R~Ys~LLFLG: This variable is set by an FMRxxx module, where ~xx may be 500, 010, 1000, loa, or ASTO. A~ter an activation is complete, a check is made of the HOME ~ile to deter~ine whether positive or negative noti~ication is being used. I~ po~itive, this variable is set. FMR.~AS monitors ChLFLG, and, if CLL~IG is set and no o~her wor~ is pendinq, ~hen a call i~ ~ade to "WATSO~ "WATSON"
is ~h~ so~t~are modul~ that ~hen calls the roamer and informs him that his call~ are now beinq Sorwarded to him.CLLF~&: NCLL~LG is set by an F~Rxxx module. I~ an act~Yation has Sailed, a check is made ~S
t~e ~OME ~ile to dete~ine whether positive or negative noti~lcat'on is being used~ IS
negative this variable is se~, F~R.BAS

.. .. :. . , :.

~ ~3 2 ~
monitors NCLLFLG, and, if NCLLFLG is set and no other work is panding, a call is made to "WATSON. Il "WA~SON~ is a software module that calls the roamar and informs him that his activation has failed and to try again.
SKIPs This flag, when set, indicates thatt because of some aberrant circumstance, the proclessing then in progress is to be diverted from its otherwise normal flow. For example, if FMR.BAS is undergoing a transaction that requires communication to a specific home switch and during DIALCQNNECT (see Appendix B, Part B and Appendix C.5) it is determined that a necessary communications port is out of service, then SKIP will be set so as to circumvent subsequent transactions that require that communications port. ~ !
HOME: This flag, when set, indicates that FMR.BAS is then operating in a HOME.x subroutine.
DUPFLG: This flag is set when an 'linvalid" duplicate activation request is detected. As a result, FMR.BAS efectively discards the request.
DDUPFLG: This 1ag is ~et when a "valid" duplicate activation request is detected. As a result, the CMR : :
subæcriber is subse~uently re-activated by FMR.BAS
in his home switch. ~`

.

. . . . .
.; , . . , . ,i , ~L3~39~
P.~ B- SU3ROU~ S
C~LLSORT. C~LI50~ sorte incoming messages f-om F~R.EX~C into groups having the same home switch.
C~EARFIL~: CLE~RFILE sets all ~eld~ in AC~SND or DEASND ~ile to null values.
CT,~AR~ CLE~RTNU~ sets all fields in ~M file to initial values.
co~rER: CONVE~ is used only during testing. It converts ASCII keyboaxd characters into the corresponding hexadeci~al value, then packs the convexted characters into a buffer to si~ulak~ the reception o~ a call via the AST FOUR POR~ CARD.
IALCONNEC~: DIALCONNECT is called when FMR.~AS has d~cided, in Step 0910, which ho~e switch is to be called. DI~LCONNECT
enters ~he NPA NXX ~ile and det~rmines, ~or example, that the request ~or F~
ser~ice has been 3ad~ ~or the bena~it o~ a mobile unit associated with the NPA, 713 8~2, that is, ~ouston, Texas.
I~e subroutinQ then determines the manner in which a communications link is to be established with the correspondin~ ~ouston swi~ch. For exampl~, is the swit~h coupled to a dedicated net~ork, e.g. TQlen~t, to ., . : . ~
.~; , , .
.:~
,, : .:: .. :, ~; ;; :
i ` , .," ::

~ 3 ~ 7 whic~ t~e ~R processor can simpl~
attach? Alternatively, must communicati~ns be established in a dial-up mcde?
DELAY~: DELAY2 is used to delay program execution for 2 ~econds.
DOUBLEDABBLE: DO~BL2DA~LE converts a decimal serial `~
number, as displ~yed in an ~;TRONET
switch customer overlay data base, into its hexadecimal e~uivalent.
hDq~nJ~~ FI~LDT~ opens the ~N~N file as a random file and accordingly ~ormats ~N~M into twelve ~ields.
~5~R: GETC~AR is used when data must be retrieved from a switch via communication port #2. GETCXAR will retrieve data, one character at a t~me, and build a stri~ ~rom that data~
GETTN~: GETTN~I determin~ th~ total number of temporary nu~ber~ which ~h~ program has available to worX with. This ~alue will vary from machine to machine.
~A~ 9~X: ~NUFTOHEX con~erts a manu~acturer's ~erial number, a~ d~splayed in ~he A~TOPLæX 10 subscriber data base, into its hexadecimal equivalent.
95a~EE~: OCTTOEEX co~vert~ an octal s~rial nu~ber, as displayad in the A~TOPLEX

.
: , ' '`

-,, ~

~ 3~
100 subscriber data base, into its hexadecimal equivalent.
PEEKCALL: PEEKCAL~ is used to retrieve calls from the background program, store them in ]3UFILE file, and then set BUFFLG.
REMOVESPACES REMOV~SPACES is used to remove spaces from a string.
RERUN: ~ERUN i~ used at any time by any module that determines that the program is function:ing improperly. RERUN routine is called to reset all flag~, clear all files, and rerun the program.
RERUN~: RERUN2 is called when a program error i8 ___ encountered. RERUN2 lceeps track of the number of times and time intervals between program errors.
If five consecutive errors are encountered, the system is re-booted.
SNDlOP~NFIELD: SNDlOPENFIELD is used to open and field ACTSND and DEASND files.
TESTCALL: TESTCALL is used only during tes~ing. TESTCALL will simulate fifty simultaneou~ activation and fifty deactivation attempts.
TIMESUB: TIMESUB is called by Advanced BASIC's ~ON TIMER" function.
TIMESUB is arranged to be called every two seconds.
However, various modules and/or subroutines will ~ .

125 ~

., .. . ,;, " :, " , i :; ," ,~ ", ~ 3~3~`7 --chanse this value. ~hen T~MESUB is called, checXs are done to ensure that ~e bac.~ground program is running and, if so, the "heartbeat," i.e., '~/-', is displayed in ~he upper left-hand corner Q~ the screen.
NUMSTABILITY: TNU~STABILITY is called each time the progra~ is rerun. TNU~STABIL.ITY checXs ~he validity o~ the data in ~NUM file.
If invalid data is encountered, the TNU~ recard is cleared, and a messa~e is printed to the transaction file to indicate which temporary number has been fixed.
PDATERSTAT: UPDATERSTAT is called by various modules whenever data which is stored in ~ile RSTA~ changes value.
UP~E~STAT does the updates to RSTAT
~ile.
~LIDATENPA: VALIDAT~NPA searche3 ~h~ ~PA ~iles ~or a ~atch wi~h the roamer NP~ NXX. If a match is ~oundt tha ~ollowing ~ariables are passed back to thB calling module:
PA5SWD$ - Passwcrd o~ roamer's home switch ~ODE$ - ~sername/~ode, which allows access to subscriber data bas~

' . . :
.
:

lL322~97 ,-B~D$ - Baud rate of mcdem conr.ec_3d to recant change port.
DAT~CHEC'~: DAT~CXEC~ deter~ines whether ~he current real actual has passed 12:00 PM
(midnight). Is so, the FNR system initiates an automatic deactivation o~
all currently acti~ated roaming suhscribers.
DELAY5: DELAYS simply inserts, at the implicated point in ~he processing seque~ce, a 5-second delay.
DEN ~ DLER: DENYXANDLER is called upon when a request for F~R service is received ~rom a subscriber who must be denied service. DENYHANDrFR logs an appropriate messa~e to a chronological ~ile and denies the subscriber FMR
service.
NEGW~TSON: NEGWATSON is call~d ln circu3stances when no c~ ac~ is provided to an activated subscrib~r upon activation.
_~Z~?~: QPE~ACSND ~mply oplans th~ ACSND ~iles.
P~TIN3~$YFII~ TINE~USYFILE seizes an incompleted . transaction, stores the transaction in a ~ile, and recalls the transac:tion 15 seconds laterOAVENPA~L~. S~VENP~FILE ~rites the chronological sequenc~ o~ ev~nts that occur during ~ 3~239~ ^
t~Le course of a t_ansac: ion. These events can then be recalled and examin~d at a subse~uent time.
STA~S: STA~US chec}cs the Comm Port to determlne whethex lt is activ2.
~9~1Ç~: NATSONCA~ calls the voice card in the ~R proc essor to transmit a call-bac:k to the subscri~er upon activation.

.. . . .
. .
.
,. .

~2239~
~?~ T~ C
C . 1 C.~.LLS oRm nJa C~3 LSORr ON ~tROR 60T~ t~l Bl~ SU3 CIE~RFII2 SiB CLERRFILE
Srla~ED TSs~ it111~S ~RS SITE; TON~1 Rt~ ~s !~ RN
LS~T 51RT~E.$ = TSS: L~ RllIDS = SPP~:S(10): LSEr ~Eas = SPRC $~31: LS~ 51TES = SPRCE$~6~: L T TWIS = SPR~5(101: LS~T RCDS = R~.: PU
T ~ ~N
Ta~6FL6 = 1 C. 3 END Stl9 CT EARTNU~
SU3 6LqRTNU~
01'1 ERRCR GOIO LOCP~LLERl:
V~L~RC~S~
L~ ul = N~: L5~T ~lS = SP~CES~I: L~T Ss - : L~:T D~TS -L ~T Tls = SPR~S t81: L~T DT~s SPRCES~IOI: L~T l~Hls = SPRCES(6~:
LS-T F:s = SPR(~S~3~ CD~ C.4 E11D ~lla CONVER fQ!~

U3 ~NEq lWS1 O~i ERROR 60TD LO'~ ~Rl:
Pt~ 4) ~ tP~K~S) 1.. - O: ~.rZ: C3:~ ~ Fl~
~iiR X 7 I TO LEI IS1 ST~P 2 JF ~ L.~stXs, 11) ~ 5J TH!~11 Rl'': a$tLE~slTs~ llJ - 55~ E~ R15~ ~ ~S.CIU;:l~S~t~ l)l - ~a IF PSC~RtIErtTSt~Sl 111 ) 57 T~N ~ = ~tRl~TStXSl Ill ~ _1.
~ Rl~ ~ 16~
POKE tptr~ ~ XZi~ X~ = ~X ~ I

p~ ~ P~K(31- p;~ = p~ Pl~ = P1 P~ lNTtPI~ ~OD S~: P~E 5~ INTIPI~ : PCKE_l p~

12g 1~5 = ~
a~ ~s ~32~97 - C.5 DI.~LCONN~CT

~IJe DIR'JDffl~T

Il Pl~ lK)I 6010 ~LslRlE3l il~ lr i~linlFlli1, 1, 11 ~ ~r ~ ~1~1~11~ 1, Il , I T~T~ T~ ' 11 1~! In~tl ~IU Cll 2~ If ~ ? T~N )i~ tll, 21 t~ ~i1~111 n~ut ~ 311 p~ , RTDI- ~ P~
Cq~ ini~Us Ir ]ilSlll~t, alDT'l lH~ iiDTO ~ilRTQt ~ Ir l:~n ~ li~l 116~ ' 1~ Pll~ ; t ~10 'A
~LStatES~I ~ t,alû C~5ta~1 ~1 EFII IRFt Ir li'Sl~lRI, '~1 T I lH~ iOTO C~LSIA .1 ilS~ IF 1~ ' ~ C~l 1161~1~, '~'11 T~H a61f ~ 11 IslRlEl ~ 31 ~nl~rliF~ ~010 C~LStRTE19~ 60W ~USlaTe i,Otll W51atEI~
Plllilt ~1 ~ Y-lid p!to~ nuuff~ - lilr~ DRIA- t 111: ~ lN 'p~r:Y' D~F 'u- Ii~: PtXr Z, ~r~9: Prxt 3, 2:
~EF SE~; ~ SGT IlPlYl~36l P;Bp ~H t~ 3-Re C~L ~Lre: cr~ ~e ' i~ PFm Ft as 2:
F~lU~
.

Ir~#lHI

PlIHI îZ~ t7'1 i11I ~ '~,': il~1 F~: N: F
Ct~L E~ P: iF liGlillRl, Itlll IFrcH ~O10 ~DEIIINITF~lUllN: tlS IF Ral ~ ~cl ~n ~10 N~JtF'S?: Fl" W10 r~DC~U
PF~ , RIH-: n~ t~-C~L E~t~ IF lN;T~la~ Tt~N EOTO ~snlNll~: EL~' Ir F~: ~ ~ 11EN ~T0 1~5P~ FLS~ EO10 r~n~N

mn~
lELR~: F~iU~N
CL~ Z CS ~ C~H: 0~ iS)~II L~RTE 2~ ,?: ~IINl 1~ ~W. Æsi~rE:
L~TE t5, cr:
i~F~TRt ~TlY ~ 11 IF it~c~tar 1 5 T~N C~IH pcl~
C~L DQRr2: Cr~ D~ 2: R~3 DIF~: Erno I~U~
ttl~t:
t~ L F711~sllt~ 21: ~tll U5~llttlsl: lF tllS I lC l~N Dlr~rCE ~ lD11F~11, 2, IB/IF11111 - 11 1~ 11~ ~ I 1~: ~ ~rDlSiitl: F~Ls~ It Ti~n ~ Tt~; G~10 Tr~tl 1~ Tt~rll t ~t E~TO tO~ al ~ ~: WtO ~d~:t2 TI~TIt IF LENttwcll t 6 Ti~ll Pi~ ,E,7,1,Ce,DS,FE-lla~l ~ t~ eS ~ z~ lpl: Cr~L i~R
llFT2:
IF Li~lZI tl t. THZN tll ~ ll~nltL~t21~ 21: EinD IR--TZ
IF l'aDC E ll~h' ~i I~llNltl CTttll ~ la: D11 ~ FR0111: FP.ll(T IZ~ DZI: ro- ~ AIDI
IF i~ ~ N 61S~5 ~IHIT~ CTWT ~ ID: Dlt ~. 'alDlr ~1tl~-: PlIRT 1_~ Dll: r.l1 ~ aTDl~
C~LL Ell~P.: IF iH;liltPI~ 15tSI li~ ~TQ TEl~: E! li- itAl ~ rcl THZb' ilUS~ 1: i~tl~!SlFlLE: EOTO lN-TP~I: i~
S~TQ Tl~l~
Tlr T~
r.;t Flil~: i~ Flll~: r~l n~:
li ll~illl~ ~t'1 1~ 551TTI ~COtC0~1 T
Ir Fdn ~ rr~ ~F ~ t: FSTAlEI ~ ll: tuT~ LF~: DqlO tLCTi~T .~1 Tl~ p~f r 1 r-Ta~ It: rnll.~.
5_10 lR-14 '~
, , ;', : : , ,. :
. . ~; ~.':': '' ' , " ' ~2'~3~
.
~n ~r ~ -~1 t~RI V21)~1 IZ C)~IIDII
P~l~ll IZ D~
~t~2t C~L r~t~ Ir 1~ , ~urt ~ r~nl~r~ t ~nFn IF IXSl~?'1 P13 lK~r ~ l~P Pll~l 14 1r~111 lHS~F ~ 1: 6010 ~8m~cl2 IF l)fillt~t~ ?'1 ~R 1)61~ I ltE!t Cqll(l 12, t-.. t~ 2: 6~10 ~d~CI
Il Itfil1lRl~ '1tlFFI. I Dl ltlS~C ' I llU V7111 12, Ir.~ 6D10 ~1arr.~ct2 li llfil21~t~ ff~'l Pt~P Dlt~G I l~lt LO10 DII~DS
Ip ItEil7IR F;~lll~t l)~t l)~H t ~S~JSfltl ?1 ~IF~S ~ 1: Pu~ tt~ s~10 It ~hSll~V~, '~-~ ~t 1~ ~ Il V~lK~F~oE: ~0 l~l7n IF P~t ~ r~ lKU ~6rr ~ 1~ Pltrlh~r;l: ~tlO l~C,1.7El Ir ltlSlllIRtl ~-] lK}t Flltn I2~ OIR11U)1 I Ull t~Lqr2 5111D ~ddreo~7re12 vO~7~pn ~ tl r~F
12)~ Iu~ 211 Brl Lw~
F!)10 lU'18cl l~lDI51H~
PplNT 12, t-111~16~1~taR:
~t~ S T~R ~ EL IF llfil8~a1~ '?'1 ll~N 5010 lN-lDlSl D~(: 'ISc :F ~1 rc1 II{~N llC~I
t: EOIO T)~lRElI ELSF EalO l)~lf,~lala8 ol~CTI I
P81N1 12~ D-ERL E~7[~R: If l;5TRl~31 N~T ~Sl~!'I OR IH5181al~ 'Dlslt~Llr-D~ b' GOTD N~71CH fl IF RR ~ r._1 ll~N TI~IIT ~ t: S~t O lU_7D15~(RETL~ ~ E : E010 lU!ElG~TalaRI
/5TloN:
lN~I ' I I
lHrlD]5~8~1URN:
.7cT~
.

DltU)S: nWT ~ t u~L l1ELRr2: PRIN7 12~ T!S~
Olq' 951:
jF IllSl81Rl, N~l ot~8~T~ It BSlPl~l ~ 7t Y.lPf1E 1: PUtlUBU57FlLc. GOIO D1R' 05R_T
SIlTO D1RIS1 r I R~SE?:
U ~i ~ T ll~U llC1111 1~ EL 7111!(I t EO10 0.8BUr ~.~57RTrcle l~:LF ~ ?UT
Eul! ~UB

:, , . ; ., ' " ' , ' ::
. .: ;
: ' :, ., , :

C. 6 '~ 3 ~ 7 ~I C~YZ D~ .V '~
~I B~P 63TO U~l:
ST~T~Y:
Po s Tl~ ~ 2 W

IF PP ~ ~TI~R ~ i~ T~ E~TO sl~T~Y
LmP ~IL~ PP I Tl~

C.7 SU8 DlU81EDPg~ DOUBL~ D~BB~:
2'~ HS - PRS: IF U}llffS) ~) a TffEN CCs = 'IHVRCID ~ R FOa~ ao~ ~ + R~IDS t ~ ' ~ aa~cRs: CRLL PRI1~TO~ s1: 60TO WIJa!
~54 Fa~ X = 1 TO ~: Hs~x1 = HlDs(Hs~ X, 1~: 6GSUg ~XTGD'C: N~XT: 6~5U., ~CU~ P~a~l~ = 6EaC~Ps: 6GTO DOUPLER~:
HEXTOO~:
IF Hs~X~ ^ OR H5~X~ = a' TH~N Hs~x) = c IF H5~X1 = '8~ OR Hs~X1 = ~b~ T~ Hs~X~ = '11' IF H51X~ = C" aR Hslx) ~ Hs(X~ '12-IF HS~X1 = D~ OR H;(X1 = ~d~ 1~11 HS(XI - 13 IF H3~ OR H;(X~ HSlX~ = 14-IF Hslx) ~F OR H3~Xl = ~f~ N Hs~xl IS
e~la~
C ~.G~Ps ~16HTs(cT~;~vR-!Ht~l)) t 16 ^ 7 + VR!!H3~ 16 ~ 3 t VRL(H5(3~) t 16 ~ 5 t VRL~HS(41) t 16 ~ 4 + VRL~H5~511 t 16 ~ i + VR.
~Hs~61l t 16 ~ 2 t VR!lHS~711 t l6 ~ I + VRL~HS18111 a~
DGU~ CRET:
~D SU8 C.8 FI} :LDTN~M
StJB FIaDT~I
ON ERROR 6~TG LOCRl~IDlRl: -~DS~ 11: OP~ ~
FIELD ll, 10 ~5 t$, l RS us, ~ IS, l ~S S~ S DERT$, 8 RS TIS, 1~ ~5 DT~S 6 RS PHlS 3 ~S F~S 1~ RS ~LE~5 15 ~ I~D$, ~5 C~RS
a~ sua '~ ' , ~ :
,, ~23`9-7 C . 9 G~TC .
~IB 6ErCY~R
O~Y EMaR EUTO LG~LY~IDLE~I:
C~ 21 OF~: IF CTWT = O Th'~N TGUT - TI~R ~ ~S: ELS- TWT = TI~R + CT~UT
IF TII~F = 3 T~ IF ~CLYUPS = SITES~ OR (clY~U~s ~ E' ~D HO;lE = 11 TH21 TI~F = 0: EL~ Tl~
695 = ~ R5 = ^~ EIT~ = O
'~RlTFnRC~R:
lF L0~2~ ) ~ T}~' E~TO GOTCYRP
IF TIME~ ) TC~lT r-r4 EIT1 = ': bS = CHR3(21: liOT3 TIMECUT: EL'~ IF (TOUT - TIME~ 5 Th~4 TGUT = TIM~ ~ ;a CS - C~LIN: ~J = P05(31: LaC~TE 1, 60: PRINT TRTD: LOC~TE l, 70: PR14T (IOUT - TI~ERl: LOCRTE CS, n: ~TO '~.alTFORCl~R
60TI:HRR:
bS = INPUTS~I, 2): IOUT = TCllr + .92 IF (aS~(bs) = 1~ ~R RSC(bS) = ~ OR ASC(bS) ) IZ OR ~SC(bS) ~ 17 ca RSC~bS) = Iq OR ~SC~bS) - 161 THE~ 60TC ~P,ITFORCY~R:
a~ IF PRNFLG = ~ T~N PHlNT b5;
IF (EITI ) 1 P~4D LEI~(aS) ( 5) THEN P~S = nc~: 35TRTE~ = ~: PRI~n I~S: 6~TO ~TCY~RET: ELC~ IF Ell~ lHE11 liOTO
RET: ELC- IF aSC(bS! = 13 T~l EOTa LlNEiERt1111RTE: ELS IF ~SC(bS) = 3 TYN ~S - RS + ~
p,S = p,s + bS: IF lNSTQ~Rs, ncSl ThEN RRS - rcS: 60TO Q,~Ta~`RP~ET: EL - IF L!~(Rs) ) 125 TYEN ~s = ncS: ~TU 6~r~R;
ELC~e IF INSTQ~asl ~iIS1 TYEN GOTO PRNTRNDPET
IF lNSTQ~Rs~ M~S1 OR l~TR(Rs~ ~S) TH~ OTO PPWTRNDPT:
6CTn URITFORa~Q
LlNE~lNaT~:
If L6NIRS1 = ~ TH~N 6CTO URITFORGU,aR
IF (TIMF ,- ~ RNO INSTQlRs~ 'TI~E~11 Th~ ~b~ INSTP~(RS, ':'1: Y41 = Il~TQIPS, '/-~: IF ~X4# ~) ~ PI`iD Y4~ 1 T}EN DRTES = Ml~
IY4.. - 21, 8): IlMEs = Mloslas~ (X41~ - 211 ~): Tl~lF 1: PRINT ~Ti~te upclatzd~P~NTRNOP~T:
IF PQNFLG - I TYEN PQINT '-GeTCY~P~ET:
T~LG = 1 E~!D ~1~

c.la G~Tl~MI

CU~ 6~Nl~1 ON ERRGR 60T~ LOCP~NDL'RI:
CLOS~ 6: OPEN 'T~ FOR IN~UT RS 6 INPUT ~6~ ~S: P~ELOROO = yaL~xs1: xs =
CL~ 6:

. :~ ' ". ~' " : `

~23~-7 C . 11 JrTOh'---X

G'~ E2~0R E~T0 L0"~LUANDL~
F~R W = I TC 2: Hs~WI = MlDStR~---RSI Wt 1): 50'UD ~YUI: NEXT: DIS = HSII) ~ HSl2) D = NRL(HS~1~1 { 16 + VaL(Hs~21)) DIS = tlIDS(RS~RS~ 4t 5 IF I~NID151 ~ 5 THal F~R W = I T0 (S ~ U~I(DIS)): Dlt = "~' t DIS: ~X~
FOR YY ~ I T0 5. Hs(YY) = tllDS~DlS~ W~ 1): G0':Ug r~lll: NEXT
DD ~ VaL~Hs(l~l ~ 16 A 4 + V~(H~(21) ~ 16 ` 7 ~ YRL(HS(311 i 16 ` 2 + VaL(HS(4)) i 16 A I + YRL(HS(5~): SlM~DS = MlDSlStRS(D)~ 2) +
+ ItIDS~STR$(DD)~ cl: IF LEN(SI)~ SI = 11 TH~I G~Ta PW~JP~
tF LE~( IM'`~S) U 11 TH~N FOR Ml = I T0 (11 - L!~N(SlMCMDS)): SlMG~DS = MIDt(SlM~MD', lj 31 ~ t ~Ir'HTS(SlMCll'.DSt (11 ~ (11 ~ U~N(ST
MC;1D;~ + 3))~: ~YT: E3Ta MaMJRET
~R~UI:
IF aSC(H~(Wl) ) 57 TH.~I Dl = RSCIHS(W)) - ~': Hs~W) = ST113(DI) FElURN
MR.~1JRET:
EN0 Sllg OCTTOh'EX

C~ ~5(~=9~,~) ~0 ~ u3 ~t(~ i~ t~CC~ D

o0t0 0C I ~

0 F~R X = l T0 I~I~C~ P ~ F.P - 1: D ~ ~ t Ja9(C S~X
L~IRN
OCT2:
HS ~ ~ rlTs(ST~S(lNTlD / 6~35!~ IF V~LlHs) (~ ~ TH~J D = D - (6~6! ~ VRL(HS)) HS ~ Hs t ~EXs~D):
0Ct8!~:
ENO Sll9 ~ ' - -' ' ' ~' '' ~

: .
.

.
:: :

-` 13~23~7 C . 13 ?~ ~'XO.~L~L
.
; ~U8 ~C~LL
ROR ;OtO ~ IOtR1:
IF PE~((3J = ~ T~ ~l~ peohend ~115 = ~': 5 = PE~t3) FOR t = a 13 tS - 1~:
FOR 11 =~STtp~,tcg~ t ~t ~ (13) + Tl))) IF LE~I(TV') t) ~ Tl~l IYS = ~U'- t rY5 cltS ~ cll$ ~ lY5 IRIO ~ IRt~ t 1: OPB( '~:~UFILE' FO~ ~PPBi0 RS 16: PRIHT ~16, cllS: CLO 16: ~UF;L6 ~ 1 IF t ~ S THB' IF P~ () 5 IHEN S = PE~ ;(3) - I
~Xt: POK 4~ O: aoY~ 5~ 3: PGYE 31 :
peekend:

., ;

C.14 . ~ REMOVESP.~CE
.:

,.
SUS R~lCi~ PRCE
:; ON ERROR 63tU LOC~OI RI:
XS$ = ~
FOR XS = I TO LEN(SRS) IF MlDs(~s1 XS~ 11 ~) ' ' II~N IS$ = ISS t 11tOS(SRS~ XSl lJ
HEXT: SRs.= XS~

.'' .
'''~

~, .
.
:: 13 5 ... ~ .

.:
.. . ~

.`, . , .. . ...
. . , ~ , . . .

~3`~2:3~
C . 1~
~~~IJN

SU8 fiE~UN
CLaSE: OPEI R- 1l RCTS~ID- 46: C10_- 2: apBl R~ 2 ~S~ID- i6 FIELD 1 2 RS STRTElS La RS RMIDI5l ~ RS ~1 6 RS SlTElS Id RS TONI~ 4 RS RCDIS 6 PS SPRREls: FIEI~ 2 2 RS SIRrcSl L~ RS ~!!
s~ 9 RS RSE~S 6 RS SITES 1~ RS TC~I~t ~ Pfi ~a~, 6 ~S SPRfiE
CRLL 6E~nl:5I: FCR ;t = I TO hEl ORD~
6tT 1 X: IF VRL~STRTE151 () 3 R`iD VRLIRCDIS) R 3 THEN RN = VRI.~CDIS): 6~ ClERRTNl~
Ecl 2 X: IF VRL(STRrc3~ O d ~O v~(~ca~ N = V~lRCo51: EOSUa CLERRTI/U~
OSUD flERRRCT~D: pUT I X: 605UO CLCR~&I~I~O: PUT 2 ~: N~T: CLOSE 1: aos~ 2~ E.~UNl L T ST~TEL5 - S~RC~7~ r RMIDIS = SPRCci~13~: L~T RS-~13 = SPRCESl9): L~tT SITE!5 ~ SPROES16~: LtT TD~13 - SPRCE7(1d): L SP
~REls ~ SPRCE311 REII R.~
L~ ST~TE~ = SPRCE;~21: LScT ~lID3 = SPRCES~ , RSER3 = SP~CE;I9~: U _, SITES = SPRCE;~6~: L~T TOIIS = SPR~E;113): LS-:T SM~i = SPRCrS(lal CLlFLS = d: s~o~ = ~a: SYOF~ = a: RCTR5 - ~: OPICT~ = 3: ~FLS = ~: ~lFrLS = d: 3TlME = 3: RSTCT~ = d: C~L UPORTE~ST~T~ CLGSE: C~L!
UPSRTE~ISTRT
GPE~ ~:9USY' FOR RPPF~ID pS l Cl ~Sr l: Klll 'D:9US~
uHF~ '~py d:~.~ c:\t~p:~:
Gora RF~1210 CL~qRTNll~:
LCcT u~ LS-T MS = SPRCES~22): Lc T 5; ~ ~ LCrT DERT5: ~ ~ LSrT TTS: SPRC~5~31: LS~T OTRS: SPRC_i~ : Lr'T PHI5 = SPRC
~6): ISrT FFS = SPRC~c5~31: PUT ll~
RE~TURN

~F,~ID:
~NO SU3 C.16 R~r2 c~J~ R--~12 Ir TIM~R ~ F6TIMER T~EI
RrTCTR = ~STCTR ~ 1: ~LL UPORTF~ST~T
F! ~E ~sTcTrl - a: cr~ UPDRrERSiRT: ~E!l. 'COPY D:~.~ C:iTEl~P':
JlO IF
_~ SU9 SD18 SNDlOPE~:FIn~) RCR 61iTO L5C~ LERl:
~a NF: oP~ R'~ q5~ ~6 FIaD ~F, 2 RS STRT`clS~ Id RS RMIDI~ 9 ~S ~lSl 6 PS SlT_l5~ 5 TONI5~ ~ RS RCDl~, 6 FS PR~!S: RN = do C~D _U8 ~,~
~, .~, ..

, . , 13~2397 C . 17 '~ ~STC.~LL

~rØ7 E~ ~_r_ 201QI IF ~_: O TIJ~ 2~16 ~1~5 FC!S ~ L~FI c 9 1~ IF hHS = '' OR '~IS = '~CR' THB1 '~HS = ^rCT: E~c IF ~HS ~ RCT' T~?1 ~HS = ~ER~
^~lla CL05' 1~- KEY 3~ '~HS: O~N ~h~t~r- FDP~ INFUT as 13: FDR X = I TO 11: LINE INPUT ~1_, qS: NEAT: lLDSE 13 t~l15 qS ~ L~TSlqS~ L?1lq~1 - 1): 6DSIJD c~l27: .'~EXT cc~ D rlG = ~: EOTO t~st~nd 2CI^c7 lF ~16HTSl~,~, 31 = cll~ D I~S = ~D_q- T~U~N qS = L!~ s~qsl ll~llqS) - 3)J t 311 2~129 IF R1~HTSl~ t19' RNO hHS ~ '`~- T.~'tl qS = I~TSlqs1 0~NIq~l - 3)) + ~1 ~129 IF RllirlTsl~S~ 4) = R113C- P~10 ~IS = Fcr~- Tl~?l qS = LEFTs~qs~ ~L!~NIqs) - 4)) + R1?~
~155 P~INT qS
ûS - q~ S): R~U,D~

2~1cl ~LO 1': 0PEN 'h~c^' FOR INPUT RS 13: FDR X ~ 1 TO 11: L1~E INPUT 11~ qS: NEXT: OLDS_ 13 2al6S qS = LE~TSlqS, LEN(qs~ - 1): ~CDSUB 2~127: I~L3 = a:
t~s~
TIM~'. ~1: Ta~G~6 - 1:
ENO SlJ9 C.18 TIMEStJB

ON ER~OP. CaTO LOCRI~DLrt'~l:
161 lF ~ODE O O THEN RSCTP. = RSCTR + 1:
19~ IF PE!~l6~ - I THBI ~LT = ~LT t 1: IF eLT ) ~a IH~I cos = DRTES + ' ' + T11~5 + ~ ' i 8RSE ~ E TIME OUT~: CRLL PRlNTlONPRFlLÇ~C
S): SHELL '8WT~
194 IF PE9'~161 O I T)~ ~T = Q: POY~ 6, 1 1~ '~TO TIMERET
~~RT2~T:
CRa CSRL!N: CRO = POSIOI
IF POs = 't~ TLN POs = ~_a~ PCs: t~
IF CP~ = O OR ~RO = O T)~l CRO ~ 1: CPSl, I
OCRTE 1~ 1: PRINT PD$: LDCRIE CPSlq CRO
~URN

T~
TC~FL6 = I
ENO SU~

~: -.: ,, . ' , : - ~, ~ :

.-- -, ~. : . , 13~3~7 C.l9 T~ST.~ILI~"

19 tnu!tstability 1~ S~GD~ OR SNOF1 () a OR MOD~F16 ~ a OR ~a0D~L6 11 a OR ~U~FL6 ~1 ~ T~ Ei;lT~ T~!ID
TT~NI = a: ~s: L~TE 12, 35: PRINT 'T~ C~-U~l FIELDT~I
E~T 11, ~: IF u~ - 'Y- RNO S3 "1" Tl~ QCDS = STQi~X1: CC~ - 'Ro~er ' ~ eard tla5 ~lear ou' in INUtl file ': C~LL F~INTT~
IL~(CCS~: ~11 C~RRT~l IF uS = 'Y- ~'ID SS = Y- THEN TTOt~ = TTON~ t NEXT
rrM~o:
CPL~ UPORTE~STRT
B~O S113 C.~O
IJEt~AT~sTArr~

~RRED TRORM:t TRCT~, TDRCT~t RCTR'I, ORCT1, SlSOFlt SN001, Flst Fllst SUFFL6, 9LI'316, 9TlM!~t RSTCTR1 ~INMIt SRDNlt ~IIDN~I, 9USCTR, TI~L~
, ~Tt ~!DDE, CLLFl 6 ON ERRDR GDTO LOCPLHR~IOLCRl:
~O~S~. 13 GPEN 'RSTRT~ FOR OUTPUT RS 13:
SNDF~ PQI~ST 313 SNDD"l PRlNT 113 Fls PQINT 113t FII$: PQIM 31at OU~L6: PRINT 11~1 9U~6: PQINT ,IE
PRI~n ~18, RSTCTQ: PRINT 91û, 'iNNM~: PQI'IT al8, SfiONI: PRlNT 318, MICNIO: PQINT IIQ, E~SCTQ: PRINT ~18~ TTO~',',: P~INT ",13, ~LT: PRINT
8t I~OE: PQINT 11~, ~LFLE:
PQINT ~IQ, ~IODRFLG: PQlrrr q,l~t ~D00F16: PQINT ~13"1CLLFL6:
TC~F - 1 ,~ .
, ', C.21 VAI.IDATENZ~P
3JH V~~ TFJIPR
C~ F,;;Rall ~C LI~ERI:
FI~ ;, 5 RS NPI, b RS 5CS, Il Rra ~t, IO PS P~tj 1~ as l~Ds~ ~ RS t~, Il R6 THS
IF ' ~ll(l!:'.I~, 61 H~t TN9 tHII ~ t~lt'tt E!5 IF NP1 5~111 C~ ~'il!UI~11 O ~( 6tll~ ~IrST~TE~: 1 OTO llR:l~TRTE
I~5TRIl t ' 1~ ~F ~ ~ ~ T~N~'~ t I~ a~t ID
a~t 11IOSIaUDt, I, n - III
V~;~T~TE~: EL~ I ~ tNSlRII, l~tt, ' 1: tr~ 11IDslT1~tl 1, 1~ - 1l1 IF ~N- J~ ]1 TKN tr.~S '-li;lTC ~IOSIPTEi: 13 8 ~IDSIR~S:
~11 ~ '-t GU IE.a~ RIN '~'.-~_lOSTRTEE:C~ ~:
7~L5 '; ~0 9.18 .
.,.:
- ` ` : .
. i :
.. ..
~; ' :~ ':
.. .

~`22~9`7 C . 2 l DA'rE C.- ~ C~

SU8 dat2ch~ck QOR l;~T~ IIDI~
?~ = y~ D~r~
DYt = YRl lMIDStD~TES, ~, 2~:
YRI ~ Y~L~MlDslOfllES, 7, ~s ~ STRs(~ltû~):
OY5 = STRsl3ylt:
YRS - ST~s E~ID ~B

C.23 DEI~Y5 u'8 O~YS
a~ O~ s~Ta F~
STRRT~I~Y:
PF ~ TIMER ~ S
0~
IF PP ) (TIM~ + 13) THEN ~TO STMTOE~Y
O~P l~llE PP ) TIM~;I
~tlD Sl~
C.24 DENYH~I~

SU8 0ENYl~NDLE~
Ct~ E~Ol~ GOT~ FMIH~NDI E~
6~38 IF V~ (IDS~SPR~ES~ 5, 211 ~ 2 TH13~ 65T~EI = 18~ OK = Q: FPT~RP z ~: PUTlN~6YFILE: GOTO CE~iYRT
658l IF DSCI ~ O THEH C~ ERUN: GHRIN 'p~ke~s~' 6S35 IF aSTaTE~ = 12 IHB~ 6519 6510 ÆT 11~ DSC~ = M~: LSET MS = SPF~ES(22): LSET SS - ~ : 95ET oFRTS: SPRCES111: LSET TIS ~ SPRCES~1: 15ET PHlt = SPRCES:
LS-T FES = SPRC~$~31: LCET DTRS = SPROEStl~ ET IlS = N~: Pur ll, DSC~
6513 IF S~UK z 5 TI~N COS z FNE~MS~t ~ ~TT. I~ RCT HIS FP DION T RiLOII F~IR RCTIVRTtON : CQlL PFlNTT~Npp~Fll F~cD
651~ IF S~ ~ 4 T~ CCS = FNER~IS6S ~ RTT. TO .qcr. HlS E~l DIO I~T ;~T~I PIID ~ S: C~LL P~INTI~PkFllElC~S): I~RS -:
1: S~lt ~ Is 6UT(15518 6S15 IF lSE~llK t 3 RNO FPT~RP (~ 2~ aQ iDSE~ ) THB~ CC5 ~ F~56t ~ ~TT~ TO aCT. HIS ES~ uaS ~RKED O~IED SE~NICE: CMl F
IIONPRFlLEICO~)s SIIDN3 - S~ONl ~ 1: 60T~ 6519 6S15 IF FPIQRP 8 2 RND ISE~OH: 3 OQ SE~OK = 21 T~EN CCS z F~MSGs ~ PTT. TO RCT. - HIS ~ID ~RS ~UT YRUD~TED 1: ~LL P~INTTONPFlF
IIDNVT - Hl~ GOTC 6~19 6517 CC5 - FN~6i t 6~T TC 65~ CûOE ~N ~ IG U.ITH ~IID= ~ ~S: CRLL P~ RFILEl~) 6~1e L5ET ST~TE5 3 ~7~: PUT 4 ~H: IF FIIS = ~cT~Na~ 5NOF~ = ~F~ MDD~ s ~DD~ TRT~ = T~TD - I
6SI9 KaMFl ~ YL6 t I
6~29 CCS = -. SE~ 2 0: FPTMP z 0: DSC~ = 0:
DENYFET~
Ta~6 ENa SIIB

, ~322397 C , 2 S
N~C'~7~TSON
~U3 t~ ~arS
O.`l ERROR EiOTO FMlHP~Y0l~
OE~ SEG ~ Sa3: PW~E 7, 255: SHEIL ~,r,lRT~: 0~F ~EG = SG3: POKE 7, ~S~:
9~53 T~lP?tQG - O: aP~ '`I~E31P.TXT~ F~ WT~JT RS IS: OPEN 't~TEXT.TXT~ FOR INPUT RS 14 9SS~ IF EOF114) THEN 9a70 ~L~ ~INE IN~UT 114~ ~LS: P~Stlr NC~LS
9S55 IF INSTI'(I?~LS~ l C~S = FNT~3 ~ ~nobile ' t MIDSINCCL~ IO~ as n~tified': U;ll PRltlT~tlqPFl~ElC~S1: 6~l0 9a54 ~a~6 IF INSTQ~ aS~ ~N~1 11~1 NTMPF16 = l: CC$ ~ FNT~565 ~ Rtt. notification to ' ~ MIDS(1CCLS~ IO~ lO1 + ' - ~bile did not ans-ler~
LL FRlNTT~,YPaFlLElCC51: ~TO 95~9 9557 IF lNSIRlNCllS~ '9'1 THEN YT~lPFL6 ~ C3: FNTM1SG~ + 'Rtt. ~tiFicatiqn to ' t tllOSlNCCLS~ IO) + ' - ~obile ~as busy': C~IL
PRlN,TT~tlRFlLElCC$): E~TC 9aa9 9a5a IF INSTRltlC~S1 '~1~1 Ti-~ t3rMPrl6 = 1: CCS ~ FY~S ~ Rtt. n~tiFication to ' ~ t11051NlILS~ iO~ ' ~bile n~t fcund-: C~
PFI~YTT311PRFltFiCC$): CCS = '-9559 C~ = Y~lMlDSU~aS, 2al) - 1: IF CFL~ = ~ THEtl NT~IPF S = ~: CCS = FNTI~tSGS + 'Fitt. to r~tify ~ t h~lDS + ' ten ti~es unsu~res;f ully': Cfll P~lNrT0NPaFlLElC~3): 6aT0 9554: ELCE I~CLS = ~1105(11C~$~ 1, 19) + hlGHTS(STRS(CPI~), LENISTRS(CM~1) - 1): PRINT 115, 956a ~T0 9554 957~ CL0SE 14: CLOSE IS: IF NTPI~FL5 = ~ THEN KILL 'NTEXT.TXT': Na LFL6 = a: c~ UF0aTE~STRT: CLS: 6,0TU tURTS~END
9572 Klll '~ITEXT.TXT~: SHEIl 'RENR~rc NTB~P.TXT NTEXT.TXT-: N~LULG = 1: Cal UP0aTERSTRT: C S:
IMRTS0NBi0:
Tal~6: 1 C . 2 6 OP~N~C'rSND
sua ~PFNRCTS~D
0N ah0P 60T0 FMlH~`l0~R
C.5~ N6` a~ -, NF~ NRs, 46 FT~D ~F; ~ FS STRrcS1 13 ~S hnlD5, 8 PS hS~QS, 6 ~S SII-cS~ la RS TDN5~ 4 RS hC05, 6 RS SPR~cS~
T~S = I
~0 SU~

C.27 PRINTTONP~FILE
SUP PP.lNTT0~lFrFlL~ ~C,.;) STRTlr Ctl E~!~p~Q Sl~tO F~,'.~:'C~ ca 'tnput date C~5 = ~es3zqe to be printe~
~ fiIe '6 is ooene~ as a.NPR~rdd then ~1 e FL~S FDR RPP~ID ~S 5: PQINT ~6~ CCS: Cl~ 6:
CC3 = '' T~L6- 1 E~D 5118 1~0 .~

~32~97 qJ3 ~JTll~lSlt ll~ C . ;! 8 01 E;EC8 6~TD F~ll~l:
TE~ Svr~
IF 5N1mEsT ~ I t~l G~ ~ ': !j~ll~ ~1 ~--~~' ~~ ~~
IF i~R121 ~ S ~1~ FHsRrrsG~ 5D ~/c~ ;t~ s-iav~ ~t ~ ~I~ al SITE ' ~ Sll~ SDtD ~iTAlE2 IF H~ ~ N Slt~ ELSE SIT~1 Stl~l:
IF ~ S~a~, 5 2~ r ~ ctr ~a ~ a~ ~ al IF 151TE~t ~ lT~ 2 I ~ a~ rl~. I Zt6tQ11 ~11~.5 hDn~5 ~ 1: EISC N~S ~ I
~r ~ ~r ~ 1: IF lb-lctr ) 9 a~ fll1 XTS17- 11~ s,a-sl ~ 7~-1 1~1 Sla~ ~ ~!' r~lgllg 11 l~r 11 Flll .~o-: ~11 lD ~STATE2: El STRI SlalE~: ~9/l9 ~UstsTA11~2-IF ~ct; ~ r5 N~t~ Wl 53tD BlEi~STZ~: ~ IF i~STAtES It tHE11 a~;Tl ~a - l IF SITE- ~ ~TI- TSN P1l~n 1~ 11711 ~ P118T k, tll211171;
t2 ~ ~tlSCT2 1: 5FEN 'D:~qEit- Flla aoF~D ~i 61 ialm 16, F111 P~l~l IE, sla1: Piililt 16, allO ~ ;RINT 16, ilSRst PRUn 16, SltE
P2n~r IS, Ti~ Pin~n li" 8C5s StRtT3:
IF Flt1 ~ ~i~- ~ ~ISTR-I t ~ Ti~t SNOFl ~ S~FI - I
If Fll~ sTa~ TUEN i~i~S ~ I~G - I
1F Fll~ L151al1 l I n~ ~OI ~ ~DI - I
F Fll~ H3 ~ISFil-l ~ I t~i i~6 ~ ~S - I
IF STRI ~2' IwD ~gtlg ~ I t~iN F1tS N~rStlD-: 35iRlE1 ~ 13: SiR- ~-: ~15 i~STATE3 IF ~fl t D iT~ 5MFI ~
IF ~351 1 7 Ts~lU Si~ODI ~ jl 7~1- ~IFICDSI: 6ET 11, IN: i~fr 11, iN: L~ET SFPREI ~ ST811i~c2rl: Palin 16~ Sitai~l ~sE 5: lS~ RCDs: ~d Fs'UDt: t~L ClARFiiE: Slli~ R ~ 1: F;a;9 i~i: simi i~T
alSrSTRlEli:
i7t ~ ~IFCD~ t 11, ZN2 If Flll ~ ~1~ Wt C~L r~Rll~: n~ noH~ ~ IF Filt '~AS~' aNo 5TaTEs ~ ~t~ ltt~i ~ CEAttl~i: ~ IF FIIS i~ RrO sTalE~ Tl~ 6~ pEAcrT!~
IF Fli1 ~ 5~ ~ISi~ rN S~FI s SitGFI
IF Filt ~ '~r7~ ~o v:tlsTas1 ~ tiEP i~6 ~ ~lli - I
IF Flls ~ 'i~ASNO' i~i V~lStR-I I ~ tl~i ~NCDI ~ODI - 1: IF ~157Asl ~ 2 T~N C~L oERati-~: 65tO b~t~tr5~ SDTil i~q .~t~5 IF Fll1 ~ ~T,~s~ i~5 ~15ilT-1 ~ ~ Tl~l i~O0RS ~C5F S - I
IF sta1 ~ ~ T~l F111 ~ '~t9tD': SlR- ~ "tl~: 95tRTE1 ~ 13: 6~TD t~slaTEi bu~t~tr61 6RISUO UEG'RAI
IF ;Tlt ~ ~CTSI10 TilH Fi3t ~ 'lCllVRTlarl PrE Fl;l ~ 'OE-GCTls'aTlC:I' I:Ct F111i~1 ~ Fli~ t ' ~ PnlD~ ilr~; ~ r': C~L pRltrlc~ai N~ia~ IH~S t I
ISI ~ FIV- ' ': i ~l ~PiiFli F: s5ta lU51iiEI
ZN ~ t~lFa~sl~ ~T 11~ Uh Le~T ~ATt ': L T Sl 'T': L~t llS iliE5: L~T DTRl bAlEI~ FJT 11~ 2i~ liiN
E~lS~i:
IF 95taTEI ' t TFEN ~ITS ~U5iSTRTE19 - IF INilaiR6 1~ Z i~ta bùctr I I) Ti~i bo~tr 2: ~6 ~ 1: C~L il~aaTE~STaT: i~ IF SStRTEI ~ I Ti~7 C6t ' F1~1 t 'illT. i~T
~ FaT. i~6 1x~5 INal~S ' ~ qi ~ '-SITE ~' 4 S;Tel: R;i7a i~SlRlEIl IF ~sTaTEI ~l 2 Ti~i i~ t Fi~ 'Rrr, TS CFI~ EL W. F13 ~i~6E i-liiQ iial-SlTi ~' SlTE2St 0Tt7 ~STaTElS
iF iXSTRtEI ~ ~ Ti`EH ~i FNEI71561 t 'ACT, ACt/i,~T ' ~ 'Tli~E illT iOE~71 il5 il C15.~517E~ StTE21~ ;tstaTElt IF EiTatEl ' 5 Ti~7 ili Fi~i61 ~ CT. lCTILc~l T ~ t 'ua PC2T t~;S iiUT SF SE~V~ At ' t STTE21~ 6$TD il~STATEJi5 IF t75TRTEil 6 TiEN iLi ~ Fi~55Gl 'XT. i~TlllE~r ~ 'liJ 11~ SI~RaTi31r5 i~i i;N AT ' ~ SltE21: h~ flg ~ I~ ijDiTa ~EilStaTEII
If iiSlR7E7 1 T~l CS ~ Fli0~Gli ~ 'RlTENPiED i~Tliir~-hCT - IFIL ICG61ilSi liltS ' t SITE21: i~E ~ i~ 5TiTa EUiT5TRrElI
IF aSlAtEl ~ 8 Titari ClS FNlir661 ~ ~RiT. ~tniE~CT ~ ~ IDli'T C~t~lT RT SITi. ' 5 SiTE21: F3TG i~usrSTATE
IF i~sTaTEI ~l 10 TlElri 81JSFL6 ~ 1: C)ll lJvDatEiisTRt: 9sTaTE~ ~rs ~StRTE
IF BstarEl ~ g Tl,~N ; ~ F~ t F~CT. PCTI~CT t 1inL DlillilS StTE ~ ~ SiTF 1~ 611TS DUStStiiT
IF bStRTEI 11 Ti~N tl S ~ FNri~s6l t ~ ' liiC Cill~Uii Uil R~ TE13~T ~: iil1TU i~StRTi lil IF 3stRT~ Iz TliEN CCl ~ F~l 4 ' laO F~r FWI Cc~ sii~ ~ ~al: 63TIJ i~fiTlitATrlil IF 3stRTEl ~ 1~ Tii~5 II:S ~ FNT?YS~I 4 _~ t ~i~llYqTti~l ~LLED i;alil; laa ta CF~L ~ fYD In fflR~t i~e SalTal: liill~ 8115t5t aTEII
If estaTEl ~ 11 Ti~H SCs FNt~l ~ STI~S FlIE IN IISED ~ 51TE ~ I slle1~ ~TG I~rSTRT~9 ~rstRTE9:
~U f~l 'iRCT. i~T/iDlE hCT ~ ~- UaST~. i~ ffCt - SITE ~' ~ SlTe1 8u~rsTaTEla~
IF ba*r ~ ~ TiEN c~ P0QTFL6 ~ 1: ELe 5i~F16 ~ l5: cc11 ~ "
IFIl 5FilNttW1RFTLElii Sl~ 5 ~ l U50RTfESTaT: 85TaTrl ~ 1:
~STarEI I I
i~TtW.5 IF CC~Ft '~ TI~N ~1~ 'lli~T.t~T' Fû~T APi~210 il!; 14: i'Rlin Ill~ T t nliillTiXi~, 41 ~ t ~ RlllO ~ 'IS': i O;F 11: i-~fUi ~l I
: l~rc~STaT
t~TURN
~T: 14 : Ic~6 ~ I
~:

' ......... .

, ' ' i~' ' ~ : ' ~
:`
.

. : ~
, : . - . :

C . 2 9 S~ r?.~FT~G
SU3 'RVENP~FILE
4~'9 aN E~3nh C~OTC ~ DL'~
~^'1 ferflg - ~ T~S~_fi ~ 1: Tl_3. OFE: ~O'E 12: CLOC 15:
4c'3 OPcN ro~fi;S FOh tNPUr RS lc: OPBI D:NPR- FOR OUTPUT ~S }S
~Z~i IF 'nFll2) TISEH 6~T0 ~257 C15 LOCRTE 12, IZ PRIHT `IPR FIL~ TO LRRGE TO YIE~I U~ FllRINS PROSR~Y
~OCRTE 13, 12: INPUT ~'~nter returrt c~ntinue'; qS: f2rflg = 1:
'+257 CLO~ lZ: ~oc~ 15: T11~R OH:
~265 ' Et10 ~7 C.30 STATITS

'U3 STRTUS
0~1 ERROR 60T~ FMlH~llDLcR
STRTIS = 'State=' + SThS~STRTEII + ' Uorking on ' + Flls t ' file for roa~er ' + ~IIDS t ' busy retries-A + ~IIDS~SPRRES, 5, 2 C.31 T~STCALLS O O

su~ TEsTc~saa ON ERROR EOTO FMl~NDLEP~:
CLS: LDC~TE 12, 1: PRINT ' Fnter your passw~rd no~ 'i pass~ ~ INPUT3~51: passS = UCASESi~assSI
IF p;ass$ l~ THEN 60TO 'NDTESTl CLS: LOCRTE 12~ 12: ItlPllT 'Fnter Roamer's ~lid li.e.713232~2211 ~; qSLO'~RTE 17~ lZ: IIIPUT 'Enter Rramerls Esn (as oepicted in c~ll records) '; ûlS
LOCRTE 14~ IZ: INPUT 'Entzr Rct or De-Rct cade li.z, 211/311 or ~13/9191 '; q2S
IF P6S: ~urup~ a~ q'S = q~ t '~ + OlS t 'il~ t q25: q3S = UCRS~Slq351 IF INSTR~P~ EMX'I aR P6~ = ~RUTOPLEXI~ Tl~l q3S = qS t '~ + tlIS ~ '~' t q25: q3S = UCRS~Slq351 OPE~ 9'JFILE- FOR RPPEND RS 13: ~IFFUi = 1 PP.INT 113, q3S: a5c~ 1;:
iTI:
~5: T~ = I
ENO ~3 .

,' ' :

: ~' . . . ' :
:
, ~ ~3~2~
C . 3 2 Wa.TSONC~LL
3 '~T~Gllf~
C~ MOR ~QTO F~IYP~
1~ TE;TFIG = t lHE~ TMFFI~ = O: TI~TFLG = d: E~TJ ISi~
Or c~ = ~O~: P~KE 7~ 2~5~ RT': OEF ~ o1: ~ 7, ~c9 1~3 T~1PF~ = d: JPE~ TEllP.TXT' Faq CUTPUT RS 15: aF~I TEIT.TXT' F~F~ lliFUT ~5 14 1~;4 IF EEF114) THBI t573 13~ UNE INFUT $14~ m S: F~lIIT Ca 5 l55 IF INSTqlCllS~ Tl~ C~ = F71T~MS63 + 'llobile ' + MIOS~L5~ Id~ 1~3 + ~ uas ~tified-: C~L Pl~llrll~lP~FlLEl~S~: G~O 1~4 l~S IF INSTqlClLS~ 1 T~l T~.PF15 = 1: CCS = FNT1~S + 'Ptt. notification to + ~ilDS~CLS~ a3 t r - ::G ~ e did n~t ansHer': C
~LL P~lNTT15tPQFltFlCI:5): 6~TC 155g l~t IF IN5TqtCD_S1 '~'~ TYRI T~lPFLG ~ l: CCS = F~GS + 'P,tt. nqtiFication to ' + MIDS~C~l la, 1~3) t ' - ~obile ~as busyl: CML PQ
1''9 !~ TRtCILS~ TH~N TMPFL5 = 1: C~S = FN~G3 t 'Rtt. r~tificatian t~ ' + ~IIDSttllS~ 1~3~ 1~3) + ' ~bile r~t four~ U. PRI
1559 C~ - V~LtMlD~itCaS, ~3)) - 1: IF C~ = ~ THE?I T~PF~5 3 t ~,qtt. to T~tiFy ' + ~lIDS + ' t~n ti~es unsumssful ly~: CFLL P~lNT~t~PQFIltC"S): 6aTC 154: E~ C~LS ~ ~IDStCnw5~ 1, 19) t ql~TS(5T~S~CRLt3~ LENtSTRStC
) - 1): PqlNT ~15~ CI~LS
l~73 C~3~ .: C' C~ 1~: IF T~lPF~5 = 0 ~3~ Kll!. 'T~T.TIT~: CLLFI~ = ~: CPLL lJFnFlTE~TRt: 05: EOT~ URT~QlEl[a 1572 Kll l 'IEXT.TXT-: SHE~L ~t~ t~lP.TXT TF~T.TXT': CLlFI G = l: C~L UPO~TERST~T: 1~
rl~TS~ lD
TCI'GRL6 = I
BlO '~'9 , ~

:.
. :
'~

Claims (78)

Claims:
1. A method for enabling a roaming CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area, the method comprising the steps:
(a) receiving at a foreign service area MTSO
request information indicating that the roaming CMR
subscriber desires to receive, in the foreign service area, calls placed to his home service area;
(b) validating the roaming subscriber;
(c) upon validation of the roaming subscriber, assigning the roaming subscriber a temporary directory number (TDN) for use in the foreign service area; and (d) providing command information to the roaming CMR subscriber's home service area MTSO so as to enable the roaming CMR subscriber's home service area MTSO to call forward, to the TDN, calls placed to the roaming CMR subscriber's MID in his home service area.
2. A method for enabling a roaming CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 1 wherein, according to Step (a), the foreign service area MTSO receives a predetermined code initiated by the roaming CMR subscriber.
3. A method for enabling a roaming CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 2 wherein the predetermined code comprises information entered by the roaming CMR subscriber at a control unit included in a mobile unit.
4. A method for enabling a roaming CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 1 wherein, according to Step (d), the command information is provided to the roaming CMR subscriber's home service area MTSO via a communications link between the home service area MTSO and the foreign service area MTSO.
5. A method for enabling a roaming CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 4 wherein the command information constitutes a command to the roaming CMR subscriber's home service area MTSO to call forward, to the TDN, calls placed to the roaming CMR subscriber's MID in his home service area.
6. A method for activating a procedure that enables calls placed to a CMR subscriber 16 MID to be automatically forwarded to a service area outside the CMR subscriber's home service area, the method comprising the steps of:
(a) accepting a predetermined code initiated by the subscriber, which code indicates that calls received in the subscriber's home area to his MID are to be forwarded outside his home service area;
(b) assigning the roaming subscriber a temporary directory number (TDN), to which TDN calls placed to the subscriber's MID in his home service area are to be forwarded; and (c) commanding an MTSO in the subscriber's home service area to forward, to the TDN, calls placed to the subscriber's MID in his home service area.
7. A method for activating a procedure that enables calls placed to a CMR subscriber's MID to be automatically forwarded to a service area outside the CMR subscriber's home service area as defined in Claim 6 wherein, prior to either Step (b) or Step (c), a step is performed whereby the subscriber is validated.
8. A method for activating a procedure that enables calls placed to a CMR subscriber's MID to be automatically forwarded to a service area outside the CMR subscriber's home service area as defined in Claim 7 wherein the subscriber is validated by affirmatively determining, according to predetermined criteria, that the subscriber's home service area is a service area from which calls may be forwarded to a service area in which the subscriber is roaming.
9. A method for activating a procedure that enables calls placed to a CMR subscriber's MID to be automatically forwarded to a service area outside the CMR subscriber's home service area as defined in Claim 7 wherein the subscriber is validated by affirmatively determining that the subscriber is authorized to receive calls in his home service area.
10. A method for activating a procedure that enables calls placed to a CMR subscriber's MID to be automatically forwarded to a service area outside the CMR subscriber's home service area as defined in Claim 9 wherein the subscriber is validated by additionally affirmatively determining, according to predetermined criteria, that the subscriber's home service area is a service area from which calls may be forwarded to a service area in which the subscriber is roaming.
11. A method for activating a procedure that enables calls placed to a CMR subscriber's MID to be automatically forwarded to a service area outside the CMR subscriber's home service area as defined in Claim 7 wherein the subscriber is validated by affirmatively determining that the ESN associated with the mobile unit used by the subscriber is an ESN that has not been denied service and by affirmatively determining that the subscriber is authorized to receive calls in his home service area.
12. A method for activating a procedure that enables calls placed to a CMR subscriber's MID to be automatically forwarded to a service area outside the CMR subscriber's home service area as defined in Claim 11 wherein the subscriber is validated by additionally affirmatively determining, according to predetermined criteria, that the subscriber's home service area is a service area from which calls may be forwarded to a service area in which the subscriber is roaming.
13. A method for activating a procedure that enables calls placed to a CMR subscriber's MID to be automatically forwarded to a service area outside the CMR subscriber's home service area as defined in Claim 7 wherein the subscriber is validated by affirmatively determining that the ESN associated with the mobile unit used by the subscriber correlates positively with the MID associated with the mobile unit the subscriber is using, by affirmatively determining that the ESN
associated with the mobile unit used by the subscriber has not been denied service, and by affirmatively determining that the subscriber is authorized to receive calls in his home service area.
14. A method for activating a procedure that enables calls placed to a CMR subscriber's MID to be automatically forwarded to a service area outside the CMR subscriber's home service area as defined in Claim 13 wherein the subscriber is validated by additionally affirmatively determining, according to predetermined criteria, that the subscriber's home service area is a service area from which calls may be forwarded to a service area in which the subscriber is roaming.
15. An apparatus for enabling a roaming CMR
subscriber to automatically receive, in a foreign service area, calls placed to his home service area, the apparatus comprising a computer for coupling both to a switch associated in the home service area and to a switch associated with the roaming service area and programmed to:
(1) receive information indicating that calls placed to the home service area are to be forwarded to the foreign service area;
(2) assign the subscriber a temporary directory number (TDN) in the foreign switch; and (3) command the home switch to forward, to the TDN, calls placed to the home service area.
16. An apparatus as defined in Claim 15 wherein the computer is programmed to validate the subscriber as a prerequisite to either Step (1) or Step (2).
17. An apparatus as defined in Claim 15 wherein the computer is programmed to validate the subscriber as a prerequisite to both Step (1) and Step (2).
18. A CMR system that automatically forwards, to a foreign service area outside a CMR subscriber's home service area, calls placed to the subscriber's home service area, the system comprising:
home MTSO means associated with the home service area and including a home switch for receiving calls placed to the subscriber's MID;
foreign MTSO means associated with a foreign service area and including a foreign switch;
control computer means coupled to the home switch and to the foreign switch for (l) receiving information indicating that calls placed to the CMR subscriber's home MTSO are to be forwarded to the foreign MTSO; (2) assigning the CMR subscriber a temporary directory number (TDN) in conjunction with the foreign switch for use in the foreign service area; and (3) providing information to the home switch that enables the home switch to forward, to the TDN at the foreign switch, calls placed to the CMR subscriber's MID in the home service area.
19. A CMR system as defined in Claim 18 wherein the control computer means is operable for validating the CMR subscriber before assigning the TDN and before providing information to the home switch that enables the home switch to forward calls to the TDN.
20. A CMR system as defined in Claim 18 wherein the information received by the control computer means indicating that calls placed to the CMR subscriber's home MTSO are to be forwarded to the foreign MTSO is information derived from a predetermined code initiated by the CMR subscriber and transmitted through a control head associated with a mobile unit.
21. A CMR system as defined in Claim 20 wherein the control computer means is operable for validating the CMR subscriber before assigning the TDN and before providing information to the home switch that enables the home switch to forward calls to the TDN.
22. A CMR system as defined in Claim 21 wherein validating by the control computer means includes affirmatively determining, according to predetermined criteria, that the subscriber's home service area is a service area from which calls may be forwarded to the foreign service area.
23. A CMR system as defined in Claim 22 wherein validating by the computer means includes affirmatively determining that the subscriber is authorized to receive calls in his home service area.
24. A CMR system as defined in Claim 23 wherein validating by the computer means includes determining in the affirmative that the ESN associated with the mobile unit is an ESN that has not been denied service.
25. A CMR processing system for automatically enabling predetermined calls placed to a home CMR
service area to be forwarded to a foreign service area, the system comprising:
(i) means associated with the foreign service area for receiving information that predetermined calls placed to the home service area are to be directed to the foreign service area;
(ii) means associated with the foreign service area for assigning a temporary directory number (TDN) to which the calls are to be directed; and (iii) means associated with the foreign service area for providing information to the home service area so as to enable the home service area to direct the calls to the TDN.
26. A CMR processing system as defined in Claim 25 wherein the means recited in Claim 25, Clause (i) includes program instructions that respond to the reception at the foreign service area of a code initiated by or on behalf of a roaming CMR subscriber.
27. A CMR processing system as defined in Claim 26 wherein the program instructions respond to a code entered at a CMR mobile unit.
28. A CMR processing system as defined in Claim 25 further comprising:
(iv) means for determining whether the predetermined calls are entitled to be forwarded from the home service area to the foreign service area.
29. A CMR processing system wherein the means recited in Claim 28, Clause (iv) includes a first set of program instructions for affirmatively determining, according to predetermined criteria, that the home service area is a service area from which calls may be forwarded to the foreign service area.
30. A CMR processing system as defined in Claim 29 wherein the predetermined calls are intended to be received at a mobile unit that has been assigned a particular MID and a particular ESN and wherein the first set of program instructions affirmatively determines that the ESN has not been denied service in the home service area and that the home service area will accept and place calls to the MID.
31. A CMR processing system as defined in Claim 30 wherein the means in Claim 25, Clause (i) includes program instructions that respond to the reception at the foreign service area of a code initiated by or on behalf of a roaming CMR subscriber.
32. A CMR processing system as defined in Claim 31 wherein the program instructions respond to a code entered at a CMR mobile unit.
33. A method for enabling a CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area, the method comprising the steps:
(a) receiving at a foreign service area MTSO a request indicating that the CMR subscriber desires to receive, in the foreign service area, calls placed to his home service;

(b) validating the roaming subscriber;
(c) upon validation of the roaming subscriber, assigning the roaming subscriber a temporary directory number (TDN) for use in the foreign service area;
(d) accessing the subscriber's feature package in his home service area and ensuring that the feature package includes Call Forwarding for the purpose of enabling the subscriber to receive calls in the foreign service area; and (e) providing information to the CMR subscriber's home service area MTSO so as to enable the CMR
subscriber's home service area MTSO to call forward, to the TDN, calls placed to the CMR subscriber's MID in his home service area.
34. A method for enabling a CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 33 wherein, according to Step (a), the foreign service area MTSO receives a predetermined code initiated by the CMR
subscriber.
35. A method for enabling a CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 34 wherein the predetermined code comprises information entered by the CMR subscriber at a control head included in a mobile unit.
36. A method for enabling a CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 33 wherein, according to Step (e), the information is provided to the CMR subscriber's home service area MTSO
via a communications link between the home service area MTSO and the foreign service area MTSO.
37. A method for enabling a CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 36 wherein, according to Step (e), the information constitutes a command to the roaming CMR subscriber's home service area MTSO to call forward, to the TDN, calls placed to the CMR subscriber's MID in his home service area.
38. A method for enabling a CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 37 wherein, according to Step (a), the foreign service area MTSO receives a predetermined code initiated by the CMR
subscriber.
39. A method for enabling a CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 38 wherein the predetermined code comprises information entered by the CMR subscriber at a control head included in a mobile unit.
40. A method for enabling a CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 33 wherein, upon the receipt of a request according to Step`
(a), a determination is made whether the request is a duplicate request.
41. A method for enabling a CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 40 wherein, acccording to Step (a), the foreign service area MTSO receives a predetermined code initiated by the CMR subscriber.
42. A method for enabling a CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 41 wherein the predetermined code comprises information entered by the CMR subscriber at a control head included in a mobile unit.
43. A method for enabling a CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 40 wherein, according to Step (e), the information is provided to the CMR subscriber's home service area MTSO
via a communications link between the home service area MTSO and the foreign service area MTSO.
44. A method for enabling a CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 43 wherein, according to Step (e), the information constitutes a command to the roaming CMR subscriber's home service area MTSO to call forward, to the TDN, calls placed to the CMR subscriber's MID in his home service area.
45. A method for enabling a CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 44 wherein, according to Step (a), the foreign service area MTSO receives a predetermined code initiated by the CMR
subscriber.
46. A method for enabling a CMR subscriber to automatically receive, in a foreign service area, calls placed to his home service area as defined in Claim 45 wherein the predetermined code comprises information entered by the CMR subscriber at a control head included in a mobile unit.
47. A method for activating a procedure that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area, the method comprising the steps:
(a) receiving a request indicating that calls received in the subscriber's home service area to his MID are to be forwarded to the foreign service area;
(b) determining whether the request is a duplicate request;
(c) validating the subscriber, that is, verifying that calls placed to the subscriber's home service area to his MID are entitled to be transferred to the foreign service area;
(d) upon validation of the subscriber, assigning the subscriber a temporary directory number, TDN, to which TDN calls placed to the subscriber's MID in his home service area are to be forwarded;
(e) accessing the subscriber's feature package in his home service area and ensuring that the feature package includes Call Forwarding for the purpose of enabling the subscriber to receive calls in the foreign service area; and (f) commanding an MTSO in the subscriber's home service area to forward, to the TDN, calls placed to the subscriber's MID in his home service area.
48. A method for activating a procedure that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 47 wherein the request comprises a predetermined code initiated by the subscriber and received by an MTSO in the foreign service area.
49. A method for activating a procedure that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 48 wherein the predetermined code comprises information entered by the subscriber at a control head included in a mobile unit.
50. A method for activating a procedure that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 47 wherein, according to Step (f), commanding is effected via a communications link between the home service area and the foreign service area MTSO.
51. A method for activating a procedure that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area, as - -defined in Claim 50 wherein the request comprises a predetermined code initiated by the subscriber and received by an MTSO in the foreign service area.
52. A method for activating a procedure that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area, as defined in Claim 51 wherein the predetermined code comprises information entered by the subscriber at a control head included in a mobile unit.
53. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area, the method comprising the steps:
(a) receiving an activation request indicating that calls received in the subscriber's home service area to his MID are to be forwarded to the foreign service area;
(b) determining whether the activation request is a duplicate request;
(c) assigning the subscriber a temporary directory number (TDN), to which TDN calls placed to the subscriber's MID in his home service area are to be forwarded; and (d) commanding an MTSO in the subscriber's home service area to forward, to the TDN, calls placed to the subscriber's MID in his home service area.
54. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 53 wherein, in accordance with Step (b), a determination is made whether the duplicate request is a valid duplicate request or an invalid duplicate request.
55. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 54 wherein:
(i) if the duplicate request is determined to be a valid duplicate request, the subscriber is re-activated, and (ii) if the duplicate request is determined to be an invalid duplicate request, the duplicate request is substantially discarded.
56. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 55 wherein, as a prerequisite to Step (c), the subscriber is validated, that is, it is verified that calls placed to the subscriber's home service area are entitled to be transferred to the foreign service area.
57. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 56, wherein the method comprises the additional step:
(e) accessing the subscriber's feature package in his home service area and ensuring that the feature package includes Call Forwarding for the purpose of enabling the subscriber to receive calls in the foreign service area.
58. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 53 wherein, in response to an activation request, a TNUM record is created, which data record contains the subscriber's MID and a TDN.
59. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service as defined in Claim 58 wherein:
a plurality of data records is established, said data records each containing an MID; and in response to said activation request, a search is made of the then-existing data records to identify a match, if any, between the subscriber's MID and the MID
in each of the respective, then-existing data records.
60. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 59 wherein, if a match is identified, a determination is made that the activation request is a duplicate request.
61. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 60 wherein, in accordance with Step (b) a determination is made whether the duplicate request is a valid duplicate request or an invalid duplicate request.
62. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 61 wherein:
(i) if the duplicate request is determined to be a valid duplicate request, the subscriber is re-activated, and (ii) if the duplicate request is determined to be an invalid duplicate request, the duplicate request is substantially discarded.
63. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area - -outside the CMR subscriber's home service area as defined in Claim 62 wherein, as a prerequisite to Step (c), the subscriber is validated, that is, it is verified that calls placed to the subscriber's home service area are entitled to be transferred to the foreign service area.
64. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 63, wherein the method comprises the additional step:
(e) examining the subscriber's feature package in his home service area and, if a determination is made that the subscriber does not have Call Forwarding in that feature package, adding Call Forwarding to that feature package for the purpose of enabling the subscriber to receive calls in the foreign service area.
65. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 58 wherein the data record contains the time of activation, if there has in fact been an activation, corresponding to the activation request.
66. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 65 wherein:
a plurality of data records is established, said data records each containing an MID; and in response to said activation request, a search is made of the then-existing data records to identify a match, if any, between the subscriber's MID and the MID
in each of the respective, then-existing data records.
67. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 66 wherein, if a match is identified, a determination is made that the activation request is a duplicate request.
68. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 67 wherein, in accordance with Step (b) a determination is made whether the duplicate request is a valid duplicate request or an invalid duplicate request.
69. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 68 wherein the duplicate request is determined to be a valid duplicate request if the time of activation contained in the data record that resulted in the identification of a match is at least a predetermined length of time earlier than the time of the then-pending activation request.
70. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 69 wherein:
(i) if the duplicate request is determined to be a valid duplicate request, the subscriber is re-activated, and (ii) if the duplicate request is determined to be an invalid duplicate request, the duplicate request is substantially discarded.
71. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 70 wherein, as a prerequisite to Step (c), the subscriber is validated, that is, it is verified that calls placed to the subscriber's home service area are entitled to be transferred to the foreign service area.
72. A method for activating a process that enables calls placed to a CMR subscriber's home service area to be automatically forwarded to a foreign service area outside the CMR subscriber's home service area as defined in Claim 71, wherein the method comprises the additional step:
(e) accessing the subscriber's feature package in his home service area and ensuring that the feature package includes Call Forwarding for the purpose of enabling the subscriber to receive calls in the foreign service area.
73. In a method for enabling a roaming CMR
subscriber to automatically receive, in a foreign service area, calls placed to his home service area, which method comprises the steps:
(a) receiving at a foreign service area MTSO an activation request indicating that the roaming CMR
subscriber desires to receive, in the foreign service, calls placed to his home service area;
(b) validating the roaming subscriber;
(c) upon validation of the roaming subscriber, assigning the roaming subscriber a temporary directory number (TDN) for use in the foreign service area; and (d) providing command information to the roaming CMR subscriber's home service area MTSO so as to enable the roaming CMR subscriber's home service area MTSO to call forward, to the TDN, calls placed to the roaming CMR subscriber's MID in his home service area, the improvement comprising:
(e) determining whether the activation request is a duplicate application request.
74. As improvement as defined in Claim 73 wherein Step (e) is performed by searching then-existing data records to identify a match, if any, between the CMR
subscriber's MID and the MID in each of the respective then-existing data records and, if a match is identified, determining that the activation request is a duplicate activation request.
75. An improvement as defined in Claim 74 wherein, when a duplicate activation request is detected, a determination is made whether the duplicate activation request is a valid duplicate activation request or an invalid duplicate activation request.
76. An improvement as defined in Claim 75 wherein:
(i) if the duplicate request is determined to be a valid duplicate request, the subscriber is re-activated, and (ii) if the duplicate request is determined to be an invalid duplicate request, the duplicate request is substantially discarded.
77. An improvement as defined in Claim 76 wherein, if a time of activation contained in the data record that resulted in the identification of a match is at least a predetermined length of time earlier than the time of the then-pending duplicate activation request, the then-pending duplicate activation request is determined to be a valid duplicate activation request.
78. In a CMR system that includes a home MTSO
associated with a home service area of a CMR subscriber, said home service area for receiving calls placed to the subscriber's MID, and that includes a foreign MTSO
associated with a foreign service area, an apparatus for causing calls placed to the subscriber's home service area to be automatically call forwarded to the foreign service area when the subscriber is present in the foreign service area, the apparatus comprising a processor for coupling, via a communications link, to the home MTSO, said processor comprising:
(i) means for receiving information indicating that the CMR subscriber is present in the foreign service area, (ii) means for assigning the CMR subscriber a temporary directory number (TDN) in conjunction with the foreign MTSO for use in the foreign service area, and (iii) means for providing informaticn to the home MTSO that enables the home MTSO to automatically call forward, to the TDN, calls placed to the CMR
subscriber's MID in the home service area.
CA000611769A 1988-09-19 1989-09-18 System for the extended provision of cellular mobile radiotelephone service Expired - Fee Related CA1322397C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/246,582 US4901340A (en) 1988-09-19 1988-09-19 System for the extended provision of cellular mobile radiotelephone service
US246,582 1988-09-19

Publications (1)

Publication Number Publication Date
CA1322397C true CA1322397C (en) 1993-09-21

Family

ID=22931280

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000611769A Expired - Fee Related CA1322397C (en) 1988-09-19 1989-09-18 System for the extended provision of cellular mobile radiotelephone service

Country Status (3)

Country Link
US (1) US4901340A (en)
EP (1) EP0379642A3 (en)
CA (1) CA1322397C (en)

Families Citing this family (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303286A (en) * 1991-03-29 1994-04-12 Space Systems/Loral, Inc. Wireless telephone/satellite roaming system
AU6277790A (en) * 1989-09-29 1991-04-28 Motorola, Inc. Trunking network with automatic roaming without centralized control
US5020091A (en) * 1989-12-26 1991-05-28 Motorola Inc. Automatic new radiotelephone system registration notification
US5031204A (en) * 1990-02-13 1991-07-09 Gte Mobile Communications Service Corporation Interactive diagnostic system for cellular telephones
ATE128311T1 (en) * 1990-03-08 1995-10-15 Ericsson Telefon Ab L M SYSTEM AND METHOD FOR DYNAMIC ALLOCATION OF STRIP ROUTING NUMBERS.
US5142654A (en) * 1990-08-09 1992-08-25 Appex Corporation Cellular telephone system and method for dynamically switching between call routing options
US5392458A (en) * 1990-09-20 1995-02-21 Motorola, Inc. Trunked communication system with variable communication capability support for roamers
US5384826A (en) * 1990-10-01 1995-01-24 At&T Bell Laboratories Distributed packetized switching cellular radio telephone communication system with handoff
US5371780A (en) * 1990-10-01 1994-12-06 At&T Corp. Communications resource assignment in a wireless telecommunications system
US5155689A (en) * 1991-01-17 1992-10-13 By-Word Technologies, Inc. Vehicle locating and communicating method and apparatus
US5734981A (en) * 1991-01-17 1998-03-31 Highwaymaster Communications, Inc. Method and apparatus for call delivery to a mobile unit
US5610973A (en) * 1991-01-28 1997-03-11 Bellsouth Corporation Interactive roamer contact system for cellular mobile radiotelephone network
US5210787A (en) * 1991-02-05 1993-05-11 Telefonaktiebolaget L M Ericsson Subscriber interrogation point
EP0573594A4 (en) * 1991-02-25 1994-05-25 Motorola Inc Cordless telephone system having remote message centers
CA2061090A1 (en) * 1991-03-11 1992-09-12 Richard A. Miska Personal mobile communication system with call bridging
US5434798A (en) * 1991-05-23 1995-07-18 Telefonaktiebolaget L M Ericcson Reconfiguration in a cellular communications network
US5463675A (en) * 1991-06-17 1995-10-31 At&T Ipm Corp. Extended home indentification being used by the same service provider as a home identification in a service area other than the home service area for cellular radio telephone systems
JPH06509216A (en) * 1991-07-03 1994-10-13 モトローラ・インコーポレイテッド Call conveyance service within a radiotelephone communication system
US5421030A (en) * 1991-09-17 1995-05-30 Com21, Inc. Communications system and method for bi-directional communications between an upstream control facility and downstream user terminals
CA2078932C (en) * 1991-10-10 2003-12-02 Robert A. Wiedeman Satellite telecommunications system using network coordinating gateways operative with a terrestrial communication system
US5526404A (en) * 1991-10-10 1996-06-11 Space Systems/Loral, Inc. Worldwide satellite telephone system and a network coordinating gateway for allocating satellite and terrestrial gateway resources
JPH07500955A (en) 1991-11-08 1995-01-26 イレクトラニク、デイタ、システィムズ、コーパレイシャン Device for detecting and preventing cloning of subscriber numbers in cellular mobile telephone systems
US5307400A (en) * 1991-11-25 1994-04-26 Telefonaktiebolaget L M. Ericsson Call routing in mobile telephone systems
CA2078195C (en) * 1991-11-27 1999-03-09 Jack Kozik Arrangement for detecting fraudulently identified mobile stations in a cellular mobile telecommunications network
WO1993011646A1 (en) * 1991-12-03 1993-06-10 Electronic Data Systems Corporation Apparatus for detecting and preventing subscriber number tumbling in a cellular mobile telephone system
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US5454027A (en) * 1992-01-27 1995-09-26 Hm Holding Corporation Phantom mobile identification number method and apparatus
US5539810A (en) * 1992-01-27 1996-07-23 Highwaymaster Communications, Inc. Data messaging in a communications network
US6009330A (en) * 1992-01-27 1999-12-28 Highwaymaster Communications, Inc. Method and apparatus for call delivery to a mobile unit
US5983108A (en) * 1992-01-27 1999-11-09 Highwaymaster Communications, Inc. Method and apparatus for a nation-wide cellular telephone network
US6295449B1 (en) 1992-01-27 2001-09-25 @Track Communications, Inc. Data messaging in a communications network using a feature request
US5353331A (en) * 1992-03-05 1994-10-04 Bell Atlantic Network Services, Inc. Personal communications service using wireline/wireless integration
US5579379A (en) * 1992-03-05 1996-11-26 Bell Atlantic Network Services, Inc. Personal communications service having a calling party pays capability
US5444765A (en) * 1992-03-23 1995-08-22 Kabushiki Kaisha Toshiba Radio telephone apparatus having a service area confirmation
US5432841A (en) * 1992-07-10 1995-07-11 Rimer; Neil A. System for locating and communicating with mobile vehicles
US5341410A (en) * 1992-07-21 1994-08-23 Ram Mobile Data Usa Limited Partnership Cellular telephone locator using a mobile data system
US5341415A (en) * 1992-09-22 1994-08-23 Paul Baran Method and apparatus for sharing of common in-house wiring to permit multiple telephone carriers to serve the same customer
CA2144953A1 (en) * 1992-09-29 1994-04-14 Paul Baran Cell based wide area network alternative access telephone and data system
CA2126319C (en) * 1992-10-19 2000-04-18 Masami Yabusaki Mobile communication control method
SE470505B (en) * 1992-10-27 1994-06-06 Ellemtel Utvecklings Ab Ways in GSM / VLR to handle additional service procedures against CPR
US7064749B1 (en) * 1992-11-09 2006-06-20 Adc Technology Inc. Portable communicator
US5425027A (en) * 1993-01-04 1995-06-13 Com21, Inc. Wide area fiber and TV cable fast packet cell network
DE69423807T2 (en) * 1993-01-21 2000-12-07 At & T Corp Directory structure for a large-scale telecommunications network for the localization of mobile users
US5487101A (en) * 1993-03-26 1996-01-23 Celcore, Inc. Off-load cellular system for off-loading cellular service from a main cellular system to increase cellular service capacity
US5521961A (en) * 1993-03-26 1996-05-28 Celcore, Inc. Mobility management method for delivering calls in a microcellular network
US5796727A (en) * 1993-04-30 1998-08-18 International Business Machines Corporation Wide-area wireless lan access
SE517451C2 (en) * 1993-06-02 2002-06-04 Telia Ab Device for short range radio systems
GB2280085A (en) * 1993-06-25 1995-01-18 Vodafone Ltd Cellular telephone systems
GB2285560B (en) * 1993-07-20 1998-01-14 Motorola Inc Method for operating a communication system having multiple base stations
US5557655A (en) * 1993-10-26 1996-09-17 Telefonaktiebolaget Lm Ericsson Method for analyzing subscriber data received from an HLR in GSM MSC/VLR
AU8121894A (en) * 1993-10-27 1995-05-22 Bellsouth Corporation Personal number communication system with cellular mobile radiotelephone roaming capability
US5475735A (en) * 1993-12-02 1995-12-12 Motorola, Inc. Method of providing wireless local loop operation with local mobility for a subscribed unit
US5490087A (en) * 1993-12-06 1996-02-06 Motorola, Inc. Radio channel access control
US5530963A (en) * 1993-12-16 1996-06-25 International Business Machines Corporation Method and system for maintaining routing between mobile workstations and selected network workstation using routing table within each router device in the network
SE516146C2 (en) * 1994-04-05 2001-11-26 Ericsson Telefon Ab L M Method and device for roaming between different types of mobile networks
GB2321165A (en) * 1994-04-05 1998-07-15 Motorola Inc Methods and apparatus for call handover between different mobile radio networks
US5497412A (en) * 1994-04-07 1996-03-05 Gte Telecommunication Services Incorporated Enhanced call delivery system for roaming cellular subscribers
KR100365443B1 (en) * 1994-05-27 2003-03-10 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 Telecommunication system and method of operating the system that has a call connection recovery method
US5913160A (en) * 1994-09-13 1999-06-15 At&T Corporation Method and system for updating replicated databases in foreign and home telecommunication network systems for supporting global mobility of network customers
US5673308A (en) * 1994-10-12 1997-09-30 Bell Atlantic Network Services, Inc. Personal phone number system
US5564068A (en) * 1994-10-28 1996-10-08 Telefonaktiebolaget Lm Ericsson Home location register for manual visitors in a telecommunication system
US5649286A (en) * 1994-11-14 1997-07-15 Bellsouth Corporation Method for managing the registration of a wireless unit
US5913170A (en) * 1994-11-16 1999-06-15 Highwaymaster Communications, Inc. Locating system and method using a mobile communications network
US5602901A (en) * 1994-12-22 1997-02-11 Motorola, Inc. Specialized call routing method and apparatus for a cellular communication system
US5854975A (en) * 1994-12-23 1998-12-29 Freedom Wireless, Inc. Prepaid security cellular telecommunications system
USRE37276E1 (en) 1995-04-05 2001-07-10 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for handling a mobile telephone subscriber administered in different mobile telephone networks with a common call number
US5699275A (en) * 1995-04-12 1997-12-16 Highwaymaster Communications, Inc. System and method for remote patching of operating code located in a mobile unit
US5694322A (en) * 1995-05-09 1997-12-02 Highwaymaster Communications, Inc. Method and apparatus for determining tax of a vehicle
US6044265A (en) * 1995-06-05 2000-03-28 Bellsouth Corporation Methods and apparatus for cellular set programming
GB2304497A (en) * 1995-08-19 1997-03-19 Northern Telecom Ltd Cellular communications system with provision of services to visiting mobiles
US5621787A (en) * 1995-09-13 1997-04-15 Bell Atlantic Network Services, Inc. Prepaid cash card
US5797097A (en) * 1995-11-02 1998-08-18 Bellsouth Corporation Method and apparatus for identifying the location of a roaming pager
US5778313A (en) 1995-12-08 1998-07-07 Cellexis International, Inc. Pre-paid cellular telephone system
AU1421897A (en) * 1995-12-21 1997-07-17 Ericsson Inc. Automatic call-forwarding in a mobile radiotelephone
US5960340A (en) * 1996-02-28 1999-09-28 At&T Corporation Automatic cellular telephone registration for universal telephone number service
CA2250109C (en) 1996-03-28 2005-07-05 Markport Limited A roaming interworking gateway for mobile telecommunications systems
US5890063A (en) * 1996-06-03 1999-03-30 Ericsson Inc. Downloading of routing numbers to donor switches within a telecommunications network
US5966653A (en) * 1996-06-24 1999-10-12 Ericsson Inc. Validating a forward-to-number within a mobile telecommunications system
US6039624A (en) * 1996-07-29 2000-03-21 At&T Wireless Services Inc. Method for allocating a mobile station TMSI
DE19636256C1 (en) * 1996-09-06 1998-02-26 Siemens Ag Method for subscribing access from mobile communication terminals to public, private or home areas
US5832382A (en) * 1996-09-16 1998-11-03 Ericsson Inc. Optimized routing of mobile calls within a telecommunications network
US5884179A (en) * 1996-09-16 1999-03-16 Ericsson Inc. Optimized routing of terminating calls within a mobile telecommunications network
US6122503A (en) * 1996-10-08 2000-09-19 At&T Wireless Services Inc Method and apparatus for over-the-air programming of telecommunication services
US5875394A (en) * 1996-12-27 1999-02-23 At & T Wireless Services Inc. Method of mutual authentication for secure wireless service provision
US6119001A (en) * 1997-04-28 2000-09-12 Telefonaktiebolaget Lm Ericsson (Publ) Roamer service auto-activation and deactivation in a home location register
US7268700B1 (en) 1998-01-27 2007-09-11 Hoffberg Steven M Mobile communication device
US6704563B1 (en) * 1998-08-11 2004-03-09 Boston Communications Group, Inc. Systems and methods for prerating costs for a communication event
US6615041B2 (en) * 1998-11-05 2003-09-02 Bellsouth Intellectual Property Corporation Methods and systems for providing information to a home system regarding a wireless unit roaming in a visited system
US6211462B1 (en) * 1998-11-05 2001-04-03 Texas Instruments Incorporated Low inductance power package for integrated circuits
US7187928B1 (en) 1998-11-24 2007-03-06 Boston Communications Group, Inc. Call delivery systems for roaming prepaid subscribers
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US7822188B1 (en) 1999-04-01 2010-10-26 Callwave, Inc. Methods and apparatus for providing expanded telecommunications service
US7103167B2 (en) 2002-05-20 2006-09-05 Callwave, Inc. Systems and methods for call screening
US6539225B1 (en) * 1999-06-21 2003-03-25 Lucent Technologies Inc. Seamless data network telecommunication service during mobile wireless call handoff
US6718177B1 (en) * 1999-09-20 2004-04-06 Cellemetry, Llc System for communicating messages via a forward overhead control channel for a programmable logic control device
US7783508B2 (en) 1999-09-20 2010-08-24 Numerex Corp. Method and system for refining vending operations based on wireless data
US6856808B1 (en) * 1999-10-29 2005-02-15 Cellmetry, Llc Interconnect system and method for multiple protocol short message services
WO2001063883A2 (en) 2000-02-25 2001-08-30 Telecommunication Systems, Inc. Prepaid short messaging
US7110773B1 (en) * 2000-04-11 2006-09-19 Telecommunication Systems, Inc. Mobile activity status tracker
US6684072B1 (en) 2000-08-24 2004-01-27 Level Z, L.L.C. Global wireless prepaid roaming
US7245928B2 (en) * 2000-10-27 2007-07-17 Cellemetry, Llc Method and system for improved short message services
US7640031B2 (en) * 2006-06-22 2009-12-29 Telecommunication Systems, Inc. Mobile originated interactive menus via short messaging services
AR037234A1 (en) * 2001-08-27 2004-11-03 Numerex Corp DEVICE FOR DETECTING A LOSS OF INTEGRITY OF A TELEPHONE LINE, METHOD FOR DETECTING AND REPORTING ABOUT A LOSS OF INTEGRITY OF A TELEPHONE LINE
US6658260B2 (en) 2001-09-05 2003-12-02 Telecommunication Systems, Inc. Inter-carrier short messaging service providing phone number only experience
US7853272B2 (en) * 2001-12-21 2010-12-14 Telecommunication Systems, Inc. Wireless network tour guide
US6718237B1 (en) 2002-03-28 2004-04-06 Numerex Investment Corp. Method for reducing capacity demands for conveying geographic location information over capacity constrained wireless systems
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7323970B1 (en) * 2004-01-21 2008-01-29 Numerex Corporation Method and system for remote interaction with a vehicle via wireless communication
US8195205B2 (en) * 2004-05-06 2012-06-05 Telecommunication Systems, Inc. Gateway application to support use of a single internet address domain for routing messages to multiple multimedia message service centers
US7991411B2 (en) 2004-05-06 2011-08-02 Telecommunication Systems, Inc. Method to qualify multimedia message content to enable use of a single internet address domain to send messages to both short message service centers and multimedia message service centers
US7430425B2 (en) * 2005-05-17 2008-09-30 Telecommunication Systems, Inc. Inter-carrier digital message with user data payload service providing phone number only experience
US8855107B1 (en) 2005-07-01 2014-10-07 Callwave Communications, Llc Methods and systems for call routing via a telephone number
US7548158B2 (en) * 2005-08-08 2009-06-16 Telecommunication Systems, Inc. First responder wireless emergency alerting with automatic callback and location triggering
US20070038353A1 (en) * 2005-08-15 2007-02-15 Larschan Bradley R Driver activity and vehicle operation logging and reporting
US20070038351A1 (en) * 2005-08-15 2007-02-15 Larschan Bradley R Driver activity and vehicle operation logging and reporting
US20070038338A1 (en) * 2005-08-15 2007-02-15 Larschan Bradley R Driver activity and vehicle operation logging and reporting
US7117075B1 (en) 2005-08-15 2006-10-03 Report On Board Llc Driver activity and vehicle operation logging and reporting
US8626377B2 (en) 2005-08-15 2014-01-07 Innovative Global Systems, Llc Method for data communication between a vehicle and fuel pump
US9818120B2 (en) 2015-02-20 2017-11-14 Innovative Global Systems, Llc Automated at-the-pump system and method for managing vehicle fuel purchases
US20070066309A1 (en) * 2005-09-20 2007-03-22 Elizabeth Countryman Prepaid call management in intelligent network
US7680471B2 (en) 2006-05-17 2010-03-16 Numerex Corp. System and method for prolonging wireless data product's life
US8463284B2 (en) * 2006-07-17 2013-06-11 Telecommunication Systems, Inc. Short messaging system (SMS) proxy communications to enable location based services in wireless devices
US7676229B2 (en) * 2006-08-31 2010-03-09 Syniverse Technologies, Inc. Cellular-to-VoIP call establishment systems, methods, devices, and computer software
US9408046B2 (en) * 2006-10-03 2016-08-02 Telecommunication Systems, Inc. 911 data messaging
US8548447B1 (en) 2006-10-06 2013-10-01 Callwave Communications, Llc Methods and systems for blocking unwanted telecommunications
MX2009008343A (en) 2007-02-06 2009-10-30 Numerex Corp Service escrowed transportable wireless event reporting system.
US8954028B2 (en) 2008-09-25 2015-02-10 Telecommunication Systems, Inc. Geo-redundant and high reliability commercial mobile alert system (CMAS)
US8712453B2 (en) * 2008-12-23 2014-04-29 Telecommunication Systems, Inc. Login security with short messaging
CA2825289A1 (en) 2010-12-13 2012-06-21 Telecommunication Systems, Inc. Location services gateway server
US9408047B2 (en) 2013-10-10 2016-08-02 Telecommunication Systems, Inc. Read acknowledgement interoperability for text messaging and IP messaging
US9270815B2 (en) 2014-06-24 2016-02-23 At&T Intellectual Property I, Lp Method and apparatus for data management of third party services

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4178476A (en) * 1978-05-26 1979-12-11 Frost Edward G Automatic nationwide paging system
JPS60170341A (en) * 1984-02-14 1985-09-03 Nec Corp Exchange system
US4644351A (en) * 1984-05-08 1987-02-17 Motorola, Inc. Two way personal message system with extended coverage
IT1209566B (en) * 1984-07-06 1989-08-30 Face Standard Ind SYSTEM AND PROCEDURE TO IDENTIFY THE POSITION OF A RADIO USER WITHIN A WIDE GEOGRAPHICAL SURFACE.
GB8419003D0 (en) * 1984-07-25 1984-08-30 Racal Res Ltd Portable telephones
US4680786A (en) * 1985-10-01 1987-07-14 At&T Company Communication system for providing business communication features to cellular mobile telecommunication customers
US4670905A (en) * 1985-11-29 1987-06-02 Motorola, Inc. Method and apparatus for coordinating independent communications systems
US4752951A (en) * 1985-12-23 1988-06-21 Konneker Lloyd K Method of providing location dependent person locator service
GB8619875D0 (en) * 1986-08-15 1986-09-24 British Telecomm Communications system
US4747122A (en) * 1986-10-27 1988-05-24 Mobile Communications Corporation Of America Mobile paging call back system and related method
US4737978A (en) * 1986-10-31 1988-04-12 Motorola, Inc. Networked cellular radiotelephone systems
US4775999A (en) * 1986-10-31 1988-10-04 Motorola, Inc. Registration of radiotelephones in networked cellular radiotelephone systems
JP2582369B2 (en) * 1987-05-13 1997-02-19 日本電気株式会社 Roaming registration / cancellation method
US4827499A (en) * 1987-06-12 1989-05-02 American Telephone And Telegraph Company At&T Bell Laboratories Call control of a distributed processing communications switching system
US4723264A (en) * 1987-06-19 1988-02-02 Motorola, Inc. Signalling method for establishing trunked communication
US4814763A (en) * 1987-12-14 1989-03-21 Motorola, Inc. Paging terminal apparatus with page forwarding capability and methodology thereof
US4833701A (en) * 1988-01-27 1989-05-23 Motorola, Inc. Trunked communication system with nationwide roaming capability
KR100298880B1 (en) * 1997-05-01 2001-10-26 송기선 Optical coupling device and method for manufacturing the same

Also Published As

Publication number Publication date
EP0379642A2 (en) 1990-08-01
EP0379642A3 (en) 1992-01-22
US4901340A (en) 1990-02-13

Similar Documents

Publication Publication Date Title
CA1322397C (en) System for the extended provision of cellular mobile radiotelephone service
US5845211A (en) Wireless digital network
US6230006B1 (en) Test system for remotely testing switches within a telecommunications network
US5661791A (en) Method and apparatus for enhanced distinctive call redirection
US6101242A (en) Monitoring for key words with SIV to validate home incarceration
CN101682827B (en) Method and system for call management based on geographical location
US7630484B2 (en) Service and information management system for a telecommunications network
US6968044B2 (en) Telephone emergency response system and method
EP0743778B1 (en) Service and information management system for a telecommunications network
ES2225993T3 (en) CALL ESTABLISHMENT PROCEDURE.
US5729598A (en) Telephone network with telecommuting features
JPH0364298A (en) Access network for wireless telephone service
KR100548673B1 (en) Determining the location of a subscriber unit in a mobile communication system
JP2009153187A (en) Transmission route designation method and system
WO1999027716A1 (en) Regulatory database within the intelligent network
CA2313277A1 (en) Telephone calling card service system integrating virtual destination numbers
WO1996020571A1 (en) A method for improving charging criteria in a mobile telephone network
US5844978A (en) Multi-user telephone line
CA2159392C (en) Notification of toll free call charging status
US5966649A (en) Cellular-telephone central call-processing system utilizing object-oriented software in adjunct personal computer for generating billing records
US5859897A (en) Telephone calling card and service
AU682919B2 (en) Providing service in mobile communication system
US5519768A (en) Facsimile detection system and method
EP2008475B1 (en) A method, apparatus or software for managing a call in a telecommunications network
EP0872107B1 (en) Procedure and system for the setting up of calls

Legal Events

Date Code Title Description
MKLA Lapsed
MKLA Lapsed

Effective date: 19970922