protected void performOnAdvertisement(SsdpAdvertisement.Const adv, InetAddress addr) {
		String nts = adv.getNotificationSubType();
		UpnpUsn usn = adv.getUniqueServiceName();

		if (nts == null) {
		} else if (nts.equals(Ssdp.NTS_ALIVE)) {
			if (mMap.keySet().contains(usn)) {
				mMap.put(usn, adv);
				mListener.onAlive(adv, addr);
			} else {
				mMap.put(usn, adv);
				mListener.onAdded(adv, addr);
				mListener.onAlive(adv, addr);
			}
		} else if (nts.equals(Ssdp.NTS_UPDATE)) {
			if (mMap.keySet().contains(usn)) {
				mMap.put(usn, adv);
				mListener.onUpdate(adv, addr);
			} else {
				mMap.put(usn, adv);
				mListener.onAdded(adv, addr);
				mListener.onUpdate(adv, addr);
			}
		} else if (nts.equals(Ssdp.NTS_BYEBYE)) {
			if (mMap.keySet().contains(usn)) {
				mMap.remove(usn);
				mListener.onByebye(adv, addr);
				mListener.onRemoved(adv, addr);
			}
		}
	}