I need to decode 3 digits from a dial telephone.

It pulses at a rate of aprox. 10Hz and as many pulses as the digit dialed.

I need to decode say a number like 100.

The problem is thatthe user does not always dial at the same time space each digit.

Also if wrong digit are dialed, it should reject them (obviously).

The idea of using Pulsin is rejected because it times out pretty quickly. Maybe timer1 is good idea, but I have to consider also the time between digits.

Any idea welcome.
Ioannis