> I'm using the CML FX633 Call Progress Tone Detector chip at the > moment to do this - it indicates if there's a valid tone (ring, > engaged, etc) on the line - (you have to check the cadence in the uP > software). But it's too expensive here to make the project feasible. > I've tried to build my own filter (400Hz), but without much joy. It > definitely lacked the noise immunity & gain control of the i.c. If you are trying to detect a single tone, an edge detector with a PIC can do so fairly easily. If you're looking for two tones which are in a close harmonic relationship (e.g. 400:450 = 8:9) you may be able to use pattern matching on the output of an edge detector. If you're trying for the general case, a PIC is powerful enough to handle it with an edge detector for a reasonable number of tones (e.g. PIC16C620 picking up 40ms DTMF tones) but I don't know if my employer would be too happy if I gave away all my secrets. Sorry.