Class AbstractRadiusProcessor<C extends ru.bitel.bgbilling.kernel.network.radius.nas.NasConnection<?>,​N extends ru.bitel.bgbilling.kernel.network.radius.nas.Nas<C,​?,​?>,​P>

java.lang.Object
ru.bitel.bgbilling.kernel.network.processor.Processor
ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor<C,​N,​P>
ru.bitel.bgbilling.kernel.network.radius.AbstractRadiusProcessor<C,​N,​P>
Type Parameters:
N -
P -

public abstract class AbstractRadiusProcessor<C extends ru.bitel.bgbilling.kernel.network.radius.nas.NasConnection<?>,​N extends ru.bitel.bgbilling.kernel.network.radius.nas.Nas<C,​?,​?>,​P>
extends RadiusProcessor<C,​N,​P>
Расширенная версия процессора, здесь уже напрямую используется структура и api биллинга Используется только старым модулями dilaup и voiceip
  • Constructor Details

    • AbstractRadiusProcessor

      public AbstractRadiusProcessor​(Setup setup, java.lang.String module, int moduleId, ru.bitel.bgbilling.kernel.network.radius.nas.NasList<C,​N> nasList) throws ru.bitel.bgbilling.common.BGException
      Throws:
      ru.bitel.bgbilling.common.BGException
  • Method Details

    • checkLoginAndContract

      protected void checkLoginAndContract​(Login login, Contract contract)
    • executeError

      protected int executeError​(java.sql.Connection con, N nas, RadiusPacket request, RadiusPacket response, int cid, int lid, int errorCode, int log_record_id)
    • getLogin

      protected abstract Login getLogin​(N nas, RadiusPacket req, RadiusPacket resp, java.sql.Connection con, java.lang.String userName)
    • getLogin

      protected abstract Login getLogin​(java.sql.Connection con, int cid, Card card)
    • accessRequestImpl

      protected void accessRequestImpl​(RadiusListenerWorker<N> req, N nas, RadiusPacket request, RadiusPacket response, java.util.Date date, RadiusSession<N,​P> radiusSession, int logRecordId, ConnectionSet connectionSet)
      Overrides:
      accessRequestImpl in class RadiusProcessor<C extends ru.bitel.bgbilling.kernel.network.radius.nas.NasConnection<?>,​N extends ru.bitel.bgbilling.kernel.network.radius.nas.Nas<C,​?,​?>,​P>
    • newRadiusAuthenticationEvent

      protected abstract ru.bitel.bgbilling.kernel.event.common.LocalEvent newRadiusAuthenticationEvent​(RadiusPacket request, RadiusPacket response, RadiusSession<N,​P> radiusSession, int logRecordId)
    • authentication

      protected int authentication​(RadiusListenerWorker<?> req, N nas, RadiusSession<N,​P> session, RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet, int log_record_id)
      Description copied from class: RadiusProcessor
      Обработка Access-Request разделяется на два этапа - аутентификацию и авторизацию.
      В данном методе должна проходить аутентификация.
      Этот метод вызывается один раз за радиус сессию, т.е. сразу на Access-Request, если сессии нет,
      или в конце обработки eap запросов.

      Метод вызывается из RadiusSession

      Внутри логики должен найтись логин, провериться пароль, и, если все нормально, вызваться RadiusProcessor.authorization(RadiusListenerWorker, Nas, RadiusSession, RadiusPacket, RadiusPacket, ConnectionSet, int, ContractManager, Contract, Object, String)
      Specified by:
      authentication in class RadiusProcessor<C extends ru.bitel.bgbilling.kernel.network.radius.nas.NasConnection<?>,​N extends ru.bitel.bgbilling.kernel.network.radius.nas.Nas<C,​?,​?>,​P>
    • authenticationImpl

      protected int authenticationImpl​(RadiusListenerWorker<?> req, N nas, RadiusSession<N,​P> session, RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet, int log_record_id, boolean realtimeTariff)
    • checkService

      protected boolean checkService​(java.sql.Connection con, int contractId, java.util.Set<java.lang.Integer> sidSet)
    • addCommonStatusData

      protected void addCommonStatusData​(java.lang.StringBuilder report)