@Override
		public void process() throws Exception
		{
			Logger.getInstance().logDebug("NotifyQueueManager running...", null, null);
			Notification notification = getNotifyQueue().take();
			if (notification instanceof GatewayStatusNotification)
			{
				if (Service.getInstance().getGatewayStatusNotification() != null)
				{
					GatewayStatusNotification n = (GatewayStatusNotification) notification;
					Service.getInstance().getGatewayStatusNotification().process(n.getGateway(), n.getOldStatus(), n.getNewStatus());
				}
			}
			else if (notification instanceof CallNotification)
			{
				if (Service.getInstance().getCallNotification() != null)
				{
					CallNotification n = (CallNotification) notification;
					Service.getInstance().getCallNotification().process(n.getGateway(), n.getCallerId());
				}
			}
			else if (notification instanceof InboundMessageNotification)
			{
				if (Service.getInstance().getInboundMessageNotification() != null)
				{
					InboundMessageNotification n = (InboundMessageNotification) notification;
					Service.getInstance().getInboundMessageNotification().process(n.getGateway(), n.getMsgType(), n.getMsg());
				}
			}
			else if (notification instanceof OutboundMessageNotification)
			{
				if (Service.getInstance().getOutboundMessageNotification() != null)
				{
					OutboundMessageNotification n = (OutboundMessageNotification) notification;
					Service.getInstance().getOutboundMessageNotification().process(n.getGateway(), n.getMsg());
				}
			}
			Logger.getInstance().logDebug("NotifyQueueManager end...", null, null);
		}