diff --git a/sflphone-common/src/audio/alsa/alsalayer.cpp b/sflphone-common/src/audio/alsa/alsalayer.cpp
index 895a072e7609a68d3007176795340073b69f18d9..66d56893dad5c20021dc04f4ee36699ad3dff618 100644
--- a/sflphone-common/src/audio/alsa/alsalayer.cpp
+++ b/sflphone-common/src/audio/alsa/alsalayer.cpp
@@ -64,6 +64,9 @@ AlsaLayer::AlsaLayer (ManagerImpl* manager)
 
     AudioLayer::_echocancelstate = true;
     AudioLayer::_noisesuppressstate = true;
+
+    // captureFile = new ofstream ("probeFile", ofstream::binary);
+
 }
 
 // Destructor
@@ -76,6 +79,9 @@ AlsaLayer::~AlsaLayer (void)
         delete _converter;
         _converter = NULL;
     }
+
+    // captureFile->close();
+    // delete captureFile;
 }
 
 bool
@@ -95,6 +101,7 @@ AlsaLayer::closeLayer()
         throw;
     }
 
+
     /* Then close the audio devices */
     closeCaptureStream();
     closePlaybackStream();
@@ -934,6 +941,7 @@ void AlsaLayer::audioCallback (void)
         // Urgent data (dtmf, incoming call signal) come first.
         toGet = (urgentAvailBytes < (int) (playbackAvailBytes)) ? urgentAvailBytes : playbackAvailBytes;
         out = (SFLDataFormat*) malloc (toGet);
+        memset (out, 0, toGet);
 
         if (out) {
             _urgentRingBuffer.Get (out, toGet, spkrVolume);
@@ -953,6 +961,7 @@ void AlsaLayer::audioCallback (void)
         if (tone && (normalAvailBytes <= 0)) {
 
             out = (SFLDataFormat *) malloc (playbackAvailBytes);
+            memset (out, 0, playbackAvailBytes);
 
             if (out) {
                 tone->getNext (out, playbackAvailSmpl, spkrVolume);
@@ -965,6 +974,7 @@ void AlsaLayer::audioCallback (void)
         } else if (file_tone && !_RingtoneHandle && (normalAvailBytes <= 0)) {
 
             out = (SFLDataFormat *) malloc (playbackAvailBytes);
+            memset (out, 0, playbackAvailBytes);
 
             if (out) {
                 file_tone->getNext (out, playbackAvailSmpl, spkrVolume);
@@ -996,6 +1006,7 @@ void AlsaLayer::audioCallback (void)
             toGet = (normalAvailBytes < (int) maxNbBytesToGet) ? normalAvailBytes : maxNbBytesToGet;
 
             out = (SFLDataFormat*) malloc (maxNbBytesToGet);
+            memset (out, 0, maxNbBytesToGet);
 
             if (normalAvailBytes) {
 
@@ -1012,6 +1023,8 @@ void AlsaLayer::audioCallback (void)
 
                     if (rsmpl_out) {
                         rsmpl_out = (SFLDataFormat*) malloc (playbackAvailBytes);
+                        memset (out, 0, playbackAvailBytes);
+
                         int nbSample = _converter->upsampleData ( (SFLDataFormat*) out, rsmpl_out, _mainBufferSampleRate, _audioSampleRate, nb_sample_down);
                         write (rsmpl_out, nbSample*sizeof (SFLDataFormat), _PlaybackHandle);
                         free (rsmpl_out);
@@ -1139,6 +1152,7 @@ void AlsaLayer::audioCallback (void)
 
                     if (filter_out) {
                         _audiofilter->processAudio (in, filter_out, toPut);
+                        // captureFile->write ( (const char *) filter_out, toPut);
                         // int sampleready = AudioLayer::_echoCanceller->processAudio (filter_out, echoCancelledMic, toPut);
                         // getMainBuffer()->putData (echoCancelledMic, sampleready*sizeof (SFLDataFormat), 100);
                         getMainBuffer()->putData (filter_out, toPut, 100);
diff --git a/sflphone-common/src/audio/alsa/alsalayer.h b/sflphone-common/src/audio/alsa/alsalayer.h
index ca42673f39fbd198585b09b10fcf1bc7fd4819b0..8d1ca9b0cb6f4b938a21ebe991c6ee21a75ecce3 100644
--- a/sflphone-common/src/audio/alsa/alsalayer.h
+++ b/sflphone-common/src/audio/alsa/alsalayer.h
@@ -37,6 +37,8 @@
 #include "eventthread.h"
 #include <alsa/asoundlib.h>
 
+// #include <fstream>
+
 class RingBuffer;
 class ManagerImpl;
 
@@ -350,6 +352,8 @@ class AlsaLayer : public AudioLayer
         /** Sample rate converter object */
         SamplerateConverter* _converter;
 
+        // ofstream *captureFile;
+
 };
 
 #endif // _ALSA_LAYER_H_
diff --git a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp
index 84044628336dc56c68cddef637126790f6dd786a..4e4263895e30d11d74f1f99283fb3d4149e422d8 100644
--- a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp
+++ b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp
@@ -33,9 +33,13 @@
 #include "managerimpl.h"
 
 
+// #include <fstream>
+
 int framesPerBuffer = 2048;
 
 
+
+
 static  void playback_callback (pa_stream* s, size_t bytes, void* userdata)
 {
 
@@ -161,7 +165,7 @@ static void source_input_info_callback (pa_context *c UNUSED, const pa_source_in
 }
 
 
-static void context_changed_callback (pa_context* c, pa_subscription_event_type_t t, uint32_t idx, void* userdata)
+static void context_changed_callback (pa_context* c, pa_subscription_event_type_t t, uint32_t idx UNUSED, void* userdata)
 {
 
     switch (t) {
@@ -246,11 +250,10 @@ PulseLayer::PulseLayer (ManagerImpl* manager)
 
     byteCounter = 0;
 
-    /*
-    captureFile = new ofstream("captureFile", ofstream::binary);
-    captureRsmplFile = new ofstream("captureRsmplFile", ofstream::binary);
-    captureFilterFile = new ofstream("captureFilterFile", ofstream::binary);
-    */
+
+    // captureFile = new ofstream ("probeCaptureFile", ofstream::binary);
+    // spkrFile = new ofstream ("probeSpkrFile", ofstream::binary);
+
     openLayer();
 }
 
@@ -276,15 +279,12 @@ PulseLayer::~PulseLayer (void)
     delete AudioLayer::_audiofilter;
     AudioLayer::_audiofilter = NULL;
 
-    /*
-    captureFile->close();
-    captureRsmplFile->close();
-    captureFilterFile->close();
 
-    delete captureFile;
-    delete captureRsmplFile;
-    delete captureFilterFile;
-    */
+    // captureFile->close();
+    // spkrFile->close();
+
+    // delete captureFile;
+    // delete spkrFile;
 }
 
 void
@@ -792,8 +792,11 @@ void PulseLayer::writeToSpeaker (void)
     if (urgentAvailBytes > writeableSize) {
 
         out = (SFLDataFormat*) pa_xmalloc (writeableSize);
+        memset (out, 0, writeableSize);
+
         _urgentRingBuffer.Get (out, writeableSize, 100);
 
+        // spkrFile->write ( (const char *) out, writeableSize);
         pa_stream_write (playback->pulseStream(), out, writeableSize, NULL, 0, PA_SEEK_RELATIVE);
 
         pa_xfree (out);
@@ -818,8 +821,11 @@ void PulseLayer::writeToSpeaker (void)
             if (playback->getStreamState() == PA_STREAM_READY) {
 
                 out = (SFLDataFormat*) pa_xmalloc (writeableSize);
+                memset (out, 0, writeableSize);
+
                 int copied = tone->getNext (out, writeableSize / sizeof (SFLDataFormat), 100);
 
+                //spkrFile->write ( (const char *) out, copied*sizeof (SFLDataFormat));
                 pa_stream_write (playback->pulseStream(), out, copied * sizeof (SFLDataFormat), NULL, 0, PA_SEEK_RELATIVE);
 
                 pa_xfree (out);
@@ -857,6 +863,7 @@ void PulseLayer::writeToSpeaker (void)
                     byteToGet = byteToGet-1;
 
                 out = (SFLDataFormat*) pa_xmalloc (maxNbBytesToGet);
+                memset (out, 0, maxNbBytesToGet);
 
                 getMainBuffer()->getData (out, byteToGet, 100);
 
@@ -868,6 +875,7 @@ void PulseLayer::writeToSpeaker (void)
                 if (_mainBufferSampleRate && ( (int) _audioSampleRate != _mainBufferSampleRate)) {
 
                     SFLDataFormat* rsmpl_out = (SFLDataFormat*) pa_xmalloc (writeableSize);
+                    memset (out, 0, writeableSize);
 
                     // Do sample rate conversion
                     int nb_sample_down = byteToGet / sizeof (SFLDataFormat);
@@ -877,14 +885,16 @@ void PulseLayer::writeToSpeaker (void)
                     if ( (nbSample*sizeof (SFLDataFormat)) > (unsigned int) writeableSize)
                         _warn ("Audio: Error: nbsbyte exceed buffer length");
 
+                    // spkrFile->write ( (const char *) out, nbSample*sizeof (SFLDataFormat));
                     pa_stream_write (playback->pulseStream(), rsmpl_out, nbSample*sizeof (SFLDataFormat), NULL, 0, PA_SEEK_RELATIVE);
 
                     pa_xfree (rsmpl_out);
 
                 } else {
-
+                    // spkrFile->write ( (const char *) out, byteToGet);
                     pa_stream_write (playback->pulseStream(), out, byteToGet, NULL, 0, PA_SEEK_RELATIVE);
 
+
                 }
 
 
@@ -898,9 +908,9 @@ void PulseLayer::writeToSpeaker (void)
                 if (tone == 0) {
 
                     SFLDataFormat* zeros = (SFLDataFormat*) pa_xmalloc (writeableSize);
-
                     bzero (zeros, writeableSize);
 
+                    // spkrFile->write ( (const char *) zeros, writeableSize);
                     pa_stream_write (playback->pulseStream(), zeros, writeableSize, NULL, 0, PA_SEEK_RELATIVE);
 
                     pa_xfree (zeros);
@@ -940,13 +950,12 @@ void PulseLayer::readFromMic (void)
         if (_mainBufferSampleRate && ( (int) _audioSampleRate != _mainBufferSampleRate)) {
 
             SFLDataFormat* rsmpl_out = (SFLDataFormat*) pa_xmalloc (readableSize);
+            memset (rsmpl_out, 0, readableSize);
 
             int nbSample = r / sizeof (SFLDataFormat);
 
             int nb_sample_up = nbSample;
 
-            // captureFile->write ((const char *)data, nbSample*sizeof(SFLDataFormat));
-
             nbSample = _converter->downsampleData ( (SFLDataFormat *) data, rsmpl_out, _mainBufferSampleRate, _audioSampleRate, nb_sample_up);
 
             // captureRsmplFile->write ((const char *)rsmpl_out, nbSample*sizeof(SFLDataFormat));
@@ -968,11 +977,15 @@ void PulseLayer::readFromMic (void)
 
         } else {
 
+
             SFLDataFormat* filter_out = (SFLDataFormat*) pa_xmalloc (r);
+            memset (filter_out, 0, r);
 
             // remove dc offset
             _audiofilter->processAudio ( (SFLDataFormat *) data, filter_out, r);
 
+            // captureFile->write ( (const char *) filter_out, r);
+
             // echo cancellation processing
             // int sampleready = _echoCanceller->processAudio((SFLDataFormat *)filter_out, echoCancelledMic, r);
 
@@ -1007,6 +1020,8 @@ void PulseLayer::ringtoneToSpeaker (void)
         if (ringtone->getStreamState() == PA_STREAM_READY) {
 
             out = (SFLDataFormat *) pa_xmalloc (writableSize);
+            memset (out, 0, writableSize);
+
             int copied = file_tone->getNext (out, writableSize/sizeof (SFLDataFormat), 100);
             pa_stream_write (ringtone->pulseStream(), out, copied*sizeof (SFLDataFormat), NULL, 0, PA_SEEK_RELATIVE);
 
@@ -1018,6 +1033,7 @@ void PulseLayer::ringtoneToSpeaker (void)
 
             out = (SFLDataFormat*) pa_xmalloc (writableSize);
             memset (out, 0, writableSize);
+
             pa_stream_write (ringtone->pulseStream(), out, writableSize, NULL, 0, PA_SEEK_RELATIVE);
 
             pa_xfree (out);
diff --git a/sflphone-common/src/audio/pulseaudio/pulselayer.h b/sflphone-common/src/audio/pulseaudio/pulselayer.h
index 2cfb2595d17e473c2b4fa9b8e9aafd166c94e061..05a725449d000570d13d51b4e330c12555b4e332 100644
--- a/sflphone-common/src/audio/pulseaudio/pulselayer.h
+++ b/sflphone-common/src/audio/pulseaudio/pulselayer.h
@@ -292,11 +292,9 @@ class PulseLayer : public AudioLayer
         int spkrVolume;
         int micVolume;
 
-        /*
-        ofstream *captureFile;
-        ofstream *captureRsmplFile;
-        ofstream *captureFilterFile;
-        */
+
+        // ofstream *captureFile;
+        // ofstream *spkrFile;
 
         DeviceList _sinkList;