6

I have dial-up server and client software that I want to be able to test and script. Unfortunately, I don't own a landline. Much less, multiple lines that I can use to test concurrent connections.

What I do have, is a handful of modems and a computer to plug them into. Is there any way that I could simulate a phone line in such a way? As in, actually be able to plug in a landline telephone in, get a dial tone, be able to dial a number, and route it to my software on the server?

I appologize if this is not the appropriate forum for this question. I'm afraid I have no idea where to start with this, or if what I'm attempting is entirely half-baked.

voretaq7
  • 79,345
  • 17
  • 128
  • 213
directedition
  • 277
  • 3
  • 9
  • 2
    Who does own a landline anymore? Whatever this is, it sounds like a complete waste of time. Does your boss hate you? – Michael Hampton May 02 '13 at 03:16
  • 4
    Actually, many people in developing nations, one of which is the intended user base of what I'm trying to test. As for my boss, we're cool, but this project has no relation to my day job. – directedition May 02 '13 at 03:26
  • 4
    @MichaelHampton er, plenty of people. Including everyone i know in the UK bar one who works at sea. – Sirex May 02 '13 at 03:40
  • 3
    I think someone's going to be in for a shock when they finally realize that in a lot of these "developing nations" everyone has a mobile phone, and nobody's ever seen a landline in their entire lives because the infrastructure never existed to begin with... Nevertheless I dredged up some really old memories to try to help you :) – Michael Hampton May 02 '13 at 03:41

2 Answers2

12

OK, so back in the olden days what we did to simulate this was to connect two modems back-to-back via their telephone line ports and a phone line cord. Then we would disable dialtone detection on one modem and dial out with it, and then have the other modem "answer". The two modems will happily talk to each other without an intervening telephone network, though you are limited to 33600 bps. You can't auto-answer because there's no telephone network and thus no ring signal.

If the modem is generally Hayes compatible, as virtually all modems are, it should be sufficient to "dial" with:

ATX0D

and answer with:

ATA
Michael Hampton
  • 237,123
  • 42
  • 477
  • 940
  • This should get you by if you're on a budget. If you have lots of money to blow, see Evan Anderson's answer. Though I suspect you don't. – Michael Hampton May 02 '13 at 03:48
  • It also depends on how your software handles answering incoming calls. Some of the older DOS-based communications programs want to see `RING` and will issue an `ATA`, but others expect the modem to perform an auto-answer (`ATS0=x` where `x` is the number of rings) and wait for the `CONNECT` or the DCD line to go high. – Evan Anderson May 02 '13 at 12:29
6

You can attach the modems' telephone lines directly to each other. Simulating a ring pulse, however, to get the "remote" modem to pick up automatically is going to be problematic. There are a variety of "telephone line simulators" out there, ranging in functionality and price. If you want to terminate faster modem speeds (like V.90) then you're going to be talking about spending some significant money for a simulator. If you just want "plain vanilla" 9,600 - 38,400bps then you can probably get away with one of the simple analog line simulators. A search engine will give you a variety of results.

I'd be wary of trying to do something with VoIP gear and Foreign Exchange Station (FXS) ports. Even getting 9,600bps to work in that kind of scenario, w/ CODECS in play, can be problematic.

Evan Anderson
  • 141,071
  • 19
  • 191
  • 328