code: public static KNXNetworkLinkIP newTunnelingLink(final InetSocketAddress localEP, final InetSocketAddress remoteEP,
  		final boolean useNAT, final KNXMediumSettings settings) throws KNXException, InterruptedException
  	{
  		return new KNXNetworkLinkIP(TUNNELING, localEP, remoteEP, useNAT, settings);
  	}
docs: Creates a new network link using KNXnet/IP tunneling (internally using a {@link KNXnetIPConnection}) to a remote
  KNXnet/IP server endpoint.
  
  @param localEP the local control endpoint of the link to use, supply the wildcard address to use a local IP on
  the same subnet as <code>remoteEP</code> and an ephemeral port number
  @param remoteEP the remote endpoint of the link to communicate with; this is the KNXnet/IP server control
  endpoint
  @param useNAT <code>true</code> to use network address translation (NAT) in tunneling service mode,
  <code>false</code> to use the default (non aware) mode
  @param settings medium settings defining device and KNX medium specifics for communication
  @return the network link in open state
  @throws KNXException on failure establishing link using the KNXnet/IP connection
  @throws InterruptedException on interrupted thread while establishing link