home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sources.misc
- From: tal@Warren.MENTORG.COM (Tom Limoncelli)
- Subject: v37i069: ixobeeper - Talk to alpha-numeric pager from Unix, Part02/02
- Message-ID: <1993May18.033033.17534@sparky.imd.sterling.com>
- X-Md4-Signature: be4ffe7e22b4074db957b3a8fb679fc2
- Date: Tue, 18 May 1993 03:30:33 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: tal@Warren.MENTORG.COM (Tom Limoncelli)
- Posting-number: Volume 37, Issue 69
- Archive-name: ixobeeper/part02
- Environment: UNIX, Sun, HPUX
- Supersedes: ixobeeper: Volume 25, Issue 43
-
- ---- Cut Here and unpack ----
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then feed it
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # Contents: INSTALL LEGALSTUFF MAILINGLIST depend schedule startdaemon
- # table tpage.l
- # Wrapped by kent@sparky on Mon May 17 22:12:19 1993
- PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
- echo If this archive is complete, you will see the following message:
- echo ' "shar: End of archive 2 (of 2)."'
- if test -f 'INSTALL' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'INSTALL'\"
- else
- echo shar: Extracting \"'INSTALL'\" \(5454 characters\)
- sed "s/^X//" >'INSTALL' <<'END_OF_FILE'
- XINSTALL -- How to install the Tom Page set of programs.
- X by Tom Limoncelli, tal@warren.mentorg.com
- X Copyright (c) 1992, Tom Limoncelli
- X The sources can be freely copied for non-commercial use only
- X and only if the source is unmodified.
- X
- XFor program history, read HISTORY.
- XFor general program information, read README.
- X
- X
- XTHEORY OF OPERATION: (this assumes you've read README already)
- X--------------------
- X
- Xtpage.pl (which is often renamed to "beep" or "page") takes a number of
- Xoptions, figures out who and how to send to a person, figures
- Xout the message, and stuffs the info into a file for the daemon
- Xto read.
- X
- Xtpage.pl refers to /home/adm/lib/tpage/table to find out the phone
- Xnumber and other information that must be given to the daemon. You
- Xcan also specify a different file name with the "-T" option.
- X
- Xtpaged.pl wakes up every couple minutes to see if there
- Xis anything new in the queue. If there is, it takes the information,
- Xdials out to your paging company, and transmits the message.
- X
- XRather than page a particular person, tpage.pl can be given a schedule
- Xand be told, "page whoever is on duty right now". This is done
- Xby giving it "-" as the "who" parameter. The schedule is stored
- Xin /home/adm/lib/tpage/schedule, or by specifying a file name with
- Xthe "-S" option.
- X
- Xtpage can take the message from the command line, or from stdin. If
- Xit is coming from stdin, it can parse it as email and do various
- Xthings with it (see the man page).
- X
- X
- XINSTALLATION:
- X-------------
- X
- X1. Install the Perl programming language. The front-end to tpaged
- Xis written in Perl. Any version should do, but it was developed with
- Xversion 4.019. Hopefully, this program already exists on your system.
- XIf not, I highly recommend that you get it from ftp.uu.net:/pub/gnu
- Xand install it.
- X
- XFor the rest of this document, $TPAGE will refer to the directory
- Xthat you wish to keep the files associated with the tpage system.
- X
- XALL FILES SHOULD BE COPIED to $TPAGE except tpage (belongs in
- X/usr/local/bin/tpage). The queue directory should be $TPAGE/pqueue but
- Xnothing will break if you put it someplace else.
- X"chmod 1777 $TPAGE/pqueue" so that people can write to it but only
- Xdelete their own files.
- X
- X2. Edit tpage.pl and copy it to "/usr/local/bin/tpage". The first
- Xsection explains what variables need to be edited and why. You might
- Xwant to call it "page" or "beep" instead.
- X
- XEdit tpaged.pl and copy it to "$TPAGE/tpage". The first
- Xsection of each file explains what variables need to be edited and why.
- X
- XEdit tpage.l and copy it to "/usr/local/man/manl" or wherever local
- Xmanpages are kept. The first section of each file explains what
- Xvariables need to be edited and why.
- X
- XIf you run SunOS you won't have to edit ixocico.c. If you don't run SunOS
- Xyou're going to have the fun of porting this program. I put in a couple
- Xof #defines to get you started. Anyway, compile it with a simple
- X"make ixocico" and you're done with it. ixocico doesn't require many
- Xedits because tpaged gives it everything it needs to know. ixocico
- Xalso belongs in $TPAGE/ixocico
- X
- XCopy the sample "table" file and copy it to $DEFAULT_T (which should
- Xbe $TPAGE/table if you're smart). Read it. Then edit it to your
- Xrequirements.
- X
- XCopy the sample "schedule" file and copy it to $DEFAULT_S (which should
- Xbe $TPAGE/schedule if you're smart). Read it. Then edit it to your
- Xrequirements. You can edit this later or even skip this step if you
- Xdon't care about the schedule feature.
- X
- X3. Read the man page ("nroff -man tpage.l | more").
- X
- X4. Create the $QUEUE_DIR directory (as defined in $TPAGE/tpage.pl and
- X$TPAGE/tpaged.pl) and do a chmod 0777 on it. Make sure that users on any
- Xmachine that should be able to run "tpage" can create files there and
- Xdelete at least their own files. If you use NFS you'll have to export
- Xthat directory. If you don't use NFS, you're smart.
- X
- X5. Set up a cron job that runs "startdaemon" every 20 minutes on the
- Xmachine with the modems. You might want to run it as root, you might
- Xwant to run it as any user that can access those modems.
- X
- X6. Read the man page ("nroff -man tpage.l | more").
- X
- XTest it and you're done. Try:
- X
- Xtpage -d 1xxxyyyzzzz -p 123456 "this is a test"
- X(substitute your phone number and pin)
- X
- Xtpage alias "this is a second test"
- X(replace "alias" with a name from the "table" file)
- X
- Xtpage - -
- Xthis is a test using the schedule and stdin.
- X^D
- X
- X(this should page the "person on duty")
- X
- XBUGS:
- X
- X-------------------------- INSTALL PROBLEM --------------------------
- XSome people have reported that in ixocico.c in the "main()" function
- Xneeds "sleep(2); send(modem, "\r"); sleep(2); send(modem, "\r");" added
- Xor their paging service doesn't respond. Here's where to add it:
- X
- X-------------
- Xthis code segment is from main()
- X need to send a few \r's to wake-up some paging terminals
- X------------
- X
- Xprintf("Waiting for ID=\n");
- X
- X /* send a CR every second until "ID=" comes back */
- X failcnt = 10;
- X
- X/* CRs needed by PacTel Paging DJ */
- X
- X-----> sleep(2);
- X-----> send(modem, "\r");
- X-----> sleep(2);
- X-----> send(modem, "\r");
- X
- X while (failcnt--) {
- X if (match(modem, "ID=", 5)){
- X
- XSpecial thanks to Daryl Jones <daryl@tcomeng.com> for reporting this.
- X
- X-------------------------- INSTALL PROBLEM --------------------------
- XDo you run SCO Unix? Have you gotten ixocico to compile? Nobody
- Xelse has! Please join the ixo mailing list (ixo-request@warren.mentorg.com)
- Xand tell us what you did!
- X
- END_OF_FILE
- if test 5454 -ne `wc -c <'INSTALL'`; then
- echo shar: \"'INSTALL'\" unpacked with wrong size!
- fi
- # end of 'INSTALL'
- fi
- if test -f 'LEGALSTUFF' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'LEGALSTUFF'\"
- else
- echo shar: Extracting \"'LEGALSTUFF'\" \(1756 characters\)
- sed "s/^X//" >'LEGALSTUFF' <<'END_OF_FILE'
- X
- XCopyright (c) 1992 Thomas A. Limoncelli, tom_limoncelli@warren.mentorg.com
- X
- XPermission to use, copy, modify, distribute, and sell this software and
- Xits documentation for any purpose is hereby granted without fee,
- Xprovided that (i) the above copyright notices and this permission
- Xnotice appear in all copies of the software and related documentation,
- Xand (ii) the name of Mentor Graphics Corp or any company or
- Xorganization that I am associated with may not be used in any
- Xadvertising or publicity relating to the software without the specific,
- Xprior written permission of that company or orgaization
- X
- XTHE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
- XEXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- XWARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- X
- XIN NO EVENT SHALL THOMAS A. LIMONCELLI OR MENTOR GRAPHICS CORP BE
- XLIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES
- XOF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
- XOR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON
- XANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE
- XOR PERFORMANCE OF THIS SOFTWARE.
- X
- XUse this software at your own risk. Think before using. Do not use
- Xthis software for mission-critical applications without careful backup
- Xprocedures. Though every effort has been made to make the software bug
- Xfree, some bugs are sure to still exist. More importantly, many paging
- Xservices are known to drop some pages when under heavy load, when
- Xupgrading their equipment, or at other times. The author and the
- Xauthor's employer are not responsible for problems with the software,
- Xthe paging service, or malfunctions of your pager. Dead batteries are
- Xyour problem.
- X
- END_OF_FILE
- if test 1756 -ne `wc -c <'LEGALSTUFF'`; then
- echo shar: \"'LEGALSTUFF'\" unpacked with wrong size!
- fi
- # end of 'LEGALSTUFF'
- fi
- if test -f 'MAILINGLIST' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'MAILINGLIST'\"
- else
- echo shar: Extracting \"'MAILINGLIST'\" \(539 characters\)
- sed "s/^X//" >'MAILINGLIST' <<'END_OF_FILE'
- XUPDATES: If you have source code changes please send them into the
- Xauthor at "tal@warren.mentorg.com". He does make an effort to
- Xintegrate them into the source code, or at least make them available to
- Xothers. He is currently compiling a list of modifications required to
- Xuse this software with the various paging services that aren't 100%
- Xcompliant.
- X
- XMAILING LIST: There is a mailng list for talking about this software
- X(and other ixo topics) called ixo@warren.mentorg.com. To subscribe,
- Xsend email to ixo-request@warren.mentorg.com.
- END_OF_FILE
- if test 539 -ne `wc -c <'MAILINGLIST'`; then
- echo shar: \"'MAILINGLIST'\" unpacked with wrong size!
- fi
- # end of 'MAILINGLIST'
- fi
- if test -f 'depend' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'depend'\"
- else
- echo shar: Extracting \"'depend'\" \(390 characters\)
- sed "s/^X//" >'depend' <<'END_OF_FILE'
- XWhat routines use on what routines
- X----------------------------------
- X
- Xsafeprint:
- X
- Xchecksum: safeprint
- X
- Xgrabmodem:
- X
- Xsend: safeprint
- X
- Xmatch: safeprint
- X
- Xhangup_modem: send
- X
- Xunlockmodem:
- X
- Xbail_out: hangup_modem unlockmodem
- X
- Xlockmodem: bail_out
- X
- Xgetline: bailout safe_print
- X
- Xgetpacket: bail_out safeprint
- X
- Xmain: lockmodem grabmodem bail_out send match hangup_modem getpacket getline checksum
- X
- END_OF_FILE
- if test 390 -ne `wc -c <'depend'`; then
- echo shar: \"'depend'\" unpacked with wrong size!
- fi
- # end of 'depend'
- fi
- if test -f 'schedule' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'schedule'\"
- else
- echo shar: Extracting \"'schedule'\" \(2140 characters\)
- sed "s/^X//" >'schedule' <<'END_OF_FILE'
- X# beepersched -- the schedule of who's on-call at what times.
- X# [For use with tpage.pl -- By Tom Limoncelli (tal@warren.mentorg.com)]
- X#
- X# This file is only used if "who" is "-"
- X#
- X# The lines that begin with 0-6 refer to the days Sun-Sat. The 48
- X# bytes after refer to who's on duty each half-hour.
- X#
- X# This schedule shows tal, ingo, and greg as
- X# having different hours. On Monday night, all three are paged.
- X#
- X# A "-" in this list (not to be confused with "-" on the command
- X# line) means "no body is on duty". If the "-U" (urgent) is used,
- X# beep2.pl keeps looking for another schedule to see if maybe it
- X# can find someone else scheduled for that time. The way I manage
- X# things is to have lower-case letters mean individual people and
- X# capitol letters meaning the fall-back "urgent" people (usually a list
- X# of the person and their fallback). For example, "g" is for greg,
- X# and "G" is for greg and the person that backs him up.
- X# Of course, you can use any system you wish.
- X#
- X# N
- X# O
- X# 1 1 O 1 1
- X#0 1 2 3 4 5 6 7 8 9 0 1 N 1 2 3 4 5 6 7 8 9 0 1
- X0--------------------ttttttttttttttttAAAAAAAAAAAA
- X1------------ttttgggttttttggggiiiiiiitt----------
- X2------------ttttgggttttttggggiiiiiiitttttttttttt
- X3------------ttttgggttttttggggiiiiiiitt----------
- X4------------ttttgggttttttggggiiiiiiitttttttttttt
- X5------------ttttgggttttttggggiiiiiiitt----------
- X6-------------------tttttttttttttttttttttttttt---
- X#
- X# these will only be accessed if -U is used.
- X# A "-" in this list means "don't call anyone"
- X#
- X# 1 1 O 1 1
- X#0 1 2 3 4 5 6 7 8 9 0 1 N 1 2 3 4 5 6 7 8 9 0 1
- X0TTTTTTTTTTTTTTTTTTT--------------TTTTTTTTTTTTTTT
- X1TTTTTTTTTTTTTTTTTTT--------------TTTTTTTTTTTTTTT
- X2TTTTTTTTTTTTTTTTTTT--------------TTTTT----------
- X3TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
- X4TTTTTTTTTTTTTTTTTTT--------------TTTTT----------
- X5TTTTTTTTTTTTTTTTTTT--------------TTTTTTTTTTTTTTT
- X6TTTTTTTTTTTTTTTTTTT--------------TTTTTTTTTTTTTTT
- X#
- X#
- Xg=greg
- Xi=ingo
- Xt=tal
- X#
- X# a person and their backup
- XG=greg,tal
- XI=ingo,greg
- XT=tal,greg
- X#
- XA=greg,tal,ingo
- END_OF_FILE
- if test 2140 -ne `wc -c <'schedule'`; then
- echo shar: \"'schedule'\" unpacked with wrong size!
- fi
- # end of 'schedule'
- fi
- if test -f 'startdaemon' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'startdaemon'\"
- else
- echo shar: Extracting \"'startdaemon'\" \(595 characters\)
- sed "s/^X//" >'startdaemon' <<'END_OF_FILE'
- X#! /usr/local/bin/perl4.019
- X
- X# "start daemon" -- Start the tpaged daemon if it isn't running.
- X# by Tom Limoncelli, tal@warren.mentorg.com
- X# Copyright (c) 1992, Tom Limoncelli
- X
- X
- X$BSD = -f '/vmunix';
- X$pscmd = $BSD ? "ps -auxww" : "ps -ef";
- X
- Xopen(PS, "$pscmd|") || die "Can't run ps: !$";
- X$title = <PS>;
- X$found = 0;
- Xwhile (<PS>) {
- X chop;
- X $found = 1 if /tpaged/;
- X}
- X
- Xif (!$found) {
- X unless (fork) { # this is the child
- X unless (fork) { # this is the child's child
- X sleep 1 until getppid == 1;
- X system "/home/adm/lib/tpage/tpaged &";
- X exit 0;
- X }
- X exit 0;
- X }
- X print "Started tpaged\n";
- X}
- END_OF_FILE
- if test 595 -ne `wc -c <'startdaemon'`; then
- echo shar: \"'startdaemon'\" unpacked with wrong size!
- fi
- chmod +x 'startdaemon'
- # end of 'startdaemon'
- fi
- if test -f 'table' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'table'\"
- else
- echo shar: Extracting \"'table'\" \(623 characters\)
- sed "s/^X//" >'table' <<'END_OF_FILE'
- X# beepertab -- table of information about people's beepers.
- X# [ For use with tpage.pl by Tom Limoncelli (tal@warren.mentorg.com)]
- X#
- X# Comment lines begin with "#".
- X#
- X# The columns are name, numeric pager phone # (currently unused), IXO
- X# protocol number to dial, and the person's pagerid.
- X#
- X# Aliases are implemented by repeating data. (ooo, fancy!)
- X#
- Xgreg 5551212 18006789012 1234567
- Xgregt 5551212 18006789012 1234567
- X#
- Xingo 5551213 18006789012 7654321
- Xidean 5551213 18006789012 7654321
- X#
- Xtom 5551214 18006789012 1122334
- Xtal 5551214 18006789012 1122334
- END_OF_FILE
- if test 623 -ne `wc -c <'table'`; then
- echo shar: \"'table'\" unpacked with wrong size!
- fi
- # end of 'table'
- fi
- if test -f 'tpage.l' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tpage.l'\"
- else
- echo shar: Extracting \"'tpage.l'\" \(6781 characters\)
- sed "s/^X//" >'tpage.l' <<'END_OF_FILE'
- X.ds l local
- X.TH TPAGE N "05 May 1992"
- X.BY "Tom Limoncelli, tal@warren.mentorg.com"
- X.SH NAME
- Xtpage \- front-end to Tom's Pager System
- X.br
- Xtpaged \- daemon that manages paging queue
- X.br
- Xixocico \- program that executes the IXO protocol
- X.SH SYNOPSIS
- X.B /usr/local/bin/tpage
- X[
- X.B \-T
- Xtable file
- X] [
- X.B \-S
- Xschedule file
- X] [
- X.B \-U
- X] [
- X.B \-d
- Xphone num
- X] [
- X.B \-p
- Xpin
- X] [
- X.B \-t
- X] [
- X.B \-v
- X] [
- X.B \-m
- X] [
- X.B \-M
- X] [
- X.B \-e
- X]
- X.B who
- X[
- X.B message
- Xor
- X.B \-
- X]
- X.br
- X.B /home/adm/lib/tpage/tpaged
- X.br
- X.B /home/adm/lib/tpage/ixocico
- Xdev phonenum
- X.br
- X.SH DESCRIPTION
- X.I tpage
- Xis the front-end to the system. A user can run this program to
- Xsubmit a message to someone's pager.
- X.PP
- XThe program wants 4
- Xthings: (1) the phone number to dial, (2) the person's PIN
- Xpin (Personal Identification Number), (3) who to email if the
- Xpage isn't accepted, and (4) the message.
- X.PP
- XOnce it has all that information, it dumps it into a file
- Xwhich is read by
- X.B tpaged
- Xwhich delivers the message to the paging service using
- Xthe appropriate protocol. tpaged selects the correct
- Xprogram for you. Each protocol is implemented as
- Xa separate program. Currently \fBixocico\fR
- Xis the only program to choose from, and it implements
- Xthe IXO protocol.
- X.PP
- XThe phone
- Xnumber (1) and PIN (2) can be specified with the
- X.B \-d
- Xand
- X.B \-p
- Xoptions, OR by specifying a name (which instructs tpage
- Xto look up the information in the pager table file), OR by
- Xspecifying the name ``\-'' which
- Xmeans ``whoever is on duty'' (which instructs tpage to find
- Xout who is on duty from the schedule file, and then look up
- Xtheir phone number and PIN in the pager table file).
- X.PP
- XSpecifying a phone number without a PIN (or vice-versa) results
- Xin the missing data being looked up in the pager table file.
- X.PP
- XA comma-separated list of names may be given. It is much more
- Xefficient to use a list of names than to do single pages.
- X.PP
- XNOTE: A name must always be specified, so if you use the
- X.B \-d
- Xand
- X.B \-p
- Xoptions you must also specify a name (such as ``foo'') which will
- Xbe ignored. Combining a list of names with the
- X.B \-d
- Xand/or
- X.B \-p
- Xoptions works in a logical but undefined manner.
- X.PP
- XTo specify who to email if there is a problem (3) use the
- X.B \-e
- Xoption. The default for this is to not send email to anyone.
- X.PP
- XThe message (4) can be specified on the command line or if ``-'' is
- Xgiven, stdin is read for the message. No matter how many
- Xbytes you give it, the high-bit is stripped, RETURNs and TABs are
- Xturned into spaces, and groups of spaces are turned into single
- Xspaces. The first 160 bytes (configurable in the program) is
- Xall that's sent, since that's all that the pager will display.
- X.PP
- XCommand-line options are:
- X.TP 10
- X.BR \-T " table file"
- X\fItable file\fR is the file that has the
- Xtable of people and the info needed to communicate
- Xwith their pager. The default is /home/adm/lib/tpage/table.
- X.TP
- X.BR \-S " schedule file"
- X\fIschedule file\fR is the file that has the
- Xis the file that is used
- Xto find out who's on duty at this moment. This file is only
- Xconsulted if ``who'' is ``\-''. The default is
- X/home/adm/lib/tpage/schedule.
- X.TP
- X.B \-U
- XThis option marks the message as \fIurgent\fR. If the schedule
- Xlists that no one is on duty at that time but the message is
- Xmarked \fIurgent\fR, a secondary schedule is consulted.
- X.TP
- X.BR \-d " phone num"
- XIgnore what the table file says, use this phone number when
- Xdialing. If a list of people is specified, this phone number
- Xis used for the first person, the others will be looked
- Xup in the \-T file.
- X.TP
- X.BR \-p " pin"
- XIgnore what the table file says, use this PIN when transmitting
- Xthe message.
- XIf a list of people is specified, this phone number
- Xis used for the first person, the others will be looked
- Xup in the \-T file.
- X.TP
- X.B \-t
- XAct as a ``tee''. Copy stdin to stdout. If you give this
- Xoption and the message is not coming from
- X.TP
- X.B \-v
- XVerbose mode. Currently useless since there isn't anything
- Xextra worth printing.
- X.TP
- X.B \-m
- XParse the input as mail. Skip all the headers but extract the ``From'',
- X``Subject'', and ``Priority'' lines. If they exist, append to the
- Xbeginning of the message ``F: frominfo'', ``S: subject line'',
- X``P: priority''. ``F:'' and ``P:'' are clipped to be one screenful
- Xin length. They are all padded out to the end of the screen.
- X.TP
- X.B \-M
- XSkip ``mail quoted'' lines. Netnews and Mail often have other messages
- Xquoted by prefixing each line with greater than symbol. This option
- Xskips any input line that begins with zero or more whitespace charactors,
- Xfollowed by zero or more letters or numbers, followed by zero or more
- Xof \<, \>, {, or }. This should catch the normal quoting methods
- Xas well as anything the perverse superquote.el package
- Xfor GNU Emacs
- Xmight come up with.
- X.TP
- X.B \-e
- XOn error, send email to this person. If any errors happen when
- Xthe tpage command is beign run, the user is notified. This
- Xis for sending email when the page is being processed. In
- Xother words, if the PIN is incorrect. If the phone number is
- Xincorrect the tpaged daemon will keep redialing and redialing it
- Xtrying to figure out why it can't get through.
- X.PP
- X.IR tpaged
- Xtpage is a program that you don't need to know about. Your
- Xsysadmin should have installed it for you. It wakes up about
- Xevery 20 seconds, sees if there are any new messages to send
- Xout and tries to send them. It can understand multiple paging
- Xprotocols (tpage picks the best one for you) though it
- Xcurrently only knows about the IXO protocol. tpage can run
- Xas ``root'' but is often just run as ``daemon''.
- X.PP
- X.IR ixocico
- Xis the message transport program for the tpage system. It is called
- Xby
- X.B tpaged
- Xand told what device to use and what phone number to dial on
- Xthe command line. It
- Xgets the PINs and messages to send from stdin.
- X.PP
- XIt co-exists with the uucp programs fine as it uses the
- Xsame methods to lock the modems. It notices stale locks
- Xand blows them away. Not all locking features have been
- Xproven to work on HPUX, only SunOS.
- XIt will not wait for a modem to be unlocked.
- X.PP
- X.B tpaged
- Xwatches the output of
- X.B ixocico
- Xfor lines beginning with # to know success
- Xor failure of particular messages and of the entire batch.
- X.PP
- X.SH FILES
- X.ta 6c
- X.nf
- X/home/adm/lib/tpage/schedule schedule of who's on duty
- X/home/adm/lib/tpage/table table of people and their pager info
- X.SH SEE ALSO
- Xuucico(1), xkill(l)
- X.SH HISTORY
- XWritten by Tom Limoncelli (tal@Warren.MENTORG.COM)
- Xat Mentor Graphics Corporation, Silicon Design Division,
- XWarren, New Jersey. May be re-distributed only in it's unmodified
- Xform.
- X.SH BUGS
- XIf
- X.B \-d
- Xand
- X.B \-p
- Xare specified, a name still must be specified.
- X.PP
- XIt currently only compiles under SunOS even though some
- Xdefines are inserted so that it doesn't fail all over the
- Xplace on silly operating systems like HPUX.
- END_OF_FILE
- if test 6781 -ne `wc -c <'tpage.l'`; then
- echo shar: \"'tpage.l'\" unpacked with wrong size!
- fi
- chmod +x 'tpage.l'
- # end of 'tpage.l'
- fi
- echo shar: End of archive 2 \(of 2\).
- cp /dev/null ark2isdone
- MISSING=""
- for I in 1 2 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked both archives.
- rm -f ark[1-9]isdone
- else
- echo You still must unpack the following archives:
- echo " " ${MISSING}
- fi
- exit 0
- exit 0 # Just in case...
-