Jxta não encontra outros peers

Bem, tenho um exemplo de descobrir outros peers no netPeerGroup, não sei se esse netPeerGroup corresponde ao grupo da rede local ou um grupo global, pois o PeerGroupID é sempre o mesmo, mas se for isso, eu deveria encontrar outros peers, e isso não está funcionando. Já chequei os jars, liberei as portas específicas do windows e do roteador, mas continuo com o mesmo problema, se alguém puder me ajudar com a parte das portas é só postar, porque não sei se liberei corretamente.
Aqui vai o código que testei:

[code]import java.io.IOException;
import java.util.Enumeration;
import net.jxta.discovery.DiscoveryEvent;
import net.jxta.discovery.DiscoveryListener;
import net.jxta.discovery.DiscoveryService;
import net.jxta.exception.PeerGroupException;
import net.jxta.id.IDFactory;
import net.jxta.peer.PeerID;
import net.jxta.peergroup.PeerGroup;
import net.jxta.peergroup.PeerGroupID;
import net.jxta.platform.NetworkConfigurator;
import net.jxta.platform.NetworkManager;
import net.jxta.protocol.DiscoveryResponseMsg;
import net.jxta.protocol.PeerAdvertisement;

public class DiscoveryDemo implements Runnable, DiscoveryListener {

static PeerGroup netPeerGroup = null;
private DiscoveryService discovery;
static NetworkConfigurator netconfig;

// start the JXTA platform
private void startJxta() throws IOException, PeerGroupException {
    NetworkManager manager = new NetworkManager(NetworkManager.ConfigMode.EDGE, null);
    PeerID pid = IDFactory.newPeerID(PeerGroupID.worldPeerGroupID, new String("nada").getBytes());
        
    manager.startNetwork();
        netconfig = manager.getConfigurator();
        netconfig.setPeerID(pid);
        netconfig.setTcpPort(9710);
        netconfig.setTcpIncoming(true);
        netconfig.setTcpOutgoing(true);
        netconfig.setTcpEnabled(true);
        netconfig.addRdvSeedingURI("tcp://123.123.123.123:1234");
        
        netPeerGroup = manager.getNetPeerGroup();
        System.out.println(netPeerGroup.getPeerGroupName());

    // Get the discovery service from our peer group
    discovery = netPeerGroup.getDiscoveryService();
}

/**
 * 35 * This thread loops forever discovering peers 36 * every minute, and
 * displaying the results. 37
 */
public void run() {
    try {
        // Add ourselves as a DiscoveryListener for DiscoveryResponse events
        discovery.addDiscoveryListener(this);

        while (true) {
            System.out.println("Sending a Discovery Message");
            // look for any peer
            discovery.getRemoteAdvertisements(null, DiscoveryService.GROUP,
                    null, null, 0, null);

            // wait a bit before sending next discovery message
            try {
                Thread.sleep(60 * 1000);
            } catch (Exception e) {
            }

        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

/**
 * 3 * by implementing DiscoveryListener we must define this method 4 * to
 * deal with discovery responses 65
 */
public void discoveryEvent(DiscoveryEvent ev) {

    DiscoveryResponseMsg res = ev.getResponse();
    String name = "unknown";

    // Get the responding peer's advertisement
    PeerAdvertisement peerAdv = res.getPeerAdvertisement();

    // some peers may not respond with their peerAdv
    if (peerAdv != null) {
        name = peerAdv.getName();
    }

    System.out.println("Got a Discovery Response ["
            + res.getResponseCount() + " elements] from peer : "
            + name);

// printout each discovered peer
PeerAdvertisement adv = null;
Enumeration enume = res.getAdvertisements();

    if (  enume != null) {
        while ( 
            enume.hasMoreElements()) {

adv = (PeerAdvertisement)
enume.nextElement();
System.out.println(" Peer name = " + adv.getName());
}
}
}

static public void main(String args[]) throws IOException, PeerGroupException {
    DiscoveryDemo myapp = new DiscoveryDemo();
    myapp.startJxta();
    myapp.run();
}

}[/code]