Index: source/ariba/overlay/BaseOverlay.cpp
===================================================================
--- source/ariba/overlay/BaseOverlay.cpp	(revision 5436)
+++ source/ariba/overlay/BaseOverlay.cpp	(revision 5444)
@@ -1375,9 +1375,7 @@
 		// ---------------------------------------------------------------------
 		case OverlayMsg::typeKeepAlive: {
-
 			logging_debug( "received keep-alive on link" );
-
 			if ( ld != NULL ) {
-				//logging_force("Keep-Alive for "<< ld->overlayId);
+				logging_force("Keep-Alive for "<< ld->overlayId);
 				ld->markAlive();
 			}
Index: source/ariba/utility/transport/rfcomm/rfcomm.cpp
===================================================================
--- source/ariba/utility/transport/rfcomm/rfcomm.cpp	(revision 5436)
+++ source/ariba/utility/transport/rfcomm/rfcomm.cpp	(revision 5444)
@@ -150,5 +150,4 @@
 			boost::asio::placeholders::error, info
 		));
-		asio_io_service::start();
 	}
 
@@ -169,5 +168,5 @@
 
 	// start writing
-	start_write(info);
+	io.post( boost::bind( &rfcomm::start_write, this, info) );
 }
 
@@ -293,4 +292,6 @@
 
 void rfcomm::start_read(link_info* info) {
+	logging_debug("Start reading ...");
+
 	// start read
 	boost::asio::async_read(*info->socket,
@@ -367,4 +368,6 @@
 	// deliver data
 	listener->receive_message(this, info->local, info->remote, info->buffer, info->size );
+
+	logging_debug( "Message delivered to service!");
 
 	// free buffers and reset size buffer
Index: source/ariba/utility/transport/tcpip/tcpip.cpp
===================================================================
--- source/ariba/utility/transport/tcpip/tcpip.cpp	(revision 5436)
+++ source/ariba/utility/transport/tcpip/tcpip.cpp	(revision 5444)
@@ -195,4 +195,6 @@
 			tp.listener->receive_message(
 					&tp, local, remote, datamsg->get_buffer()+6, message_size );
+
+			delete datamsg;
 		}
 	}
