h1. API Reference
class NatTest { public Start () { // Hook into the events so you know when a router has been detected or has gone offline NatUtility.DeviceFound += DeviceFound; NatUtility.DeviceLost += DeviceLost; // Start searching for upnp enabled routers NatUtility.StartDiscovery (); } void DeviceFound(object sender, DeviceEventArgs args) { // This is the upnp enabled router INatDevice device = args.Device; // Create a mapping to forward external port 3000 to local port 1500 device.CreatePortMap(new Mapping(Protocol.Tcp, 1500, 3000)); // Retrieve the details for the port map for external port 3000 Mapping m = device.GetSpecificMapping(Protocol.Tcp, 3000); // Get all the port mappings on the device and delete them foreach (Mapping mp in device.GetAllMappings()) device.DeletePortMap(mp); // Get the external IP address IPAddress externalIP = device.GetExternalIP(); } private void DeviceLost (object sender, DeviceEventArgs args) { INatDevice device = args.Device; Console.WriteLine ("Device Lost"); Console.WriteLine ("Type: {0}", device.GetType().Name); } }