diff --git a/src/audio/audiortp.cpp b/src/audio/audiortp.cpp
index 98d0fbc59d4e91d0720e8644cef1b7ba7e39c5c0..aacc61bd3a90eec7c896aa8eeb026e271f5c0117 100644
--- a/src/audio/audiortp.cpp
+++ b/src/audio/audiortp.cpp
@@ -97,7 +97,8 @@ AudioRtpRTX::AudioRtpRTX (SIPCall *sipcall, AudioLayer* driver, bool sym) {
   _sym = sym;
   _audioDevice = driver;
   if (_audioDevice!=0) {
-    _nbFrames = 20 * _audioDevice->getSampleRate()/1000; // 20 ms
+//    _nbFrames = 20 * _audioDevice->getSampleRate()/1000; // 20 ms
+    _nbFrames = _audioDevice->getSampleRate()/50; // 20 ms / 1000
   } else {
     _nbFrames = RTP_FRAMES2SEND;
   }
diff --git a/src/audio/tone.cpp b/src/audio/tone.cpp
index 8a84e140b22e07856c37996c3c7243f90f438d5f..ab329dfd26d7eb796f3635babf36cea04a602fca 100644
--- a/src/audio/tone.cpp
+++ b/src/audio/tone.cpp
@@ -116,7 +116,8 @@ Tone::genSin(int16 *buffer, int frequency1, int frequency2, int nb)
   double var1 = (double)2 * (double)M_PI * (double)frequency1 / (double)_sampleRate; 
   double var2 = (double)2 * (double)M_PI * (double)frequency2 / (double)_sampleRate;
 
-  double amp = (double)(INT16_AMPLITUDE >> 2);
+  // softer
+  double amp = (double)(INT16_AMPLITUDE >> 3);
   if (_nbChannel == 2) { // stereo
     int k = 0;
     for(int t = 0; t < nb; t++) {
diff --git a/src/managerimpl.cpp b/src/managerimpl.cpp
index 49cbd9158251d0487c2686bd2771b120db6d711b..6ccde181cef607a84394a84c7e0656106e8faa49 100644
--- a/src/managerimpl.cpp
+++ b/src/managerimpl.cpp
@@ -1237,7 +1237,7 @@ ManagerImpl::getCallStatus(const std::string& sequenceId)
   std::string destination;  
   std::string number;
 
-  while (iter != _callAccountMap.begin())
+  while (iter != _callAccountMap.end())
   {
     Call* call = getAccountLink(iter->second)->getCall(iter->first);
     Call::ConnectionState state = call->getConnectionState();
diff --git a/src/sipvoiplink.cpp b/src/sipvoiplink.cpp
index d92a0704b96a12eab5c1efe04d20ef78c39b7ce5..8137b61b1865d2f5c10f0613783a2f12548d28cc 100644
--- a/src/sipvoiplink.cpp
+++ b/src/sipvoiplink.cpp
@@ -663,6 +663,7 @@ SIPVoIPLink::onhold(const CallID& id)
   
   // Stop sound
   call->setAudioStart(false);
+  call->setState(Call::Hold);
   _debug("SIP: Stopping AudioRTP when onhold\n");
   _audiortp.closeRtpSession();