code: public MobicentsExtendedListeningPoint findMatchingListeningPoint(String transport, final boolean strict) {
  		String tmpTransport = transport;
  		if(tmpTransport == null) {
  			tmpTransport = ListeningPoint.UDP;
  		}
  		Set<MobicentsExtendedListeningPoint> extendedListeningPoints = transportMappingCacheMap.get(tmpTransport.toLowerCase());
  		if(extendedListeningPoints.size() > 0) {
  			MobicentsExtendedListeningPoint extendedListeningPoint = extendedListeningPoints.iterator().next();
  			if(logger.isTraceEnabled()) {
  				logger.trace("Found first listening point " + extendedListeningPoint + " with transport " + transport);
  			}
  			return extendedListeningPoint;
  		}		
  		if(strict) {
  			return null;
  		} else {
  			if(extendedListeningPointList.size() > 0) {
  				MobicentsExtendedListeningPoint extendedListeningPoint = extendedListeningPointList.iterator().next();
  				if(logger.isTraceEnabled()) {
  					logger.trace("Found first listening point " + extendedListeningPoint + " with transport " + transport);
  				}
  				return extendedListeningPoint;
  			} else {
  				throw new RuntimeException("no valid sip connectors could be found to create the sip application session !!!");
  			} 
  		}
  	}
docs: Retrieve the first matching listening point corresponding to the transport.
  @param transport the transport
  @param strict if true, it will search only for this transport otherwise it will look for any transport if no
  valid listening point could be found for the transport in parameter
  @return Retrieve the first matching listening point corresponding to the transport.
  If none has been found, null is returned if strict is true.
  If none has been found, an exception is thrown is strict is false and no listening point could be found.