home *** CD-ROM | disk | FTP | other *** search
/ Telecom / 1996-04-telecom-walnutcreek.iso / technical / ixo.program.scripts / INSTALL < prev    next >
Text File  |  1993-02-14  |  5KB  |  149 lines

  1. INSTALL -- How to install the Tom Page set of programs.
  2.   by Tom Limoncelli, tal@warren.mentorg.com 
  3.  
  4.   Copyright (c) 1992, Tom Limoncelli 
  5.  
  6.   The sources can be freely copied for non-commercial use only
  7.   and only if the source is unmodified.
  8.  
  9. For program history, read HISTORY.
  10. For general program information, read README. 
  11.  
  12.  
  13.  
  14. THEORY OF OPERATION: (this assumes you've read README already)
  15. --------------------
  16.  
  17. tpage.pl (which is often renamed to "beep" or "page") takes a number of
  18. options, figures out who and how to send to a person, figures
  19. out the message, and stuffs the info into a file for the daemon
  20. to read.
  21.  
  22. tpage.pl refers to /home/adm/lib/tpage/table to find out the phone
  23. number and other information that must be given to the daemon.  You
  24. can also specify a different file name with the "-T" option.
  25.  
  26. tpaged.pl wakes up every couple minutes to see if there
  27. is anything new in the queue.  If there is, it takes the information,
  28. dials out to your paging company, and transmits the message.
  29.  
  30. Rather than page a particular person, tpage.pl can be given a schedule
  31. and be told, "page whoever is on duty right now".  This is done
  32. by giving it "-" as the "who" parameter.  The schedule is stored
  33. in /home/adm/lib/tpage/schedule, or by specifying a file name with
  34. the "-S" option.
  35.  
  36. tpage can take the message from the command line, or from stdin.  If
  37. it is coming from stdin, it can parse it as email and do various
  38. things with it (see the man page).
  39.  
  40.  
  41. INSTALLATION:
  42. -------------
  43.  
  44. 1.  Install the Perl programming language.  The front-end to tpaged
  45. is written in Perl.  Any version should do, but it was developed with
  46. version 4.019.  Hopefully, this program already exists on your system.
  47. If not, I highly recommend that you get it from ftp.uu.net:/pub/gnu
  48. and install it.
  49.  
  50. For the rest of this document, $TPAGE will refer to the directory
  51. that you wish to keep the files associated with the tpage system.
  52.  
  53. ALL FILES SHOULD BE COPIED to $TPAGE except tpage (belongs in
  54. /usr/local/bin/tpage).  The queue directory should be $TPAGE/pqueue but
  55. nothing will break if you put it someplace else.
  56. "chmod 1777 $TPAGE/pqueue" so that people can write to it but only
  57. delete their own files.
  58.  
  59. 2.  Edit tpage.pl and copy it to "/usr/local/bin/tpage".  The first
  60. section explains what variables need to be edited and why.  You might
  61. want to call it "page" or "beep" instead.
  62.  
  63. Edit tpaged.pl and copy it to "$TPAGE/tpage".  The first
  64. section of each file explains what variables need to be edited and why.
  65.  
  66. Edit tpage.l and copy it to "/usr/local/man/manl" or wherever local
  67. manpages are kept.  The first section of each file explains what
  68. variables need to be edited and why.
  69.  
  70. If you run SunOS you won't have to edit ixocico.c.  If you don't run SunOS
  71. you're going to have the fun of porting this program.  I put in a couple
  72. of #defines to get you started.  Anyway, compile it with a simple
  73. "make ixocico" and you're done with it.  ixocico doesn't require many
  74. edits because tpaged gives it everything it needs to know.  ixocico
  75. also belongs in $TPAGE/ixocico
  76.  
  77. Copy the sample "table" file and copy it to $DEFAULT_T (which should
  78. be $TPAGE/table if you're smart).  Read it.  Then edit it to your
  79. requirements.
  80.  
  81. Copy the sample "schedule" file and copy it to $DEFAULT_S (which should
  82. be $TPAGE/schedule if you're smart).  Read it.  Then edit it to your
  83. requirements.  You can edit this later or even skip this step if you
  84. don't care about the schedule feature.
  85.  
  86. 3.  Read the man page ("nroff -man tpage.l | more").
  87.  
  88. 4.  Create the $QUEUE_DIR directory (as defined in $TPAGE/tpage.pl and
  89. $TPAGE/tpaged.pl) and do a chmod 0777 on it.  Make sure that users on any
  90. machine that should be able to run "tpage" can create files there and
  91. delete at least their own files.  If you use NFS you'll have to export
  92. that directory.  If you don't use NFS, you're smart.
  93.  
  94. 5.  Set up a cron job that runs "startdaemon" every 20 minutes on the
  95. machine with the modems.  You might want to run it as root, you might
  96. want to run it as any user that can access those modems.
  97.  
  98. 6.  Read the man page ("nroff -man tpage.l | more").
  99.  
  100. Test it and you're done.  Try:
  101.  
  102. tpage -d 1xxxyyyzzzz -p 123456 "this is a test"
  103. (substitute your phone number and pin)
  104.  
  105. tpage alias "this is a second test"
  106. (replace "alias" with a name from the "table" file)
  107.  
  108. tpage - -
  109. this is a test using the schedule and stdin.
  110. ^D
  111.  
  112. (this should page the "person on duty")
  113.  
  114. BUGS:
  115.  
  116. -------------------------- INSTALL PROBLEM --------------------------
  117. Some people have reported that in ixocico.c in the "main()" function
  118. needs "sleep(2); send(modem, "\r"); sleep(2); send(modem, "\r");" added
  119. or their paging service doesn't respond.  Here's where to add it:
  120.  
  121. -------------
  122. this code segment is from main()
  123.    need to send a few \r's to wake-up some paging terminals
  124. ------------   
  125.  
  126.  
  127. printf("Waiting for ID=\n");
  128.  
  129.         /* send a CR every second until "ID=" comes back */
  130.         failcnt = 10;
  131.  
  132. /*  CRs needed by PacTel Paging   DJ  */
  133.  
  134. ----->  sleep(2);
  135. ----->  send(modem, "\r");
  136. ----->  sleep(2);
  137. ----->  send(modem, "\r");
  138.  
  139.         while (failcnt--) {
  140.                 if (match(modem, "ID=", 5)){
  141.  
  142. Special thanks to  Daryl Jones <daryl@tcomeng.com> for reporting this.
  143.  
  144. -------------------------- INSTALL PROBLEM --------------------------
  145. Do you run SCO Unix?  Have you gotten ixocico to compile?  Nobody
  146. else has!  Please join the ixo mailing list (ixo-request@warren.mentorg.com)
  147. and tell us what you did!
  148.  
  149.