urfaclient автоматически выдать ИП
-
- Сообщения: 68
- Зарегистрирован: Сб май 13, 2006 10:11
urfaclient автоматически выдать ИП
Кто даст идею, как урфаклиентом при присвоении тарифа и услуги автоматически выдать свободный IP адрес из присвоенной дому зоны?
Re: urfaclient автоматически выдать ИП
Там функция есть специально для этого.Denis Samsonov писал(а):Кто даст идею, как урфаклиентом при присвоении тарифа и услуги автоматически выдать свободный IP адрес из присвоенной дому зоны?
Код: Выделить всё
rpcf_get_free_ips_for_house
-
- Сообщения: 68
- Зарегистрирован: Сб май 13, 2006 10:11
а если SQL запросом выполнить? есть возможность?
очень не нравится что в ответе функции даются все прописанные дом дом IP зоны. как-бы выдать первую из них...
<call function="rpcf_get_free_ips_for_house">
<output>
<integer name="ips_size" value="3"/>
<array name="i">
<item>
<ip_address name="ips_ip" value="10.249.16.16"/>
<string name="zone_name" value="Local Богат-51.1"/>
</item>
<item>
<ip_address name="ips_ip" value="xxx.xxx.xxx.87"/>
<string name="zone_name" value="Внешние IP (БезВПН88)"/>
</item>
<item>
<ip_address name="ips_ip" value="10.88.51.21"/>
<string name="zone_name" value="Local Богат-51.1"/>
</item>
</array>
<string name="error" value=""/>
</output>
</call>
P.S. Сорри, не програмер.. приходится во всем разбираться походу разработки ((
очень не нравится что в ответе функции даются все прописанные дом дом IP зоны. как-бы выдать первую из них...
<call function="rpcf_get_free_ips_for_house">
<output>
<integer name="ips_size" value="3"/>
<array name="i">
<item>
<ip_address name="ips_ip" value="10.249.16.16"/>
<string name="zone_name" value="Local Богат-51.1"/>
</item>
<item>
<ip_address name="ips_ip" value="xxx.xxx.xxx.87"/>
<string name="zone_name" value="Внешние IP (БезВПН88)"/>
</item>
<item>
<ip_address name="ips_ip" value="10.88.51.21"/>
<string name="zone_name" value="Local Богат-51.1"/>
</item>
</array>
<string name="error" value=""/>
</output>
</call>
P.S. Сорри, не програмер.. приходится во всем разбираться походу разработки ((
Во первых: А зачем ты дому навесил три зоны? У меня например двеDenis Samsonov писал(а):а если SQL запросом выполнить? есть возможность?
очень не нравится что в ответе функции даются все прописанные дом дом IP зоны. как-бы выдать первую из них...
P.S. Сорри, не програмер.. приходится во всем разбираться походу разработки ((Код: Выделить всё
<call function="rpcf_get_free_ips_for_house"> <output> <integer name="ips_size" value="3"/> <array name="i"> <item> <ip_address name="ips_ip" value="10.249.16.16"/> <string name="zone_name" value="Local Богат-51.1"/> </item> <item> <ip_address name="ips_ip" value="xxx.xxx.xxx.87"/> <string name="zone_name" value="Внешние IP (БезВПН88)"/> </item> <item> <ip_address name="ips_ip" value="10.88.51.21"/> <string name="zone_name" value="Local Богат-51.1"/> </item> </array> <string name="error" value=""/> </output> </call>

Во вторых если те не принципиально какой из этих ипов отдавать пользователю:
Код: Выделить всё
<call function="rpcf_get_free_ips_for_house">
<set src="ips_ip" src_index="1" dst="ips_ip_tmp"/>
-
- Сообщения: 68
- Зарегистрирован: Сб май 13, 2006 10:11
Спасибо, помогло)Magnum72 писал(а): Во первых: А зачем ты дому навесил три зоны? У меня например двеВнешние ипы (в зоне перечислены все внешние подсетки) и серые (сеть размера /24 на несколько домов) поэтому подключая пользователя я просто беру каждый отданный скриптом ип и добавляю пользователю.
Во вторых если те не принципиально какой из этих ипов отдавать пользователю:
Код: Выделить всё
<call function="rpcf_get_free_ips_for_house"> <set src="ips_ip" src_index="1" dst="ips_ip_tmp"/>
дык. зона 1 - внутренние ипы, зона 2 - внешники, зона 3... так сложилось) не будет ее на этом доме скоро)
-
- Сообщения: 68
- Зарегистрирован: Сб май 13, 2006 10:11
Denis Samsonov писал(а):Кстати, а есть возможность urfa клиентом сделать запись на каком свиче и порту сидит пользователь? в api.xml не нашел. или без UPDATE в бд не обойтись?
Код: Выделить всё
<function name="rpcf_save_user_othersets" id="0x9022">
<input>
<integer name="user_id" />
<integer name="count" />
<for name="i" from="0" count="count">
<integer name="type" array_index="i" />
<if variable="type" value="1" condition="eq">
<integer name="id"/>
<integer name="port" />
</if>
<if variable="type" value="3" condition="eq">
<integer name="currency_id"/>
</if>
</for>
</input>
<output/>
</function>
-
- Сообщения: 68
- Зарегистрирован: Сб май 13, 2006 10:11
угу. уже чуть позже нашел
cat edit_swport.xml
остается только понять что в параметре count должно быть для достижения цели?)
cat edit_swport.xml
Код: Выделить всё
<?xml version="1.0"?>
<urfa>
<call function="rpcf_save_user_othersets">
<parameter name="user_id" comment="user id"/>
<parameter name="id" comment="sw id"/>
<parameter name="port" comment="sw_port"/>
</call>
</urfa>
Не стал создавать новую тему, спрошу здесь…
А есть какая-то возможность получить из биллинга не отдельный IP, а подсеть из IP-группы?
Например, функция rpcf_get_free_ips_for_house возвращает несколько IP-адресов с маской «255.255.255.255»
а мне нужно выдать клиенту подсеть (минимум /30), есть какая-то возможность «легально» получить набор свободных /30 ?
Или придётся самому писать функцию и лезть в MySQL ?
А есть какая-то возможность получить из биллинга не отдельный IP, а подсеть из IP-группы?
Например, функция rpcf_get_free_ips_for_house возвращает несколько IP-адресов с маской «255.255.255.255»
а мне нужно выдать клиенту подсеть (минимум /30), есть какая-то возможность «легально» получить набор свободных /30 ?
Или придётся самому писать функцию и лезть в MySQL ?