This program is a Visual Basic 3.0 executable that reads pager files from a shared network directory and then dials up the Telecom pager network and transfers the information in the pager file, using a TEL424 Modem via the PSTN. The pager file is then deleted and a log file is updated with the page details.
The F:\UTILS\PAGER\SEND directory is scanned every 5 secs by the Robot.
The program requires a Windows compliant PC with a TEL424 Modem and PSTN line. On boot-up the PC should login in as a Novell user (e.g. PAGEGATE) , with the rights above, and automatically run Windows. The ROBOT PAGER executable is run by installing its ICON in the Windows STARTUP GROUP. The autoexec.bat file of the Novell user should also include:- CAST OFF ALL To prevent the robot being interupted by Novell Msgs
The Robot at Sturt St was last rebooted on 21\4\94, approx two months ago. The Sturt St Robot is currently averaging 1500 page's per week.
I am currently the only person supporting this program, I can not gurantee to do this indefinetly. Consequently I intend to make the program as user-configurable as technically feasible. All new ideas are welcome, preferably fairly general suggestions. I would prefer not to have to customize the program for each site.
The program was developed on a legal personal copy of Microsoft Visual Basic 3.0. Legal installation of the program is the responsibility of the client.
The program was written to run under Windows because I assumed in a couple of years there would be no PC\AT PCs left to run DOS programs on. (Joking, of course??) Hopefully the program could co-exist with some Drift For Windows Robots (CDN-B\S), providing some savings in hardware costs to the client.
The program was originally written as a Drift for Windows Robot, but to attain the level of customer required reliability it was rewritten as a VB Custom Control application. The sending of Novell messages was disabled, pending the resolution of stack overflow problems.
Ross Phillips ITG, Network Operations, LAN Support (Melb) Telecom Australia
20\6\94
'# Attempting to create a General Purpose Drift Robot
'# The design follows that of the familar Finite State Machine (one way of implementing it)
'# My design gathers all the neccessary states, timeouts, and actions into one procedure
'#
'# This procedure initializes the array that drives all the actions of the Robot
Sub InitializeStates ()
Dim State%
Dim CR$
Dim Nul$
CR$ = Chr$(13) ' On CS410 Newline=true
Nul$ = "" 'Chr$(7) 'BEL 'Chr$(0) doesnt work
' Set defaults
For State% = 1 To MAJORSTATES
SR(State%).Ack = State%
SR(State%).NextState(0) = 0
SR(State%).SendTo = ""
SR(State%).TimeOut = 20
SR(State%).MonitorType = MON_INCOMING
SR(State%).WaitFor = XM_IGNORE
SR(State%).monitorstring(0) = ""
SR(State%).monitorstring(MINORSTATES) = FORCETIMEOUT$ 'TIMEOUT
SR(State%).NextState(MINORSTATES) = 1
SR(State%).monitorstring(MINORSTATES - 1) = "NO CARRIER"
SR(State%).NextState(MINORSTATES - 1) = 0
Next
'******************************************************
' NOTHING TO DO (IDLE STATE)
State% = 0
SR(State%).SendTo = ""
SR(State%).TimeOut = 0
'******************************************************
State% = 1
'4\2004 change code so file can be uploaded via FTP without disconnecting modem !!! (even in binary mode!)
SR(State%).SendTo = Chr$(9) & "+++" & "ATH" & CR$ ' Initialize modem
ISR State%, 1, "OK", State% + 1, EVENT_NOEVENT ' Trigger on echo back
'****************************************************
State% = 2
SR(State%).SendTo = "AT" & "DT" & " 0, ,016039" & CR$
ISR State%, 1, "CONNECT", State% + 1, EVENT_NOEVENT '"CONNECT 2400" "CONNECT 1275"!
ISR State%, 2, "BUSY", 0, EVENT_NOEVENT
ISR State%, 3, "NO ANSWER", 0, EVENT_NOEVENT
SR(State%).TimeOut = 60 ' Takes a while to dial give it 60 seconds
'****************************************************
State% = 3
SR(State%).SendTo = Nul$
ISR State%, 1, "last seven", State% + 1, EVENT_READFILE ' Get a pager message to process
'****************************************************
State% = 4
SR(State%).SendTo = "#PAGER NO#" + CR$
' Was double triggering on ALPHANUMERIC !!
ISR State%, 1, "ALPHA", State% + 2, EVENT_ALPHA ' Its an alphanumeric pager
ISR State%, 2, "NUMERIC O", State% + 2, EVENT_NUMERIC
ISR State%, 3, "TONE", State% + 2, EVENT_TONE
ISR State%, 4, "Invalid Entry", 4, EVENT_READFILE 'EVENT_NOEVENT
'****************************************************
' State% = 5
' SR(State%).SendTo = Nul$ 'Trigger monitorstring\timeout
' ISR State%, 1, "ENTER MESSAGE", State% + 1, -1
'****************************************************
State% = 6
SR(State%).SendTo = "#MESSSAGE#" 'Send Message
ISR State%, 0, "", State% + 1, EVENT_NOEVENT 'Timeout
' Disable '0' (Fatal timeout)
SR(State%).TimeOut = 5 ' 3 Secs to short
'****************************************************
State% = 7
SR(State%).SendTo = Chr$(13) 'Trigger acceptance of msg
ISR State%, 1, "THANK YOU", 0, EVENT_MSG_DELETE
ISR State%, 2, "DISCONNECTING", 0, EVENT_MSG_DELETE
ISR State%, 3, "last seven", 4, EVENT_MSG_DELETE_READ
End Sub
| Web Development | Home Page - Web and Software development |