@SuppressWarnings("static-access")
	public ProcessCommandImpl(Socket requestSocket1,
			PropertiesConfiguration prop2) {
		try {			
			this.requestSocket = requestSocket1;
			this.prop =prop2;
			wait = prop.getInt("ThreadSleep_period");
			timePeriod=prop.getInt("TimePeriod");	
			printWriter = new PrintWriter(requestSocket.getOutputStream(), true);
			reader = new BufferedReader(new InputStreamReader(requestSocket.getInputStream()));
			number=prop.getString("SmsOperatorId");
			String command1 = "1,REGIST,"+number;
			logger.info("sending Registration command to CAS server is: "+command1);	
			printWriter.println(command1);
			if (printWriter.checkError()) {
				ProcessCommandImpl.closeIOFile();
			}else{		
				Reminder(timePeriod);
				String output = reader.readLine();
				logger.info("output from CAS Server is :" + output);
				CSVReader reader1 = new CSVReader(new StringReader(output));
				String[] tokens = reader1.readNext();
				if (tokens.length > 2) {
					String message = tokens[1];		
					if (message.equalsIgnoreCase("0")) {
						logger.info("Registration command successfully executed");
					}else if(message.equalsIgnoreCase("9000")){
						logger.info("Registration command failure");
						String error = tokens[2];
						logger.error("failure: " + error);
						throw new IllegalAccessException() ;
					}else {
						logger.info("Registration command failure");
						String error = tokens[2];
						logger.error("failure: " + error);
						throw new Exception() ;
					}
				}
			}
		} catch (IllegalAccessException e) {
			logger.error("wrong SMS_operatorId:"+number+" , server connection through this SMS OperatorId is Not Possible");
		} catch (Exception e){
			logger.error("exception : " + e.getCause().getLocalizedMessage());
		}
	}