Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Pulse dialing telephones

18 views
Skip to first unread message

Henk Geurts

unread,
Jun 6, 1998, 3:00:00 AM6/6/98
to

Hi everybody,

I have a litle problem with detecting the dialed number if the phone uses
pulse dialing. Noisy contacts and varios on / off times and inter digit
times through the countries don't make my life easy. and i also have to
respect the offhook to first digit time out. Is there anybody outthere who
has experience on this supject?
A little background information, this code is used in a dialer/call blocker
but some smart kid found out that even while his mom blocked 0900 calls
with this device, he still could dial by putting the phone to pulse
dialing.

If it wasn't for my boss i would give this kid a paycheck (the idea that
people still use pulse dialing never crossed my DTMF/ISDN mind :-) ).

I'm using the Atmel 89C2051 but i'm open for sugestions....
Thanks in advance...

Henk Geurts

Return email henk.geurts#tip.nl
replace the # with @


Chuck McCown

unread,
Jun 6, 1998, 3:00:00 AM6/6/98
to

Yes Hank, many of us that make POTS interface stuff have run into the
same problem. I have an optoisolator in series with the loop and that
is how I detect off hooks. I used to also try to time dial pulses and
extract them. However, the variations that you mentioned make reliable
pulse detection very difficult (worldwide). The european phones gave me
the most trouble.

We had alot of code devoted to extracting the pulses from the junk. It
worked 90% of the time but that 10% make it a tech support burden. I
believe that it was the noisy contact that made the most problem.

However, if I was you, I would look at the pulse string and just open
the loop and jam any any pulse call. It is no problem to detect that
pulse dialing is happening.

My problem was getting the exact pulse count every time. It must be
easier if you are sourcing the loop current. But if you are just
looking at the series current, there was alot of junk.

If I had to do it again, I would oversample the heck out of the loop
current detector and do a fir low pass filter after an interdigit timer
expired and before any kind of timing extraction.

Doing it on the fly with a state machine takes alot of tinkering with
timing parameters and lots of extra states to reject the crud. I might
also adopt some uart timing extraction and synchronization methods.
That is what you are really doing, syncing on a noisy signal. The
problem is sometines you only have one stinking bit and the crud at the
start and finish of it have to be ignored. I am probably not telling
you anything that you don't already know.

I wish I had a good solution for you.

Good Luck

Chuck

Don Yuniskis

unread,
Jun 7, 1998, 3:00:00 AM6/7/98
to

In article <01bd9169$514657c0$LocalHost@henk>,

Henk Geurts <henk....@tip.nl> wrote:
>Hi everybody,
>
>I have a litle problem with detecting the dialed number if the phone uses
>pulse dialing. Noisy contacts and varios on / off times and inter digit
>times through the countries don't make my life easy. and i also have to
>respect the offhook to first digit time out. Is there anybody outthere who
>has experience on this supject?
>A little background information, this code is used in a dialer/call blocker
>but some smart kid found out that even while his mom blocked 0900 calls
>with this device, he still could dial by putting the phone to pulse
>dialing.

A guy I knew designed just such a beast (RCA 1802 based) in 1980
or so. In effect, he let the phone dial the number and "listened
in" while it was outpulsing (or tone signalling). Then, he interrupted
the line (his box sat in series with any/all phones on the line)
and dialed the number. Then, reconnected the other phones to
the line. (This scheme requires the box to know what all valid
number formats are since the phones are free to dial *after*
the call is placed)

>If it wasn't for my boss i would give this kid a paycheck (the idea that
>people still use pulse dialing never crossed my DTMF/ISDN mind :-) ).

Gee, I have three "500 series, black" phones here with *dials*
that I can't imagine living without! :>

--don

Lukrecio Mioc

unread,
Jun 8, 1998, 3:00:00 AM6/8/98
to

Hi Henk,

I am sorry that I have neither enough knowledge or some genuine idea how to
solve that problem with Atmel 89C2051 or in some similar way, but Don make
me remember that few years ago I was in touch with so called "callback"
dialers, used by various callback companies on their customer's premises.
Dialer were used for reorigination of international phone calls to make them
go through US instead directly and take advantage of low US rates.
Almost all of these devices were programmable and made to be able to work
with both DTMF and pulse dialing.
Dialer was placed serially behind the phone and acted in exactly the same
way as device described by Done.
Some had callblocking features, some had not.
However, depending of which kind you can find it is easy to program those
without callblocking features to call one non-existing number, or even kid's
father every time it detects 0900 XXX XXXX call.
Few years ago, such devices used to cost $90-120, from my point of view it
is sunset of callback business know so the price may be lower, only.

Kind regards,

Luka

Henk Geurts wrote in message <01bd9169$514657c0$LocalHost@henk>...


>Hi everybody,
>
>I have a litle problem with detecting the dialed number if the phone uses
>pulse dialing. Noisy contacts and varios on / off times and inter digit
>times through the countries don't make my life easy. and i also have to
>respect the offhook to first digit time out. Is there anybody outthere who
>has experience on this supject?
>A little background information, this code is used in a dialer/call blocker
>but some smart kid found out that even while his mom blocked 0900 calls
>with this device, he still could dial by putting the phone to pulse
>dialing.
>

>If it wasn't for my boss i would give this kid a paycheck (the idea that
>people still use pulse dialing never crossed my DTMF/ISDN mind :-) ).
>

Lukrecio Mioc

unread,
Jun 8, 1998, 3:00:00 AM6/8/98
to

Chris Wright

unread,
Jun 8, 1998, 3:00:00 AM6/8/98
to

In article <01bd9169$514657c0$LocalHost@henk>, Henk Geurts
<henk....@tip.nl> writes

>Hi everybody,
>
>I have a litle problem with detecting the dialed number if the phone uses
>pulse dialing. Noisy contacts and varios on / off times and inter digit
>times through the countries don't make my life easy. and i also have to
>respect the offhook to first digit time out. Is there anybody outthere who
>has experience on this supject?

Yes, I've written call handlers using 8048 and 8051 processors. You
have to analyse the timing requirements for dofferent pulsing rates and
make/break ratios, allowing for distortions caused by line capacitance
and mal-adjusted dials. Oh yes, there are plenty of people using rotary
dials still. You can get compromise timings that will work for
something like 7-23 pps with software pulse counting, which should cope
with most regional variations. Bear in mind that minimum IDP (Inter
Digit Pause) also varies between administrations. I think we ended up
with 500mS as a compromise setting. In UK the spec is 800mS IDP, IIRC.

>A little background information, this code is used in a dialer/call blocker
>but some smart kid found out that even while his mom blocked 0900 calls
>with this device, he still could dial by putting the phone to pulse
>dialing.

I would say the device was fundamentally flawed then.


>
>If it wasn't for my boss i would give this kid a paycheck (the idea that
>people still use pulse dialing never crossed my DTMF/ISDN mind :-) ).

There are an awful lot of people using pulse dialling still. You need
to take account of this. There is such a large installed base of
telephone equipment that any change will take decades to be complete,
and even then, some people will deliberately prefer to continue to use
vintage equipment. Kind of like people who drive vintage cars around.


>
>I'm using the Atmel 89C2051 but i'm open for sugestions....
>Thanks in advance...

As I say above, you should have no problem with this. Poll the loop
current every mS or two, and time the on/offs. You need four timers, a
minimum and a maximum for both on and off. You can then get your pulse
counting from this.

Elementally you need something like this:-

IF loop on {on hook} THEN
Tmake=Tmake+1

IF Tmake = Tmakemax THEN
{it is end of a digit, accept pulse count, and then zero it}
ELSE
IF Tmake = Tmakemin THEN
{end of pulse, increment pulse count, zero Tbreak}
ENDIF
ENDIF

ELSE {off hook}
Tbreak = Tbreak+1

IF Tbreak = Tbreakmax THEN
{it is end of call, caller has hung up}
ELSE
IF Tbreak = Tbreakmin THEN
{it is a valid pulse, zero Tmake}
ENDIF
ENDIF
ENDIF

Each "accept pulse count" is a digit that has been dialled.

Note that neither state (make or break) has any effect until after the
appropriate min time, this is essential to debounce contacts and
eliminate noise. The design of the current detector is also important,
otherwise you will get noise problems.


HTH

--
Chris Wright
Colt International Licensing Ltd

Spehro Pefhany

unread,
Jun 8, 1998, 3:00:00 AM6/8/98
to

Chris Wright <ch...@coltopv3.demon.co.uk> wrote:
> to take account of this. There is such a large installed base of
> telephone equipment that any change will take decades to be complete,
> and even then, some people will deliberately prefer to continue to use
> vintage equipment. Kind of like people who drive vintage cars around.

FYI, around here, the phone company charges a premium of something like
$2/month for touch tone dialing. I'll bet there are a lot of seniors that
would rather use pulse dialing and save the money. The telco has
equipment that deliberately disables the touch tone for those that don't
pay for it, I know because it was initially available at every phone, then
it was restricted later. These games are probably related to gov't
incentives to keep "basic" local phone service affordable.

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Spehro Pefhany "The Journey is the reward"
sp...@interlog.com
Fax:(905) 332-4270 (small micro system devt hw/sw + mfg)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


Henk Geurts

unread,
Jun 9, 1998, 3:00:00 AM6/9/98
to


Chuck McCown <m...@bcl.net> wrote in article
<3579BA...@bcl.net>...


> pulse detection very difficult (worldwide). The european phones gave me
> the most trouble.
>
> We had alot of code devoted to extracting the pulses from the junk. It
> worked 90% of the time but that 10% make it a tech support burden. I
> believe that it was the noisy contact that made the most problem.

The noisy contacts are the ones which give me the most trouble. Specialy on
old PBX's with mechanichal relais instead of solid state. I've solved a
little bit of problems by putting a Cap over the optocoupler but I can not
make the capicator to big otherwise i'm running in to trouble in other
countries with different make break times. Now that i think about it.. I
might even run in to some problems if again if the current that the phone
is using changes ( in a different area with other PTT's

> However, if I was you, I would look at the pulse string and just open
> the loop and jam any any pulse call. It is no problem to detect that
> pulse dialing is happening.

The problem is that a lot of people are stil using pulse dialing. If it was
just for blocking calls it would be no problem but I also have to do
routing of long distance calls (We have Carrier Select introduced in
Europe).

Especialy in Germany a lot off city's have the choice between ISDN and an
old Rotary dial public system...... I have to say i'm seeing places and
PBX's I've never heared of before :-)



> My problem was getting the exact pulse count every time. It must be
> easier if you are sourcing the loop current. But if you are just
> looking at the series current, there was alot of junk.

Yes and i'm still suprised that the local PTT can connect on junk like
that.

> If I had to do it again, I would oversample the heck out of the loop
> current detector and do a fir low pass filter after an interdigit timer
> expired and before any kind of timing extraction.

I'm trying that but i have to go to the site to see if there is any
improment.



> Doing it on the fly with a state machine takes alot of tinkering with
> timing parameters and lots of extra states to reject the crud. I might
> also adopt some uart timing extraction and synchronization methods.
> That is what you are really doing, syncing on a noisy signal. The
> problem is sometines you only have one stinking bit and the crud at the
> start and finish of it have to be ignored. I am probably not telling
> you anything that you don't already know.
>
> I wish I had a good solution for you.

I am even thinking about the line current relais. but again i have to go to
the site to check this out and to see if it works.

> Good Luck
>
> Chuck
>
Thanks....

Chuck McCown

unread,
Jun 10, 1998, 3:00:00 AM6/10/98
to

We make call-back dialers and you are correct that it is the sunset of
the call-back business. However, fax over the internet is slipping into
place as the major customer of store and forward dialers. So it looks
like we will be building them for some time to come.
chuck

0 new messages