@Dimension7:
Flashing lamp on the buzzed intercom extension is a cool feature!

It's kinda practical too, for instance I could see if two extensions are near each other, but far from the caller, it might be hard to tell which extension was buzzed -- "Was that your buzzer or mine?"

Yes, this board could do that with some simple modifications.

For the lamp bit, it'd just be a matter of having separate transistors for each extension's Line 5 lamp, instead of just having them all commoned together from one transistor as I do now. (Currently when the intercom is picked up by anyone, the lamps all come on and stay on until hangup, regardless of who's being buzzed) So that'd be 4 power xstrs instead of one. They're cheap, a buck or two a piece, so no biggie there, and the xstrs don't take a lot of space. Some extra traces on the board cost nothing but space.

Where it gets a little tricky (space + cost wise) would be having a separate ring timer circuit (what I call "ring stretch" on my board) to keep the one lamp flashing for some amount of time after each buzz (probably about 10 secs) That'd be another LM339 IC, socket, and hand full of passive components to pull that off. But there /is/ a signal from the MT8870 (dtmf decoder chip) that stays set after the button has been released, which I could use to "remember" which extension was last buzzed to keep the correct lamp flashing. That'd avoid needing flip flops for "memory".

Neat feature, not sure if I wanna add that one or not, but it might be fun to figure out the logic.. simple logic gets tricky when you actually have to incorporate it effectively, while keeping the component list down. (This is why software makes this sort of thing sooo much easier)