I need emulate a modem in code


I need a modem emulator or similar to "system test" a server that includes modem communications with the outside world, because I can't actually dial the outside world for tests.


I work with a server that includes a bank of modems and phone lines that connect to hundreds of remote devices in the outside world. The remote devices are installed at our customer sites, and are relatively simple -- they auto answer, handshake with the server application, accept a command, upload some data, then disconnect. The problem is how do you fully system test such a server without hundreds of external test sites? (We can't contact our customers for the tests.)

My thought is emulation -- build system emulating modem bank and the remote devices. The test server's comm ports would be physically connected to the emulator's comm ports (i.e. null modem), and the emulator would look like modem hardware (proper treatment of hook, RTS/CTS, AT commands, etc.) so the test server would think it is dialing the outside world and connecting to remote devices, when in fact it is only talking to our emulator.

Problem: where can I get specs to code (or get actual code) for a modem emulator? (Our remote device protocol is simple and 100% known to us, so emulating that part is easy.)

Thank you in advance,
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
parkereaAuthor Commented:
Close, and pretty cool, but I am not sure if it is what I am looking for. (Surprisingly, it is EXACTLY what I need for completely different part of this project, testing a functions of the system that uses mulitple COM ports that connect to other hardware, not modems).

Are you suggesting running com0com on the system under test, or on the emulator? I suspect it is on both as I think it establishes "COM port pairs" -- 1 on the system under test, 1 on the emulator. If this is your thought, it does not quite fit as we need the system under test to maintain its hardware, with the exception of the modems.  I.e., unplug the modems, plug in the emulator system in their place by using null modems. We also need the system OS and software configuration to be very close to production.

Thank you again,

parkereaAuthor Commented:
My previous comment was probably wrong, so I have awarded the points to you. Thinking about it again, I realized that the modem pool probably uses a driver something like. The production system has 64 phone lines and modems (!),  but in my head I was picturing traditional serial port connected modems -- clearly NOT what our system actually has -- so I bet there is simply no way to replace the modems with null modems, because I bet there are no serial ports at all.

Thank you one more time!
- parkerea
Thanks for the points.  After re-reading I realize now that what you originally asked for was not what I gave you, but I'm glad that you could use it.

You are correct.  If you are connecting to a modem back of 60+ modems, you have some type of special driver.  I don't think that Windows (or Linux) is going to support 60+ com ports.  They might, but typically I think I have seen up to 8.  You run out of IRQ's and memory addresses real quick trying to do 64.  :)
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Networking Hardware-Other

From novice to tech pro — start learning today.