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

OT: "black box"

1 view
Skip to first unread message

Robert Baer

unread,
Nov 20, 2009, 7:16:44 PM11/20/09
to
Need "Ultimate black box"; would someone please _Direct record_ those
3 magic tones that preceded the recording "the number you dialed is
disconnected.." onto a microcassette for me?
Ideally, i would prefer the 3 tones, about 2-3 seconds of silence and
a repeat of the tones and end of recording.
But i think that having the 3 tones with the silence would be sufficient.
Thanks!

Frank Buss

unread,
Nov 21, 2009, 1:52:21 AM11/21/09
to
Robert Baer wrote:

> Need "Ultimate black box"; would someone please _Direct record_ those
> 3 magic tones that preceded the recording "the number you dialed is
> disconnected.." onto a microcassette for me?

Why do you need it?

> Ideally, i would prefer the 3 tones, about 2-3 seconds of silence and
> a repeat of the tones and end of recording.
> But i think that having the 3 tones with the silence would be sufficient.

I don't know if this is the same as the old German message:

http://www.progforum.com/showthread.php?t=7726

Audacity shows something like soft triangles, with 1017 Hz, 1492 Hz and
1926 Hz, each tone 0.3 seconds. I guess the original signal are sharp
triangles and then lowpass filtered because of the telephone line.

The program below creates the tones as a WAV file. The output:

http://www.frank-buss.de/tmp/tones.wav

Background information about the lowpass filter:

http://www.frank-buss.de/filter/index.html

The C program:

#include <stdio.h>
#include <math.h>

#ifndef M_PI
#define M_PI 3.14159265f
#endif

float sampleRate = 44100.0f;
int sampleCount;
float* samples;
FILE* wave;

void write16(unsigned int v)
{
fputc(v & 0xff, wave);
fputc((v >> 8) & 0xff, wave);
}

void write32(unsigned int v)
{
write16(v);
write16(v >> 16);
}

void writeWave()
{
int i;
float maxSample, minSample;
wave = fopen("tones.wav", "wb");
if (!wave) {
printf("can't write test.wav\n");
return;
}
write32(0x46464952);
write32(2 * sampleCount + 36);
write32(0x45564157);
write32(0x20746d66);
write32(16);
write16(1);
write16(1);
write32((int) sampleRate);
write32(2 * ((int) sampleRate));
write16(2);
write16(16);
write32(0x61746164);
write32(2 * sampleCount);
maxSample = 0;
minSample = 0;
for (i = 0; i < sampleCount; i++) {
if (samples[i] < minSample) minSample = samples[i];
if (samples[i] > maxSample) maxSample = samples[i];
}
maxSample = fmaxf(-minSample, maxSample) * 1.1f;
if (maxSample == 0) maxSample = 1.0f;
for (i = 0; i < sampleCount; i++) {
write16(samples[i] / maxSample * 32767.0f);
}
fclose(wave);
}

float trif(float alpha)
{
alpha = fmod(alpha, 2.0f * M_PI) * 2.0f;
if (alpha < M_PI) return alpha / M_PI;
if (alpha < 2.0f * M_PI) return 1.0f - (alpha - M_PI) / M_PI;
if (alpha < 3.0f * M_PI) return -(alpha - 2.0f * M_PI) / M_PI;
return (alpha - 3.0f * M_PI) / M_PI - 1.0f;
}

void addTone(int start, int count, float frequency)
{
int i;
float waveLength = sampleRate / frequency;
for (i = 0; i < count; i++) {
float alpha = ((float) i) * 2.0f * M_PI / waveLength;
// float sample = sinf(alpha);
float sample = trif(alpha);
samples[i + start] = sample;
}
}

void addTones(int start, int toneSampleCount)
{
addTone(start, toneSampleCount, 1017.0f);
addTone(start + toneSampleCount, toneSampleCount, 1492.0f);
addTone(start + 2 * toneSampleCount, toneSampleCount, 1926.0f);
}

void createSamples()
{
int i;
float toneLength = 0.3f;
float startEndSilence = 0.1f;
float middleSilence = 2.0f;
int toneSampleCount = sampleRate * toneLength;
int startEndSilenceSampleCount = sampleRate * startEndSilence;
int middleSilenceSampleCount = sampleRate * middleSilence;
sampleCount = 3 * toneSampleCount +
2 * startEndSilenceSampleCount + middleSilenceSampleCount;
samples = (float*) malloc(sampleCount * sizeof(float));
for (i = 0; i < sampleCount; i++) samples[i] = 0.0f;
addTones(startEndSilenceSampleCount, toneSampleCount);
addTones(startEndSilenceSampleCount +
middleSilenceSampleCount, toneSampleCount);
}

void lowpassFilter(float cutoffFrequency)
{
int i;
float a = (2.0f * cutoffFrequency * M_PI) /
(2.0f * cutoffFrequency * M_PI + sampleRate);
float filtered = 0.0f;
for (i = 0; i < sampleCount; i++) {
filtered = filtered + a * (samples[i] - filtered);
samples[i] = filtered;
}
}

int main(int argc, char** argv)
{
createSamples();
lowpassFilter(3000.0f);
writeWave();
return 0;
}

--
Frank Buss, f...@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de

Jan Panteltje

unread,
Nov 21, 2009, 7:03:59 AM11/21/09
to
On a sunny day (Fri, 20 Nov 2009 16:16:44 -0800) it happened Robert Baer
<rober...@localnet.com> wrote in
<VbSdnfJ7QqeRrJrW...@posted.localnet>:

Beethoven's ninth?
LOL

mpm

unread,
Nov 21, 2009, 9:13:16 AM11/21/09
to
On Nov 21, 7:03 am, Jan Panteltje <pNaonStpealm...@yahoo.com> wrote:
> On a sunny day (Fri, 20 Nov 2009 16:16:44 -0800) it happened Robert Baer
> <robertb...@localnet.com> wrote in
> <VbSdnfJ7QqeRrJrWnZ2dnUVZ_umdn...@posted.localnet>:

>
> >   Need "Ultimate black box"; would someone please _Direct record_ those
> >3 magic tones that preceded the recording "the number you dialed is
> >disconnected.." onto a microcassette for me?
> >   Ideally, i would prefer the 3 tones, about 2-3 seconds of silence and
> >a repeat of the tones and end of recording.
> >   But i think that having the 3 tones with the silence would be sufficient.
> >   Thanks!
>
> Beethoven's ninth?
> LOL

I listened to a podcast the other day about why (music) CD's are 74
minutes long.
Apparently, two reasons:

a) Beethoven's ninth would fit in 74 minutes, for the slowest tempo
live performances, and
b) Sony was way behind factory-readiness to press 10cm disk. (I think
they were going with 11cm?)
The compromise was for both to switch to 12cm, which put them back on
an equal footing.

Could be BS misinformation though. Sounds at least plausible.
Now, some CD's are 80 minutes of course.

What was also interesting is that they have longer formats available
from the start, but went with 74 minutes so as not to further delay
the consumer introduction of CD technology.

-mpm

John KD5YI

unread,
Nov 21, 2009, 10:20:21 AM11/21/09
to
In article <VbSdnfJ7QqeRrJrW...@posted.localnet>,
rober...@localnet.com says...

See if you can find what you want here:

http://www.payphone-directory.org/sounds.html

Cheers,
John

Robert Baer

unread,
Nov 23, 2009, 2:22:08 AM11/23/09
to
Why?
I get an average of 6 hang-up marketeer calls and my loco "provider"
refuses to do anything, and the PUC won't do spit either.
The Fed so-called "do not call registry" is less than useless;
registering only INCREASED the volume of calls.

mpm

unread,
Nov 23, 2009, 3:37:35 PM11/23/09
to
> registering only INCREASED the volume of calls.- Hide quoted text -
>
> - Show quoted text -

Forget the tones.
The best way to circumvent BS sales / telemarketer calls is to answer
the phone electronically have ask the user to press a button (like the
#2). Robo-dialers won't know to do this, so you can dispense with the
call.

There used to be some online services for this, as well as a few black
boxes out there.
A friend of mine even has his voice mail set up like this.
Of couse, he's using a Glenayre paging terminal to do it...

Good luck.
I know unwanted calls can be frustrating as hell.
And if they originate overseas (as many do), the DNC registry has no
teeth.

Robert Baer

unread,
Nov 24, 2009, 3:08:54 AM11/24/09
to
That cannot possibly work, because the moment one picks up the line,
the bastards hang up.
I am going to use "callingarea.wav" from
http://www.payphone-directory.org/sounds.html
because it starts with the tones, does not say to re-try called number,
and seems to be the best "you are flaked out" message.

mpm

unread,
Nov 24, 2009, 8:49:29 AM11/24/09
to
>    I am going to use "callingarea.wav" fromhttp://www.payphone-directory.org/sounds.html

> because it starts with the tones, does not say to re-try called number,
> and seems to be the best "you are flaked out" message.- Hide quoted text -

>
> - Show quoted text -

No, you misunderstand. (I think?)
YOUR phone doesn't actually ring until the caller complies with the
instructions.
Your phone is answered silently, (to you) and the caller must then
comply (i.e., press whatever buttons, etc...) before you send the ring
off to your equipment. This requires you to generate your own ring,
but that's not too complex an undertaking.

I have a question: Why have a phone line at all if you're going to
play that message?
Wouldn't it be best to just take the phone line out?, or disable all
inbound calls?

Jim Thompson

unread,
Nov 24, 2009, 8:59:05 AM11/24/09
to

Isn't the best way to simply read the CID, kill ringing for numbers
beginning "8xx"? Likewise kill on "out of area", "anonymous", and
"unavailable".

As in... http://jfteck.com/Q_A.htm

...Jim Thompson
--
| James E.Thompson, CTO | mens |
| Analog Innovations, Inc. | et |
| Analog/Mixed-Signal ASIC's and Discrete Systems | manus |
| Phoenix, Arizona 85048 Skype: Contacts Only | |
| Voice:(480)460-2350 Fax: Available upon request | Brass Rat |
| E-mail Icon at http://www.analog-innovations.com | 1962 |

Jim Thompson

unread,
Nov 24, 2009, 9:41:54 AM11/24/09
to
On Tue, 24 Nov 2009 06:59:05 -0700, Jim Thompson
<To-Email-Use-Th...@My-Web-Site.com> wrote:

>On Tue, 24 Nov 2009 00:08:54 -0800, Robert Baer
><rober...@localnet.com> wrote:
>

[snip]


>>> And if they originate overseas (as many do), the DNC registry has no
>>> teeth.
>> That cannot possibly work, because the moment one picks up the line,
>>the bastards hang up.
>> I am going to use "callingarea.wav" from
>>http://www.payphone-directory.org/sounds.html
>>because it starts with the tones, does not say to re-try called number,
>>and seems to be the best "you are flaked out" message.
>
>Isn't the best way to simply read the CID, kill ringing for numbers
>beginning "8xx"? Likewise kill on "out of area", "anonymous", and
>"unavailable".
>
>As in... http://jfteck.com/Q_A.htm
>
> ...Jim Thompson

Would anyone know how short a ring will still allow phones to reset to
receive CID?

mpm

unread,
Nov 24, 2009, 11:07:49 AM11/24/09
to
On Nov 24, 9:41 am, Jim Thompson <To-Email-Use-The-Envelope-I...@My-

Web-Site.com> wrote:
> On Tue, 24 Nov 2009 06:59:05 -0700, Jim Thompson
>
>
>
>
>
>
>
> <To-Email-Use-The-Envelope-I...@My-Web-Site.com> wrote:
> >On Tue, 24 Nov 2009 00:08:54 -0800, Robert Baer
> ><robertb...@localnet.com> wrote:
>
> [snip]
> >>> And if they originate overseas (as many do), the DNC registry has no
> >>> teeth.
> >>  That cannot possibly work, because the moment one picks up the line,
> >>the bastards hang up.
> >>   I am going to use "callingarea.wav" from
> >>http://www.payphone-directory.org/sounds.html
> >>because it starts with the tones, does not say to re-try called number,
> >>and seems to be the best "you are flaked out" message.
>
> >Isn't the best way to simply read the CID, kill ringing for numbers
> >beginning "8xx"?  Likewise kill on "out of area", "anonymous", and
> >"unavailable".
>
> >As in...http://jfteck.com/Q_A.htm

>
> >                                        ...Jim Thompson
>
> Would anyone know how short a ring will still allow phones to reset to
> receive CID?
>
>                                         ...Jim Thompson
> --
> | James E.Thompson, CTO                            |    mens     |
> | Analog Innovations, Inc.                         |     et      |
> | Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    |
> | Phoenix, Arizona  85048    Skype: Contacts Only  |             |
> | Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  |
> | E-mail Icon athttp://www.analog-innovations.com|    1962     |- Hide quoted text -

>
> - Show quoted text -

Not sure I understand what you mean by reset.
I thought CID was delivered between the 1st and 2nd rings, at 1200
buad using inband singalling. (?)

If so, then the minimum "reset" time depends on the ring times, and
how fast the Telco can re-dial the line.
The latter probably depends on what kind of switch is serving.

Robert Baer

unread,
Nov 25, 2009, 3:19:23 AM11/25/09
to
At times, i resorted to leaving the phone of hook for a goodly part
of a day.
"Solutions" like that, disabling all inbound calls (How?), or ceasing
phone service are defeating: 1) impossible to get calls from friends, 2)
rather messy to initiate calls.
**
Yes, i do not understand any of "YOUR phone doesn't actually ring
until the caller complies with the instructions.
"Your phone is answered silently, (to you) and the caller must then
comply (i.e., press whatever buttons, etc...) before you send the ring
off to your equipment. This requires you to generate your own ring, but
that's not too complex an undertaking."
That seems to be unclear to me - so please draw a picture (or
equivalent).

Robert Baer

unread,
Nov 25, 2009, 3:22:31 AM11/25/09
to
That list is extremely short WRT the undesired "numbers" - some do
not have numbers, and some do not have names, and some neither.
So far, my dumb solution might be working.

don

unread,
Nov 25, 2009, 7:55:37 AM11/25/09
to
Robert Baer wrote:
> That seems to be unclear to me - so please draw a picture (or
> equivalent).

I had a unit like this before I just canceled my land line altogether.

The unit is a caller ID box with the box plugged into the wall jack
(line) and my phone plugged into the box.

The box would disconnect the (on-hook) phone from the line with a
Normally Open relay.

When a call would come in, the box would see the ring, but the phone
would not.

The caller ID would be displayed on the LCD display, the relay would
close and the second ring would be on the phone.

The box had a slight voltage on the phone, so when you pickup the phone
(off-hood) the relay would connect you to the line.

This is late 80s technology.

don

Robert Baer

unread,
Nov 26, 2009, 1:29:50 AM11/26/09
to
That would be easy to build..but what use is it?
These idiot marketeers wait until you pickup the line, then SLAM!

JosephKK

unread,
Nov 28, 2009, 6:24:38 AM11/28/09
to

Easy, with a CNID filter your phone would never ring except for
authorized numbers. This is close to what you wanted isn't it?

Just the same, i agree, super jam some of the phone spammers and they
go away.

Robert Baer

unread,
Nov 29, 2009, 4:48:35 AM11/29/09
to
The effect (result) is rather close.

>
> Just the same, i agree, super jam some of the phone spammers and they
> go away.

If all was perfect, the calls would NEVER be made (after the first
time, at worst).

0 new messages