code: public void stopCharging(String subscriptionId, String serviceContextId) throws Exception {
      // Stop existing timers
      sendUpdatetimer.cancel();
      callDurationTimer.cancel();
  
      try {
        // Call listener method
        this.listener.creditTerminated();
      }
      catch (Exception e) {
        logger.error("Failure in Listener handling 'creditTerminated' callback.");
      }
  
      if(logger.isInfoEnabled()) {
        logger.info("(((o))) SERVICE HAS BEEN TERMINATED! (((o)))");
      }
  
      // Fetch existing Ro session
      ClientCCASession roSession = roSessions.get(serviceContextId);
  
      // Create and Send CCR (TERMINATION)
      JCreditControlRequest terminateCCR = createCCR(CC_REQUEST_TYPE_TERMINATION, subscriptionId, serviceContextId);
      roSession.sendCreditControlRequest(terminateCCR);
  
      switchStateMachine(SENT_CCR_TERMINATION);
    }
docs: /* (non-Javadoc)
  @see org.mobicents.diameter.simulator.clients.RoClient#stopAccounting(java.lang.String)