diff --git a/bbb-voice/src/main/java/org/bigbluebutton/voiceconf/red5/Application.java b/bbb-voice/src/main/java/org/bigbluebutton/voiceconf/red5/Application.java
index ab57b7e83dc1d0913ab85094de1e4b160e777f83..b0c55b0e1b94ee04d16d3c8d129e3962d5532f9a 100755
--- a/bbb-voice/src/main/java/org/bigbluebutton/voiceconf/red5/Application.java
+++ b/bbb-voice/src/main/java/org/bigbluebutton/voiceconf/red5/Application.java
@@ -32,6 +32,7 @@ import org.red5.server.api.IScope;
 import org.red5.server.api.Red5;
 import org.red5.server.api.service.IServiceCapableConnection;
 import org.red5.server.api.stream.IBroadcastStream;
+import org.red5.server.stream.ClientBroadcastStream;
 
 public class Application extends MultiThreadedApplicationAdapter {
     private static Logger log = Red5LoggerFactory.getLogger(Application.class, "sip");
@@ -104,9 +105,27 @@ public class Application extends MultiThreadedApplicationAdapter {
         	super.streamPublishStart(stream);	    	
 	    	String clientId = conn.getClient().getId();
 	    	sipPeerManager.startTalkStream(peerId, clientId, stream, conn.getScope());
+//	    	recordStream(stream);
         }
     }
     
+    /**
+     * A hook to record a sample stream. A file is written in webapps/sip/streams/
+     * @param stream
+     */
+    private void recordStream(IBroadcastStream stream) {
+    	IConnection conn = Red5.getConnectionLocal();     
+    	String streamName = stream.getPublishedName();
+     
+    	try {
+    		ClientBroadcastStream cstream = (ClientBroadcastStream) this.getBroadcastStream(conn.getScope(), stream.getPublishedName() );
+    		cstream.saveAs(streamName, false);
+    	} catch(Exception e) {
+    		System.out.println("ERROR while recording stream " + e.getMessage());
+    		e.printStackTrace();
+    	}    	
+    }
+    
     @Override
     public void streamBroadcastClose(IBroadcastStream stream) {
     	System.out.println("streamBroadcastClose: " + stream.getPublishedName());