diff --git a/src/audio/audiortp.cpp b/src/audio/audiortp.cpp
index e44b6a7453d3c8d75f286795dcd1fe84d1b4a54c..829ca644444f110102a0d9b29c07d8093dc7cdcf 100644
--- a/src/audio/audiortp.cpp
+++ b/src/audio/audiortp.cpp
@@ -83,8 +83,8 @@ AudioRtpRTX::AudioRtpRTX (SipCall *sipcall, AudioLayer* driver, bool sym) : _cod
   _debug("AudioRtpRTX ctor : Local IP:port %s:%d\tsymmetric:%d\n", local_ip.getHostname(), _ca->getLocalAudioPort(), _sym);
 
   if (!_sym) {
-    _sessionRecv = new ost::RTPSession (local_ip, _ca->getLocalAudioPort());
-    _sessionSend = new ost::RTPSession (local_ip);
+    _sessionRecv = new ost::RTPSession(local_ip, _ca->getRemoteSdpAudioPort());
+    _sessionSend = new ost::RTPSession(local_ip, _ca->getLocalAudioPort());
     _session = NULL;
   } else {
     _session = new ost::SymmetricRTPSession (local_ip, _ca->getLocalAudioPort());
@@ -122,7 +122,7 @@ AudioRtpRTX::initAudioRtpSession (void)
 
   // Initialization
   if (!_sym) {
-    //_sessionRecv->setSchedulingTimeout (10000);
+    _sessionRecv->setSchedulingTimeout (10000);
     _sessionRecv->setExpireTimeout(1000000);
 
     _sessionSend->setSchedulingTimeout(10000);
@@ -133,6 +133,11 @@ AudioRtpRTX::initAudioRtpSession (void)
   }
 
   if (!_sym) {
+    ost::InetHostAddress local_ip(localipConfig.c_str());
+    if (!_sessionRecv->addDestination (local_ip, (unsigned short), _ca->getLocalAudioPort()) ) {
+      _debug("RTX recv: could not connect to port %d\n",  _ca->getLocalAudioPort());
+      return;
+    }
     if (!_sessionSend->addDestination (remote_ip, (unsigned short) _ca->getRemoteSdpAudioPort())) {
       _debug("RTX send: could not connect to port %d\n",  _ca->getRemoteSdpAudioPort());
       return;