Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rpcf_dealer_add_service_to_user URFAClient_Exception #35

Closed
EuPhobos opened this issue Feb 20, 2020 · 6 comments
Closed

rpcf_dealer_add_service_to_user URFAClient_Exception #35

EuPhobos opened this issue Feb 20, 2020 · 6 comments

Comments

@EuPhobos
Copy link

EuPhobos commented Feb 20, 2020

Может я что-то не верно делаю при исполнении функции rpcf_dealer_add_service_to_user возникает ошибка:

PHP Fatal error:  Uncaught exception 'URFAClient_Exception' with message 'Error calling function rpcf_dealer_add_service_to_user' in /usr/share/utm_scripts/urfa/classes/URFAClient/API.php:100
Stack trace:
#0 /var/www/utm/test.php(46): URFAClient_API->__call('rpcf_dealer_add...', Array)
#1 /var/www/utm/test.php(46): URFAClient_API->rpcf_dealer_add_service_to_user(Array)
#2 {main}
  thrown in /usr/share/utm_scripts/urfa/classes/URFAClient/API.php on line 100

Вот так составляю параметры, которые передаю функции:


$par = array(
	'user_id'			=> 31624,
	'account_id'		=> 31658,
	'service_id'		=> 498,
	'service_type'		=> 3,
	'tariff_link_id'	=> 31804,
	'discount_period_id'=> 1638,
	'start_date'		=> 1582202226,
	'expire_date'		=> 1893441600,
	'policy_id'			=> 1,
	'unabon'			=> 1,
	'cost_coef'			=> 1,
	'unprepay'			=> 1,
	'ip_groups_count'	=> array(array(
		'ip_address'		=> '10.0.123.135',
		'mask'				=> 32,
		'iptraffic_login'	=> 'login',
		'iptraffic_password'=> 'password',
		'ip_not_vpn'		=> 0,
		'dont_use_fw'		=> 0,
		'router_id'			=> 0
	))
);
var_dump($urfa->rpcf_dealer_add_service_to_user($par));

Меня смущает тип данных "ip_address" - может нельзя туда string передавать, тогда как?
Версия 5.3-004

@EuPhobos
Copy link
Author

попробовал пердать ip через ip2long(), получил:
PHP Fatal error: Uncaught exception 'URFAClient_Exception' with message 'ip_address can only be a ip_address' in /usr/share/utm_scripts/urfa/classes/URFAClient/API.php:286

@k-shym
Copy link
Owner

k-shym commented Feb 21, 2020

попробовал пердать ip через ip2long(), получил:
PHP Fatal error: Uncaught exception 'URFAClient_Exception' with message 'ip_address can only be a ip_address' in /usr/share/utm_scripts/urfa/classes/URFAClient/API.php:286

IP адрес передается в человеческом виде.

Проблем с первого взгляда не вижу, никогда не пользовался дилерскими функциями) Мне нужно будет развернуть тестовый стенд, и написать тесты на эту функцию. Вы можете помочь следующим: в момент вызова функции, смотрите лог биллинга /netup/utm5/log/debug.log , пришлите ошибку, которую он напишет.

@EuPhobos
Copy link
Author

EuPhobos commented Feb 21, 2020

Feb 21 10:50:47  Info  : 862bd700 RPC2Connection: Connection from: [127.0.0.1]:41621 new Session Key <c77d4f5e00000000ba9fe45c0c3e2295>
Feb 21 10:50:47  Info  : 862bd700 RPC2Connection: Card user <scripts@127.0.0.1> is connecting
Feb 21 10:50:47 ?Debug : 862bd700 DBAgroups: UID -31 from system group 1
Feb 21 10:50:47 ?Debug : 862bd700 ConnectionManager: new connection [64] has been created
Feb 21 10:50:47  Info  : 862bd700 RPC2Connection: [SSL]<scripts@127.0.0.1>Access granted to [SSL]<scripts@127.0.0.1> (UID: -31)
Feb 21 10:50:47 ?Debug : 862bd700 RPC2Connection: [SSL]<scripts@127.0.0.1>SSL type requested: TLSv1(6)
Feb 21 10:50:47 ?Debug : 862bd700 RPC2Connection: [SSL]<scripts@127.0.0.1>new SSL connection accepted uses ADH-RC4-MD5 cipher
Feb 21 10:50:47  Info  : 862bd700 RPC2Connection: Request for illegal function: 0x70000030
Feb 21 10:50:47  Warn  : 862bd700 RPC2Connection: Session closed
Feb 21 10:50:47 ?Debug : 862bd700 RPC2Connection: Session Key <c77d4f5e00000000ba9fe45c0c3e2295> stored for UID -31 from <127.0.0.1>
Feb 21 10:50:47 ?Debug : 862bd700 RPC2Connection: SSL cleared
Feb 21 10:50:47 ?Debug : 862bd700 ConnectionManager: connection [64] has been closed
Feb 21 10:50:47 ?Debug : 862bd700 RPC2Connection: Session closed...

Забавно "Request for illegal function: 0x70000030", а в api.xml она есть.
Я бы с удовольствием ей не пользовался, но нет обычной функции в api.xml , что-то типа "rpcf_add_service_to_user", однако в файле "/netup/utm5/xml/link_service.xml" используется такая конструкция <call function="rpcf_add_service_to_user">, я немного запутался теперь.
То есть в api.xml отсутсвует rpcf_add_service_to_user, но есть rpcf_dealer_add_service_to_user, а само ядро пишет мне про "Request for illegal function", этот вопрос наверное я задам на хотлайне, после проверки работает ли вообще через utm5_clienturfa всё это дело..

Раньше ядро было 5.2.1-006, и я пользовался вот этим: "http://wiki.flintnet.ru/doku.php/urfaclient_php", там есть функция "rpcf_add_service_to_user" 0x2551, а в 5.3-004 какая-то проблема именно с аналогом этой функции возникла.

Сейчас буду тестировать с консольным клиентом urfa, если не заработает, то в хотлайн.

@k-shym
Copy link
Owner

k-shym commented Feb 21, 2020

Функции разделили, в вашем случае нужно использовать: rpcf_add_iptraffic_service_link_ipv6 , теперь это не одна большая функция, а rpcf_add_<service_name>_link

Рекомендую, делать действие в UTM5 Admin, и смотреть какая функция вызывается в логе /netup/utm5/log/debug.log

@EuPhobos
Copy link
Author

EuPhobos commented Mar 2, 2020

Да, всё получилось.
С привязкой трафика вполне работает 0x293e rpcf_add_iptraffic_service_link_ipv6
С привязкой абонентской платы 0x2936 rpcf_add_periodic_slink_ex
Функцию rpcf_dealer_add_service_to_user не вижу смысла добивать, всё равно само ядро UTM отбивается с ошибкой, и данный проект к этой ошибке не относится.
Так что этот тикет по поводу dealer функции теперь не играет роли и может быть закрыт.

@EuPhobos
Copy link
Author

Я разобрался почему UTM5 выдавало ошибку на функцию dealer.
Оказывается для обращения к этим функциям нужна отдельная платная лицензия, которой на моей версии не было. Теперь данный тикет точно может быть закрыт.

@k-shym k-shym closed this as completed Mar 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants