Two laptops communicating over modems using a VoIP ATA (don't mind the two screens not matching - Windows 98 Hyperterminal isn't so hot)
Intro
Configurations
Using One ATA
Using Two ATAs
Calling Over The Internet
Troubleshooting
Now What?
This guide will explain some ways to set up a VoIP ATA so that you can place calls between computers with modems (although any other pair of telephone devices will work.)
When done, you will be able to:
To make this work, you will ideally have:
This procedure is written for that device specifically, and there are tons of
them on eBay for under $30.
However, it is pretty easy to adapt it to any of the following devices:
All of these are literally the same device, with different firmware. It'll probably only take you a few minutes to figure out how to find the matching fields, so if you have any of these, use it.
You cannot do this with any ATA made by Grandstream. You may be able to use ATAs from other vendors, but I do not cover those procedures.
There are
two important caveats to these devices:
First, make sure the power supply you get with your ATA is 5V / 2A.
There are identical-looking 5V / 1A adapters, which will work
until you ring one of the ports; then the device will crash and reboot.
Second, all SPA devices have a feature that lets them be locked
to a particular VoIP carrier.
To reduce this chance, buy one
that comes in a Cisco retail package if possible; failing that, don't buy one
that has a VoIP provider's logo on it; if all else fails, just make sure it
can't reach the internet and you should be okay.
A really good reason to buy a SPA122 specifically is that it is the only model
in this line that has a hardware factory reset button; the others are very irritating to
reset.
You should be aware that the SPA122 acts as a full-blown broadband router
by default - anything plugged into the yellow port will be NATed to the IP on
the blue port.
If you'd like, you can "bridge" the two ports so you can plug
another device into the yellow port and connect it directly to your LAN.
To do
that, just go to Network Setup, then set Networking Service
to Bridge.
Once you have web access to the SPA as above, you can configure the ports. We will use the bogus number 9095551010, but if you want to use another one, just replace it (in yellow) below.
This config instructs the ATA that if you dial this bogus number from either port, it should just immediately call the other port.
Leave the ATA plugged into a network (it won't work without some kind of network connection,) connect modems to both ports, tell one to listen for connections, and then have the other one dial 9095551010, and you're off to the races! See the Troubleshooting section if you have problems.
Note: I have not tested this for lack of hardware, but I have little doubt that it will work. Let me know if it doesn't.
In this config, you'll call between two ATAs in your house, on the same LAN.
There are countless ways that interfacing two ATAs could work. I'm going to explain how to do this with two identical SPA122s. If your other ATA is another model, you'll need to figure out how to adapt these steps to that model.
Configure two SPA122s, exactly as in the "Using one ATA" section, but with these changes:
After doing all of the above, you will now have two ATAs (at the IPs in blue) that can call between any of their ports (the extensions defined in lavender) with the bogus numbers (defined in yellow.) So if you're on ATA 1 and you want to call port 1 on ATA 2, you call 9095551012, and if you're on ATA 2 and you want to call port 2 on ATA 1, you call 9095551011.
This configuration can be used on a LAN, so you can put the two ATAs in two different rooms. You might also be able to plug the two ATAs directly into each other, using the blue Ethernet jacks, and have a self contained four-line telephone network, but I haven't tested that yet.
Note: I have not tested this for lack of hardware, but I have little doubt that it will work. Let me know if it doesn't.
Assuming you and a friend both have ATAs you want to call between, configure them the same as the last section, with the following changes:
That should be all that's needed.
This should just work, but here are a couple things you can do if it doesn't:
You will not get a 56k connection speed no matter what you do - the V.90 and V.92 specifications explicitly state that the modems you have ("analog modems") are only capable of originating a 33.6 connection. You need special ISP equipment to originate a 56k connection.
As I said earlier in this document, there's a big question of what to do once you've gotten the dialing part taken care of. I'm still working on this part, but here are some starting points.
One of the most obvious end goals is to get online. You'll need a host system for this, something that can connect to your home internet that also has a modem. I used a 2012 Dell laptop for my tests.
I was able to set up RAS on Windows Server 2003, dial into it from Windows 98 on a Pentium 3 laptop with no ethernet jack, and get connected at 33.6kbps. Because Windows supports software compression for dialup connections, I'm able to get a sustained 14KB/s of throughput with ideal data.
You can also do this on Linux (here's a guide for doing it with a Raspberry Pi specifically), but personally I find it much more irritating and broken. Namely, I couldn't actually get it to work - I tried, and it just wouldn't go, and I don't know why. The Windows approach is finicky too, but I'm able to replicate my steps there, whereas on Linux I just plain can't, so my rec is to just do it on Windows.
There's a lot of older software that supports direct dialup - all DOS multiplayer games, for instance, as well as some early Windows multiplayer games. If you're looking for something to try this out with a friend, download the Doom 95 shareware release - it supports direct dialup multiplayer and should run on just about anything, albeit pretty slowly on some machines.
You should also be able to do this with some file sharing software and communication apps like Netmeeting, though I haven't tried any of that.
Another notion that might come to mind is the ability to dial in to a system, like an old Unix or VMS machine, for instance, or a modern Linux system, and get connected directly to a shell account.
This is really no different than just plugging directly into the serial port on the machine in question, except that you need something that will acknowledge an incoming phone call from a modem and start a new login process. On Linux that's mgetty. You can adapt the instructions from the Raspberry Pi guide for this - just set up your dialin user with /bin/bash instead of ppp to get a shell after dialing in.
If this was interesting to you, or if you did something interesting with it, email me: articles@gekk.info
If you like my work, consider tossing me a few bucks. It takes a lot of effort and payment helps me stay motivated.