diff --git a/src/media/audio/audio_input.cpp b/src/media/audio/audio_input.cpp
index 582e73cce474eb92f428944cf1ed27cfed087d87..268fb392b75d0985285fedebb01d9327bc530d00 100644
--- a/src/media/audio/audio_input.cpp
+++ b/src/media/audio/audio_input.cpp
@@ -167,7 +167,10 @@ AudioInput::initFile(const std::string& path)
         return initDevice("");
     }
     fileBuf_ = Manager::instance().getRingBufferPool().createRingBuffer(fileId_);
+    // have file audio mixed into the call buffer so it gets sent to the peer
     Manager::instance().getRingBufferPool().bindHalfDuplexOut(id_, fileId_);
+    // have file audio mixed into the local buffer so it gets played
+    Manager::instance().getRingBufferPool().bindHalfDuplexOut(RingBufferPool::DEFAULT_ID, fileId_);
     decodingFile_ = true;
     return true;
 }