home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
bbs
/
callid1b
/
callid.doc
< prev
next >
Wrap
Text File
|
1993-08-15
|
7KB
|
171 lines
Call-ID
(c) Copyright 1993, Steve Barnes
Supplied courtesy of the Logic Church BBS
Steve Barnes
1166 Lorraine Street.
Sudbury, Ontario, Canada
P3A-2V4
(Voice) 705-560-3115, (BBS) 705-525-1307
Introduction:
G'day. Call-ID is a little utility I whipped up in C that is for
use with QBBS/ST and BinkleyTerm. It simply compares a users phone
number returned by Call-Display, and their phone numbers in their
user record. Depending on the result, the program will return
different errorlevels that you may do with what you wish. I use a
little script to provide auto-validation of new users and to weed
out lugens.
'LUGEN' - (Loo`gan): Noun. A human entity with a propensity for
probing ones nasal passage with an extended index finger. These
beings, despite only having 7 functioning fingers, somehow
manage to learn to use a computer. Causing many sysops to
develop a dysfunction known as Lugenation. Which is symptomized
by a rapid, uncontrolable ticks about the eyes, having a
metallic taste in ones mouth, and last, but certainly not least,
hearing bag-pipes.
I hope you'll find Call-ID useful. I know I have as its completely
eliminated lugens, and freeing me from the drudgery of
voice-validiting new users. My system runs itself thanks! Prior to
writing Call-ID, I wrote NOTARY, which is a successful shareware
call-back verifier for Forem/Turbo BBS's. So successful was NOTARY
that I become known across North America as 'The guy who wrote
NOTARY'. I had intended to duplicate NOTARY for QBBS, however our
local phone company graciously offered to hook up Call-Display
free! (Plus a $4.75 surcharge payable monthly).
In this document I'll attempt to describe Call-ID's functioning, as
well as its setup. I'll conclude at the end as is the accepted norm.
FUNCTION:
Call-ID reads its configuration file which contains 2 keywords
followed by their parameters. This is a plain jane ASCII text file.
Call-ID then reads you BINKLEY.LOG file (or, any log file for that
matter, it doesn't matter a bit if it came from BINKLEY or not)
remembering the LAST entry in the list.
It then reads from your USERS.BBS file the record for the user
currently online and compares the number returned by your phone
companies Caller-ID service (as reported by your log file) against
both of the users phone numbers in their user record.
If either one of the numbers match, Call-ID returns 0 as an
errorlevel.
If it doesn't match either, it returns 1.
If the number was blocked, it returns 2.
If the number was from another phone company it returns 3.
Any error conditions are reported as a standard TOS error condition.
(A negative number).
Finally, Call-ID will output its findings to the log specified in
the configuration file.
As you can see, Call-ID in itself doesn't do a heck of a lot. But
it does provide you with the information you need to have QBBS/ST
decide what to do with the result. This is accomplished with a
standard .DOR file. I've included the one I use, no doubt you'll
wish to change a few things, but it really is easy to understand.
INSTALLATION:
First things first. You must edit the supplied CALLID.CFG file to
reflect the way your system is laid out. It contains just 3
keywords, which I'll describe as follows:
BinkLog Path\Filename
Specifies where Call-ID should look for your BinkleyTerm/ST log.
LogName Path\Filename
Specifies where Call-ID should write its output log.
Now that we've edited the CALLID.CFG, we need to copy it, the
CALLID.TTP program and the CALLID.DOR itself over into your BBS root
directory. (Where your QUICKBBS.PRG lives).
Now, the trick is, how to get CALLID.TTP to run for every caller.
This is most easily accomplished by creating a phony TOP.MNU that
contains exactly two entries. The first runs CALLID.DOR (which in
turn runs CALLID.TTP) and the second simply runs your real TOP1.MNU
which is YOUR TOP.MNU renamed to TOP1.MNU. Both of these options
are autoexec types. The user doesn't have to do a thing.
Do it now, rename your existing TOP.MNU too TOP1.MNU and copy the
supplied TOP.MNU over to your .MNU folder.
Simple really. Though you really will want to edit the CALLID.DOR
file to reflect what you wish to happen to the user. See the QBBS/ST
docs for more info on this. Basically, if everything is fine.
Nothing happens.
Call-ID takes a parameter on the command line, this you can see,
is already done for you in the CALLID.DOR, but for the sake of
completeness the parameter is:
*R [users record number]
Thats about it. Now for the previously mentioned conclusion.
CONCLUSION:
I hope you find Call-ID as useful as I have. It really does the
trick. If you find any bugs, please, don't hesitate to let me know.
Call-ID is being distributed as true shareware. As I mentioned
earlier, NOTARY was very successful (Over 80 registrations) for two
reasons. Number 1, its the BEST CALL BACK VERIFIER AVAILABLE FOR
ANY PLATFORM <ahem>. Really, it slices, it dices.. Number 2; it was
'Crippleware'. You needed a special key to get to the really juicy
bits. Since this program isn't anywhere near as complex as NOTARY
is, this one is true shareware. Send me $10 or whatever you feel
its worth to you if you use it.
Your are granted unlimited permission to distribute Call-ID
provided it is distributed unaltered and intact. No fees may be
charged for distribution beyond media costs.
The author makes no claims whatsoever regarding performance,
fitness for purpose and is no way liable for financial losses, real
or percieved through the use of Call-ID. Your use of Call-ID is
done entirely at your own risk.
One last thing before I unleash Call-ID on an unsuspecting user
base. Try to keep your BINKLEY.LOG to a reasonable size, say 10K.
Obviously, its going to take some time to parse a 100K log file.
You can tell BinkleyTerm to limit the size of the file by following
the StatusLog keyword in BINKLEY.CFG with a maximum size. I.E:
StatusLog BINKLEY\BINKLEY.LOG 10
This will dramatically speed up the running of Call-ID.
ADDENDUM:
I suppose I should mention here that the format of Call-Display for
your modem should return the info in human readable form. This
program was written using the Bell Call-Display service and a Supra
14.4 Fax modem. It returns the strings in my Binkley log as follows:
# 14 Aug 10:58:20 BINK Date = 0814
# 14 Aug 10:58:22 BINK Time = 1102
# 14 Aug 10:58:22 BINK Mesg = 030735323436383537
You'll notice that the number is itself is ASCII based hex numbers.
prefixed with what I believe to be some field info. If you look at
the source you will notice that the only string that Call-ID looks
for is 'Date'. I've written it this way as I believe some modems
return different prefix strings. If yours is different, please let
me know!