code: public void initialize(final int appId, ICallStatsTokenGenerator tokenGenerator,
        final String bridgeId, final ServerInfo serverInfo,
        final CallStatsInitListener callStatsInitListener) {
      if (appId <= 0 || StringUtils.isBlank(bridgeId) || serverInfo == null
          || callStatsInitListener == null) {
        logger.error("intialize: Arguments cannot be null ");
        throw new IllegalArgumentException("intialize: Arguments cannot be null");
      }
  
      this.appId = appId;
      this.tokenGenerator = tokenGenerator;
      this.bridgeId = bridgeId;
      this.listener = callStatsInitListener;
      this.serverInfo = serverInfo;
      CallStatsConfigProvider.init();
  
      httpClient = new CallStatsHttp2Client(CallStatsConfigProvider.connectionTimeOut);
      authHttpClient = new CallStatsHttp2Client(CallStatsConfigProvider.connectionTimeOut);
      authenticator = new CallStatsAuthenticator(appId, this.tokenGenerator, bridgeId, authHttpClient,
          new CallStatsInitListener() {
            public void onInitialized(String msg) {
              setInitialized(true);
              logger.info("SDK Initialized " + msg);
              startKeepAliveThread();
              listener.onInitialized(msg);
            }
  
            public void onError(CallStatsErrors error, String errMsg) {
              logger.info("SDK Initialization Failed " + errMsg);
              listener.onError(error, errMsg);;
            }
          });
      authenticator.doAuthentication();
    }
docs: Initialize callstats.
  
  @param appId the app id
  @param tokenGenerator token generator
  @param bridgeId the bridge id
  @param serverInfo the server info
  @param callStatsInitListener the call stats init listener