public ProcessStatus Open([FromBody]object data)
        {
            _Log.Trace("Started");
            ProcessStatus Status = new ProcessStatus();
            _Log.Debug(LogHelper.Get("Input Params:=", new { Data = data }));

            try
            {
                var Data = (JToken)JsonConvert.DeserializeObject(data.ToString());
                _Log.Debug(LogHelper.Get("Deserialzed data:=", new { Data = Data }));

                string OrgId = Data["orgId"].ToString();
                string ApiKey = Data["apikey"].ToString();
                string ShortCode = Data["shortCode"].ToString();
                List<string> UrlList = JsonConvert.DeserializeObject<List<string>>(Data["url"].ToString());

                //new Listener(OrgId, Apikey, ShortCode).OpenConnection(UrlList);
                HomeController.OpenConnection(UrlList, ApiKey, OrgId, ShortCode);
            }
            catch (Exception excp)
            {
                _Log.Error(excp.Message, excp);
                Status = new ProcessStatus(excp);
                
            }
            _Log.Trace("Ended");
            return Status;
        }
        public ProcessStatus Initiate() // starts the service
        {
            _Log.Trace("Started");

            ProcessStatus Status = new ProcessStatus();
            try
            {
                // if Listener instance is null or not
                if (HomeController.IsInstanceNull())
                {
                    // it creates instance of Listener class and starts the service
                    new HomeController();
                }
                else
                {
                    Status.Message = new ProcessMessage() { Message = "Service already running" };
                }
            }
            catch (Exception excp)
            {
                _Log.Error(excp.Message, excp);
                Status = new ProcessStatus(excp);

            }
            
            _Log.Trace("Ended");
            return Status;            
        }