So it finally came to be, a simple to install plugin replacement for the previous api based version.
If this work adds value to your project then take the time and send the programmer some Kofi. https://ko-fi.com/madamzandu
Download the binary zip file "ros-plugin.zip" and upload into your Uisp > Settings > Plugins.
Enable the plugin and create the webhook.
If you have been using the previous api based version:
Please ensure that your mikrotik devices are added to the plugin and are online. The rebuild process is harmless and can be run any number of times. To verify if rebuild was successful go to the Devices tab and check the number of user accounts listed for each device.
The custom attributes in Configution (4) should be listed in the form when creating or editing a service in Uisp.
Version 1.8.5 introduces support for ipv6 gateway devices and ipv6 over ppp (without PD). Ipv6 for dhcp is not implemented in this version.
Ipv6 over ppp routes an ipv6 prefix to a ppp client's device which can then be used for dhcp or other services on the client's lan.
In the device settings provide an ipv6 prefix of reasonable size e.g. a /48. This prefix can be reused on more than one router and the plugin will manage and ensure that client allocations have no conflicts. After specifying the prefix you can specify the size or prefix length to assign clients in the prefix length field. If the prefix length field is empty the plugin will default to assigning /64's to clients.
When a pppoe client is added the plugin will allocate an ipv6 /64 along with the normal ipv4 framed address. The ipv6 assignments can be viewed in the panel > devices > click on one of the devices.
Starting version 1.8.5 the plugin now also supports mikrotik hotspot accounts so that ucrm can also be used to bill and provision hotspot clients.
To enable hotspot services go to panel > settings > general and check "enable hotspot accounts". This will add a hotspot attribute to the crm client service form. This also makes available an option to auto generate hotspot user/password. However please note that enabling automatic hotspot usernames will disable automatic pppoe usernames.
Create a user normally and check the hotspot attribute to provision to hotspot instead of ppp. Thats it.
Version 1.8.5 adds support for Swahili and Afrikaans. Please let me have feedback if there are problems.
In version 1.8.4 we have added and are testing support for languages. Currently the languages supported are en,es,fr,pt and de.
Please open an issue if you think there is a problem with the translations. For those that can spare the time and would like to contribute by translating to your preferred language the instructions will soon be posted in https://github.com/MadaMzandu/uisp-ros-plugin/tree/main/src/includes/l10n.
Once again thank you all for your invaluable feedback.
Version 1.8.3 now has a job queue to handle webhook requests that arrive when the target device is unreachable.
When the plugin receives a webhook for a mikrotik device that is offline the request is automatically queued for later execution. The job queue can be executed automatically by enabling the plugin's scheduled execution or manually from Panel > Settings > Jobs then clicking on the "run queue" button.
The maximum queue size that is acceptable on a Mikrotik is 4.294Gbps or 4294Mbps. If the total rate of the parent queue exceeds this limit the plugin will fail to add new customers to the plan until the contention ratio is adjusted.
If contention is enabled in the plugin then admin must ensure that plan limit x number of plan customers x contention ratio does not exceed 4.294Gb.
For example a plan for 50Mbps targeting 200 customers with a contention ratio of 1:1 (1/1) will not work because 50 x 200 x 1/1 = 10000Mbps or 10Gbs which exceeds the Mikrotik limit. The correct contention ratio for this plan must start at 1:3 (1/3) or above which is 50 x 200 x 1/3 = 3.3Gbps. This will work on Mikrotik.
If contention is not required then disable contention in Panel > Settings > General. Warning!! Disabling contention requires all customers to disconnect to apply changes therefore schedule maintanance especially if pppoe clients are on ubiquiti devices. PPPoE clients on mikrotik devices will reconnect in less than a second so this is not a problem for Mikrotik pppoe clients.
Also note the following;
There are two reasons why this can only be done manually if you are interested to know:
The plugin provides four mikrotik parameters that allow customizing how disabled accounts are handled. These are:
Should the rebuild utility fail to complete, simply restore the latest backup that is listed and the plugin should be restored to its previous state. Note that the rebuild utility makes a backup each time it is executed and that the plugin rotates every 7th backup. Therefore it is advisable to download at least one backup when things get out of hand.
The following actions require an active pppoe to disconnect to apply changes. This is normal behaviour. For mikrotik pppoe clients this takes less than a second however ubiquiti pppoe clients seem to take longer to reconnect after an administrative disconnect so it is advisable to use certain features with caution.
This software uses or depends on the following software by these developers with the greatest gratitude.
Ben Menking – RouterOS API
https://github.com/BenMenking/routeros-api
Ubiquiti - UISP/UCRM/UNMS
Mikrotik - RouterOS