<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title><![CDATA[UISP Application | Topics | Ubiquiti Community]]></title>
        <description><![CDATA[UISP Application | Topics | Ubiquiti Community]]></description>
        <link>https://community.ui.com</link>
        <image>
            <url>https://community.ui.com/images/og-image.png</url>
            <title>UISP Application | Topics | Ubiquiti Community</title>
            <link>https://community.ui.com</link>
        </image>
        <generator>Ubiquiti Community</generator>
        <lastBuildDate>Sat, 14 Nov 2026 23:56:34 GMT</lastBuildDate>
        <atom:link href="https://community.ui.com/rss/topics/uisp-app" rel="self" type="application/rss+xml"/>
        <pubDate>Sat, 14 Nov 2026 23:56:34 GMT</pubDate>
        <copyright><![CDATA[© 2026 Ubiquiti Inc. All rights reserved.]]></copyright>
        <item>
            <title><![CDATA[UISP 3.1.70 – MikroTik SNMP devices disappearing due to zero MAC address deduplication]]></title>
            <description><![CDATA[<p>Hello UISP Team,</p><p>I would like to report a potential bug in UISP 3.1.70 affecting third-party MikroTik devices monitored via SNMP.</p><p>The devices are successfully discovered, their interfaces are retrieved, and authorization completes successfully. However, shortly afterward, they disappear from the UISP interface.</p><p>After investigating the PostgreSQL database, I confirmed that the device records are actually deleted, rather than merely disconnected or hidden.</p><p>Environment</p><ul><li><p>UISP: 3.1.70, self-hosted Docker deployment</p></li><li><p>PostgreSQL: 17.3</p></li><li><p>MikroTik RouterOS: 7.25</p></li><li><p>Monitoring: SNMP v2c</p></li><li><p>UISP device type: <code>blackBox</code></p></li></ul><p>Investigation and findings</p><p>Using a temporary PostgreSQL audit trigger, I traced the device deletion to the execution of:</p><pre class="ql-code-block-container"><code>SELECT device_id, site_id, prev_authorized, prev_site_id
FROM unms_auto_authorize_devices();</code></pre><p>Inspection of this function revealed a deduplication mechanism that compares MAC addresses from different devices and their interfaces.</p><p>One of the matching conditions is:</p><pre class="ql-code-block-container"><code>JOIN blackbox b ON (b.interface_mac = di.mac)</code></pre><p>The function then removes records considered redundant:</p><pre class="ql-code-block-container"><code>DELETE FROM device d
USING redundant_blackbox rb
WHERE d.device_id = rb.redundant_device_id</code></pre><p>Further analysis identified a possible cause.</p><p>RouterOS 7.25 exposes its built-in system loopback interface (<code>lo</code>) through SNMP with the following values:</p><pre class="ql-code-block-container"><code>Interface: lo
Type: loopback
MAC: 00:00:00:00:00:00
SNMP OID: 1.3.6.1.2.1.2.2.1.6.24</code></pre><p>A second temporary database audit confirmed interface-to-interface MAC matches involving <code>00:00:00:00:00:00</code> and other existing devices.</p><p>This strongly suggests that UISP treats the all-zero MAC address as a valid identifier when detecting duplicate devices, potentially causing legitimate MikroTik devices to be incorrectly classified as redundant <code>blackBox</code> records and deleted.</p><p>Troubleshooting performed</p><ul><li><p>Verified successful SNMP communication and interface discovery.</p></li><li><p>Confirmed that authorization returns HTTP 200.</p></li><li><p>Tested different Site assignments.</p></li><li><p>Verified that no primary MAC or management IP conflict was responsible.</p></li><li><p>Confirmed that the RouterOS built-in <code>lo</code> interface does not expose a configurable MAC address.</p></li><li><p>Tested RouterOS <code>denied-oids</code> as a workaround, but it made the entire <code>ifPhysAddress</code> column unavailable. The change was reverted.</p></li></ul><p>I do not want to modify UISP's internal PostgreSQL functions or change the system loopback interface on MikroTik devices.</p><p>Questions</p><ol><li><p>Is this a known issue with third-party SNMP devices in UISP?</p></li><li><p>Could the engineering team review how <code>unms_auto_authorize_devices()</code> handles all-zero interface MAC addresses?</p></li><li><p>Has this behavior been corrected in a newer UISP version?</p></li><li><p>Is there a supported workaround to prevent this false duplicate detection?</p></li></ol><p>In my opinion, <code>00:00:00:00:00:00</code> should not be treated as a unique MAC address for device deduplication.</p><p></p><p>Thank you for your help.</p>]]></description>
            <link>https://community.ui.com/questions/UISP-3-1-70---MikroTik-SNMP-devices-disappearing-due-to-zero-MAC-address-deduplication/7ee7e7df-e426-4692-a896-1d782af3a00f</link>
            <guid isPermaLink="false">7ee7e7df-e426-4692-a896-1d782af3a00f</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[ramro]]></dc:creator>
            <pubDate>Sun, 08 Nov 2026 16:29:59 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Add full SNMPv3 protocol selection for Third-Party Device Monitoring in UISP]]></title>
            <description><![CDATA[<p><span data-id="1814fd48-e64f-441e-9bf8-735b64ce0d25" data-value="UI-Team" class="mention" data-denotation-char="@"><span contenteditable="false"><span class="ql-mention-denotation-char">@</span>UI-Team</span></span> <br>Feature Request:</p><p>Please add support for selecting SNMPv3 authentication and privacy protocols when monitoring third-party devices in UISP. This should include support for modern standards such as SHA-256 authentication and AES-128 encryption.</p><p>Use Case:</p><p>Many third party devices/appliances can be configured for SNMPv3 using SHA-256/AES-128, but UISP does not appear to provide options to specify these protocols other than v1/2c, preventing successful monitoring and discovery.</p><p>Benefit:</p><p>This enhancement would improve support for multi-vendor networks and reduce the need for separate monitoring platforms for standards-compliant SNMPv3 devices.</p>]]></description>
            <link>https://community.ui.com/questions/Add-full-SNMPv3-protocol-selection-for-Third-Party-Device-Monitoring-in-UISP/e2fc977d-fe67-4610-837b-07b7ed5117e8</link>
            <guid isPermaLink="false">e2fc977d-fe67-4610-837b-07b7ed5117e8</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[Mindwarp]]></dc:creator>
            <pubDate>Sun, 25 Oct 2026 00:04:59 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[UCRM 4.6.15 remains exposed to CVSS 9.2 RCEs (CVE-2026-109618/109619). ETA for PHP 8.3.36?]]></title>
            <description><![CDATA[<p><span data-id="1814fd48-e64f-441e-9bf8-735b64ce0d25" data-value="UI-Team" class="mention" data-denotation-char="@"><span contenteditable="false"><span class="ql-mention-denotation-char">@</span>UI-Team</span></span> </p><p></p><p>PHP released 8.3.36 today (Oct 21, 2026) to fix two critical unauthenticated RCE vulnerabilities:</p><p>- CVE-2026-109618 - RCE via OOM corruption</p><p>- CVE-2026-109619 - RCE via stale global state</p><p>The PHP security team states that updating is the only complete mitigation.</p><p></p><p>We run UCRM and verified the bundled PHP versions by inspecting the published images:</p><p>- UCRM 4.6.13: PHP 8.3.32</p><p>- UCRM 4.6.15 (latest on Docker Hub): PHP 8.3.35</p><p>- Fixed version: PHP 8.3.36</p><p></p><p>So even the latest UCRM image is still vulnerable. Could you confirm:</p><p>1. When will a UCRM image built with PHP 8.3.36 (or a backported fix) be published?</p><p>2. Will it be a new tag such as 4.6.16, or a rebuild of 4.6.15?</p><p>3. Is there any UCRM-specific interim guidance beyond the PHP-level mitigations (memory_limit=-1, lower post_max_size, session.upload_progress.enabled=0)?</p><p></p><p>We have taken our UCRM container offline as a precaution, which is currently affecting billing and payment webhooks, so an ETA would be very helpful. We’re happy to test a pre-release image if that speeds things up.</p><p></p><p>Thanks!</p>]]></description>
            <link>https://community.ui.com/questions/UCRM-4-6-15-remains-exposed-to-CVSS-9-2-RCEs-CVE-2026-109618-109619-ETA-for-PHP-8-3-36/d0fae711-2df1-4550-80e3-2b395a6a5c86</link>
            <guid isPermaLink="false">d0fae711-2df1-4550-80e3-2b395a6a5c86</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[linknix]]></dc:creator>
            <pubDate>Wed, 21 Oct 2026 14:30:28 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Migration to a larger server went ok. Documents did not show up]]></title>
            <description><![CDATA[<p>Is there a way to manually move the documents?</p><p>What esle could have been not migrated?</p><p><br></p><p>The process I ran was to load the uisp backup in the new server.</p><p><br></p><p><br></p><p>Thanks in advance</p><p>W</p>]]></description>
            <link>https://community.ui.com/questions/Migration-to-a-larger-server-went-ok-Documents-did-not-show-up/0fd84b84-ee5f-4195-9bb0-9a6b96d3816b</link>
            <guid isPermaLink="false">0fd84b84-ee5f-4195-9bb0-9a6b96d3816b</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[wpaterni718]]></dc:creator>
            <pubDate>Sun, 18 Oct 2026 17:02:28 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[EP-S16 future?]]></title>
            <description><![CDATA[<p><span class="mention" data-id="1814fd48-e64f-441e-9bf8-735b64ce0d25" data-value="UI-Team" data-denotation-char="@"><span contenteditable="false"><span class="ql-mention-denotation-char">@</span>UI-Team</span></span> We are looking to buildout a new outdoor network using UISP Fiber products and would like to use the EP-S16 for client ethernet feeds. Does anyone know if there are plans to discontinue. Google says its discontinued but its available in the UISP store.</p>]]></description>
            <link>https://community.ui.com/questions/EP-S16-future/8a3e2281-cec3-451d-b849-64f4acf200df</link>
            <guid isPermaLink="false">8a3e2281-cec3-451d-b849-64f4acf200df</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[Blueridge1]]></dc:creator>
            <pubDate>Tue, 13 Oct 2026 15:26:23 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Urgent: UISP Cloud Instance Missing / Application Unreachable]]></title>
            <description><![CDATA[<p>@UI-Team :</p><p>I logged into the UISP Portal and I am being greeted with a "Welcome Back" message and a button that says "Create new UISP Cloud Hosting." However, I already had an active hosting instance, which I urgently need right now to record payments and check my network status.</p><p><br></p><p>Additionally, my mobile app is displaying the error "Application is unreachable."</p><p>My account payments are completely up to date. I need to know what happened and how this issue will be resolved as soon as possible. This is an urgent matter for my business. </p><p><br></p><p>I don't have answer in the Live Chat.</p>]]></description>
            <link>https://community.ui.com/questions/Urgent-UISP-Cloud-Instance-Missing-Application-Unreachable/90fb144a-e64a-4632-ada0-51ac93df11c4</link>
            <guid isPermaLink="false">90fb144a-e64a-4632-ada0-51ac93df11c4</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[SaturnNet]]></dc:creator>
            <pubDate>Sat, 10 Oct 2026 19:09:29 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Let's Encrypt failing all of a sudden]]></title>
            <description><![CDATA[<p>Came in Monday morning to let's encrypt not working on one of our UISP servers. 80 and 443 are both open. Reverse DNS is working correctly. I verified that on the internet. The error we are getting is:</p><p><br></p><p><br></p><p>Last refresh of SSL certificate had failed.</p><p><br></p><p>Timestamp:&nbsp;Today at 9:02</p><p>Error:&nbsp;&lt;html&gt;\r&nbsp;</p><p>&lt;head&gt;&lt;title&gt;500 Internal Server Error&lt;/title&gt;&lt;/head&gt;\r&nbsp;</p><p>&lt;body&gt;\r&nbsp;</p><p>&lt;center&gt;&lt;h1&gt;500 Internal Server Error&lt;/h1&gt;&lt;/center&gt;\r&nbsp;</p><p>&lt;hr&gt;&lt;center&gt;openresty&lt;/center&gt;\r&nbsp;</p><p>&lt;/body&gt;\r&nbsp;</p><p>&lt;/html&gt;\r</p><p><br></p><p><br></p><p>Thoughts?</p>]]></description>
            <link>https://community.ui.com/questions/Lets-Encrypt-failing-all-of-a-sudden/4a0ca5d2-2883-47d5-93da-acef7befc9b3</link>
            <guid isPermaLink="false">4a0ca5d2-2883-47d5-93da-acef7befc9b3</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[nfldwifi_voice]]></dc:creator>
            <pubDate>Mon, 05 Oct 2026 14:11:15 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[[Feature Request] UISP Map: Advanced filters to show/hide sites by status (Online, Offline, and Empty/Decommissioned)]]></title>
            <description><![CDATA[<p>Hello Ubiquiti Team and Community,</p><p>I would like to propose an improvement for the UISP Map view to help network administrators manage infrastructure lifecycles more efficiently.</p><p><strong>Current Situation:</strong></p><p>In my network management workflow, I do not use the CRM module, but I frequently decommission older sites. I need to keep these empty sites on the map to maintain a historical record of our locations. However, this fills the map with "gray dots" (empty sites), making the interface cluttered and difficult to read when trying to focus on live operations.</p><p><strong>Proposed Solution:</strong></p><p>It would be extremely helpful to replace the basic map views with an advanced filter checkbox menu, allowing users to toggle the visibility of sites based on their actual state:</p><ul><li><strong>[ ] Show Online Sites</strong> (Active nodes)</li><li><strong>[ ] Show Offline Sites</strong> (Nodes requiring attention/maintenance)</li><li><strong>[ ] Show Empty/Decommissioned Sites</strong> (Placeholder locations with no devices assigned)</li></ul><p><strong>Benefits:</strong></p><ul><li><strong>Flexible Visibility:</strong> Administrators can instantly hide all decommissioned "gray dots" when monitoring live network health, but easily turn them back on when planning new deployments.</li><li><strong>Better Troubleshooting:</strong> Allows focusing exclusively on offline nodes without visual clutter.</li><li><strong>Improved Workflow:</strong> Supports proper lifecycle tracking of network locations directly on the map.</li></ul><p>This feature would drastically improve the daily operations of many network administrators who need to keep historical data without sacrificing map clarity. If you agree, please upvote!</p><p>Thank you.  @UI-Team</p>]]></description>
            <link>https://community.ui.com/questions/Feature-Request-UISP-Map-Advanced-filters-to-show-hide-sites-by-status-Online-Offline-and-Empty-Dec/83a1fdc0-f744-4e6c-b6a7-6ec359a3dad2</link>
            <guid isPermaLink="false">83a1fdc0-f744-4e6c-b6a7-6ec359a3dad2</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[cshsrl]]></dc:creator>
            <pubDate>Fri, 02 Oct 2026 14:47:11 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[UISP Cloud open ticket]]></title>
            <description><![CDATA[<p><span class="mention" data-id="1814fd48-e64f-441e-9bf8-735b64ce0d25" data-value="UI-Team" data-denotation-char="@"><span contenteditable="false"><span class="ql-mention-denotation-char">@</span>UI-Team</span></span></p><p><br></p><p>I have an open ticket since Sept 25th regarding our UISP instance performance and reachability. We have had issues all weekend and after several reboots its still running off. I am posting here to see if there is anyone who can respond to my ticket please. #6007081 I believe is the ticket number</p>]]></description>
            <link>https://community.ui.com/questions/UISP-Cloud-open-ticket/ce08fb3f-9a7c-45bc-b7e7-b401a8287eaf</link>
            <guid isPermaLink="false">ce08fb3f-9a7c-45bc-b7e7-b401a8287eaf</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[MojaveCo]]></dc:creator>
            <pubDate>Mon, 28 Sep 2026 23:33:11 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Billing Issues with suspended account not able to be prorated to the Time it was suspended]]></title>
            <description><![CDATA[<p>To whom it may concern,</p><p>&nbsp;</p><p>There is currently an issue in the CRM where if an account is placed on suspension due to non-payment, the invoice for that entire billing cycle is pushed onto the account instead of the prorated bill up to the time of suspension. This then requires that the account be manually credited from the date of suspension to the end of the billing cycle or the date of reconnection. This is causing unnecessary work due to additional steps becoming required to maintain the accuracy of the balance on the client accounts in the CRM.</p>]]></description>
            <link>https://community.ui.com/questions/Billing-Issues-with-suspended-account-not-able-to-be-prorated-to-the-Time-it-was-suspended/e7d25185-b5ef-4853-8b00-1dfe4b490857</link>
            <guid isPermaLink="false">e7d25185-b5ef-4853-8b00-1dfe4b490857</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[kennygtech]]></dc:creator>
            <pubDate>Fri, 25 Sep 2026 22:16:36 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Feature Request / API Pipeline: Support UPSERT(Update Insert) for Custom Attributes on Client Endpoint]]></title>
            <description><![CDATA[<p><span class="mention" data-id="1814fd48-e64f-441e-9bf8-735b64ce0d25" data-value="UI-Team" data-denotation-char="@"><span contenteditable="false"><span class="ql-mention-denotation-char">@</span>UI-Team</span></span></p><p><br></p><p><br></p><p>There is a critical routing/validation limitation within the UISP CRM API endpoint <code>PATCH /api/v1.0/clients/{id}</code> when attempting to update custom attributes.</p><p>If a client record has an existing record/value stored for a specific <code>customAttributeId</code> (even a blank string initialized via the Web UI), the <code>PATCH</code> payload executes perfectly. However, if the custom attribute has never been touched or initialized for that specific client, the backend entity manager fails to find a database row index for that sub-resource, causing the entire API call to reject with a misleading <code><strong>404 Not Found</strong></code> or a structural mutation failure.</p><p>Because <code>POST /api/v1.0/clients/{id}/attributes</code> throws a <code>405 Method Not Allowed</code>, there is currently no programmatic way via the API to initialize a brand-new custom attribute for an existing client unless the data is manually input or saved via the frontend Web UI framework first.</p><p>This completely blocks large-scale data migrations from external data systems into UISP via scripting.</p><p><br></p><p>Reproduce</p><ol><li>Create a Custom Attribute in CRM Settings (e.g., ID: <code>21</code>).</li><li>Create or find an existing client that has <strong>never</strong> had data typed into this custom attribute via the UI (the <code>"attributes": []</code> array returns empty on a <code>GET</code> request).</li><li>Attempt to add data to this attribute by sending a <code>PATCH</code> request to <code>/api/v1.0/clients/{id}</code> with the payload:</li></ol><p>{ "attributes": [ { "customAttributeId": 21, "value": "TestValue" } ] }</p><p><br></p><p><strong>Expected Result:</strong> The API should dynamically initialize/insert the missing attribute relation into the client database profile.</p><p><strong>Actual Result:</strong> The server returns a <code>{"code":404,"message":"Not Found"}</code> response.</p><p><br></p><p>is there a way around this? May we request if this can be updated, the validation/ORM logic for the <code>/clients/{id}</code> endpoint. If a <code>PATCH</code> or <code>PUT</code> request contains a valid <code>customAttributeId</code> that exists globally in the system but does not yet exist for that specific client entity, the backend should perform an <strong>upsert</strong> (Insert if missing, Update if exists) rather than dropping the request with an unhandled 404 entity error.</p>]]></description>
            <link>https://community.ui.com/questions/Feature-Request-API-Pipeline-Support-UPSERTUpdate-Insert-for-Custom-Attributes-on-Client-Endpoint/3a32283a-b3b1-4004-9f42-e433204ad606</link>
            <guid isPermaLink="false">3a32283a-b3b1-4004-9f42-e433204ad606</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[mike_leash]]></dc:creator>
            <pubDate>Tue, 22 Sep 2026 09:30:43 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[UISP API endpoint returning incorrect information on Airmax devices]]></title>
            <description><![CDATA[<p>UISP version 3.0.159</p><p><br></p><p>Access points and stations on firmware 8.7.25</p><p><br></p><p>The API endpoint /devices/airmaxes/{id}/config/wireless is returning the incorrect "mode" string for Airmax devices.</p><p><br></p><p>On a PrismStation 5AC, that API endpoint returns the "mode" as "ap-ptp", even though it is actually set to PTMP.</p><p><br></p><p>On a Litebeam 5AC, that API endpoint returns the mode as "sta-ptp" instead of "sta-ptmp". If you use that endpoint to update the config with "sta-ptp" as the mode, the Litebeam accepts that config and disconnects from its AP because it is now in the wrong mode.</p><p><br></p><p><span class="mention" data-id="1814fd48-e64f-441e-9bf8-735b64ce0d25" data-value="UI-Team" data-denotation-char="@"><span contenteditable="false"><span class="ql-mention-denotation-char">@</span>UI-Team</span></span></p><p>Attachments:</p><ul><li>Screenshot 2026-09-21 233848.png</li>
<li>Screenshot 2026-09-21 234632.png</li>
<li>Screenshot 2026-09-21 234912.png</li></ul>]]></description>
            <link>https://community.ui.com/questions/UISP-API-endpoint-returning-incorrect-information-on-Airmax-devices/afa8f6df-f732-4d5c-9218-d71cb9caabfe</link>
            <guid isPermaLink="false">afa8f6df-f732-4d5c-9218-d71cb9caabfe</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[Andrew_Brent]]></dc:creator>
            <pubDate>Tue, 22 Sep 2026 06:52:29 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Custom UISP/CRM plugin for effective channel planning ]]></title>
            <description><![CDATA[<p>Here's another tool that we've asked UI to make that never came, and I'm happy to share with anyone who needs it.</p><p><br></p><p>It's a plugin in CRM that connects to UISP via API. It as admin access to UISP so you can change AP channels from the plugin.</p><img src="https://img.community.ui.com/f13aaf0d-f74d-4d6b-9e11-ffaaf8661894/questions/505fcf91-4626-4eaa-87ef-51000744b528/30698c8f-5d2e-4db4-a746-81a895eee1c3" style="width: 100%;object-fit: cover;height: 205px" /><p>Click the plugin icon and open the map, and it will open this tool. It uses free ESRI world imagery satellite data, but you can connect Google Maps data with a free Google Maps API key in the plugin settings.</p><img src="https://img.community.ui.com/f13aaf0d-f74d-4d6b-9e11-ffaaf8661894/questions/505fcf91-4626-4eaa-87ef-51000744b528/0febce8f-4eef-40f4-9dee-33a78d58b121" style="width: 100%;object-fit: cover;height: 205px" /><p>You can see on the left panel you can swap between your 60GHz and 5GHz networks. It has every AP in your network placed by its internal GPS coords, and the heading is estimated based on customer location on the AP. Each AP is color coded to a specific channel. Solid color means full channel; diagonal lines mean half channel. The tool takes terrain data into consideration (it pulls terrain data from Amazon - they have free terrain data available to the public for some reason. That being said, this may only work in the US), so you can count on the tool's coverage estimate to be pretty accurate. APs that are highlighted with a dotted yellow line show a channel conflict with another AP in your network.</p><img src="https://img.community.ui.com/f13aaf0d-f74d-4d6b-9e11-ffaaf8661894/questions/8e3f32a9-861d-4808-b3f2-6bf57539add1/c0193fcf-3264-4f33-a2bf-4fe042ff37b1" style="width: 100%;object-fit: cover;height: 205px" /><p><br></p><p>You can toggle the map between full color map and b&amp;w so it is easier to distinguish channels. You can toggle backhauls on/off. You can enable customer location icons and customer links to better visualize what your network looks like. I have them disabled to protect our customers' privacy but works great to better see where there could be self-interference, or if there is a better AP that the customer could be connected to.</p><img src="https://img.community.ui.com/f13aaf0d-f74d-4d6b-9e11-ffaaf8661894/questions/8e3f32a9-861d-4808-b3f2-6bf57539add1/0f0b701a-6828-4116-91fd-122deb195d0d" style="width: 100%;object-fit: cover;height: 205px" /><p><br></p><p><br></p><p>If you click on a sector, will bring up the following information.</p><img src="https://img.community.ui.com/f13aaf0d-f74d-4d6b-9e11-ffaaf8661894/questions/8e3f32a9-861d-4808-b3f2-6bf57539add1/cc95f9d7-e67e-4355-befa-825759730b37" style="width: 100%;object-fit: cover;height: 205px" /><p><br></p><p>Here you can see the tool doing math to find the best possible channel for the AP to operate on. You can select the recommended channel and hit apply, and it will change that APs channel to the recommended channel instantly. The map updates once every 30 seconds, so you'll see the change apply to your map shortly. This is what a clean, conflictless AP looks like.</p><img src="https://img.community.ui.com/f13aaf0d-f74d-4d6b-9e11-ffaaf8661894/questions/8e3f32a9-861d-4808-b3f2-6bf57539add1/8ed65d74-9207-4eee-84c6-69d701115f90" style="width: 100%;object-fit: cover;height: 205px" /><p><br></p><p>The tool takes lots of variables into consideration to establish an opinion on the conflict severity. It has a 3-tiered conflict rating: Low conflict, medium conflict, and high conflict. It creates a conflict rating based on AP heading, overlap, channels used (and channel width), whether GPS sync is enabled, AP heading, azimuth and vertical beam, surrounding terrain, customer locations, among a few other variables. Here you can see it taking the 3 degree vert beam of the Wave AP into consideration.</p><img src="https://img.community.ui.com/f13aaf0d-f74d-4d6b-9e11-ffaaf8661894/questions/505fcf91-4626-4eaa-87ef-51000744b528/59d2b9e9-a1a7-46f6-b9c9-225f187af03f" style="width: 100%;object-fit: cover;height: 205px" /><p>It will also show you relevant information about your network in the bottom left hand panel that UISP may miss.</p><p><br></p><p>It works by populating all of your sites into the tool, you can scroll and select each individual site, and you show and hide individual APs so you don't get overwhelmed with the amount of data on your map.</p><p><br></p><p>It has changed how we channel plan, and it is AMAZING to be able to visualize the Wave network with a color-coded system.</p><p><br></p><p>I am working on getting Wave 5GHz backup radios into the tool, but haven't cracked that egg yet.</p><p><br></p><p>For your AirMAX devices, it pulls the data that you have input into the radio - since most of UI's 5GHz APs have SMA connectors. You can update the antenna type width, gain, ect. You can see here that 5GHz operates similarly:</p><img src="https://img.community.ui.com/f13aaf0d-f74d-4d6b-9e11-ffaaf8661894/questions/505fcf91-4626-4eaa-87ef-51000744b528/e2782860-f8b4-43cf-b760-e6a3a4c93d11" style="width: 100%;object-fit: cover;height: 205px" /><p>The information card shows information like:</p><p><br></p><ul><li>GPS sync</li><li>Client count</li><li>Beamwidth of AP</li><li>Distance to furthest client</li><li>square km's of coverage area, ect</li></ul><p>You can also edit information about the APs, and the information that you manually put in will trump the data that the tool pulled from UISP in case UISP has something wrong.</p><p><br></p><p>This is not a replacement for UISP by any means, it isn't magic, and it may get some things wrong - but you can use it as a trustworthy tool to help you channel plan more effectively. PM me if you want the tool and I'll email the zip file to you. If you don't like something about it, you can upload the zip file to Claude and it can make any changes that you'd like.</p><p><br></p><p>It's important that we all channel plan as accurately as we possibly can not only so we don't shoot ourselves in the foot, but also so we can be good neighbors. Thanks!</p>]]></description>
            <link>https://community.ui.com/questions/Custom-UISP-CRM-plugin-for-effective-channel-planning/8e3f32a9-861d-4808-b3f2-6bf57539add1</link>
            <guid isPermaLink="false">8e3f32a9-861d-4808-b3f2-6bf57539add1</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[UnicornWrangler]]></dc:creator>
            <pubDate>Tue, 15 Sep 2026 19:44:37 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[UISP Maps Blocked - Access Blocked - UISP 3.0.159]]></title>
            <description><![CDATA[<p>@UI-Team</p><p>UISP 3.0.159</p><p>Console 5.5.0</p><p><br></p><p>It seems that the UISP Console that the "Maps" are being blocked by the provider. Just happened to notice it today.</p><img src="https://img.community.ui.com/7514a1ea-ded1-45cf-929c-144d8a686a6c/questions/0369fd5e-b016-4b3b-bed2-a2da9dcafa2b/25e9cc52-9af8-4c93-9a9d-6453fb66a9c4" style="width: 100%;object-fit: cover;height: 205px" />]]></description>
            <link>https://community.ui.com/questions/UISP-Maps-Blocked-Access-Blocked-UISP-3-0-159/25a02c46-3fda-4a06-80b9-4edfef5bde0e</link>
            <guid isPermaLink="false">25a02c46-3fda-4a06-80b9-4edfef5bde0e</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[DBNet]]></dc:creator>
            <pubDate>Sat, 12 Sep 2026 15:03:55 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[[Feature request] UISP: custom HTTPS port for the EdgeRouter web UI links (EdgeOS "service gui https-port")]]></title>
            <description><![CDATA[<p><span class="mention" data-id="1814fd48-e64f-441e-9bf8-735b64ce0d25" data-value="UI-Team" data-denotation-char="@"><span contenteditable="false"><span class="ql-mention-denotation-char">@</span>UI-Team</span></span></p><p><br></p><p><strong>Environment</strong></p><p><br></p><p>UISP Application 3.0.159 (self-hosted), ~240 EdgeRouters (ER-4 / ER-12 / ER-Lite / ER-10X) with the web UI moved off 443:</p><p><br></p><p><code>set service gui https-port 9443</code></p><p><br></p><p><strong>Problem</strong></p><p><br></p><p>UISP always links to the device as <code>https://&lt;ip&gt;/</code> – in the devices list (IP Address column), in the device panel (Overview → IP Address), on the dashboard, and in the ⋮ → "Open Device Web UI" action. For every EdgeRouter that uses a non-default GUI port the link lands on whatever is on 443 (nothing, or a different service). There is no place in UISP to tell it the port.</p><p><br></p><p>The information is already there: UISP keeps the router's config backup, where the port is a single line (<code>service gui https-port N</code>), and airMAX/airFiber/Wave already get an <code>httpsPort</code> back from <code>POST /v2.1/devices/{id}/iplink/redirect</code> – EdgeRouters are just not covered.</p><p><br></p><p><strong>Request</strong></p><p><br></p><p>Any of these, in order of preference:</p><p><br></p><ol><li>Read <code>service gui https-port</code> from the EdgeRouter configuration and build the link with it (zero configuration for the user).</li><li>A per-device "Web UI port" field in the device settings, with a global default under Settings → Devices.</li><li>At least a global default for EdgeRouters.</li></ol><p>Same applies to <code>service gui http-port</code> if the link protocol is ever made configurable.</p><p><br></p><p><strong>What we do in the meantime (for anyone in the same situation)</strong></p><p><br></p><p>Two edits in the frontend bundle (<code>public/assets/index-*.js</code> inside the unms container), re-applied after every update:</p><p><br></p><ul><li>the IP link component (<code>href: \</code>${protocol}://${ip}/`<code>) → append </code>:9443<code>when the device type is</code>erouter`</li><li>the "Open Device Web UI" action (<code>window.open(\</code>https://${ip}`)`) → same condition, same port</li></ul><p>Other device types are untouched (EdgeSwitch stays on 443, airMAX/Wave keep the SSO redirect).</p><p>It works, but it is a hack on a minified bundle – hence the request.</p>]]></description>
            <link>https://community.ui.com/questions/Feature-request-UISP-custom-HTTPS-port-for-the-EdgeRouter-web-UI-links-EdgeOS-service-gui-https-por/38054d95-61b4-488a-92d4-179ac2a28de4</link>
            <guid isPermaLink="false">38054d95-61b4-488a-92d4-179ac2a28de4</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[cremenescu]]></dc:creator>
            <pubDate>Fri, 11 Sep 2026 06:00:16 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[New billing method in CRM: by consumption]]></title>
            <description><![CDATA[<p>I've been thinking a lot since some time ago about a feature that could maybe revolutionize isp industry (or not, cannot know, and don't know history or it all if this idea I have has already been thought and discussed/analyzed or not), residential isp industry at least.</p><p><br></p><p>A feature that could be added in some future version of UISP, in CRM part. The idea came from a way Starlink is charging or billing a special plan: enterprise plans, called "Priority" plans: "Local Priority" or Global Priority".</p><p><br></p><p>Starlink charges in a "Priority" plan by consumption, by GB. I don't know if globally it is the same, but at least it is here in Mexico: amounts of 50GB (one could choose some fixed 500 GB amounts monthly, cheaper by half per GB, and later add more amounts in 50GB steps).</p><p>It is a charge based in consumption.</p><p>In Residential plans Starlink still charges by a fixed price, with ToS and Fair Policy obviously, trying to mitigate the use of a Residential plan traffic outside of the house that contracted it. It is a mess of course: here in Mexico Starlink is almost only used by WISPs, putting Starlink residential antennas in their towers and exploiting at its max a residential data plan. Just in these months Starlink started to stop that, and is starting to restrict the Residential line when it reaches 5TB.</p><p>But the idea is that kind of charge: by consumption. I have been thinking a lot about that and all the useful implications it delivers if also used in residential service.</p><p><br></p><p>Residential internet could be charged the same as electricity is charged; by consumption, and stopped being like it is today: a fixed, calculated price. Which generates some problems when trying to offer high speed to the house for a better experience: high speed like 100Mbps, or more, now that ISP industry tends to deliver gigabit plans: Google for example delivers now up to 8 Gbps in its Edge plan. We offer high speed, but then need to mitigate by different ways the misuse of a residential plan as reselling or distributing by other ISP, which could be a mini ISP or a mini WISP who is entering this business.</p><p><br></p><p>If we charge by consumption in residential plans, then we could totally kind of forget about if a person or group of people or business could and would use a line to do its own mini business of delivering internet to neighbors or neighborhood; or becoming the wisp of his/her zone. We could offer of course a special plan for that, delivering tools for that guy or group who will be an isp, even mini (neighborhood): public IP, dedicated customer service, etc., what a dedicated (1:1) isp delivers. But our infrastructures would not be abused or overused by this mini ISP that sometimes is hard to discover and mitigate, mini (or big) exploiters of Residential lines (whose prices are calculated for use of devices inside a house).</p><p><br></p><p>Charging by GB, with still competitive GB prices, could mean this:</p><ul><li>You house are sharing your WiFi with your neighbours, no problem, you pay for the use they do, for all that traffic that goes and comes from your modem, from your line; it's not to you asking them for cooperation $ or not, or you have the money for all that use. It's like installing, in a 1-installation time, 3 houses or 4 houses, if a house is sharing with 2 or 3.</li><li>You WISP guy are using this residential line of 500Mbps to deliver to another 10 or 20 houses and you know it's difficult for me to notice it or find it is you: no problem, you pay for all that traffic of all those houses. It's like installing in a 1-installation time, 11 or 21 houses at once.</li><li>Etc.</li></ul><p>We could have at last control over all that that becomes sometimes a headache to avoid: TTL, conntrack, constant monitoring of consumption, try to know how many and which are the devices (models, names, stuff) used in the house (just to know if over there could there be a router which could mask hundreds of devices as one), reducing speed if we offer "unlimited data" and try to control misuse by reducing speed if funding a "wisp" house, etc.</p><p><br></p><p>We could rest about all that: you want to do it (resell, share with neighbours), then do it. I could still offer you a dedicated line for that (reselling), better than a residential line with kind of "generic" customer service, attention mixed with hundred or thousands, instead of dedicated or more focused. But we can rest, because our infrastructure is gaining the proper revenue from all that traffic distributed in all those "hidden" houses.</p><p><br></p><p>Imagine electricity charged by fixed monthly or bimonthly amount... that doesn't happen (at least not here in Mexico) because control of all that energy could be totally a mess: a hosue would stop being carefully with lights and use, with consumption, or would install as hell more load into the house without need and caution. Electricity is charged by consumption, right. Or an electrical company could just calculate the max use of a house and charge a fix monthly amount: Your meter is 100amps or 200amps, then I charge for those 200amps you could use or potentially use: it's up to you to put thick electrical wire and all electricity stuff well installed to consume if you want up to 200amps. But not, not useful an viable it seems. So it is charged by consumption: you used very few energy this month, then you pay very few; you used a lot, then now you have a great pay to do.</p><p><br></p><p>Internet consumption, internet traffic into the house could be charged the same way.</p><p><br></p><p>Well then, UISP could have an optional feature or function to create plans whose billing is by consumption: Maybe by amounts of 50GB, 100GB, 200GB...; or first amount 400GB and consequent amounts in 50GB steps, or do it in a way we could choose any first X amount and stepped X amounts: we could set a first 400GB, 300GB, 350GB, 1TB... and subsequent steps of 50GB, 100GB, 20GB, 1GB, 500GB...</p><p><br></p><p>Do I explain myself.</p><p><br></p><p>Charging by amount would help a lot,</p><p><br></p><p>For a special first great advantage, to deliver high or highest speed possible with more peace of mind, without the need of some special ToS or Fair Policies that try to mitigate misuse of residential lines.</p>]]></description>
            <link>https://community.ui.com/questions/New-billing-method-in-CRM-by-consumption/2295ad12-7c92-4e41-b628-7e6b1afd9424</link>
            <guid isPermaLink="false">2295ad12-7c92-4e41-b628-7e6b1afd9424</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[juanpasht]]></dc:creator>
            <pubDate>Fri, 11 Sep 2026 01:58:22 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[UISP 3.0.159 – "Make static" on a dynamic DHCP lease (EdgeRouter) opens an empty DHCP Lease dialog – root cause + fix]]></title>
            <description><![CDATA[<p><strong>Environment</strong></p><p><br></p><ul><li>UISP Application 3.0.159 (self-hosted, Docker), upgraded from 3.0.151</li><li>EdgeRouter devices (EdgeOS), Device → DHCP → DHCP Leases table</li><li>Reproduced in Firefox and Chromium-based browsers, clean profile, no extensions</li></ul><p><strong>Steps to reproduce</strong></p><p><br></p><ol><li>Open an EdgeRouter in UISP → DHCP tab → DHCP Leases.</li><li>On a row of type <em>Dynamic</em>, click the ⋮ menu → <strong>Make static</strong>.</li></ol><p><strong>Expected</strong></p><p><br></p><p>The "DHCP Lease" dialog opens with DHCP Server, IP address and MAC address prefilled from the selected lease (this is what the action is written to do, and how it used to work).</p><p><br></p><p><strong>Actual</strong></p><p><br></p><p>The dialog opens empty: DHCP Server shows the first server in the list, IP address and MAC address are blank, Save is disabled. The user has to retype everything from the row.</p><p><br></p><p><strong>Root cause (from the shipped bundle </strong><code><strong>public/assets/index-*.js</strong></code><strong>)</strong></p><p><br></p><p>The <code>makeStatic</code> action does:</p><p><br></p><pre class="ql-syntax" spellcheck="false">CY1 = n =&gt; e =&gt; new Promise(t =&gt; {
&nbsp; const r = e(KDn(null));&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// dialog lease = null (add mode)
&nbsp; setTimeout(() =&gt; {
&nbsp; &nbsp; const i = [
&nbsp; &nbsp; &nbsp; e(ZDn()),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // open dialog
&nbsp; &nbsp; &nbsp; e(k_(zU, "serverName", fd(pTe, n))),&nbsp; &nbsp; &nbsp;// redux-form autofill
&nbsp; &nbsp; &nbsp; e(k_(zU, "ipAddress",&nbsp; fd(nWn, n))),
&nbsp; &nbsp; &nbsp; e(k_(zU, "macAddress", fd(eWn, n))),
&nbsp; &nbsp; &nbsp; e(Eoi(zU, "leaseId", "ipAddress", "macAddress"))
&nbsp; &nbsp; ];
&nbsp; &nbsp; t([r].concat(i));
&nbsp; });
});
</pre><p>and the lease form (<code>leaseAddEditForm</code>) does:</p><pre class="ql-syntax" spellcheck="false">componentDidMount() {
&nbsp; const { lease: e } = this.props;
&nbsp; this.props.initialize({
&nbsp; &nbsp; serverName: zr(null, pTe, e), leaseId: zr(null, uTe, e),
&nbsp; &nbsp; ipAddress:&nbsp; zr(null, nWn, e), macAddress: zr(null, eWn, e)
&nbsp; });
}
</pre><p><br></p><p>The app is mounted with React 18 <code>createRoot</code>, so the store update from <code>ZDn()</code> is batched and the dialog (and the form inside it, which is unmounted while the dialog is closed) only renders <strong>after</strong> the whole <code>setTimeout</code> callback has run. By then the three <code>autofill</code> actions have already written the values into the redux-form state; the form then mounts, <code>componentDidMount</code> calls <code>initialize()</code> with <code>lease = null</code>, and redux-form's INITIALIZE reducer replaces <code>values</code> with the new (empty) initial values. Result: empty dialog. This is deterministic – it does not depend on browser or timing.</p><p><br></p><p>The same action/form code is present in the 3.0.151 and 2.4.220 bundles, so this is not a 3.0.159 regression; the ordering assumption (dialog renders synchronously before the autofills) is what stopped holding.</p><p><br></p><p><strong>Fix (verified on a live 3.0.159 instance)</strong></p><p><br></p><p>Minimal: let the autofilled values survive the initialize:</p><pre class="ql-syntax" spellcheck="false">this.props.initialize({ ... }, false, { keepValues: true });
</pre><p>Cleaner: don't race the mount at all – put the lease data into the dialog state when opening (e.g. <code>KDn({ serverName, address, mac })</code> with an explicit "create" flag instead of <code>null</code>), so <code>componentDidMount</code> initializes from it and no <code>setTimeout</code> is needed.</p><p><br></p><p><strong>Suggestion while you're there</strong></p><p><br></p><p>Prefill <em>Lease ID</em> from the lease hostname when it passes the field's own validation (<code>^[\w\-.]+$</code>), e.g. by replacing whitespace/invalid characters with <code>-</code>. Most hostnames are valid IDs and it saves retyping.</p><p><br></p><p><strong>Workaround for other users until it's fixed</strong></p><p><br></p><p>Type the four fields by hand from the row (select the server explicitly – the preselected one is just the first in the list), or create the static mapping on the router itself (Services → DHCP Server → View Leases → Map Static IP), or via the API: <code>POST /nms/api/v2.1/devices/erouters/{deviceId}/dhcp/leases</code> with <code>{"serverName","leaseId","address","mac"}</code>.</p>]]></description>
            <link>https://community.ui.com/questions/UISP-3-0-159---Make-static-on-a-dynamic-DHCP-lease-EdgeRouter-opens-an-empty-DHCP-Lease-dialog---ro/13ab5aa5-53a7-408d-9063-1f4c9b4a4948</link>
            <guid isPermaLink="false">13ab5aa5-53a7-408d-9063-1f4c9b4a4948</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[cremenescu]]></dc:creator>
            <pubDate>Thu, 10 Sep 2026 15:05:54 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Connecting a (new/old) CRM subscriber to an existing UISP Network site]]></title>
            <description><![CDATA[<p>I'm probably missing something obvius but I'm trying to connect a (new/old) CRM subscriber to an existing UISP Network site but... I can't find a way to do it.</p><p><br></p><p>How do I do that? There has to be a way to do it apart from starting all over with a new site/location (including spending hours on fixing the topology when third party equipment is involved and losing all statistics)!</p>]]></description>
            <link>https://community.ui.com/questions/Connecting-a-new-old-CRM-subscriber-to-an-existing-UISP-Network-site/5ae1bcd1-66c1-4d85-802c-4f1a9abfccd2</link>
            <guid isPermaLink="false">5ae1bcd1-66c1-4d85-802c-4f1a9abfccd2</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[ahlund]]></dc:creator>
            <pubDate>Mon, 07 Sep 2026 15:29:28 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[UISP not updating M5 devices]]></title>
            <description><![CDATA[<p>Hello.</p><p><br></p><p>My self-hosted UISP refuses to update M5 CPEs. This applies to both M5 CPEs connected to AC sectors AND M5 sectors. AC CPEs connected to AC sectors work without an issue. In the update tab it simply says "Same version as AP", however it is not same (for example CPE x.6 while AP is x.24). Attaching a screen of an example.</p><img src="https://img.community.ui.com/2c1dd112-3e53-4331-a7e2-9b6b922ccd96/questions/718cc5a4-1687-4857-810f-c2f272ce4016/1d21a841-ef79-4878-b723-ed89547f7481" style="width: 100%;object-fit: cover;height: 205px" /><p>While I don't have a lot of M5 devices, so manual upgrading wouldn't take a huge load of time, I'd obviously still prefer for them to take place automatically during the night.</p><p><br></p><p>I'm not sure whether this is an issue or my end or an issue in the UISP application, so I'd love to hear some information about this.</p>]]></description>
            <link>https://community.ui.com/questions/UISP-not-updating-M5-devices/718cc5a4-1687-4857-810f-c2f272ce4016</link>
            <guid isPermaLink="false">718cc5a4-1687-4857-810f-c2f272ce4016</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[JonJadams3]]></dc:creator>
            <pubDate>Mon, 07 Sep 2026 09:59:30 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[BILLING service reactivation BuG]]></title>
            <description><![CDATA[<p><span class="mention" data-id="1814fd48-e64f-441e-9bf8-735b64ce0d25" data-value="UI-Team" data-denotation-char="@"><span contenteditable="false"><span class="ql-mention-denotation-char">@</span>UI-Team</span></span> </p><p>Found a bug in customer service reactivation.</p><p><br></p><p>When an expired or ended service is reactivated, the service does not reactivate successfully. The issue is related to the <strong>discount start and end dates</strong>.</p><p><br></p><p>For the reactivation to work, the <strong>discount start date and end date must either be set to the current date, a future date, or left unset entirely</strong>. If the dates are set to a past date, the reactivation fails.</p><p><br></p><p>Even when <strong>“No Discount”</strong> is selected, the system still picks up and validates the discount dates, which causes the reactivation to fail.</p><p>During the reactivation process, <strong>no error message is displayed</strong>. Instead, the page simply loops back to the reactivation page, giving no indication of what went wrong.</p><p><br></p><p>The underlying error and actual cause of the issue can <strong>only be viewed through the browser's Developer Mode/Developer Tools</strong>. There is no visible error presented in the application itself.</p><p><br></p><p><br></p><p>Version: 3.0.159</p>]]></description>
            <link>https://community.ui.com/questions/BILLING-service-reactivation-BuG/0b26fa74-83ab-4341-a2f4-6db842394951</link>
            <guid isPermaLink="false">0b26fa74-83ab-4341-a2f4-6db842394951</guid>
            <category><![CDATA[uisp-app]]></category>
            <dc:creator><![CDATA[mike_leash]]></dc:creator>
            <pubDate>Sun, 06 Sep 2026 11:10:54 GMT</pubDate>
        </item>
    </channel>
</rss>