Modem "Hanging" Conditions

There are a variety of reasons why a data link may "hang" and the modem will not answer or worse yet, not hang up. Although the modems catch more than their share of the blame, the problem is normally elsewhere. It may be the application program or operating system, the DTE hardware, the phone company switches, a PBX, the other modem or other DTE. They all have to work together to make and maintain a stable data connection.

When they get out of sync from hardware problems, static electricity, line surges, poor line quality, reflections, or software glitches, etc., the exact cause or causes are next to impossible to determine without extensive trouble shooting. The most expedient thing to do is to treat the symptom (normally reboot) and simply blame it on your least favorite vendor. Rebooting is rather easy to do when you have immediate access to the equipment, but when it is off-site or behind locked doors this simple task becomes a little more difficult.

We have had considerable experience in dealing with these symptoms and have developed a product line to address them. These products can provide reboots over phone lines, a network or even automatically without any external connection. But since this article concerns modems and phone lines, we will try to stick to that as closely as possible.

You may be using the phone line to transfer data or simply to reset the computer, or both. Plus, the line may be dedicated to this task or shared with other voice, fax or modem activity. Whatever your modem application, the following are different scenarios in which you may find yourself.

Won't Answer Scenarios

The modem won't answer because the modem itself is hung. "Hey, lets buy the cheapest modem we can find for this critical application". Oh well, enough said.

 The modem won't answer because the computer or the application is hung and won't let the modem answer. Normally when the DTE hangs and it won't supply the proper control signals to the modem (DTR) or send the ATH1 or ATA command. You can set the modem to ignore the control signals or jumper them high in your cable, but this may encourage another set of problems (see #3 below). It is good practice to keep the modem control signals enabled.

These two "won't answer scenarios" account for about 90% of the "hanging" problems. Most of the time it is simply the DTE that locks up sometime between calls. But no matter which condition(s) may be causing the modem not to answer, any of the CPS products with the "six ring" feature can be used to perform a reboot at the remote end. See the ARR, IPC or APB ("Base Units"). If you also wanted to share the phone line, provide passwords or have ON/OFF control on demand, you could add a Telephone Line Controller (SP-RRC, 3PRRC or MP-RRC).

The "six ring Base Units" by themselves provide the most economical approach. They simply count the rings and if nothing answers in six rings (normally the modem) the AC power connectors will turn OFF and back ON in about 8 seconds. They can also be used without having a modem or other answering device attached. In this event they will always reset in six rings since nothing is there to answer. In this event you can also set them to reset in three rings to save time.

Won't Communicate Scenario

Sometimes the modem will answer, but the DTE (hardware or application/operating system) will not communicate. You can't dial back in to reset it because the modem has already answered and somehow stays off hook keeping the line busy. It should disconnect within 30 seconds when the calling modem hangs up and terminates the carrier.

Won't Hang Up Scenario

Similarly, after a call, the remote modem will not hang up making the line busy for any subsequent calls or a "reset call". It is like a phone in your house not being hung up properly. The two methods to hang up a modem are the ATH0 modem command or dropping DTR. Again, the loss of carrier from the other end should also do the trick.

In these latter two cases you'll have to find an alternate path to get to the reboot "base unit" or use one of the automatic features of the selected "base unit" (Heartbeat Reboot or Max Call Timer reboot).

Only the IPC and the APB have the automatic heartbeat feature. It connects to the serial port of the target machine and reboots if the target machine hangs. It is pretty reliable unless the hardware and operating system continue to run properly and it is the application program that hangs, although they can also be linked.

The "MAX CALL TIMER" is probably your best bet here. It is a small "Controller" that connects between the modem and the phone line. Simply set it for the maximum amount of time that the longest data session may occur. If the modem stays off-hook for a longer period, the timer will automatically disconnect the circuit and issue the reset command to the "base unit", if used. Normally an Intelligent AC Power Strip or IPC.

The disconnect itself may solve your problem without using a rebooting base unit. The phone company will see the disconnect and take the busy signal off of the line. The modem will no longer get loop current which may wake it up enough to hang it up.

An alternate access path may be developed through an adjacent computer over the Internet or other TCP/IP network. You could Telnet the reboot message to the serial port of the IPC through that computers serial port. You could still use its "six ring feature" for the "no answer scenarios".

You could also put an N-RRC (network controller) at the site and access any of the "base units" through it. It has its own IP address and acts like a mini web server. Another option is to put one of the telephone line controllers at the location and share it with a fax or other answering device and only use it in the time of need.

These products are presented in this order for clarity of explanation. Your application may require a completely different approach. The Max Call Timer or other automatic reboot feature may be used as your initial approach and the "six ring feature" may not be required or used for backup access, which is always a good idea.

As an example, a server or kiosk, where uptime is essential, may use the "heartbeat feature" as its primary method to reboot. It reacts automatically in seconds or minutes. Whereas, the "six ring feature" may be used for backup and save you an on-site visit if an unresolved hanging fault is determined. (See the IPC)

On the other hand if you were periodically dialing and collecting data with 5 min. phone calls, but occasionally the remote modem would not hang up, keeping the line busy, the Max Call Timer would be your initial approach. Simply set it for a time greater than 5 min. and connect it to the line. It would issue the reboot command to the "base unit" if the off hook time were exceeded. The "six ring feature" could then be used on the inbound side if the modem did not answer. A nice combination.