h1. API Reference
class NatTest
	{
		public static void Main(string[] args)
		{
			new NatTest ();
		}
		
		public NatTest ()
		{
			NatUtility.DeviceFound += DeviceFound;
			NatUtility.DeviceLost += DeviceLost;
			
			NatUtility.StartDiscovery ();
            Console.ReadLine();
		}

        private void DeviceFound(object sender, DeviceEventArgs args)
        {
            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);
		}
	}