Index: /trunk/BNC/bncnetqueryudp.cpp
===================================================================
--- /trunk/BNC/bncnetqueryudp.cpp	(revision 1757)
+++ /trunk/BNC/bncnetqueryudp.cpp	(revision 1758)
@@ -34,8 +34,13 @@
   _keepAlive = new char[12];
   _keepAlive[0]  = 128;
-  _keepAlive[1]  =  97;
-  for (int jj = 2; jj <= 11; jj++) {
+  _keepAlive[1]  =  96;
+  for (int jj = 2; jj <= 7; jj++) {
     _keepAlive[jj] = 0;
   }
+  int session = rand();
+  _keepAlive[8]  = (session >> 24) & 0xFF;
+  _keepAlive[9]  = (session >> 16) & 0xFF;
+  _keepAlive[10] = (session >>  8) & 0xFF;
+  _keepAlive[11] = (session)       & 0xFF;
 }
 
@@ -59,4 +64,5 @@
 void bncNetQueryUdp::slotKeepAlive() {
   if (_udpSocket) {
+    cout << "slotKeepAlive" << endl;
     _udpSocket->writeDatagram(_keepAlive, 12, _address, _port);
   }
@@ -143,5 +149,5 @@
     rtpbuffer[1]  =  97;
     for (int jj = 2; jj <= 11; jj++) {
-      rtpbuffer[jj] = 0;
+      rtpbuffer[jj] = _keepAlive[jj];
     }
     for (int ii = 0; ii < reqStr.size(); ii++) {
