Index: trunk/BNC/bncnetqueryrtp.cpp
===================================================================
--- trunk/BNC/bncnetqueryrtp.cpp	(revision 1417)
+++ trunk/BNC/bncnetqueryrtp.cpp	(revision 1418)
@@ -113,9 +113,24 @@
       passW.toAscii()).toBase64() + "\r\n";
     }
+
+    // Find a free port number
+    // -----------------------
+    int clientPortInt = 0;
+    QTcpSocket* hlpSocket = new QTcpSocket();
+    if ( proxyHost.isEmpty() ) {
+      hlpSocket->connectToHost(urlLoc.host(), urlLoc.port());
+    }
+    else {
+      hlpSocket->connectToHost(proxyHost, proxyPort);
+    }
+    if (hlpSocket->waitForConnected(timeOut)) {
+      clientPortInt = hlpSocket->localPort();
+    }
+    delete hlpSocket;
     
-    QByteArray clientPort = "7777"; // TODO: make it an option
+    QByteArray clientPort = QString("%1").arg(clientPortInt).toAscii();
     delete _udpSocket;
     _udpSocket = new QUdpSocket();
-    _udpSocket->bind(clientPort.toInt());
+    _udpSocket->bind(clientPortInt);
     connect(_udpSocket, SIGNAL(readyRead()), _eventLoop, SLOT(quit()));
     
