Detecting a three-tone signal in real-time
The approach I'm familiar with has been used for quite some time in broadcast situations. You mentioned your concern with voice signal "peaking" the frequencies of interest. From that statement, I am assuming that you can transmit your signal in-between periods of voice activity.

Here is the method:

On the generation side:


arrange for the signal to play for twice as long as the analysis.


On the analysis side:


Setup non-overlapped FFTs of a length that is 1/2 of the stimulus. This ensures that one of your FFTs will eventually contain an entire signal.
On each FFT, compute the power sum of the tone bins (including adjacent bins as a result of windowing), the power sum of the non-tone bins, and ratio the result to provide a SNR. 
If the ratio is above some threshold, then you have detected your signal. You can determine your threshold using your prior knowledge of the noise floor and transmitted tone levels.  


A couple of things you can do to improve:


Adjust the phases of the generated signal to reduce the crest factor.
Choose the 3 signal frequencies and/or the FFT length so that the frequencies fall in the centers of the FFT bins. If your generator and analyzer are synchronous, this would allow you to avoid windowing for FFT altogether.