public void indication(final FrameEvent e)
		{
			final CEMILData f = (CEMILData) e.getFrame();
			final int ctrl = f.getPayload()[0] & 0xfc;
			if (ctrl == 0) {
				final KNXAddress dst = f.getDestination();
				if (dst instanceof GroupAddress)
					// check for broadcast or group
					fireFrameType(f, dst.getRawAddress() == 0 ? 0 : 1);
				else
					// individual
					fireFrameType(f, 2);
			}
			else {
				final IndividualAddress src = f.getSource();
				// are we waiting for ack?
				synchronized (indications) {
					if (active != null && active.getDestination().getAddress().equals(src)) {
						indications.add(e);
						indications.notify();
						return;
					}
				}
				try {
					AggregatorProxy ap = null;
					synchronized (proxies) {
						ap = (AggregatorProxy) proxies.get(f.getSource());
					}
					handleConnected(f, ap);
				}
				catch (final KNXLinkClosedException ignore) {
					// we get notified with link-closed event
				}
				catch (final KNXTimeoutException ignore) {
					// possible timeouts on sending ack
				}
			}
		}