Build Your Own Dial-Up ISP – Now With Modem Pool!

When it was the only viable option, the screech and squeal of dial-up internet was an unwelcome headache to many. But now that its time has passed, it’s gained a certain nostalgia that endears it to the technophiles of today. [Doge Microsystems] is just one such person, who has gone all out to develop their very own dial-up ISP for multiple clients.

The retro network is based on an earlier single-device experiment, with a Raspberry Pi 3B acting as the dial-up server. It’s hooked up to four modems, three of which are connected over USB-serial adapters implementing hardware flow control.

Obviously, four analog phone lines are hard to come by in this day and age, so [Doge] uses Asterisk along with a series of Linksys SIP devices to create their own PBX network.  Each modem gets a phone line, with four left over for clients to dial in.

To connect, users can either call a certain modem directly, or dial a special number which rings the whole pool. Thanks to mgetty, each modem is set up to answer on a different number of rings to allow the load to be shared. Once connected, a PPP daemon handles connecting the user to the Internet at large.

While it’s unlikely we’ll all be ringing [Doge]’s house to get our next YouTube fix, owning your own dial-up ISP is certainly an admirable feat. We’d love to see it deployed in the field sometime, perhaps at a hacker conference or Burning Man-type event. Of course, if you’ve got your own old-school network pumping data, be sure to let us know! Video after the break.

43 thoughts on “Build Your Own Dial-Up ISP – Now With Modem Pool!

      1. POTS wasn’t centralized. Each phone number describes a route through the network, unlike TCP/IP where the number describes an endpoint and the network has to know where it is from the top down.

        That’s what enabled so much telephone hackery back in the day. When you pick up the phone, the numbers you dial connect your circuit to other physical locations until you finally open a line to someone else’s endpoint. It meant that you could even do loops in the network, or make a call around the world. It meant that the network didn’t have to know where you were calling, just like the street doesn’t know where you’re driving to. It’s just a path you can take.

        These days if you still have a landline, your closest DSLAM, which is often just down the street, digitizes the phone call and transmits it as packets to the destination DSLAM, from which it gets turned back to voice over the last mile. It’s VoIP that is pretending to be POTS.

      2. Old POTS was decentralized. A phone number describes a route through the system, rather than an endpoint like in TCP/IP. It’s like walking down a street – each call center is only aware of the routes that go in and out. With modern land line, the DSLAM down the street does the conversion from analog to digital and then it’s down the packet switched network for the rest of the way through the other DSLAM, so it’s like VoIP pretending to be analog telephone.

        And again, a long message got censored by the HaD commenting system the first time around. It seems they’re targeting certain commenters just to annoy.

  1. Nostalgia. That can be justification to dig a hole in your backyard and install an outhouse.
    And I find that a bit more attractive than having anything to do with modems.

    1. Made me giggle. Yes some technology is best going the way of the dinosaurs. If frustration with POTS modems was like nuclear radiation, I would have recieived a lethal dose and be dead right now. The “good” old days weren’t always so good. :-)

    2. That being said recreating the hardware to allow old systems to run as intended without needing the non-existent backbone is a pretty good exercise. And there’s a lot of educational grist there when you’re not being forced by necessity. :)

      Most folks under 30 (40? time’s goal post always moves) never saw a BBS. Heck, you can probably expand that to “most folks, period”.

  2. It is pretty easy to set up something like this, at a couple of the VCF shows last year I had a small modem bank hooked up to a terminal server. You can even do some tricks in asterisk to dump the *called* number into the CallerID string and have your modem bank direct the caller to a specific server based on what number they called. The trickiest part of a setup like this is getting the jitter & other artifacts of VoIP down to a level the modems won’t bail on the connection. You can do some settings on the modems you control to make them more tolerant of disruptions, but the remote end is a little harder.

    An ADIT600 with the MGCP VoIP Router card installed is one of the least expensive ways of getting a bunch of analog ports out from asterisk to attach modems to.

  3. I feel like this could be all done in software, I’d be really interested in that. Taking in sip lines and emulating dial up modems does sound pretty interesting and slightly more scalable. This is still cool to do with the real hardware though

          1. hm…. sorry for the confusion. it’s still audio though…. but it needs to be injected after all the filters since it exceeds normal audio bandwidth for hams…

      1. You can go all the way to v.90, as evidenced by all the late nineties softmodems. Hardware was a hybrid + ADC/DAC on a very sparsely populated pcb, rest ran on CPU. AMR (Audio/modem riser) went even further and contained only the hybrid frontend.
        Would be a cool project to get one of those softmodem drivers/”firmwares” and reverse engineer it into an universal binary module capable of running on any sound card.
        I wonder if there are any source code leaks of the old softmodem binary modules floating around on the internet.

        Another avenue would be writing one from scratch for something like Gnuradio.

  4. Modern times. The quality over VOIP is driving me crazy. Especially the delay part. So many times I’m catching myself talking over the other person because of delays. I can’t remember that over copper line.

    1. That might be due to compression (memory management of the application). I gave up on Google Voice on my Chromebook, as that one is permanently pegged down with too many open windows (they ought to be inactive, but some Javascript keeps them always busy). The constant GC and RAM swap activity delays Google Voice way too much (it gets worse, the longer the call takes). Google Voice on my iPad Air3 doesn’t exhibit the same symptom, quite possibly because that one is otherwise near idle.

      Said that, VoIP was a step back from ATM. We went the wrong direction.

    2. That has to do with two things: buffers and wireless latency.

      Most often you’re calling someone who’s connected to mobile internet, which means you can have anything from 100 – 3000 ms network latency. The longer the lag, the longer the buffers need to be to sound out your voice without breaking up, so the calls become like phoning the moon.

      In cellular networks, actual phone calls are given priority while IP traffic has to wait for an open time slot, which is what causes the variable delay for VoIP and the need for long buffers.

  5. I’ve been looking for this because we have a cabin that only just barely has phone service, certainly no cable or dsl going to be available in the next 20 years, too deep in a mountain valley for satellite service, and it would be nice to at least check email. So, set this up at home and call in! Very timely.

      1. LoRa is not a substitute wireless modem since the rules dictate you can only operate between 1-10% duty cycle on the ISM bands.

        A proper microwave link could do. It would be interesting to see how cheaply you could set up a point-to-point microwave link of your own to the nearest town and then to a DSL.

      2. “too deep in a mountain valley (etc)” suggests to me that Radio Anything is a non-starter for this, due to Line-of-sight, foliage attenuation, and repeater requirements. if the valley has a dogleg, it’s even worse, even though sub-GHz has relatively good foliage penetration. dial-up systems require the least additional infrastructure past what’s already present, and doesn’t require the local town to sign off on patching your base station into a site (this is assuming that $nearesttown is not smellsofbikes’s hometown, in which case the base station would be set up on their own property)

  6. I had a 2nd line for dial up internet at home for a few years before moving to cable internet when it was introduced to my area. My friend ended up paying my line rental to keep my 2nd line because he got free calls to my number (same phone company local number) rather than pay for his ISP, call charges and the constant re-dials trying to get connection. That worked out great for us for a couple years until he also moved to cable internet. While I wasn’t my own ISP, it felt good supporting a friend knowing the ISPs weren’t ripping him us off (as much) anymore.
    I’ve had my eye on the pimodem over at http://podsix.org/articles/pimodem/ for a while now, but I still have flash backs of 4.5KB/s being fast. It’d take a good 10-20 seconds just to load google on dial up now.

      1. I doubt google loads slow,it’s a very simple page.

        I was on dialup till October 2012, and I just downloaded the google page and ran it locally. I think Ihad to modify something to run it locally.

        I did the same thing with some other sites that were abkut searches which I used a lot.

        Of course, the results were never short, but with dialup it did speed things up.

        It helped that for a lot of things I was happy with text only browsing, it’s graphics that really bloat up pages.

        It’s sad that with broadband things are again “slow”.

    1. I wonder how much of “dial up modem + ISP” an ESP8266 can emulate. As in have the username be the SSID to connect to and the password the network key. Could be a great way to connect a retro machine to a modern wireless network.

  7. Not if everyone has the ability to be a node.
    Of course spy agencies would hate that, and at the same time, they’d probably love it, depending on the side of the fence.

  8. If you ever want to scale up, ISDN PRI card for the asterisk server and an ISP grade dial in boxen gives you 30 phone lines in 1U.

    eBay is showing a something like $6-7,000 original price box going for about $100 (Lucent-Ascend-Max-MX20-E1-ISDN-PRI-Access-Router)

    1. You wont be using this over public infrastructure, so why not $30 VDSL2 Ethernet bridges? 100Mbit at 300m, 50/2Mbit at 1.5km
      Cheap ADSL DSLAM would be sweet tho. I remember watching ?defcon? Iraq vet talking about deploying them at FOBs to wire soldiers up in early 2000, was couple $K for 32port dslam back then.

  9. I see Doge Microsystems is an old Sun Microsystems fan😀
    I myself started my System management career on Vax 750 with BSD Unix and modems for uucp and modems pool, very soon we had a early Sun 1 Microsystems workstation built with VME cards, a 19″ screen and VT 100 keyboard.

  10. Thanks for the work! I’ve still got a small stack of v.Everything modems that were staring down the barrel of a de-soldering gun.

    They’ll now get a move to the future project stack and a temporary reprieve.

  11. Used to run a BBS with 200 lines using USR Courier HST modems with PC Board, turned in to a dial up ISP in the late 90s. The good old days were great. Those out there who remember FIDO Net and NANET will remember the dial up days.

    Since turned in to a wireless ISP and now FTTH.

  12. Unlimited Calling is much cheaper than unlimited minutes. I’ve long been toying with the idea of a dialup smartphone internet connection to access some internet when you don’t need anything fast.

  13. There are only 3 true perversions: Field hockey, Ice ballet and dialup through VoIP. Now that joke comes to life :).
    I wonder, what is the speed, cause without special codecs VoIP would drop it down to 14400 bits/s or even lower

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.