bitel.billing.server.voiceip.bean

## Class VoiceIpSession

- java.lang.Object
- - bitel.billing.server.call.bean.Session
  - - bitel.billing.server.voiceip.bean.VoiceIpSession

- All Implemented Interfaces:
    AccountingSession

      public class VoiceIpSession
      extends Session

  Author:
    kirill_1

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `INCOMING_CALL`
    `static int` | `OUTGOING_CALL`
    `static int` | `PRICE_NOT_FOUND`
    `static int` | `TREE_NOT_FOUND`

    - ### Fields inherited from class bitel.billing.server.call.bean.Session

      `contract, fromNumber, logger, login, loginName, logRecordId, logSessionTableName, mid, requestLogRecordId, startTime, toNumber`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `VoiceIpSession()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `addColumns(java.sql.Connection con, java.lang.String tableName)` Приведение таблицы с сессиями Voip к актуальному состоянию
    `int` | `calculate(java.sql.Connection con)` Функция обсчета сессии
    `int` | `calculate(java.sql.Connection con, java.lang.StringBuilder trace)`
    `void` | `checkAndCreateTables(java.sql.Connection con, DefaultServerSetup setup)` Передаем сюда setup, т.к это метод вызывается как из радиуса так и из сервера (переобсчет сессий )
    `int` | `getCallType()` Возвращает тип звонка
    `int` | `getDestCode()` Возвращает код направления
    `java.lang.String` | `getDisconnectCause()` Возвращает DC
    `java.math.BigDecimal` | `getFakeCost()`
    `java.lang.String` | `getH323ID()`
    `bitel.billing.server.tariff.voice.calc.ItemZoneCostCache` | `getItemZoneCostCache()`
    `bitel.billing.server.tariff.voice.calc.ItemZoneTrafficCache` | `getItemZoneTrafficCache()`
    `float` | `getMinuteCost()` Возвращает стоимость минуты
    `int` | `getOperatorId()`
    `java.util.List<VoiceIpOperatorPrefixCost>` | `getOperatorPrefixCostTable(java.sql.Connection con, VoiceUtils vu, java.lang.String prefix, long gr, int serviceId, int callType)` Возвращает список стоимостей префиксов
    `int` | `getOperRoundSessionTime()` Возвращает округленное время сесссии для оператора
    `java.math.BigDecimal` | `getOperSessionCost()` Возвращает стоимость сессии для оператора
    `java.lang.String` | `getOpponentStation()` Возвращает номер, по которому следует тарифицировать
    `int` | `getRoundSessionTime()` Возвращает округленное время сессии
    `int` | `getServiceId()` Возвращает код услуги
    `java.math.BigDecimal` | `getSessionCost()` Возвращает стоимость сессии
    `int` | `getSessionTime()` Возвращает время сессии
    `int` | `getZoneCode()` Возвращает код зоны
    `protected bitel.billing.server.tariff.TariffRequest` | `initZonesRange(bitel.billing.server.tariff.TariffModuleTree tree)`
    `boolean` | `needTarification()` Проверяет, нужна ли тарификация
    `void` | `setCallType(int value)` Устанавливает тип звонка
    `void` | `setDestCode(int destCode)` Устанавливает код направления
    `void` | `setDisconnectCause(java.lang.String disconnectCause)` Устанавливает DC
    `void` | `setFakeCost(java.math.BigDecimal fakeCost)`
    `void` | `setH323ID(java.lang.String h323ID)`
    `void` | `setItemZoneCostCache(bitel.billing.server.tariff.voice.calc.ItemZoneCostCache itemZoneCostCache)`
    `void` | `setItemZoneTrafficCache(bitel.billing.server.tariff.voice.calc.ItemZoneTrafficCache itemZoneTrafficCache)`
    `void` | `setMinuteCost(float minuteCost)` Устанавливает стоимость минуты
    `void` | `setOperatorId(int operatorId)`
    `void` | `setRoundSessionTime(int roundSessionTime)` Устанавливает округленное время сессии
    `void` | `setServiceId(int value)` Устанавливает код услуги
    `void` | `setSessionCost(java.math.BigDecimal sessionCost)` Устанавливает стоимость сессии
    `void` | `setSessionTime(int sessionTime)` Устанавливает время сессии
    `void` | `setZoneCode(int zoneCode)` Устанавливает код зоны
    `java.lang.String` | `toString()`

    - ### Methods inherited from class bitel.billing.server.call.bean.Session

      `addLogDebug, addLogError, addLogInfo, getContract, getFromNumber, getLogin, getLoginName, getLogMessage, getLogRecordId, getMid, getNasId, getNasID, getRequestLogRecordId, getServices, getStartTime, getToNumber, getUserName, setContract, setFromNumber, setLogin, setLoginName, setLogRecordId, setMid, setNasId, setNasID, setRequestLogRecordId, setStartTime, setToNumber`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### TREE_NOT_FOUND

          public static final int TREE_NOT_FOUND

      See Also:
        Constant Field Values

    - #### PRICE_NOT_FOUND

          public static final int PRICE_NOT_FOUND

      See Also:
        Constant Field Values

    - #### OUTGOING_CALL

          public static final int OUTGOING_CALL

      See Also:
        Constant Field Values

    - #### INCOMING_CALL

          public static final int INCOMING_CALL

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### VoiceIpSession

          public VoiceIpSession()

  - ### Method Detail

    - #### setItemZoneTrafficCache

          public void setItemZoneTrafficCache(bitel.billing.server.tariff.voice.calc.ItemZoneTrafficCache itemZoneTrafficCache)

    - #### setItemZoneCostCache

          public void setItemZoneCostCache(bitel.billing.server.tariff.voice.calc.ItemZoneCostCache itemZoneCostCache)

      Parameters:
        `itemZoneCostCache` -

    - #### getSessionTime

          public int getSessionTime()

      Возвращает время сессии
      Returns:
        время

    - #### setSessionTime

          public void setSessionTime(int sessionTime)

      Устанавливает время сессии
      Parameters:
        `sessionTime` - время

    - #### getCallType

          public int getCallType()

      Возвращает тип звонка
      Returns:
        тип звонка

    - #### setCallType

          public void setCallType(int value)

      Устанавливает тип звонка
      Parameters:
        `value` - тип звонка

    - #### setServiceId

          public void setServiceId(int value)

      Устанавливает код услуги
      Parameters:
        `value` - код услуги

    - #### getServiceId

          public int getServiceId()

      Возвращает код услуги
      Returns:
        код услуги

    - #### getOperatorId

          public int getOperatorId()

    - #### setOperatorId

          public void setOperatorId(int operatorId)

    - #### checkAndCreateTables

          public void checkAndCreateTables(java.sql.Connection con,
                                           DefaultServerSetup setup)

      Description copied from class: `Session`
      Передаем сюда setup, т.к это метод вызывается как из радиуса так и из сервера (переобсчет сессий )
      Overrides:
        `checkAndCreateTables` in class `Session`
      See Also:
        `Session.checkAndCreateTables(java.sql.Connection, ru.bitel.bgbilling.server.util.DefaultServerSetup)`

    - #### addColumns

          public static final void addColumns(java.sql.Connection con,
                                              java.lang.String tableName)

      Приведение таблицы с сессиями Voip к актуальному состоянию
      Parameters:
        `con` - соединение с базой
        `tableName` - имя таблицы

    - #### calculate

          public int calculate(java.sql.Connection con)

      Функция обсчета сессии
      Parameters:
        `con` - соединение с БД
      Returns:
        код ошибки, 0 - нет ошибки

    - #### calculate

          public int calculate(java.sql.Connection con,
                               java.lang.StringBuilder trace)

    - #### initZonesRange

          protected bitel.billing.server.tariff.TariffRequest initZonesRange(bitel.billing.server.tariff.TariffModuleTree tree)

    - #### getOpponentStation

          public java.lang.String getOpponentStation()

      Возвращает номер, по которому следует тарифицировать
      Returns:
        номер для тарификации

    - #### needTarification

          public boolean needTarification()

      Проверяет, нужна ли тарификация
      Returns:
        true, если нужна

    - #### getDisconnectCause

          public java.lang.String getDisconnectCause()

      Возвращает DC
      Returns:
        DC

    - #### setDisconnectCause

          public void setDisconnectCause(java.lang.String disconnectCause)

      Устанавливает DC
      Parameters:
        `disconnectCause` - DC

    - #### getH323ID

          public java.lang.String getH323ID()

    - #### setH323ID

          public void setH323ID(java.lang.String h323ID)

    - #### getMinuteCost

          public float getMinuteCost()

      Возвращает стоимость минуты
      Returns:

    - #### setMinuteCost

          public void setMinuteCost(float minuteCost)

      Устанавливает стоимость минуты
      Parameters:
        `minuteCost` -

    - #### getDestCode

          public int getDestCode()

      Возвращает код направления
      Returns:

    - #### setDestCode

          public void setDestCode(int destCode)

      Устанавливает код направления
      Parameters:
        `destCode` -

    - #### getSessionCost

          public java.math.BigDecimal getSessionCost()

      Возвращает стоимость сессии
      Returns:

    - #### getOperSessionCost

          public java.math.BigDecimal getOperSessionCost()

      Возвращает стоимость сессии для оператора
      Returns:

    - #### setSessionCost

          public void setSessionCost(java.math.BigDecimal sessionCost)

      Устанавливает стоимость сессии
      Parameters:
        `sessionCost` -

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `Session`

    - #### getRoundSessionTime

          public int getRoundSessionTime()

      Возвращает округленное время сессии
      Returns:

    - #### getOperRoundSessionTime

          public int getOperRoundSessionTime()

      Возвращает округленное время сесссии для оператора
      Returns:

    - #### setRoundSessionTime

          public void setRoundSessionTime(int roundSessionTime)

      Устанавливает округленное время сессии
      Parameters:
        `roundSessionTime` -

    - #### getZoneCode

          public int getZoneCode()

      Возвращает код зоны
      Returns:

    - #### setZoneCode

          public void setZoneCode(int zoneCode)

      Устанавливает код зоны
      Parameters:
        `zoneCode` -

    - #### getItemZoneTrafficCache

          public bitel.billing.server.tariff.voice.calc.ItemZoneTrafficCache getItemZoneTrafficCache()

    - #### getItemZoneCostCache

          public bitel.billing.server.tariff.voice.calc.ItemZoneCostCache getItemZoneCostCache()

    - #### getOperatorPrefixCostTable

          public java.util.List<VoiceIpOperatorPrefixCost> getOperatorPrefixCostTable(java.sql.Connection con,
                                                                                      VoiceUtils vu,
                                                                                      java.lang.String prefix,
                                                                                      long gr,
                                                                                      int serviceId,
                                                                                      int callType)

      Возвращает список стоимостей префиксов
      Parameters:
        `con` - соединение с БД
        `vu` - VoiceUtils
        `prefix` - префикс
        `gr` - группа
        `serviceId` - код услуг
      Returns:
        список VoiceIpOperatorPrefixCost

    - #### getFakeCost

          public java.math.BigDecimal getFakeCost()

    - #### setFakeCost

          public void setFakeCost(java.math.BigDecimal fakeCost)