code: public TrackInfos getTrackInfos(final Integer msgId, Application app) 
  			throws UnknownMessageIdException {
          logger.info("WS SendTrack receives the client request with parameter msgId = " + msgId);
          
  		TrackInfos infos = new TrackInfos();
  		infos.setNbDestTotal(daoService.getNbDest(msgId, app));
          if (infos.getNbDestTotal() == 0) {
              throw new UnknownMessageIdException();
          }
  		infos.setNbDestBlackList(daoService.getNbSmsWithState(msgId, app, blacklistStatuses()));
  		infos.setNbSentSMS(daoService.getNbSentSMS(msgId, app));
  		infos.setNbProgressSMS(daoService.getNbProgressSMS(msgId, app));
  		infos.setNbErrorSMS(daoService.getNbErrorSMS(msgId, app, errorStatuses()));
  		infos.setListNumErreur(sms2phones(daoService.getListNumErreur(msgId, app, errorStatuses())));
  		
  		logger.info("Response TrackInfos object, for the client of WS SendTrack : " + 
  				     "TrackInfos.NbDestTotal : " + infos.getNbDestTotal().toString() + 
  				     "TrackInfos.NbSentSMS : " + infos.getNbSentSMS().toString() + 
  				     "TrackInfos.NbProgressSMS : " + infos.getNbProgressSMS().toString() + 
  				     "TrackInfos.NbDestBlackList :" + infos.getNbDestBlackList().toString() + 
  				     "TrackInfos.NbErrorSMS : " + infos.getNbErrorSMS().toString());
  		
  		Set<String> listnums = infos.getListNumErreur();
  		for (String phone : listnums) {
  			logger.info("TrackInfos.NumErreur : " + phone);
  	    	}
  	    
  		return infos;
  	}
docs: ////////////////////////////////////////////////////////////