source: trunk/third/kermit/ckepage.ksc @ 10780

Revision 10780, 3.5 KB checked in by brlewis, 27 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r10779, which included commits to RCS files with non-trunk default branches.
Line 
1; File CKEPAGE.SCR
2;
3; Authors: F. da Cruz and C. Gianone, Columbia University, September 1996.
4;
5; For use with C-Kermit 6.0.192 or later.
6;
7; TAPMSG, defined below, is an alphanumeric pager dialing script that
8; implements the TAP protocol for sending one-line alphanumeric pages.
9; To use the script, save it into a file, then tell C-Kermit to "take"
10; the file.  Now you have the TAPMSG macro defined.  It assumes you have
11; already made the phone connection.  Then invoke it with two arguments:
12; the pager ID and the message.
13;
14; Of course, it is also easy to define a macro for making the connection and
15; then sending the page, for example (just a sample, change as required):
16
17define APAGE {
18    set modem type usr         ; I have a USR modem
19    set port com1              ; on COM1
20    set speed 2400             ; Must use 2400 bps for paging
21    set parity even            ; and even parity
22    set flow xon/xoff          ; and Xon/Xoff flow control
23    set modem flow none        ; end-to-end, not local
24    set dial retries 10        ; Allow 10 redials
25    dial 5554321               ; Call the pager service
26    if success -               ; If the call is answered
27      tapmsg \%1 {\%2}         ; Send the page
28    else end 1 Page failed.    ; otherwise fail
29}
30
31; To invoke the APAGE macro, put it in a file, edit it as necessary for your
32; setup, tell C-Kermit to "take" the file, and then just type:
33;
34;   apage number { this is a message }
35;
36; at the C-Kermit> prompt.  Note: the phone number should not contain any
37; spaces or else you have to enclose it in braces:
38;
39;   apage { 1 212 555-1212 } { this is a message }
40;
41; Ditto for the message.
42
43COMMENT - TAPMSG - Send a one-line alpha page using TAP
44;   \%1 = Pager ID
45;   \%2 = Message
46;
47def TAPMSG {
48    local \%i \%m \%s block    ; Local variables
49    asg \%m \2\%1\13\%2\13\3   ; <STX>ID<CR>msg<CR><ETX>
50    asg \%s \fchecksum(\%m)    ; Get checksum and make block
51    asg block \%m\fchar(\fmod(\%s/256,16)+48)-
52\fchar(\fmod(\%s/16,16)+48)-
53\fchar(\fmod(\%s,16)+48)\13    ; Checksummed TAP block
54
55    for \%i 1 3 1 {            ; Try 3 times to get prompt
56        output \13             ; Send <CR>
57        input 3 ID=            ; Wait for "ID="
58        if success break
59    }
60    if > \%i 3 end 1 No prompt
61    for \%i 1 3 1 {            ; Send <ESC>PG1, get <ACK>
62        msleep 500
63        output \{27}PG1\13
64        minput 3 {\6\13} {\21\13} {\27\4\13}
65        switch \v(minput) {
66          :0, continue                ; Timeout
67          :1, break                   ; <ACK>
68          :2, continue                ; <NAK>
69          :3, end 1 Forced disconnect ; Fatal error
70       }
71       break
72    }
73    if > \%i 3 end 1 Timed out or unknown response
74    input 5 \27[p\13                  ; Wait for go-ahead
75    if fail end 1 No go-ahead         ; Didn't get it
76    for \%i 1 3 1 {                   ; Try three times
77        msleep 500
78        output \m(block)              ; Send block
79        minput 5 {\6\13} {\21\13} {\13\27\4\13} {\30\13}
80        switch \v(minput) {           ; Get response
81          :0, continue                ; Timeout
82          :1, break                   ; <ACK> - success
83          :2, continue                ; <NAK>
84          :3, end 1 Forced disconnect
85          :4, end 1 Illegal message
86       }
87       output \4\13                   ; Sign off with <EOT>
88       input 5 \27\4\13               ; Get <ESC><EOT> back
89       break                          ; But ignore timeout
90    }
91    if > \%i 3 end 1 Timed out or unknown response
92    end 0
93}
94; (End)
Note: See TracBrowser for help on using the repository browser.