VOIP Setup (Again)
Reconfigured my other firewall that has VOIP built in to sit on one of my Internet facing IPs.
I have configured 4 VOIP lines each with a local rate number (not like the 1980s where it would cost you 10p a minute).
The lines are using the G711A codec which is uncompressed, this uses more bandwidth but should be able to cope with the limited frequencies used by the V23 modem.
So to dial into the system you can contact it on...
Just set your modem to V23 (1200 / 75, 7E1) and use a suitable ViewData / VideoTex terminal.
I will be setting up the other lines next week.
Prism VTX 5000
I managed to get hold of one of these units on ebay the other day, this was the piece of kit that I remember using at a friends house when I first used Prestel.
Below you can see the manual toggle switch for putting the unit online. There are also Rx and Tx modes that let you connect to other modems instead of Micronet.
Tried dialing the server, its very fussy about the line. Managed to get it to connect once but I think it needs to be connected directly to the wall rather than through a long extension lead.
New BBS Features
Added some new features to my ViewData BBS...
Created a new menu from which to select the new options that I've added to the system.
I've added some static TeleText pages that are stored as files on the server.
They are loaded in a carousel and displayed in sequence.
I can also use this for displaying saved ViewData pages or my own pages for viewing.
External ViewData BBS Access
I wanted to be able to access other ViewData BBSs from the dial up terminal. As most of the surviving ones are only available by Telnet I decided that I would create a gateway from within my BBS.
When you select the option the system creates a telnet session out to the other BBS and passes data through to your terminal.
Once you have finished on the external system and the Telnet connection is terminated the user is returned back to my menu.
Connecting to CCL4 through my BBS...
What's new? Not a lot since 1996 :)
And logging off...
Multiple Modem Support
Added multiple modem support into the dial up server. Set the modem initialization strings in the configuration file along with the com ports for each modem required.
Plugged in the Hayes and the USB modem below and configured them in the new settings file.
Tried to get the USB modem to work, it responds as expected but there is something wrong with the data being sent to the terminal. It looks like its not using 7 even one, not sure why this is the case.
You can see it is sending the screen as certain characters are displayed correctly, it seems to be messing up the rest.
Have played around with several of the modem settings and can't seem to get this to work correctly, the Hayes modem works perfectly with the same settings.
After some more investigation it seems that the USB modem is using the wrong parity setting, it appears to be using odd parity even when I've asked for even.
Dial Up Server
Created a dial up server that connects to the back end ViewData service. The server can be run as a windows service or a console app.
Got the server to connect to the back end when the modem goes online, key presses were going from the terminal to the back end correctly but everything on the terminal screen was garbage.
Checked the back end was sending data to the dial up server and the characters expected seemed to be being sent to the terminal.
All I was getting was this...
Searched through the code and found the problem, after checking the serial settings over I noticed that the parity was set to None and it needed to be Even.
Changed the settings and got a connection from the back end.
Once this was working fixed a few things and tweaked the server to ensure that it disconnects from the back end correctly on modem disconnection.
Now that the server was working I've added some back end infrastructure to help me build pages etc. To start with the system now displays a nice "CONNECTED" message once it connects to the back end. Once you have finished on the system and exit from the menus the system will display "CONNECTION TERMINATED" and disconnect the modem.
So to demonstrate the system working I built a quick screen which loads from the server, the next step is to add a menu system.
I decided that the system should have a nice welcome screen which should pay homage to the original Prestel system...
To show the entire system working I knocked together a quick video if the system being dialed by the terminal...
Initial Testing Setup
Well managed to get everything talking, the setup is as follows...
Setup to allow me to dial between the machines, the PBX has 8 ports and 3 external lines. Eventually the idea is to connect the incoming modems to it and allow incoming connections via dialup.
Hayes Acura Modem
This is currently the modem I'm using for development as its a great modem and is pretty solid. Its one of 4 that I have which are brand new and still in their boxes.
This is connected to my development PC using a serial to USB adapter, eventually I either want to use the USB modems or have the 4 Acura modems connected to a serial card.
This is a black and white VideoTex terminal from Alcatel. It was a new boxed item that hasn't been used and would have probably been the sort of terminal used in France up until the demise of Minitel in 2012.
BT 746 Rotary Telephone
I acquired this the other day to complete my 80s retro desk setup. It is pulse dial only and does not work with the PBX but I have a new DTMF upgrade to fit to it before the end of the challenge. There's is something quite satisfying about dialing the modem with it.
Used Putty to create a terminal connection to the modem, manually setup the modem using AT commands and set it to auto answer.
Dialled into the modem from the Terminal and they connected ok.
Once in could type on both Terminal and Putty and they were exchanging data correctly.
ViewData BBS Server
After failing miserably on the last Retro Challenge, I'm intending to actually get something done this time.
I've been playing around with ViewData and want to create a new BBS system that will run on a modern server and be able to take telnet or dialup connections.
So as part of the challenge I intend to implement as much of the following as possible...
1) Create basic ViewData BBS system that allows telnet access.
2) Implement a dial up server that forwards traffic to the BBS.
3) Create a ViewData terminal that allows the BBS to be accessed without a real machine (possibly implement this in Silverlight and host it on a web page).
4) Add ability to load pages into BBS and navigate through simple page tree (like original Prestel).
5) Add ability to create forms and entry validation etc.
6) Create gateway from BBS to other online telnet enabled systems (this will allow me to "dial up" telnet only BBSs such as CCL4).
7) Implement email service in BBS.
8) Implement search engine (google / bing).
9) Implement twitter feed.
10) Implement online game (shades etc). (Have looked at shades and it is still available, problem is it expects a 80 x 40 text based screen).
11) Create some kind of API for creating gateways between BBSs.
12) Detect non ViewData terminal and create ASCII representations of ViewData screens. (Might create a new gateway to do this).
13) Implement a demo of old Prestel screens.
14) Implement some real content for my new BBS.
15) Create system for doing downloads. (Have some examples of the way this was done via multiple pages in sequence).
16) Implement facebook feed.
Probably a bunch of other stuff.
To test this setup I'll need to implement the following...
1) Setup PC to run BBS.
2) Install modems for dial in access (I have 4 Hayes modems which I have managed to get connected correctly, I also have 4 USB modems which work but are sending gibberish to the ViewData terminal, think this is some issue with stop bits or parity).
3) Wire modems into PBX.
4) Wire PBX to external line.
5) Look at possibility of using a set of VOIP lines (Think they should be ok with compression off as the speed is low enough).
6) Solder a set of cables for the BBC to connect to modems.
7) Try and get terminal server box to accept incoming connections and connect out on modem.
Once the connectivity is setup I'll be testing using the following...
1) Alcatel TerminalTel 257 VideoTex terminal.
2) BBC Micro with Acorn Prestel adapter.
3) BBC Micro with Prism modem (1000 & 2000).
4) BBC Micro with Pace Nightingale modem.
5) Sinclair Spectrum 48k with Prism VTX 5000 modem.
6) Acorn A3000 with old modem (not sure of make).
7) Acorn Communicator.
8) My new terminal program (which I need to write).
9) ConnectVX (A windows ViewData client).
So the intention is to have a working BBS that can be contacted by other users via dialup and telnet at the end of the challenge.