Добавление коммутаторов и их типов в биллинг

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (8)

просмотр истории страницы
!addcom.png|border=0,width=700!

После этого указать все необходимые настройки коммутатора и выбрать Тип коммутатора. От выбора типа коммутатора будет зависеть как именно будет происходить парсинг OPT82, приходящей на биллинг от этого коммутатора. !Коммутатор.png|border=0,width=700!
!Коммутатор.png|border=0,width=700!

h1. Добавление типа коммутатора

Заполните общую информацию о коммутаторе:
* Заполните поле "Тип" - это наименование комментария типа
{warning}*В названии типа нельзя использовать спецсимволы* (+-$#@" и т.д.)!{warning}
* При желании, укажите комментарий, это не обязательно.

Укажите по каким критериям Вы хотите назначать IP-адреса:
{note}Инженеры Carbon Soft добавляют примеры по запросу операторов с подпиской *Аутсорсинг*{note}

Отладить параметры парсинга Вы можете по статье [CarbonBilling:Отладка opt82. Настройка DHCP клиента и диагностика dhcp_restart.bat].
Отладить параметры парсинга Вы можете по статье [Отладка DHCP].

h3. Коммутатор добавляет к номеру порта 2 (=начинает отсчет с 3)
Функция dhcp-eval позволяет выполнять базовые арифметические операции. Чтобы решить эту задачу, используйте такую конструкцию:
{code}binary-to-ascii (10, 8, "", encode-int((extract-int(suffix(option agent.circuit-id, 1),8) + -2),8)){code}
Эта возможность была [документирована|https://kb.isc.org/docs/isc-dhcp-41-manual-pages-dhcp-eval#NUMERIC EXPRESSIONS] с выходом ISC DHCP 4.4.1, но её [использовали|https://github.com/alandekok/isc-dhcp-3.0/blob/master/tests/failover/dhcp-1.cf] [и раньше|https://lists.isc.org/pipermail/dhcp-workers/2009-November/000040.html].
В листинге видно, что вычет "2" происходит прибавлением отрицательного числа: к сожалению, при использовании "- 2", DHCP-сервер не запускался и считал это ошибкой конфигурации. Возможно это проблема используемой версии DHCP-сервера.

h3. binary-to-ascii обрезает нули в MAC-адресе (например, 01:00:BE:00:00:01 превратит в 1:0:be:0:0:1)

Это известная проблема, она связана с особенностью работы функции binary-to-ascii, и решение [описано в базе знаний|https://kb.isc.org/docs/aa-01039] ISC DHCP.

К сожалению, в Carbon Billing 5 такое решение пока применить не получится.

Чтобы это не стало проблемой, заводите MAC-адреса коммутаторам и абонентам в том формате, как он будет преобразован binary-to-ascii.
Например, "*01:00:BE:00:00:01*" заведите как "*1:0:be:0:0:1*"

h3. Нужно авторизовать по IP коммутатора

Коммутатор выступает релеем и передаёт запросы клиентов DHCP-серверу биллинга. Адрес коммутатора в таком случае [сохраняется в поле GIADDR|https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#Relaying] DHCP-запроса.
Получить IP коммутатора (релея) можно функцией *packet()* со сдвигом на 24 байта. Полученные данные надо преобразовать функцией binary-to-ascii в десятичную форму, разбив октеты точкой - так вы получите IP-адрес.

{code}binary-to-ascii(10, 8, ".", packet(24, 4)){code}