Fixes the following:
- The service would exit but fail to remove the PID file when the shutdown command was sent to the service.
Added the following:
- Better feedback during service start up if the PID fails to be created
- Appropriate POSIX error codes on failure of modifying the PID file
* Fix auto_loader duplicate classes in the interface list
This patch will stop the auto_loader from adding the same class to the interface list if it already exists in the list.
* Update auto_loader.php
* Initial commit of websockets
* Move app_menu to the active_calls websockets
* Fix hangup function
* Remove connection wait-state on web socket server so events can process
* Add timestamp and debug level to console for service debug output
* Remove debug exit
* Fix typo for ws_client instead of ws_server
* Update app_config.php
* Fix typo and remove empty function
* Remove call to empty function
* Fix the menu to point to the correct location
* Remove Logging Class
* Rename service file
* Rename service file
* Fix the in progress browser request
* Fix browser reload and implement 'active_calls' default values
* Add apply_filter function
* Create new permission_filter object
* In progress active calls now use filter
* Add invalid_uuid_exception class
* add event_key_filter to honor user permissions
* add and_link and or_link for filters
* Fix disconnected subscriber and add filters to honor permissions
* Add $key and $value for filter
* define a service name
* catch throwable instead of exception
* Add $key and $value for filter and allow returning null
* Update permission checks when loading page
* Add apply_filter function to honor subscriber permissions
* Add create_filter_chain_for function to honor subscriber permissions
* Add apply_filter function to honor subscriber permissions
* Add apply_filter function to honor subscriber permissions
* create interface to allow filterable payload
* create interface to define functions required for websocket services
* Pass in service class when creating a service token
* Allow key/name and return null for filter
* Adjust subscriber exceptions to return the ID of the subscriber
* Add event filter to filter chain
* Add command line options for ip and port for websockets and switch
* update service to use is_a syntax
* initial commit of base class for websockets system services
* initial commit of the system cpu status service
* remove extra line feed
* fix path on active_calls
* initial proof of concept for cpu status updated by websockets
* Allow returning null
* Use default settings to set the interval for cpu status broadcast
* Improve the CPU percent function for Linux systems
* Show more debug information
* Allow child processes to re-connect to the web socket service
* Fix websockets as plural instead of singular
* Add class name list-row
* Update active_calls.php
* Update active_calls.php
* Update websocket_client.js
* Update app_config.php
* Update app_menu.php
* Update debian-websockets.service
* Update debian-active_calls.service
---------
Co-authored-by: FusionPBX <markjcrane@gmail.com>
* Add SNMP configuration support for Grandstream HT801,HT802 and GXP2135 devices
Added configurable SNMP settings to Grandstream HT801, HT802 and GX92135 provisioning template. Includes enable/disable toggle, SNMP version selection (default v2c), and community string configuration. SNMP is disabled by default
for security.
* Update app_config.php
* WiFi AP configuration support for Grandstream devices
Added WiFi access point 1 and 2 configuration (SSID, password, security type) for GRP2612/2613/2614/2615/2616 devices.
Includes database configuration entries with unique UUIDs and template variable integration following FusionPBX patterns.
---------
Co-authored-by: Matthew Midgett <mmidgett@nationalwi-fi.com>
* Add SNMP configuration support for Grandstream HT801,HT802 and GXP2135 devices
Added configurable SNMP settings to Grandstream HT801, HT802 and GX92135 provisioning template. Includes enable/disable toggle, SNMP version selection (default v2c), and community string configuration. SNMP is disabled by default
for security.
* Update app_config.php
---------
Co-authored-by: Matthew Midgett <mmidgett@nationalwi-fi.com>
* Update {$mac}.xml
Allow device to not revert back to DHCP on reboot and keep manually entered static IP.
* Add variable for IP mode (DHCP, Static, etc)
Prevents device from reverting back to DHCP on reboot if a static IP is manually set.
This applies to users in the United States. When a user dials 911 or 933 (commonly used for 911 testing) from the Groundwire app, the call is automatically placed using the device's cellular service. This approach can enhance location accuracy for emergency services and ensure more reliable call completion.
* Grandstream - use variable for firmware upgrade protocol
The firmware upgrade protocol was hard-coded as https. Updated to use the default settings variable.
* Refactor authentication to allow for OpenID Connect
The authentication class has been refactored to separate the `validate` function for the method `create_user_session`. This is needed for the OpenID Connect module to authenticate a user without going through the process of all authentication plugins. Only the function `check_user_cidr` has been rewritten to use a single loop instead of a double-loop.
Due to the fact that create_user_function is public, the $result associative array is checked to ensure the required fields are present and the UUID fields are valid UUIDs. Further checking could be done against the database to ensure the UUIDs exist but this has been suppressed at this time because database queries would be required.
* Database class modified to allow for login banners for OpenID Connect
The database class is responsible for creating the view for login. The OpenID application required banners to be present so that any OpenID Connect authentication mechanism could be used. Each banner displayed has the properties of: name, image, alt, and url. The name is the class name of the authentication plugin. This will match the action in the URL. The image is the image banner used for the login. The alt is the alternate text used for screen readers. Each authenticator is responsible for providing each of the field values.
* Added PHPDocs for the check_cidr function
* Add backwards compatibility for PHP versions below 8
* Remove get_banner_alt
* Update check_cidr to allow cidr array
* Update authentication.php
* Update functions.php
* Update authentication.php