forked from hercules-390/hyperion
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.COMMADPT
149 lines (112 loc) · 5.57 KB
/
README.COMMADPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
Preliminary 2703 BSC Support
Only allows Point to Point connection.
Hercules device statement :
CCUU 2703 lport=port lhost=host rhost=host rport=port dial=IN|OUT|INOUT|NO
[pto=nnn|0|-1] [rto=nnn|0|-1] [eto=nnn|0|-1]
lport : the local TCP port number or service name on which the line will listen
for incoming TCP calls
This parameter is irrelevant and is ignored for DIAL=OUT
for DIAL=IN|INOUT|NO, this parameter is mandatory
cwlhost : The local interface IP address on which to listen.
if not specified, all interfaces will be used.
ex:
lhost=127.0.0.1 : Only accept calls from local host
lhost=192.168.0.1 : Only accept calls from hosts
that can be routed through the interface
that has an IP address of 192.168.0.1
If there is no 192.168.0.1 local IP address,
this will fail.
This parameter is irrelevant and is ignored for DIAL=OUT
for DIAL=IN|INOUT|NO, this parameter is mandatory
rhost : the remote host ip address or name
This parameter is irrelevant and is ignored for DIAL=IN
for DIAL=OUT|INOUT|NO, this parameter is mandatory
rport : the remote port number or service name
This parameter is irrelevant and is ignored for DIAL=IN
for DIAL=OUT|INOUT|NO, this parameter is mandatory
rto, pto, eto : Read, Poll and Enable Timeout values in miliseconds.
specifying 0 means No Timeout (infinite wait). -1 Means immediate
timeout.
The read timeout is how long the handler will wait for an ending
character after the last character was received or the I/O initiated.
The read timeout default is 3000 Miliseconds (3 Seconds)
The poll timeout is how long the handler will wait for a polled
station to respond to a poll request.
The poll timeout default is 3000 Miliseconds (3 Seconds)
The enable timeout is how long the handler will wait for the TCP
connection to be established.
The enable timeout default is 10000 Miliseconds (10 Seconds), except
if DIAL=NO is also specified, in which case the enable timeout defaults
to 0.
Note : the ETO parameter is ignored if DIAL=NO is not specified.
for a dialed line, there is no enable timeout. If the eto
parameter is specified and DIAL is not "NO", then a warning message
is issued and the parameter is ignored.
dial=IN|OUT|INOUT|NO
Indicate call direction (if any).
This parameter also modifies the behaviour of certain CCWS
as well as TCP incoming call handling :
ENABLE :
DIAL=IN|DIAL=INOUT
Wait forever for an incoming call
DIAL=NO
Completes immediatelly if a call
is already present
Otherwise, attemps connecting to the
remote end
if the call fails, ENABLE exits with
Int Req status
DIAL=OUT
Enable is not a valid CCW for a DIALOUT
only line
DIAL :
DIAL=IN|DIAL=NO
DIAL is not a valid CCW for a DIAL IN
or non-switched line
DIAL=OUT|DIAL=INOUT
The outgoing call is attempted
Incomming TCP call :
In any case, if a call is already present, the
call is rejected.
DIAL=NO :
The call is accepted, even if no CCW is
currently executing
DIAL=OUT :
The call is rejected
DIAL=IN|DIAL=INOUT
The call is accepted if the line is currently
executing an ENABLE ccw.
The communication protocol :
The communication protocol is basic. Every character written
by the guest program with a WRITE CCW is transfered to the
remote end, untranslated and untouched (except for Transparent
BSC rules which deem that DLE characters are doubled when the
program has previously written a DLE/STX sequence).
Dial data format
Dial data is originally as follows :
x x x x 0 0 0 0 : Dial # 0
.........
x x x x 1 0 0 1 : Dial # 9
x x x x 1 1 0 0 : EON
x x x x 1 1 0 1 : SEP
In order to perform an outgoing call,
the data must follow these specifications :
N[N[N]]SEPN[N[N]]SEPN[N[N]]SEPN[N[N]]]SEPN[..[N]][EON]
Where N is any dialing number from 0 to 9 and SEP
is the separator.
The 4 first group of digits represet the IP address.
The last group represent a TCP port number.
For example (* is the SEP character representation) :
192*168*0*1*8888 : will issue a TCP connection to
192.168.0.1 port 8888
The EON is optional. If it is present, it must be the
last character of the dial data.
Bugs, Caveats
The Address Prepare is not implemented
The POLL CCW Has not been tested
Group DIAL IN is not implemented
DIAL CCW Not tested
There is 1 thread per line, when there should be 1 thread for ALL lines.
MAXDEVT may have to be adjusted under WINDOWS to accomodate for a large number of lines
(because some I/O may take an undefinite amount of time).
There is no 'REAL' Bsc line support yet.