I have been able to see devices on my local network.  However when I try and access something outside my local network, nothing is being discovered.
        String ip = "173.122.233.51";//obviously changed.
        LocalDevice localDevice = new LocalDevice(1234, ip);
        //LocalDevice localDevice = new LocalDevice(1234, "255.255.255.255");
        //localDevice.getEventHandler().addListener(new Listener());
        localDevice.initialize();
        // Who is
        InetSocketAddress addr = new InetSocketAddress(InetAddress.getByName(ip), 47808);
        localDevice.sendUnconfirmed(addr, null, new WhoIsRequest());
        //localDevice.sendBroadcast(2068, null, new WhoIsRequest());
        // localDevice.sendUnconfirmed(new Address(new UnsignedInteger(47808), new OctetString(new byte[] { (byte) 96,
        // (byte) 51, (byte) 24, (byte) 1 })), null, new WhoIsRequest());
        // RemoteDevice rd = new RemoteDevice(105, new Address(new UnsignedInteger(47808),
        // new OctetString(new byte[] {(byte)206, (byte)210, 100, (byte)134})), null);
        // rd.setSegmentationSupported(Segmentation.segmentedBoth);
        // rd.setMaxAPDULengthAccepted(1476);
        // localDevice.addRemoteDevice(rd);
        Thread.sleep(1000);
        
            if(localDevice.getRemoteDevices().size()>0){
                System.out.println("Found a remote device");
        }
 else{
                System.out.println("Didn't find a remote device");
 }
I am using DiscoveryTest.java.  I think I've uncommented the lines that are useful to this.    Any help would be great.  I can see the device with other software so I know the device exists, and that there are devices at that ip address.