diff --git a/sflphone-common/src/audio/audiortp/AudioRtpRecordHandler.h b/sflphone-common/src/audio/audiortp/AudioRtpRecordHandler.h
index 6a92ab5b25a508a504c5b352d9c60b87ad4ef3bc..28ce2ed0882fcb68e665e6f3d5f091462a616d87 100644
--- a/sflphone-common/src/audio/audiortp/AudioRtpRecordHandler.h
+++ b/sflphone-common/src/audio/audiortp/AudioRtpRecordHandler.h
@@ -47,8 +47,8 @@ namespace sfl
 // Factor use to increase volume in fade in
 #define FADEIN_STEP_SIZE 4;
 
-static const int schedulingTimeout = 100000;
-static const int expireTimeout = 1000000;
+static const int schedulingTimeout = 10000;
+static const int expireTimeout = 100000;
 
 class AudioRtpSessionException: public std::exception
 {
diff --git a/sflphone-common/src/audio/audiortp/AudioRtpSession.cpp b/sflphone-common/src/audio/audiortp/AudioRtpSession.cpp
index e12142b5b0c341157a39c3b609ef59e715d02973..fbe0079f6db770bbc9f6146cd3ed8b44859010eb 100644
--- a/sflphone-common/src/audio/audiortp/AudioRtpSession.cpp
+++ b/sflphone-common/src/audio/audiortp/AudioRtpSession.cpp
@@ -72,7 +72,7 @@ AudioRtpSession::AudioRtpSession (ManagerImpl * manager, SIPCall * sipcall) :
     // static_cast<ost::DualRTPUDPIPv4Channel>(dso)->sendSocket->setTypeOfService(ost::Socket::tosLowDelay);
     // static_cast<ost::DualRTPChannel<ost::DualRTPUDPIPv4Channel> >(dso)->sendSocket->setTypeOfService(ost::Socket::tosLowDelay);
 
-    setTypeOfService(tosEnhanced);
+    // setTypeOfService(tosEnhanced);
 }
 
 AudioRtpSession::~AudioRtpSession()
@@ -261,6 +261,7 @@ void AudioRtpSession::sendMicData()
 
     // putData put the data on RTP queue, sendImmediate bypass this queue
     putData (_timestamp, getMicDataEncoded(), compSize);
+    // sendData()
 }
 
 
@@ -347,10 +348,12 @@ void AudioRtpSession::run ()
 
 	uint32 timeout = 0;
 	while ( isActive() ) {
-		if ( timeout < 100 ){ // !(timeout/1000)
+		if ( timeout < 1000 ){ // !(timeout/1000)
 			timeout = getSchedulingTimeout();
 		}
 
+		// timeout = ;
+
 		_manager->getAudioLayerMutex()->enter();
 
 		// Send session
@@ -360,6 +363,8 @@ void AudioRtpSession::run ()
 			sendMicData ();
 		}
 
+		receiveSpeakerData();
+
 		// This also should be moved
 		notifyIncomingCall();
 
@@ -373,14 +378,17 @@ void AudioRtpSession::run ()
 		// make sure the scheduling timeout is
 		// <= the check interval for RTCP
 		// packets
+		_debug("timeout before: %d, maxwait %d", timeout, maxWait);
 		timeout = (timeout > maxWait)? maxWait : timeout;
-		if ( timeout < 100 ) { // !(timeout/1000)
+		_debug("timeout after: %d", timeout);
+
+		if ( timeout < 1000 ) { // !(timeout/1000)
 			setCancel(cancelDeferred);
 			dispatchDataPacket();
 			setCancel(cancelImmediate);
 			timerTick();
 		} else {
-			if ( isPendingData(timeout/100) ) {
+			if ( isPendingData(timeout/1000) ) {
 				setCancel(cancelDeferred);
 				if (isActive()) { // take in only if active
 					takeInDataPacket();
@@ -389,8 +397,6 @@ void AudioRtpSession::run ()
 			}
 			timeout = 0;
 		}
-
-		receiveSpeakerData();
 	}
 
     _debug ("AudioRtpSession: Left main loop for call %s", _ca->getCallId().c_str());