- Helping you Make IT Work...
Helping you make IT work...
Since 1990

Search Our Site:


Call Party Contrl (CPC) Troubleshooting

CPC (Calling Party Control) is a signal sent from most modern electronic COs to indicate that the "Calling Party" has hung up. It's usually called "Open Loop Disconnect" when you're programming telephone equipment. The CPC signal tells the phone equipment that the outside party has hung-up, so it can stop recording to an answering machine or voice mail, drop the call off hold, or just release a line that might be used for dictation or announcements.

In the days before voice mail, CPC was used to tell the 1A2 or electronic key system or PBX that the outside party has hung up when the call was on hold, automatically releasing the line.

Generally speaking, if a human is using a phone line, it doesn't matter whether the phone equipment recognizes CPC or not since the human will physically hang-up the phone when they're done with the call, or they'll pick the call up off of hold when the phone system rings back after X seconds / minutes (there was no hold recall on most 1A2 key systems).

CPC is normally sent as an open (0 volts DC), ranging from 250 to 900 milliseconds. When the outside party hangs-up, either on an inbound or outbound call, the phone equipment sees this open on the line and hangs up.

Most voice mail and phone systems have a timer setting for CPC (or Open Loop Disconnect). I generally set CPC at 500ms unless I have a problem. If you set it at 800ms, and the CPC open loop signal is only 500ms, the system will never see the open loop (it never gets to 800ms). If you set it at 500ms, and the actual CPC duration is 800ms, the phone system will recognize the CPC since there was 0 volts (an open loop) for 500ms (it won't matter if the open loop lasted another 300ms).

If you accidentally set it for 50ms you may get cut-offs, especially during a lightning storm which sometimes results in very brief blips in the loop current. Setting this timer for 50ms means that if the phone equipment sees an open for 1/20th of a second (not very long), it will hang up. Setting it for 500ms means it will hang-up if it sees an open of half a second or longer. That's much more reliable.

Keep in mind that the engineers may not have set the timer in milliseconds. Some of the engineers designing phone systems today are really morons. They may have made the programming entry 10 = 100ms, 50 = 500ms, and 100 = 1 second (1000ms). Why? Who knows. If you are having CPC problems, make sure you double check the manual for that entry (and hope it's correct).

There's often a short open (0 volts DC) on a phone line just after you go off-hook, or just after you've finished dialing a phone number. These are usually very short opens, like 20 to 50ms. If your phone system Open Loop Disconnect timer is set at 50ms, you may never be able to make a call because every call would be cut-off as soon as you went off-hook or finished dialing. That Open Loop Disconnect Timer is very important!

Don't confuse Battery Reversal with CPC.  Battery Reversal hasn't been used in this country since they took out the last Step-by-Step CO switch. With Battery Reversal, instead of an open loop for 500ms, the DC talk battery gets reversed for 500ms. Battery Reversal is still used in some foreign countries.

No FCC registered telephone equipment would recognize a battery reversal since the FCC requires that telephones operate correctly on either polarity. The Reversal would simply be ignored.

Some VoIP and foreign telephone equipment used in the US (but not made for the US market) that provides dial tone and talk battery (FXS) only puts out a Reversal , not an open loop. If calls from that stuff end up in an automated device that only responds to US style CPC (0 volt) signals, the ports will never hang-up - and they'll be locked up until manually reset if the automated device doesn't have a time-out for maximum call length.

Your system may be made for use anywhere in the world, and may give you a programming entry for "country" or "region." Then you have to figure out what you're supposed to put in that entry.

It's pretty hard to measure CPC timing, but you can at least verify that there is a CPC signal. Here are the ways I know of to check for a CPC signal:

1.  If you have a Butt-set with a polarity light that's on all of the time while you're talking or you can hold the polarity test button while listening, you can watch the polarity LED. Make a call to your cell phone, hang-up the cell phone, and watch the polarity LED on your Butt-set. When there's an open loop, there's no voltage, and there's no electricity to light the LED. You can't really time it that way, but at least you'll know if you're getting the CPC, how long it comes after the outside party has hung-up, and roughly how long it is (if you have a good eye).

2.  Put a DC volt meter across the line and answer a call. When the calling party hangs up, you should see a blip on your meter. That's the CPC , but most meters (either digital or analog) can't respond fast enough to show you much of anything. Not a good choice.

3.  An oscilloscope would show you the CPC or Battery Reversal if you happen to have one laying around (and know how to use it).

4.  Our CPC Pulse Tester (part number TOH7N ) tells you if there's a CPC signal and the duration of it so you can program your system to recognize the duration. The CPC Tester also detects Battery Reversal, so you can tell which type of signal you're getting, or use it outside of the US.

Some answering machines have a CPC selector switch. You may need to flip it if it doesn't stop recording when the outside party hangs-up. On real phone and voice mail systems, the CPC Open Loop Time is set through programming. Sometimes the manufacturer will call the timer something else.

Remember those moron engineers? Some phone systems detect CPC correctly, except when two phone lines are conferenced together in the system. If someone manually setup the conference from a phone, or you have the Automated Attendant transferring a call off-site by bridging two lines together, the phone system may ignore a CPC on those lines. Pretty stupid (and the lines will all get locked up pretty quickly), but when you have intermittent CPC problems you have to recreate exactly what's happening when the problem occurs. You really have to be a detective. If you assume anything, it will come back and kick you in the ass.

By the way, very few phone systems have an amplified conference, which means the two outside parties will always have a hard time hearing each other (also low volume when a call is transferred outside the system on a trunk-to-trunk conference). Whenever I put in a new system I always put 3-Way Calling from the phone company on the CO lines, program a flash button on each phone (if there isn't one there already), and train the customer how to do a conference call using 3-way from the telco - which gives everybody on the call perfect volume - and no CPC problems with the lines locking up..

If you don't see any kind of CPC signal from the CO, call repair and ask them why. The line is most likely programmed wrong. It could take quite a few calls as you escalate the case of trouble through repair before you find someone who even knows what you're talking about (give them this Tech Bulletin). Since 70% of the phone systems out there have a voice mail attached, and voice mail (and the phone system) just plain won't work right without a CPC signal from the phone company, CPC isn't optional. Most phone companies will give it to you if you waste enough time talking to them.

Checking for CPC before you sell the system can save you a lot of problems... especially if you already know some of the analog lines are coming from another phone system!

If you just ask the local Phone Company to test it for you, they'll just tell you that it "Tests OK."   I'm pretty sure phone company technicians go through a four week intensive training course on how to tell you the line "Tests OK," no matter what you ask them. I think I even saw them carrying a little card that translated "Tests OK" into 24 different foreign languages. They generally won't give you the actual results of a test in numbers like milliseconds (because they don't know). If you want to get something fixed, you generally have to give them the numbers. Then they'll know they can't bullshit you.

Unfortunately, some phone companies just won't turn on CPC at all, or have actually turned it off and won't turn it back on. One telco turned off the CPC signal for all of its subscribers one day, saying that it will help prevent "toll fraud."  That's ridiculous. They didn't notify their subscribers - they just did it, leading to a whole slew of problems overnight. They said they will turn it back on if you call and ask. There are lots of morons at phone companies.

Lack of CPC causes voice mail systems to tie up station ports for a long time after the caller hangs up (or sometimes until they're manually reset), leaving long messages and wasting valuable ports and disk storage. Same with answering machines, dictation machines, remote control systems and most of the other devices that automatically control a phone line. Considering that the trend is for more automatic gizmos being attached to phone lines rather than fewer, this problem is bigger than ever.

We have a couple of products that will generate a CPC for you in some cases, if your phone system or telephone company doesn't provide it.

Some phone systems see the CPC signal OK, and drop the trunk, but they don't in-turn open the talk battery (open the loop) to a single line (analog) station port when the trunk drops. This ends up locking-up a voice mail port, or leaves a lot of junk at the end of every message until the voice mail system times-out.

The phone system often returns a busy, reorder or dial tone to the single line station port. Sometimes they just return silence, which is usually handled by a voice mail system OK. A lot of voice mail systems have a problem with busy or reorder tone, or even dial tone.

Very few phone systems repeat the CPC open loop disconnect to the single line station port when the trunk sees the CPC. I have no idea why since it seems simple to do electronically. Instead, most phone systems tell the equipment plugged into the single line station port that the CO line has hung-up (a CPC was received) using "in-band signaling." In-band signaling is some kind of sound:  Busy, reorder, dial tone, or DTMF digit, that can be recognized by the equipment connected to the station port as a signal that the trunk has dropped.

"Out-of-band signaling" would be data sent or received on an SMDI (Simplified Message Desk Interface) port, which is a serial port used for integration. It's unlikely you'll be using an SMDI port (both the phone system and voice mail system would need an SMDI port, which is often a very expensive option), so you're pretty much stuck with in-band signaling.

Even if you do receive an in or out-of-band CPC signal, or even an open loop disconnect on the single line station port, you may only get it when the trunk gets the CPC signal and drops. You may not get any kind of indication on a station-to-station call , which would still be a problem since the the port on the voice mail would still be tied up when the person inside hangs-up. You really have to get your ducks in a row and check everything out before trying to find a fix. It's easy to test all this by going through the scenarios manually. Don't guess or assume anything. You're a detective!

DTMF in-band signaling is the most dependable
CPC you can get on a station port!

The most dependable type of in-band signaling is a DTMF tone sent out the analog station port when the system detects a CPC on the trunk. This is usually called a disconnect tone. The DTMF digit is usually a fourth column DTMF digit, A, B, C or D. There are actually 16 DTMF digits, not just the 12 seen on normal phones. These fourth column DTMF tones are used because they aren't on everybody's phone, so a user can't accidentally disconnect a call because they hit the wrong key on their phone.

There are two types of 16 button DTMF dials, but the difference is just the labeling - the DTMF tones are the same.

1. Autovon:   FO, F, I, P (in red), a star for the *, and A for the #

These red buttons were used to indicate the priority of a call on the military Autovon network so the right guy could get through to the right guy with his finger on "the" red button, when that day came (comes?).

2. 16 Button:   A,B,C and D tones in the fourth column, and a * and #

Most voice mail and IVR systems have no problem detecting one of these fourth column DTMF tones as the disconnect tone and hanging up. These tones have been widely used for integration for many years , before it became popular to have voice mail systems connected to digital station ports, or actually integrated into the guts of the phone system.

Getting the phone system to send a disconnect tone can be a little harder. It usually involves programming the analog station port as a "voice mail" port (often a different Class of Service). Even if you're using the port for something other than voice mail, this should work fine and not interfere with a real voice mail system since calls to the real voice mail are controlled by putting the correct station ports in a hunt group.

If you're attaching something to the analog station port that doesn't understand a disconnect tone , that's not a problem. We have a DTMF Flash Generator (part number MIS1D ) that's a small line powered modular gizmo that goes in-series with an RJ-11, and will open the line going through it for up to 1.2 seconds when it hears the DTMF trigger that you program into it (it's programmed from a Touch Tone phone, but you don't need a dial with A,B,C,D to program those digits). Remember that the disconnect tone may not be sent on a station-to-station call. You have to check it with your butt-set.

The next most dependable type of in-band signaling other than DTMF is a dial or steady tone. A busy signal or reorder tone isn't very dependable since phone system manufacturers seldom use "precise tones" on their station ports. The frequencies of the tone(s) can be whatever the engineer dreamed up that day, and the cadence can also be anything they wanted to make it. The only thing that's consistent with reorder and busy tones is that the on and off durations are the same.

If this was easy, anybody could do it!

One of the problems with simply detecting a repeating cadence is that music, by definition, is a repeating cadence. If the musicians are good, the on / off times or beat of the music (especially March music) can be interpreted by a computer controlled device as a busy signal or reorder tone. It's not a problem if you need to generate a CPC signal for a voice mail system, since callers on a voice mail system are never on hold. Putting a gizmo that detects a repeating cadence on a CO line, where callers can be put on hold from either side of the call, can result in cut-offs.

The other problem with detecting a repeating cadence or steady/dial tone is that the AA / VM / IVR has to shut up for a while for an electronic computer controlled device to hear the cadence or tone. If the phone system is putting out a nice clean repeating cadence like a busy signal or reorder tone, but the AA keeps saying "Please enter your selection" every two seconds, there may never be a clean busy signal or dial tone?

The computer controlled device (to create a CPC signal out of audio) listening for a busy signal or dial tone isn't as smart as a human. On a standard analog phone line or station port, both transmit and receive are on the same pair of wires. The audio from both directions (in and out) is always "mixed." In order for the computer controlled device that's trying to provide the CPC when it detects the busy or dial tone, the thing that's talking has to shut up long enough for the computer controlled device to hear X seconds (milliseconds) of pure busy or dial tone - with no other audio.

A device that tries to create a CPC signal (open loop) from audio is just a microprocessor programmed to listen for a certain volume level of a particular tone. If it's listening for a cadence like a busy signal or reorder tone it's programmed to listen for X milliseconds of audio and the same amount of silence over X seconds (repetitions). If the AA / VM / IVR isn't talking in the background, the device hears the nice pure tone. If there is talking in the background, the device never hears a single volume or cadence over X seconds, so it can't detect the dial tone or busy signal reliably.

The bottom line is that the AA / VM / IVR has to stop talking long enough for the device to hear just the dial tone or busy signal, with no speech in the background, for it to create a CPC reliably. To determine this you need to call into the AA on your cell phone while monitoring that single line station port with your butt-set. When you hang-up your cell phone, listen on your butt-set and write down what you hear for a minute or two. Something like 5 seconds of silence, 10 seconds of reorder tone with the AA speaking in the background, 10 seconds of just reorder tone, 20 seconds of silence, 30 seconds of dial tone with the AA speaking in the background, 30 seconds of dial tone.

Once you write down exactly what's happening, you have a chance of programming our Universal CPC Generator™ that will listen for the particular tone/cadence that will trigger a CPC in your application. Every place will be different, since every AA / VM / IVR and phone system is different.

Note that you may have to listen and write down what you hear in various menus, since the repeat timer may be different on different menus. You may have to reprogram your AA / VM / IVR for a longer delay before it asks the user to enter a selection if nothing was entered at a particular menu.

Detecting silence is the most dangerous way to generate a CPC on a phone line (but not a voice mail system), since callers could easily be put on hold with no music, or simply put the phone down for X minutes / seconds. A voice mail system will never put the line on hold, so silence is a reasonable way to get a CPC if you can't get a DTMF tone out of the phone system.

Our Universal CPC Generator™ will detect the howler (used on real phone lines - recording below), dial, busy or reorder tone, and hang up the phone line for about 800ms, creating an open loop CPC signal.

Click here to listen to a sample message followed by the howler tone (475K)
Be sure to turn down your speakers!

Remember to check that the tone you're trying to detect to generate a CPC is also sent on a station-to-station call on a PBX (as well as a trunk to station call).

On modern phone system with built-in automated attendant and voicemail that's not connected to a single line station port, you must get a CPC signal from the phone company on the phone lines going into the system. A big problem is doctor's offices who get some or all of their dial tone from single line station ports off a big PBX in the hospital they're connected with. These PBXs often just can't provide an open loop disconnect, and you'll never hear the howler tone on those ports, so you're forced to detect a DTMF digit (works on just about any PBX that a hospital would use), dial tone or repeating cadence. All you have to do is give the hospital's phone man this Tech Bulletin so they can figure out what you need them to do.