CPC Technical Bulletin
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).
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
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
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
duration is 800ms, the phone system will recognize the
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!
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
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
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
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
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).
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.
oscilloscope would show you the CPC or Battery
Reversal if you happen to have one laying around (and know how
to use it).
Our CPC Pulse Tester (part number
tells you if there's a CPC signal and the duration of
it so you can program your system to recognize the duration. The
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
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
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
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
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
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
port, which is often a very expensive option), so you're pretty much
stuck with in-band signaling.
Even if you do receive an
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!
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
of 16 button DTMF dials, but the difference is just the labeling - the
DTMF tones are the same.
Autovon: FO, F, I, P (in red), a star for the *, and A for the
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?).
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
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
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.
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
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
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.
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
Click here to listen to a sample message followed by the howler tone
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
On modern phone system with
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.