Опыт установки 5.3 на боевом сервере

Технические вопросы по UTM 5.0
Ответить
Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

ZeM писал(а):Если у абонента отрицательный баланс -1000 и стоит Системная блокировка и попытаться повесить административную блокировку в ЛС с периодом действия то в Отчете - Блокировки видим что Административная дата начала и конца блокировки почти совпадают. Если баланс положительный то все нормально.
Предлагаю сделать примерно так, что если стоит системная блокировка галочку административная блокировка в ЛС сделать неактивно.
Нафиг. Сейчас сделано идеально, не надо тут ничего ломать.

banec
Сообщения: 269
Зарегистрирован: Вт сен 11, 2007 09:06

Сообщение banec »

:lol: тем более в 5.3 уже сломали всё с периодами больше расчетного.

Аватара пользователя
ZeM
Сообщения: 371
Зарегистрирован: Чт фев 17, 2011 08:38

Сообщение ZeM »

Коллеги я затупил. Вообщем задача сделать ежедневные списания и чтобы абоненты в минус не уходили.
1. Настроил Политику списаний для всех типов блокировок одинаковую а именно
Изображение
2. Создал тариф c услугой передача ip трафика
Изображение
и
Изображение
3. РП 1 месяц со списанием 7 раз в неделю
Изображение
4. Создал абонента закинул ему 500 руб. Повесил ему тариф с новым РП. Ну и с него списалось так.
http://s48.radikal.ru/i119/1503/46/2357e4649c0c.jpg
Вопрос такой почему 5.49 ?
Я сильно полагал что при тарифе 500 формула такая. Что 500 кол.во дней в месяце / (31 в марте) = 16.12 в день списываться будет всего.
Точнее что не так?
P.S. Параметры flow_discount_per_period - 64
discount_barrier = 0.01

Аватара пользователя
ZeM
Сообщения: 371
Зарегистрирован: Чт фев 17, 2011 08:38

Сообщение ZeM »

Дошло... Это он столько списал потому что до 00 часов нужно 5 рублей чтобы проработать.. Далее перевел часы списалось 16.12

banec
Сообщения: 269
Зарегистрирован: Вт сен 11, 2007 09:06

Сообщение banec »

подскажите
что за прикол с DHCP (биллинг up12)

Код: Выделить всё

Mar 23 17&#58;34&#58;51 ?Debug &#58; ac67f700 DBConnection_mysql&#58; <0x198e310> SQL SELECT query&#58; SELECT id,ip,expired,updated,client_id,binding_id,flags FROM dhcp_leases WHERE mac='34&#58;08&#58;04&#58;29&#58;70&#58;2d' ORDER BY id
Mar 23 17&#58;34&#58;51 ?Debug &#58; ac67f700 DBConnection_mysql&#58; <0x198e310> SQL SELECT query&#58; 1 rows in 0.001 sec
Mar 23 17&#58;34&#58;51  Info  &#58; ac67f700 packet log&#58; DISCOVER from 34&#58;08&#58;04&#58;29&#58;70&#58;2d relay-agent-info 0102001502040a041101
Mar 23 17&#58;34&#58;51 ?Debug &#58; ac67f700 DHCP_Server&#58; got DHCPDISCOVER packet
Mar 23 17&#58;34&#58;51 ?Debug &#58; ac67f700 BindingManager&#58; binding #42156 OK
Mar 23 17&#58;34&#58;51 ?Debug &#58; ac67f700 DBConnection_mysql&#58; <0x198e310> SQL SELECT query&#58; SELECT mac FROM dhcp_leases WHERE ip='168038761' AND &#40;expired>'1427121291' OR flags='1'&#41;
Mar 23 17&#58;34&#58;51 ?Debug &#58; ac67f700 DBConnection_mysql&#58; <0x198e310> SQL SELECT query&#58; 0 rows in 0.000 sec
Mar 23 17&#58;34&#58;51 ?Debug &#58; ac67f700 LeaseManager&#58; static_offer&#58; IP 10.4.17.105 for MAC 34&#58;08&#58;04&#58;29&#58;70&#58;2d; switch #4; port #21; VLAN #0
Mar 23 17&#58;34&#58;51 ?Debug &#58; ac67f700 DBConnection_mysql&#58; <0x198e310> SQL query&#58; UPDATE dhcp_leases SET ip='168038761',client_id='microsof-b3fa82',binding_id='42156',expired='1427121306',updated='1427121291',flags='0' WHERE id='1212'
Mar 23 17&#58;34&#58;51 ?Debug &#58; ac67f700 DBConnection_mysql&#58; <0x198e310> SQL query takes 0.018 sec
Mar 23 17&#58;34&#58;51 ?Debug &#58; ac67f700 DHCP_Server&#58; offered IP 10.4.17.105 from the pool ID 4
Mar 23 17&#58;34&#58;51 ?Debug &#58; ac67f700 DHCP_Server&#58; sending OFFER of 10.4.17.105 to 34&#58;08&#58;04&#58;29&#58;70&#58;2d
Mar 23 17&#58;34&#58;51 ?Debug &#58; ac67f700 DHCP_Server&#58; sending reply to relay 10.4.17.1&#58;67
DHCP packet header
      op&#58; 2
   htype&#58; 1
    hlen&#58; 6
    hops&#58; 0
     xid&#58; 162432ea
    secs&#58; 0
   flags&#58; 32768
  ciaddr&#58; 0.0.0.0
  yiaddr&#58; 10.4.17.105
  siaddr&#58; 10.0.10.50
  giaddr&#58; 10.4.17.1
  chaddr&#58; 34&#58;08&#58;04&#58;29&#58;70&#58;2d
   sname&#58;
    file&#58;
  option &#91;dhcp-message-type&#93;&#58; 02
  option &#91;dhcp-server-identifier&#93;&#58; 10.0.10.50
  option &#91;dhcp-lease-time&#93;&#58; 12800
  option &#91;routers&#93;&#58; 10.4.17.126
  option &#91;subnet-mask&#93;&#58; 255.255.255.128
  option &#91;domain-name-servers&#93;&#58; 212.98.160.65;194.158.206.206
  option &#91;routers&#93;&#58; 10.4.17.126
  option &#91;routers&#93;&#58; 10.4.17.126
  option &#91;relay-agent-info&#93;&#58; 0102001502040a041101

Mar 23 17&#58;34&#58;51  Info  &#58; ac67f700 packet log&#58; OFFER to 34&#58;08&#58;04&#58;29&#58;70&#58;2d offered IP 10.4.17.105
почему выдаёт такую маленькую аренду? => expired='1427121306',updated='1427121291'
и у абонента в "DHCP аренда" данные не появляются.

serjk
NetUP Team
Сообщения: 719
Зарегистрирован: Пн авг 14, 2006 08:56

Сообщение serjk »

banec писал(а)::lol: тем более в 5.3 уже сломали всё с периодами больше расчетного.
Добавление сервисной связки вне текущего расчетного периода никогда не работало корректно, в 5.3 (возможно, и раньше) с целью предотвращения непредсказуемых последствий этого действия оно было запрещено.

yegorov.v
Сообщения: 23
Зарегистрирован: Вт мар 10, 2015 07:47

Сообщение yegorov.v »

Здравствуйте, на стр. 63 руководства показывается как создать политику списания. Но я в упор не могу найти как туда попасть. Помогите слепому, пожалуйста.

forgotten
Сообщения: 53
Зарегистрирован: Чт авг 28, 2008 08:11

Сообщение forgotten »

serjk писал(а):
banec писал(а)::lol: тем более в 5.3 уже сломали всё с периодами больше расчетного.
Добавление сервисной связки вне текущего расчетного периода никогда не работало корректно, в 5.3 (возможно, и раньше) с целью предотвращения непредсказуемых последствий этого действия оно было запрещено.
Нормально работало, только после перезапуски ядра слетал флаг "пересчитывать абон.плату" в периодической связки, что приводило к списанию абон.платы за весь месяц. У нас был скрипт который контролировал этот флаг и переподключал услугу если он был сброшен. Зато для юзеров было всё просто и понятно при подключении сервисной связки.

А вот в 5.3 чтобы дать абоненту бесплатный период теперь приходится изобретать различные костыли.

Неужели так сложно было пофиксить этот баг что вы просто выбросили весь функционал?
Последний раз редактировалось forgotten Пт мар 27, 2015 09:15, всего редактировалось 1 раз.

serjk
NetUP Team
Сообщения: 719
Зарегистрирован: Пн авг 14, 2006 08:56

Сообщение serjk »

Функционалом это сложно назвать, скорее багом. Для корректной реализации требуется определенный объем работы и тестирования. Раз функционал оказался востребован - реализуем в 5.3-003 (если будет возможность слить эти изменения в ветку 5.3-002 - войдет в один из будущих апдейтов)

Alex_P
Сообщения: 35
Зарегистрирован: Пт июл 01, 2011 06:36
Откуда: Россия

Сообщение Alex_P »

Есть подозрение, что в api.xml неактуальное описание функции rpcf_set_radius_attr (0x10100). Никак не получается заставить её работать, да и судя по логам добавления атрибута из админки, переменные передаются несколько иные.
Может кто-нибудь дать верное проверенное xml-описание этой функции для 5.3.-002 upd 16?

serjk
NetUP Team
Сообщения: 719
Зарегистрирован: Пн авг 14, 2006 08:56

Сообщение serjk »

Проверил, есть ошибка. В цикле, после описания параметра usage_flags, добавьте аналогичный параметр expire_date (дата автоматического удаления атрибута)

Код: Выделить всё

  <function name="rpcf_set_radius_attr" id="0x10100">
    <input>
      <integer name="sid" />
      <integer name="st" />
      <integer name="cnt" />
      <for name="i" from="0" count="cnt">
        <integer name="vendor" array_index="i" />
        <integer name="attr" array_index="i" />
        <integer name="usage_flags" array_index="i" />
        <integer name="expire_date" array_index="i" default="2000000000"/>
        <integer name="param1" array_index="i" />
        <if variable="param1" value="1" condition="eq">
          <string name="cval" array_index="i" />
        </if>
        <if variable="param1" value="2" condition="eq">
          <integer name="ival" array_index="i" />
        </if>
        <if variable="param1" value="3" condition="eq">
          <string name="val" array_index="i" />
        </if>
      </for>
    </input>
    <output/>
  </function>

Alex_P
Сообщения: 35
Зарегистрирован: Пт июл 01, 2011 06:36
Откуда: Россия

Сообщение Alex_P »

serjk, спасибо, наконец то оно работает. :)
Подскажите ещё пожалуйста значение поля usage_flags для удаления атрибута, а то его в логе дебага не найти.

serjk
NetUP Team
Сообщения: 719
Зарегистрирован: Пн авг 14, 2006 08:56

Сообщение serjk »

Код: Выделить всё

            FLAG_ACCESS_ACCEPT = 1,
            FLAG_ACCESS_REJECT = 2,
            FLAG_DISCONNECT_REQUEST = 4,
            FLAG_COA_REQUEST = 8,

            FLAG_REPLACE_ATTR = 16,
            FLAG_ENABLE_SCRIPTING = 32,
            FLAG_REMOVE_ATTR = 64
Вам соответственно понадобится что-то вроде 1 | 64 = 65

banec
Сообщения: 269
Зарегистрирован: Вт сен 11, 2007 09:06

Сообщение banec »

serjk писал(а):Функционалом это сложно назвать, скорее багом. Для корректной реализации требуется определенный объем работы и тестирования. Раз функционал оказался востребован - реализуем в 5.3-003 (если будет возможность слить эти изменения в ветку 5.3-002 - войдет в один из будущих апдейтов)
С учетом всё большей конкуренции - этот функционал просто необходим.

ЗЫ Вообще нужно внедрять системы лояльности для абонентов. Так что бы выгодно отличался ваш биллинг от конкурентов подумайте о внедрения такого функционала.

forgotten
Сообщения: 53
Зарегистрирован: Чт авг 28, 2008 08:11

Сообщение forgotten »

serjk писал(а):Функционалом это сложно назвать, скорее багом. Для корректной реализации требуется определенный объем работы и тестирования. Раз функционал оказался востребован - реализуем в 5.3-003 (если будет возможность слить эти изменения в ветку 5.3-002 - войдет в один из будущих апдейтов)
Было бы здорово если вы доделаете функционал установки коэффициента стоимости в сервисных связках. Нужна возможность точно указать на какой период действует этот коэффициент. Сейчас при изменении коэффициента перерасчет делается в конце текущего расчётного периода, а это не очень удобно. Скидка обычно даётся на будущие расчетные периоды, а не на текущий. И контролировать абонентов со скидкой тяжело, поэтому нужно добавить время окончания действия скидки.
Этот функционал вполне может заменить время начала действия сервисной связки.

Ответить