determine background noise level via cross correlation The setup:
Sound is being played by the speaker on the iphone. At the same moment i record sound via the microphone. Obviously the speaker sound will be recorded in addition to all the external noise.

My goal:
To determine the level of all external sound which is recorded in addition to the sound from the speakers.

(no implementation yet)
So far my approach is to cross correlate the input stream with the output stream to get the delay between both of them and an integer representing the level of similarity at this point, which will be used to estimate external noise. (if the int drops below a given value the noise is too loud) 

Has anyone experience with stuff like that, if this approach will be accurate enough to make a guess if the external noise reaches a certain level of disturbance?
Or will i have t do further analysation in the frequency domain via fft for example.

I'm completely new to this kind of problem so be kind with me, if I'm totally wrong ;)
If you want to get an estimate of the noise, do the cross-correlation, and then multiply your transmitted sound by your cross-correlation peak and then subtract it from your received sounds.  Make sure, of course, that you use the cross-correlation to line up the transmitted sound with when it was received.

What remains after you subtract is the noise with some amount of (hopefully small) error.