BBS "Proxy" ? reddit / bbs ---------------------------------------------------------------------- marrold-the-second · 2022-01-24 10:37 I'm hoping to run a telephone network with some BBS and Viewdata services at an event. I'm using Cisco Digital Modems to accept the call over POTS and then connect to a back end via Telnet. It's working well but there's one issue - all calls, to any number go to the same TCP back end, which in theory limits me to one BBS. As a minimum I'd like to host a BBS and a Viewdata server so I need a way of splitting them. In theory this could be a menu based system where the user selects which service to access, but I don't know how to handle the different encodings for ANSI, Viewdata, PETSCI, etc. I've also considered making a TCP proxy that accepts connections, queries an external source to find out which number was actually dialed then proxies it through to the desired backend. Before I re-invent the wheel I was wondering if anything like this already exists? Thanks ---------------------------------------------------------------------- quentinnuk · 2022-01-24 14:52 At their core, Viewdata, ANSI, PETSCI can all talk ASCII, so if you have a intelligent MUX or terminal server front ending your services that can handle a menu choice, you can have a simple ASCII text menu like below and this will display on all screen formats: Press V for Viewdata Press B for Fido BBS Press X to exit Your Choice? Historically, this might have been handled using an X29 PAD or something like a Gandalf MUX switch. https://en.wikipedia.org/wiki/Gandalf_Technologies ---------------------------------------------------------------------- WikiSummarizerBot · 2022-01-24 14:52 **[Gandalf Technologies](https://en.wikipedia.org/wiki/Gandalf_Technologies)** >Gandalf Technologies, or simply Gandalf, was a Canadian data communications company based in Ottawa. It was best known for their modems and terminal adaptors that allowed computer terminals to connect to a number of host computers through a single interface. The word Gandalf became synonymous with modem in the Soviet Union and a few other countries. Gandalf also pioneered a radio-based mobile data terminal that was popular for many years in taxi dispatch systems. ^([ )[^(F.A.Q)](https://www.reddit.com/r/WikiSummarizer/wiki/index#wik i_f.a.q)^( | )[^(Opt Out)](https://reddit.com/message/compose?to=WikiS ummarizerBot&message=OptOut&subject=OptOut)^( | )[^(Opt Out Of Subreddit)](https://np.reddit.com/r/bbs/about/banned)^( | )[^(GitHub)](https://github.com/Sujal-7/WikiSummarizerBot)^( ] Downvote to remove | v1.5) ---------------------------------------------------------------------- cognitivegear · 2022-01-24 15:00 You can do this with Enigma 1/2 ([https://github.com/NuSkooler/enigma- bbs](https://github.com/NuSkooler/enigma-bbs)). It might take a bit to get used to the menu config (using .HJSON files) but it is fully customizable so you could make the first screen after telnet is connected be a list of BBS, and then you can define telnet bridge config items: [https://nuskooler.github.io/enigma-bbs/modding/telnet- bridge.html](https://nuskooler.github.io/enigma-bbs/modding/telnet- bridge.html) Let me know if you have any problems with it, I've been doing a lot of playing with Enigma 1/2 lately and can probably help if you run into any trouble. One thing I haven't played with much (yet, but I'm planning on it) is doing multiple encodings like you are talking about. It does support it though, more information is at [https://nuskooler.github.io/enigma- bbs/art/general.html](https://nuskooler.github.io/enigma- bbs/art/general.html) ---------------------------------------------------------------------- crashj · 2022-01-24 15:11 Cisco vty menuing does this built in, and has for nearly 30 years. https://www.cisco.com/c/en/us/support/docs/dial-access/asynchronous- connections/200462-Terminal-server-configuration-using-Menu.html ---------------------------------------------------------------------- marrold-the-second · 2022-01-24 15:16 Thanks I'll take a look at Enigma. I'll have to confirm telnet_bridge is compatible with Viewdata because it uses a raw connection rather than telnet and I think there are some subtle differences. ---------------------------------------------------------------------- marrold-the-second · 2022-01-24 15:16 Thanks for the info, I didn't realise Viewdata / etc were so similar ---------------------------------------------------------------------- marrold-the-second · 2022-01-24 15:16 It does yes but it's a bit bland. Im hoping for some middle ground with a bit more customisation ---------------------------------------------------------------------- crashj · 2022-01-24 15:25 There is a ton of customization available, including banners, prompts, status lines and using hidden menu items. The user can also take advantage of multiple connections simultaneously. I used this while building 2 ISPs in the 90s. Full config guide: https://www.cisco.com/c/en/us/td/docs/ios- xml/ios/fundamentals/configuration/15mt/fundamentals-15-mt-book/cf- connections.html#GUID-9C8A5A0D-3B42-4AD6-8EE9-BBD5960E55A6 ---------------------------------------------------------------------- cognitivegear · 2022-01-24 15:27 One of the nice parts about it is it's open source :) It looks like it is (mostly) a raw TCP connection - take a look at [https://github.com/NuSkooler/enigma-bbs/blob/master/core/telnet\_brid ge.js](https://github.com/NuSkooler/enigma- bbs/blob/master/core/telnet_bridge.js), which uses the net module from node.js. As far as I can see, this looks like raw TCP rather than actually telnet. The one thing that the telnet\_bridge.js code does do is look for a request for term type and can respond with that, though that looks like that would be easy to comment out or make into an option if that were a problem. ---------------------------------------------------------------------- marrold-the-second · 2022-01-24 15:29 Ok I'll dig into a bit more, I've only played with it briefly ---------------------------------------------------------------------- cognitivegear · 2022-01-24 15:31 Yeah, the big exception to this I know is EBCDIC. It's in a realm of it's own. :) ---------------------------------------------------------------------- marrold-the-second · 2022-01-24 15:31 Yeah I think its the commands and options like terminal type that make it different to raw TCP. I should have thought to look at the source code. I'll have a look and see how I get on