Maker Pro
Maker Pro

Call Progress tone

Hi Everyone,

I'm working on (another) project: I need to hack an old rotary phone and when the proper number is dialed, a dry contact is activated. The phone IS NOT connected to any phone line.

when people are picking up the phone, I want to generate/simulate the "Call Progress" tone, to make the illusion even better.

has anyone ever done this ? Is it possible ? Arduino ?

the "Call Progress" tone seemed to be made of 350HZ and 440 HZ, but I couldn't figure out the duration of each frequencies and the pattern.....

I found a chip made by Clare, M-991, that is supposed to do that, but it is fairly expensive and rare ....

any suggestions ?
 
Dial tone, busy tone, progress tones - does your feedback tone have to be anything specific, or just "phone-company-sounding? One opamp or transistor can make a respectable sinewave as a phase-shift oscillator, so one quad opamp can generate two tones, sum them together, gate them on and off, etc.

ak
 
Thanks to you guys.

One thing I wasn't sure but I think I understand now: the signal is made up of 2 continuous frequencies.

I need to generate (opamp or arduino) both frequency at the same time, then hook them up to the same speaker, so they kind of "blend" together... Right ?
 

hevans1944

Hop - AC8NS
Thanks to you guys.

One thing I wasn't sure but I think I understand now: the signal is made up of 2 continuous frequencies.

I need to generate (opamp or arduino) both frequency at the same time, then hook them up to the same speaker, so they kind of "blend" together... Right ?
Correct, for dial, ring tone, and busy signals only. For Special Information Tones it is a sequence of three tones with no interruption between tones in the sequence followed by a recorded voice message: boopbeepbleep <short pause> "We're sorry! Your call cannot be completed..." IIRC there are chips that will generate the required tone frequencies, or you can make individual oscillators and sum their outputs. You could use the Arduino to select which oscillators will be used as well as count the "dialing" pulses and perhaps operate a voice synthesizer for the SIT messages. Bob Newhart would love this.
 
Follow-up:

Managed to do it. Had to use 2 Arduino: one that has a command Tone() generating 350 HZ and another that generate at 440 HZ. both connected to the same speaker.

has to use 2 Arduino, because Tone() can only be used by one pin at a time....
 

hevans1944

Hop - AC8NS
Or you could do it the "old school" way with analog circuitry and save your Arduino(s) for control functions...

dialtone.gif
 
Last edited:
hevans1944: you are absolutely right, and the result would probably be better, but given the fact that a Pro Mini sells for about 2 US$ on Ebay (including shipping), it may not be worth the effort, (and money) to design a PCB, assemble it and test it !
 
Last edited:

hevans1944

Hop - AC8NS
hevans1944: you are absolutely right, and the result would probably be better, but given the fact that a Pro Mini sells for about 2 US$ on Ebay (including shipping), it may not be worth the effort, (and money) to design a PCB, assemble it and test it !
Not sure if "better" is the way to describe an ancient circuit from the previous century, I hadn't realized a Pro Mini was available for two bux (including shipping) on Ebay! So of course that is the way to go. In the end. only you can decided if square waves instead of sine waves produce an acceptable "dial tone" and, if not, add some filtering.

I was under the impression this was a one-off hobby project. You never figure in the cost of a PCB and the cost in time and effort to assemble and test a hobby project! Either you can afford it, or you find another way, or you abandon the project.

OTOH, if you are making a few of these to sell, that's a different ball game and the el-cheapo Pro Mini wins hands down... no contest! I was surprised to find very expensive commercial dial-tone and DTMF generators still available for sale online... at outrageous prices. I haven't heard a dial tone in years, but I suppose they are still used with pay telephones in public places like airport terminals and bus stations. As for pulse-dialers... gee, those are real antiques. Maybe a museum would enjoy having a few if you have some you want to sell. Are you going to provide a ring-generator for those telephones? I am curious, what you are trying to DO?

Hop
 

hevans1944

Hop - AC8NS
Written by an ancient from the previous century - !!!

ak
Okay, I suppose the circuit isn't ancient... timeless might be a better description. Op-amps are continuously improved, even in this digital age. The quad op-amp specified (LMC6484IN) has a TI datasheet with a 2000 date and a 2015 update, so it doesn't qualify as ancient. And Arthur Harrison copyrighted the circuit in 2003, which wasn't all that long ago. I think Alexander Graham Bell, or maybe Thomas Alva Edison, invented the two-frequency dial tone, both ancient figures from the previous century. In any event, I certainly am not ancient yet. Old(er) maybe, older than the Kid certainly, but not ancient. So there.:cool:
 
hevans1944: I'm building a prop for an Escape game.

That rotary phone is not going to be connected to a TELCO system/line, but rather to some sort of PLC: the 4 wires of the regular RJ11 will be connected like this:

1- +12V
2- relay COM
3- relay NC (or NO)
4 - Gnd

There will be up to 16 "pre-defined" numbers, that can be selected via a 4-position DIP switch.

Players will have to figure out the number to dial (by gathering miscellaneous hints), pick up the phone (with Call progress "buzzing"), dial the right number. If right number is dialled, then the relay,will be energised, unlocking another hint.

I really wanted that Call Progress tone, to make the effect as realistic as possible...
 

hevans1944

Hop - AC8NS
So, the two Arduino Pro Minis will generate the "dial tone" and count the impulses from the dialing mechanism and compare that to the dip-switch binary representation of the pulse count, closing the relay contacts on the RJ11 connector if the "correct" number of pulses are detected.

How and when do the dip-switches get changed after the next hint is unlocked? Or do you just swap out another telephone set with a different set of dip-switch positions pre-selected?

I think you would obtain better control of the "game" if the relay contacts were replaced with a simple bi-directional serial communications pair of wires. A remote Arduino (or whatever) would then control the telephone set, downloading the "magic number" that unlocks the next hint and receiving the number of counts produced by the dialing mechanism.

Whether the "magic number" is encoded in the telephone set or in the remote Arduino is probably not important. The comm link simply allows you to change the "magic number" that will unlock the next hint.

You didn't specify exactly what the relay contacts DO, but surely they operate a separate mechanism for revealing hints and this mechanism could just as easily, and perhaps more conveniently, be controlled elsewhere. You might even be able to operate multiple gaming rooms simultaneously, all under the control of a single desktop PC communicating with multiple "telephones" through an Arduino interface.

Sounds like this could be both fun and profitable if you rent out time on the gaming rooms.

Hop
 
Top