public void postResult() {
    FTPClient ftp = new FTPClient();
    boolean error = false;
    FileInputStream inputStream = null;
    try {
      int reply;
      ftp.connect(callbackURL, callbackPort);
      ftp.login(username, password);
      ftp.enterLocalPassiveMode();
      ftp.setFileType(FTP.BINARY_FILE_TYPE);
      logger.info("Connected to " + callbackURL + ".");
      reply = ftp.getReplyCode();
      if(!FTPReply.isPositiveCompletion(reply)) {
        ftp.disconnect();
        logger.error("FTP server refused connection.");
      }
      inputStream = new FileInputStream(file);
      this.uploadComplete = ftp.storeFile(file.getName(), inputStream);
      if(this.uploadComplete) {
        this.file.delete();
      }
      ftp.logout();
    } catch(IOException e) {
      // e.printStackTrace();
      logger.error( "Could not upload result zip file: " + e.getMessage());
    } finally {
      if (inputStream != null) {
        try {
        inputStream.close();
        } catch (Exception e) {
          //
        }
      }
      if(ftp.isConnected()) {
        try {
          ftp.disconnect();
        } catch(IOException ioe) {
          // do nothing
        }
      }
    }
  }
Posts result to the callback URL.
KITE-Engine/src/main/java/org/webrtc/kite/CallbackThread.java