home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / CALLI105.ZIP / CALLID.DOC < prev    next >
Encoding:
Text File  |  1993-09-15  |  36.2 KB  |  931 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.                                  CallID v1.05
  16.  
  17.  
  18.                       Copyright (C) 1993, Robert La Ferté
  19.                                LogiNord SoftWare
  20.  
  21.                                FidoNet 1:167/235
  22.  
  23. ┌────────────────────────────────────────────────────────────────────────────┐
  24. │ CallID v1.05 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  25. └────────────────────────────────────────────────────────────────────────────┘
  26.  
  27.         What is CallID?..............................................   2
  28.         Software requirements........................................   2
  29.         Hardware requirements........................................   2
  30.         Supported environments.......................................   3
  31.         Configuration................................................   3
  32.                 Keywords.............................................   4
  33.                         AreaCode.....................................   4
  34.                         Confirm......................................   4
  35.                         Hex..........................................
  36.                         IDString.....................................   5
  37.                         LogFile......................................   6
  38.                         MaxBack......................................   6
  39.                         Offset.......................................   6
  40.                         OutOfBounds..................................   6
  41.                         Password.....................................   7
  42.                         PassKey......................................   7
  43.                         Private......................................   7
  44.                         UserFile.....................................   8
  45.                         WhereTo......................................   8
  46.         Calling Syntax...............................................   9
  47.                 -b...................................................   9
  48.                 -c...................................................   9
  49.                 -x...................................................   9
  50.                 -?...................................................   9
  51.         Installation.................................................  10
  52.         Information on the User......................................  11
  53.         Private numbers..............................................  11
  54.         Out-Of-Area/Remote location..................................  12
  55.         Valid numbers................................................  12
  56.                 Not found in database................................  12
  57.                 Found more than once.................................  12
  58.                 Found and is unique..................................  13
  59.         Rejection file...............................................  13
  60.         Files created on a previous run..............................  13
  61.         Thanks.......................................................  14
  62.         Questions, suggestions, problems.............................  14
  63.         Registration.................................................  15
  64.         Disclaimer...................................................  16
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78. ──────────────────────────────────────────────────────────────────────────────1
  79.  
  80. ┌─────────────────────────────────────────────────────────────────────────────┐
  81. │ What is CallID? ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  82. └─────────────────────────────────────────────────────────────────────────────┘
  83.  
  84. CallID is a utility that gives your system the intelligence to recognize who's
  85. online *before* the user even enters his name.  It uses the phone company's
  86. caller identification information passed by SupraFAX and ZyXEL modems to your
  87. mailer to identify your users.
  88.  
  89. This is the first release of LogiNord's CallID.   I had to work with the
  90. software and hardware that was available *now*, so future versions of mailers
  91. and modems may require that I update CallID to reflect the changes.
  92.  
  93. ┌─────────────────────────────────────────────────────────────────────────────┐
  94. │ Software Requirements ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  95. └─────────────────────────────────────────────────────────────────────────────┘
  96.  
  97. Several mailers can be used with CallID.  I have tried BinkleyTerm, some have
  98. been able to make it work with Chris Irwin's D'Bridge, and the new version of
  99. FrontDoor (2.20) works too.
  100.  
  101. ** BUT! **   Since CallID is very flexible in the way it works, it will
  102. probably work with any software that writes the required information to a text
  103. file.
  104.  
  105. CallID works with most DOS-like operating systems, as long as it supports
  106. function calls that were added in MS-DOS 3.xx and later.  In plain-jane DOS
  107. environments, this means you must run PC or MS-DOS 3.00 or higher.
  108.  
  109. ┌─────────────────────────────────────────────────────────────────────────────┐
  110. │ Hardware Requirements ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  111. └─────────────────────────────────────────────────────────────────────────────┘
  112.  
  113. On the hardware side, many modem manufacturers state that their products are
  114. able to get hold of the Caller ID information the phone company sends (when
  115. you're a subscriber to such a service), but very few of them work in the real
  116. world.  The only modems I've been able to get a sample of their output, are the
  117. SupraFAX and the ZyXEL models.
  118.  
  119. CallID v1.05 was tested mostly with a ZyXEL U-1496, in real-time tests, and
  120. output of the SupraFAX modem was sent to me for offline work.  Both formats are
  121. supported, if CallID doesn't work with your modem, please send me information
  122. on the make/model along with a sample logfile.  It will be added to the list of
  123. supported models.
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135. ──────────────────────────────────────────────────────────────────────────────2
  136.  
  137. ┌─────────────────────────────────────────────────────────────────────────────┐
  138. │ Supported Environments ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  139. └─────────────────────────────────────────────────────────────────────────────┘
  140.  
  141. CallID was tested in plain-Jane MS-DOS 5.0, with QuarterDeck's QEMM 6.01, and
  142. under QuarterDeck's DESQview.  All these combinations work, CallID accesses all
  143. files (except the ones it creates) in file-sharing mode, so it doesn't
  144. interfere with the rest of the system's work.
  145.  
  146. ┌─────────────────────────────────────────────────────────────────────────────┐
  147. │ Configuration ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  148. └─────────────────────────────────────────────────────────────────────────────┘
  149.  
  150. Configuring CallID v1.05 is easy, you just have to edit the file called
  151. CALLID.CFG that came in this archive, and change its contents so it reflects
  152. your installation.  Let's get through the configuration file's keywords and
  153. meanings.
  154.  
  155.         Keyword         Signification
  156.         ─────────────── ────────────────────────────────────────────────────
  157.         AreaCode        Default area code for numbers without them.
  158.         Confirm         Character used to confirm the user's name for
  159.                         Maximus.
  160.         Hex             Phone number reported is in hexadecimal ASCII.
  161.         IDString        String that precedes the caller's phone number
  162.                         in the logfile.
  163.         LogFile         Complete path & name of BinkleyTerm's logfile.
  164.         MaxBack         Maximum numbers of line to read from the logfile's
  165.                         end.
  166.         Offset          Offset of phone number in hexadecimal ASCII string.
  167.         OutOfBounds     String replacing the phone number for a user who
  168.                         calls from an area that doesn't support Caller ID.
  169.         PassKey         User's way to disable password poking.
  170.         Password        Sysop's permission to poke the user's password too.
  171.         Private         String replacing the phone number for a user who
  172.                         blocked the Caller ID.
  173.         UserFile        Complete path to Maximus' USER.BBS file.
  174.         WhereTo         Where will CallID create its info files.
  175.  
  176. That's it!
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192. ──────────────────────────────────────────────────────────────────────────────3
  193.  
  194. Now let's go through each keyword, and give its exact use and syntax:
  195.  
  196.  
  197. AreaCode:       Some sysops use a formatting utility so all the phone numbers
  198.                 in USER.BBS look the same way, instead of having odd-looking
  199.                 numbers all over.  Since CallID needs to scan the user database
  200.                 to find the current user's information, it also needs to
  201.                 compare phone numbers.  Some numbers may not have the area
  202.                 code attached to them, so CallID needs a default area code to
  203.                 patch these numbers.  Don't worry, CallID *never* writes to the
  204.                 user database, so this area code will never be written in a
  205.                 user's record.
  206.  
  207.                         Example:    AreaCode    514
  208.  
  209. Confirm:        When you log on a Maximus system, and you enter your name,
  210.                 Maximus always asks for a confirmation of the name entered.
  211.                 Example:
  212.  
  213.                         Please enter your first name:   Robert
  214.                                            last name:   La Ferte
  215.  
  216.                         Robert La Ferte [Y/n] ?
  217.  
  218.                 See?  The `Confirm' keyword defines the character that will be
  219.                 used to confirm to Maximus that the name that is poked by
  220.                 CallID is indeed the correct name.  Now this character isn't
  221.                 tha same for every language, and that's why the `Confirm'
  222.                 keyword exists.  In English, like in the example above, we'd
  223.                 use the letter `Y', for "Yes".  In French, where the question
  224.                 would be:
  225.  
  226.                         Robert La Ferte [O/n] ?
  227.  
  228.                 we'd use the letter `O' (for "Oui").
  229.  
  230.                         Example:    Confirm O
  231.  
  232. Hex:            Some Supra Corporation modems write the user's phone number in
  233.                 a strange form: an hexadecimal ASCII string, like this:
  234.  
  235.                 # 15 Feb 23:06:29 BINK Mesg = 030739363831373039
  236.  
  237.                 The first two digits (03) in this case represent DDN
  238.                 information (Dialable Directory Number).  The next two
  239.                 represent the number of digits in the variable length string,
  240.                 and the rest is the phone number.  In this case, the number
  241.                 represented is 9681709 (my system's phone number).
  242.  
  243.                 To make CallID compatible with these modems, you must use the
  244.                 `Hex' keyword and the `Offset' keyword in the configuration
  245.                 file.
  246.  
  247.  
  248.  
  249. ──────────────────────────────────────────────────────────────────────────────4
  250.  
  251.                 The `Hex' keyword doesn't take any arguments, it simply
  252.                 indicates to CallID that the number will be in an hex ASCII
  253.                 form.  The `Offset' keyword... is explained later in this file.
  254.  
  255.  
  256. IDString:       The `IDString' keyword is used to define the *exact* string
  257.                 that is written in the mailer's logfile, preceding the current
  258.                 caller's number.  In the case of BinkleyTerm/Dos used with a
  259.                 ZyXEL U-1496 modem, the line in the logfile is:
  260.  
  261.                 # 08 Feb 01:17:33 BINK Caller Number: 9681709
  262.  
  263.                 This is a real line, taken from a real installation.  In this
  264.                 case, the `IDString' would be:
  265.  
  266.                 Caller Number:
  267.  
  268.                 Of course, you could use
  269.  
  270.                 BINK Caller Number:
  271.  
  272.                 and CallID would find it, but if you use only
  273.  
  274.                 Number:
  275.  
  276.                 you may get CallID confused if it finds that particular string
  277.                 *before* the one you're searching for.  In the sample
  278.                 configuration file you will find int the archive, that's the
  279.                 way CallID was configured to work with the installation
  280.                 described above.
  281.  
  282.                 In a SupraFAX installation under OS/2, the same line would look
  283.                 like this:
  284.  
  285.                 # 25 Jan 15:21:49 BINK Nmbr = 5149681709
  286.  
  287.                 So the IDString would be
  288.  
  289.                 Nmbr =
  290.  
  291.                 I chose to make CallID case-sensitive while it's searching for
  292.                 `IDString', `Private' and `OutOfBounds'.  If you have some
  293.                 other utility that writes similar strings in the logfile, but
  294.                 in a different mix of upper and lower case, CallID will not get
  295.                 mixed up.  In most cases, this is more preferable than the
  296.                 other way, since some strings may not be found, or may be found
  297.                 twice...
  298.  
  299.                     Examples:   IDString    Caller Number:
  300.                                 IDString    Nmbr =
  301.  
  302.  
  303.  
  304.  
  305.  
  306. ──────────────────────────────────────────────────────────────────────────────5
  307.  
  308. LogFile:        CallID needs to read BinkleyTerm's logfile to find the phone
  309.                 number of the person online.  Since that file probably has a
  310.                 different name on every installation, you must specify the
  311.                 complete path & name to that file, including drive specifier if
  312.                 needed.
  313.  
  314.                     Example:    LogFile     C:\Bink\Binkley.Log
  315.  
  316.  
  317. MaxBack:        CallID reads the BinkleyTerm logfile *backwards*, to find the
  318.                 Caller ID information supplied by the phone company.  If your
  319.                 logfile is extensive, i.e. you have many utilities writing to
  320.                 it, you may need to change this parameter.  This is the maximum
  321.                 number of lines CallID will read backwards to find the
  322.                 information.  If it doesn't find the information in these
  323.                 [MaxBack] lines, it will simply act as if the user wasn't
  324.                 known.
  325.  
  326.                     Example:    MaxBack     10
  327.  
  328. Offset:         The `Offset' keyword is only significant if you also use the
  329.                 `Hex' keyword.  This is to support the hexadecimal-ASCII output
  330.                 of some SupraCorp modems.  If you have this in your logfile:
  331.  
  332.                 # 15 Feb 23:06:29 BINK Mesg = 030739363831373039
  333.  
  334.                 then you need the `Offset' keyword.  :-)   This is to tell
  335.                 CallID how many digits to trash before getting to the real
  336.                 phone number.  In this case, it would be 4:
  337.  
  338.                 # 15 Feb 23:06:29 BINK Mesg = 030739363831373039
  339.                                               ^^^^│
  340.                                               1234└─ Start of real number
  341.  
  342.                 CallID would then ignore the first 4 digits.  If you don't need
  343.                 `Offset' but still need hexadecimal-ASCII compatibility, set
  344.                 `Offset' to zero (0).  CallID will then simply trash.. 0
  345.                 digits.
  346.  
  347.                 *** Remember that hexadecimal values are represented by *pairs*
  348.                 of digits.  `Offset' will probably always be an even value.
  349.  
  350.  
  351. OutOfBounds:    Nope, no stroke penalty here.. :-)   The `OutOfBounds' keyword,
  352.                 while it resumes very well my last golf round, defines for
  353.                 CallID the string that would replace the caller's number in the
  354.                 logfile when the user calls from an area that doesn't support
  355.                 the Caller ID function.  I don't have an example for the
  356.                 SupraFAX, but for the ZyXEL modem, it looks like this:
  357.  
  358.                 # 08 Feb 01:17:33 BINK Reason for no Caller Number: Out-Of-Area
  359.  
  360.  
  361. ──────────────────────────────────────────────────────────────────────────────6
  362.  
  363.                 As you see, the IDString is still there, so CallID will find
  364.                 it, but when it will scan for a phone number, it will find the
  365.                 string that is defined for `OutOfBounds', so CallID will know
  366.                 that the caller's number isn't available.
  367.  
  368.                     Example:    OutOfBounds Out-Of-Area
  369.  
  370.                 Of course, if your modem reports something else, you enter it
  371.                 here, *exactly* as it appears in your system's logfile.
  372.                 Remember that CallID is case-sensitive during the search in the
  373.                 logfile.
  374.  
  375.  
  376. Password:       I know, I got out of sync with the list above, but you'll soon
  377.                 understand why..  This keyword is used by CallID to determine
  378.                 if the sysop wants it to poke the current caller's password
  379.                 along with the user's name.  In some installations, the sysop
  380.                 will not allow this, so the `Password' keyword must be set to
  381.                 "No".  If the sysop wants CallID to poke the user's password
  382.                 along with his name, (s)he must set the `Password' keyword to
  383.                 "Yes".
  384. PassKey:        The `PassKey' keyword is dependant of the `Password' keyword,
  385.                 and is used by the users of your BBS.  In installations where
  386.                 the sysops allows password-poking, there may be some users who
  387.                 don't like that action, and they may want to protect
  388.                 themselves by entering their password manually.   In such a
  389.                 case, you can define a character that can be used as a "key" to
  390.                 disable the password-poking feature.  Any character valid for a
  391.                 password for Maximus can be used.
  392.  
  393.                 Why is it dependant of the `Password' keyword?  Because it can
  394.                 only be used when the sysop normally allows password-poking,
  395.                 since `PassKey' will *not* work the other way round; that is,
  396.                 allow a user's password to be poked anyway, even if the sysop
  397.                 set the `Password' keyword to "No".  Passkey will only have an
  398.                 effect if Password is set to "Yes".
  399.  
  400.                     Example:    PassKey     *
  401.  
  402.                 In which case, all users using a password beginning by the
  403.                 character `*' will have to enter their password manually, while
  404.                 all the other users will have their password entered by CallID.
  405.  
  406.  
  407. Private:        This keyword works in the same was as the `OutOfBounds'
  408.                 keyword, but for users who deliberately blocked the Caller ID
  409.                 function.  In these cases, you may want to take a different
  410.                 action, you'll get an example in a later section of this file.
  411.  
  412.                 The string defined by the `Private' keyword should be the same
  413.                 reported in your mailer's logfile when the user blocked his
  414.                 number, as allowed in certain phone company districts.
  415.  
  416.  
  417.  
  418. ──────────────────────────────────────────────────────────────────────────────7
  419.  
  420.                     Example:    Private     Privacy
  421.  
  422.                 Remember that CallID will find anything if you take great care
  423.                 of specifying the exact string your modem reports, case
  424.                 included.
  425.  
  426.  
  427. UserFile:       To scan the USER.BBS file, CallID must be able to find it...
  428.                 Please specify the complete path, but path *only*.  CallID
  429.                 knows that the file is called USER.BBS in Maximus
  430.                 installations.
  431.  
  432.                     Example:    UserFile    C:\Maximus\
  433.  
  434.                 You can omit the terminating backslash, CallID will work with
  435.                 or without it...
  436. WhereTo:        CallID will create a number of files for Maximus to use.  Each
  437.                 file has it's own utility and signification, they'll be given
  438.                 later in this file.  If you run a multi-line system, you *must*
  439.                 specify a different path for every node, thus use a separate
  440.                 configuration file for every node.  This allows for greater
  441.                 flexibility.
  442.  
  443.                     Example:    WhereTo     C:\Bink\CallID\
  444.  
  445.                 You can omit the terminating backslash, CallID will work with
  446.                 or without it...
  447.  
  448.  
  449. IMPORTANT!      CallID needs all of this information, and will tell you if one
  450.                 or more parameter is missing.  It will identify the missing
  451.                 part, to simplify your configuration work...
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475. ──────────────────────────────────────────────────────────────────────────────8
  476.  
  477. ┌─────────────────────────────────────────────────────────────────────────────┐
  478. │ Calling Syntax ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  479. └─────────────────────────────────────────────────────────────────────────────┘
  480.  
  481.  
  482. CallID's syntax is simple, yet flexible:
  483.  
  484.         CallID.Exe -cCfgFile.Ext [-x] [-b]
  485.         CallID.Exe -?
  486.  
  487.         -c<Config file name>    Is used to get the configuration filename,
  488.                                 which should be written next to '-c', wuthout
  489.                                 any spaces between, like this:
  490.  
  491.                                 -cCallID.Cfg
  492.  
  493.                                 If you don't specify a configuration file on
  494.                                 the command-line, CallID *will not work*, and
  495.                                 you'll get the help screen, as if you used the
  496.                                 -? switch.
  497.  
  498.         -x                      CallID writes lots of information on screen
  499.                                 while it works.  If you want to get rid of most
  500.                                 of this information, use this switch.  It also
  501.                                 speeds up the execution of CallID a little.
  502.  
  503.         -b                      By default, CallID uses direct video writes.
  504.                                 If you run under DESQview, or a similar
  505.                                 environment, you may want CallID to use BIOS
  506.                                 calls instead.  This switch changes CallID's
  507.                                 behavior in this manner.
  508.  
  509.         -?                      Get Help on CallID's configuration and syntax.
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. ──────────────────────────────────────────────────────────────────────────────9
  533.  
  534. ┌─────────────────────────────────────────────────────────────────────────────┐
  535. │ Installation ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  536. └─────────────────────────────────────────────────────────────────────────────┘
  537.  
  538. Installation of CallID is straightforward, and shouldn't cause any problems in
  539. most installations.  CallID works by using an combination of an environment
  540. variable and a batch file.  The only modification you'll have to make to your
  541. installation is:
  542.  
  543.     1. Adding two lines to your batch file calling Maximus.
  544.     2. Modifying the line calling Maximus.
  545.  
  546. To your batch file, you insert these two lines *just before Maximus gets
  547. called*:
  548.  
  549. d:\path\CallID -cd:\path\Callid.Cfg
  550. d:\path\CallID!.Bat
  551.  
  552. The first line executes CallID-the program, and the second one calls
  553. CallID-the batch file.  To ensure proper operation, you should specify complete
  554. pathnames to every call.  In the example above, replace "d:\path\" by the
  555. drives and paths required by your own installation.
  556.  
  557. Don't look in the CallID distribution archive for the CallID!.BAT file, it
  558. doesn't exist.  This file will be created by CallID.Exe during its execution,
  559. and it will contain only one line:
  560.  
  561. SET CALLID=<user information if available>
  562.  
  563. You should reserve enough space in the environment to allow CallID to create
  564. another variable.
  565.  
  566. (If you require more information on how to allocate environment memory, please
  567. refer to your MS-DOS manuals.)
  568.  
  569. When the batch file CALLID!.BAT executes, it will place information in your
  570. computer's environment, and it's *this* information that will allow Maximus to
  571. know who's there before the user identifies (her)himself.
  572.  
  573. If password-poking is allowed, you may find in the batch file, the following
  574. string:
  575.  
  576.     SET CALLID=Robert;La;Ferte;Y;Password
  577.  
  578. In which case, the batch file will create the environment variable `CALLID',
  579. and this variable will have "Robert;La;Ferte;Y;Password" as a value.
  580.  
  581. If password-poking is disables, you'd only find:
  582.  
  583.     SET CALLID=Robert;La;Ferte
  584.  
  585.  
  586.  
  587.  
  588.  
  589. ─────────────────────────────────────────────────────────────────────────────10
  590.  
  591. After the batch file creates that environment variable, your original batch
  592. file calls Maximus.  You must add this to your Maximus command-line, just after
  593. the name of the Maximus executable:
  594.  
  595. -j%CALLLID%
  596.  
  597. This tells Maximus to take the user name in an environment variable called
  598. "CALLID", and to use that information to login the user.
  599.  
  600. *** And what if the number is blocked, is out-of-area, or if the caller isn't a
  601.     registered user?
  602.  
  603. Simple.  The environment variable will be emptied by CallID (it will not exist
  604. anymore) and Maximus will simply ignore the "-j" parameter on its command-line.
  605. The user will then be able to login manually, as if CallID never existed.  But
  606. on the next call, CallID will be able to identify that user, since his phone
  607. number will then be known.
  608.  
  609. ┌─────────────────────────────────────────────────────────────────────────────┐
  610. │ Information of the User ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  611. └─────────────────────────────────────────────────────────────────────────────┘
  612.  
  613. CallID will get in BinkleyTerm's logfile, the information given by the phone
  614. company on the current user.  There are three possibilities for that
  615. information:
  616.  
  617.         ■ The current user's number is private, or has been blocked by the
  618.           user.
  619.  
  620.         ■ The current user is calling from a location which doesn't support
  621.           Caller ID information, or is calling from outside your area.
  622.  
  623.         ■ The current user's number is available.
  624.  
  625. For each of these cases, CallID will behave differently:
  626.  
  627.  
  628. Private Number, of number was blocked:
  629. ──────────────────────────────────────
  630.  
  631. The current user has a confidential number, and information will not be given
  632. by the phone company, *or* this user chose to block the Caller ID function.
  633.  
  634. CallID will then create a file called "PRIVATE.DAT", to indicate that this
  635. user's number is unavailable.  The "CALLID" environment variable will be
  636. destroyed.  By creating a MECCA file, you could take a different action for
  637. these users.  In one beta installation, the sysop chose to drop carrier on
  638. these users, telling them that he didn't like user who hid themselves by
  639. blocking the number.  He then invited them to call back with the Caller ID
  640. function unaltered.  Of course, you could decide to do something else, you're
  641. the boss! :-)
  642.  
  643.  
  644.  
  645.  
  646. ─────────────────────────────────────────────────────────────────────────────11
  647.  
  648. Remote location, or from out-of-area:
  649. ─────────────────────────────────────
  650.  
  651. Caller is from an unsupported area.  CallID is then unable to get ths
  652. information for this user.  It will create the "NOPHONE.DAT" file, and exit.
  653. The "CALLID" environment variable will be destroyed.
  654.  
  655.  
  656. CallID finds a valid number:
  657. ────────────────────────────
  658.  
  659. This is the most complex part of CallID's behavior.  Not *that* complex, but
  660. it's here that the fun begins!
  661.  
  662. When CallID finds a valid number, it will search through the user databse to
  663. find a match for that number.
  664.  
  665. Again, there are three possibilities:
  666.  
  667.         ■ Number isn't found in the user database.
  668.         ■ Number is found more than once. (more than 1 user uses it)
  669.         ■ Number is found, and is unique.
  670.  
  671. For each of these cases, CallID will behave differently:
  672.  
  673.  
  674. Number wasn't found:
  675. ────────────────────
  676.  
  677. This may be a new user, or a regular user calling from an unknown location.
  678. CallID will then create a file called "NUMBER.DAT", that will contain the found
  679. phone number, then exit.  The "CALLID" environment variable will be destroyed.
  680.  
  681.  
  682. Number found more than once:
  683. ────────────────────────────
  684.  
  685. Two - or more - users registered with the same number, *or* a regular user is
  686. calling from another regular user's place.  Since it is impossible at that time
  687. to identify the user positively, CallID will take the "best" action possible:
  688. it will *not* poke any password, but it will offer the first name that matched.
  689.  
  690. As an example, if you have "Don Juan" and "Don Camillo" at the same number, and
  691. that CallID finds "Don Camillo" first, it will offer that name to Maximus.
  692. When Maximus will load, it will ask the user for a confirmation of the name,
  693. like this:
  694.  
  695.     Don Camillo [Y/n] ?
  696.  
  697. If it's Don Juan calling, he will simply reply "N", and then enter his own
  698. name.    
  699.  
  700.  
  701.  
  702.  
  703. ─────────────────────────────────────────────────────────────────────────────12
  704.  
  705. The phone number found will still be written to the "NUMBER.DAT" file, so you
  706. can display it within a MECCA file, and a file called "DOUBLE.DAT" will be
  707. created so you can take appropriate action.  You could use that file to display
  708. a specific string from a MECCA file...
  709.  
  710. Number is unique:
  711. ─────────────────
  712.  
  713. Ahh..  there we are!  The user online is already registered, and is the only
  714. one using this phone number.  CallID will write his number in the "NUMBER.DAT"
  715. file, and then his name in the "USERNAME.DAT" file  The environment variable
  716. "CALLID" will then contain the user's name, and if password-poking is allowed
  717. and the user didn't disable it by using the `PassKey' character as first
  718. character of his password, his password will be there too.
  719.  
  720. ┌─────────────────────────────────────────────────────────────────────────────┐
  721. │ Rejection file ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  722. └─────────────────────────────────────────────────────────────────────────────┘
  723.  
  724. CallID v1.05 has a new feature: it can use a rejection file containing phone
  725. numbers of people you do not want to give access to your system.  If CallID
  726. finds a valid phone number in your logfile, it will try to open a file called
  727. "CALLID.PHN", which is the list of rejects.  If the file exists *in the same
  728. directory CallID was called from*, CallID will use it.  If it doesn't exist,
  729. CallID will continue execution without complaining since this is an optional
  730. feature.
  731.  
  732. The format of this file is important, and you should take the time to look at
  733. the sample file provided with the distribution archive.  CallID is actually
  734. restricted to North-American phone numbers, and the rejection file uses that
  735. format.  You can use a semi-colon in the first column to add comments to the
  736. reject file.  Of course, the less lines it contains, the faster CallID will
  737. process it.
  738.  
  739. If CallID finds the number in the reject file, it will create a file called
  740. REJECT.DAT on disk, in the directory specified in your configuration for the
  741. other .DAT files.  In your very first MECCA file (usually Logo.Mec), test for
  742. the existence of that file.  If it exists, your next step would be the [hangup]
  743. token...
  744.  
  745. This feature doesn't exist in the current version of Maximus (v2.01wb).  That's
  746. why CallID supports it right now.
  747.  
  748. Thanks to Mark R. Williamson of Digital Dreams BBS (1:379/606) for the
  749. suggestion - you have it as described Mark! :-)
  750.  
  751.  
  752. ┌─────────────────────────────────────────────────────────────────────────────┐
  753. │ Files created on previous runs ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  754. └─────────────────────────────────────────────────────────────────────────────┘
  755.  
  756. All the files that CallID created on a previous run are destroyed during the
  757. current run.  This is done to ensure that no false information is transmitted,
  758. and so that CallID will stay safe to use.
  759.  
  760. ─────────────────────────────────────────────────────────────────────────────13
  761.  
  762. ┌─────────────────────────────────────────────────────────────────────────────┐
  763. │ Thanks: ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  764. └─────────────────────────────────────────────────────────────────────────────┘
  765.  
  766. To Jean Paul Dumas (1:167/217), who got me into this in the first place, who
  767. wrote the original MECCA files, and for whom CallID was written at the
  768. beginning.
  769.  
  770. To France Chapdelaine (1:167/235), who wanted to play Nibbles on the machine
  771. used to write CallID, and who had to stay alone in front of the TV waiting for
  772. me to get my hands off the keyboard.  Thanks honey... :-)
  773.  
  774. To Mark R. Williamson (1:379/606), who reported a strange critter (squashed),
  775. and who asked for the reject file feature.  It was a good idea, and he deserves
  776. the credit for it.
  777.  
  778. ┌─────────────────────────────────────────────────────────────────────────────┐
  779. │ Questions, suggestions, problems... ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  780. └─────────────────────────────────────────────────────────────────────────────┘
  781.  
  782. If you have questions on, or ideas for, CallID, please get in touch with me,
  783. either by netmail:
  784.  
  785.         Robert La Ferte
  786.         LogiNord BBS
  787.         1:167/235@fidonet.org
  788.  
  789. or by using "Postes Canada":
  790.  
  791.         LogiNord SoftWare
  792.         c/o: Robert La Ferte
  793.         1175 Dompierre
  794.         Mascouche, Quebec
  795.         Canada
  796.         J7L 2T6
  797.  
  798. When reporting problems (aarghh!), please send along:
  799.  
  800.         ■ Your configuration file for CallID.
  801.         ■ A sample of your logfile.
  802.         ■ A description of your installation.
  803.         ■ A description of the problem, with mucho details!
  804.         ■ The phone number of your system, and/or netmail address.
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817. ─────────────────────────────────────────────────────────────────────────────14
  818.  
  819. ┌─────────────────────────────────────────────────────────────────────────────┐
  820. │ Registering CallID ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  821. └─────────────────────────────────────────────────────────────────────────────┘
  822.  
  823. CallID is not free.   You must register before the expiration of the 30-day
  824. evaluation period.  I feel that 30 days is lots of time to evaluate a piece of
  825. software that will be used every single time a user logs on your system.
  826.  
  827. CallID also represents many hours of work, used between phone calls to remote
  828. sites to get information, to test preliminary versions, to debugging, to
  829. refining CallID's behavior.
  830.  
  831. Since this is written for Maximus, I can't ask for much, so CallID's
  832. registration cost is 10$, US funds.  Please *do net* send cash by mail, since
  833. it *may* get lost.  Checks are better, and Money Orders are *the best* thing.
  834.  
  835. You can get the mailing address in the "Questions, Suggestions, ... " section
  836. above.
  837.  
  838. CallID *is not crippled* in any way, all functions *do* work.  In the
  839. unregistered version, my logo appears at the end of the run, in both normal and
  840. -x modes.  Registering will get rid of that display, and since that display
  841. lengthens the execution time, the registered version of CallID runs a little
  842. faster... :-)
  843.  
  844. Registration will get you a thank-you note, and a keyfile.  This keyfile must
  845. be located in the same directory as the CallID executable so CallID can find
  846. it.  The keyfile will be valid for all future versions of CallID.
  847.  
  848. Supporting shareware is the ONLY way to keep it alive.  I register, do you?
  849. ───────────────────────────────────────────────────────────────────────────
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874. ─────────────────────────────────────────────────────────────────────────────15
  875.  
  876. ┌─────────────────────────────────────────────────────────────────────────────┐
  877. │ Disclaimer ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  878. └─────────────────────────────────────────────────────────────────────────────┘
  879.  
  880. This software and accompanying materials are distributed "as is" without
  881. warranty, express, implied or statutory, including but not limited to any
  882. implied warranties of merchantability and fitness for a particular purpose.
  883.  
  884. In no event shall the author or anyone involved with the creation and pro
  885. duction of this product be liable for any direct, indirect, incidental, or
  886. consequential damages resulting from the use of this program.
  887.  
  888. Your use of this program constitutes your agreement to this disclaimer and your
  889. release of the author from any form of liability or litigation.
  890.  
  891. All trademarks mentioned in this document are the property of their respective
  892. owners.
  893.  
  894. Thanks..
  895.  
  896. Robert La Ferte
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929. ─────────────────────────────────────────────────────────────────────────────16
  930.  
  931.