We got licencing plans available that will license all of our commercial add-ons at once. This makes the most affordable PBX system yet! So take a look at our plans and choose the one you find most convenient for your business.
Add API endpoint to retrieve the extensions' account codes.
Add API CRUD endpoints for Authorization Codes, Customer Codes, and AI API Keys.
Improve regex to remove annotations from AI responses.
A validation is added for time groups to avoid spanning multiple months in a single range.
It was possible to retrieve extensions per id that belong to other tenants via API.
It was impossible to load CEL event details on CDR.
It was impossible to delete tenants with the AI Tools configured.
Vonage SMS provider didn't support Unicode characters.
A missed property avoids showing the "Key Expansion Modules" tab.
Latest changes on Let's Encrypt API make it impossible to renew/create certificates.
Introduce Asterisk v20.10.0.
Introduce PHP v8.2
Introduce Debian 12.
Switch from Apache2 to NGINX.
Added the "optimize-server" command to optimize server cache, swap, PHP-FPM, Nginx, and MariaDB, with all services restarted after optimization.
Added global limit parameters in the System General module to control the number of tenants and extensions, with an additional parameter for limiting queue agents using the "Ring All" strategy.
The IP Address whitelist module now overrides IPs blocked by the GEO firewall.
Enhanced indexing of database tables.
Improve the extensions' dial plan.
Optimize database settings for small servers.
Rename the command "optimize-apache" to "optimize-web-server."
Rename the command "reset-apache-conf" to "reset-web-server."
Add API endpoint to retrieve the extensions' account codes.
Add API CRUD endpoints for Authorization Codes, Customer Codes, and AI API Keys.
Improve regex to remove annotations from AI responses.
A validation is added for time groups to avoid spanning multiple months in a single range.
It was possible to retrieve extensions per id that belong to other tenants via API.
It was impossible to delete tenants with the AI Tools configured.
Vonage SMS provider didn't support Unicode characters.
Latest changes on Let's Encrypt API make it impossible to renew/create certificates.
The Asterisk got updated to v18.25.0.
The IP addresses for the Geo Firewall add-on have been updated.
Add Fanvil X7A and X303 and Yealink w70b phone models to the Phone Provisioning add-on.
The CDR call transcription and analysis feature now displays a processing modal to prevent users from clicking the action button multiple times.
The temperature and language settings from the AI tools are now applied to the CDR call transcriptions.
The SMS Webhooks now create log files located at "/var/log/vitalpbx/" for troubleshooting.
New indexes have been added to the PBX database tables to enhance the performance of dial plan ODBC queries.
The incoming call dial plan for internal extensions is optimized to prevent server overload during simultaneous dialing.
The email character set was changed from ISO-8859-1 to UTF-8 for better supporting special characters.
The checkboxes in the AI Tools add-on didn't reflect the saved value upon the form reload.
The authentication log failed to save the username after an incorrect 2FA code during login.
The call recording parameter remained visible in Outbound Routes and Trunks even when disabled at the tenant level.
Disabling the "Follow Me" feature from the graphical user interface (GUI) prevents it from being re-enabled using the feature code.
The time conditions status didn't switch correctly via toggle code or BLF.
A key highlight of this release is the introduction of the AI Tools module, part of the AI Assistants add-ons. This module replaces the global AI Transcription parameter in the Voicemail General settings, allowing you to enable voicemail transcription on a per-tenant and per-extension basis. Please note that the Voicemail Transcription feature is available exclusively for users on the Carrier Plus and VitalPBX One plans.
Introduce the AI Tools module as part of the AI Assistants add-on. This module allows for the transcription of voicemail and CDR recordings. Additionally, it allows for generating and emailing an analysis of the CDR call recordings.
Support for HTML templates is now available for Asterisk Voicemail.
From the Bulk Modification module, you can now massively enable/disable voicemail recording transcription for extensions.
Bulk modification capability has been added to update the "CallerID On Diversions" field for extensions.
The text used to create call recordings in the Recordings Management module is now saved as editable text for future revisions.
Deprecate the global AI Transcription parameter in the Voicemail General settings in favor of the AI Tools module, which allows voicemail transcription per tenant and extension to be enabled.
The alias "Europe/Kiev" is being used for the timezone "Europe/Kyiv" because of the current PHP version.
The firewall functionality/rules were restored before creating/renewing certificates.
Follow-me calls did not display the correct caller ID for extension to extension calls.
Imported MoH files from v3 backups using the old naming format were not playable through the GUI.
The custom context rules in the dial rules were missing due to a typo.
The time groups did not match correctly when using time zones.
Two-factor authentication (2FA) can now be enabled per tenant in the Tenants module under the Settings tab.
The OpenAI model "GPT-4o mini" is now available in the AI Assistants module.
Voicemail transcription using OpenAI is now available. You can select an AI API key in the Voicemail Settings (available for Carrier Plus and VitalPBX One subscriptions).
VitalPBX Mobile devices can now register to the server using a custom port configurable in the VitalPBX Connect Settings module.
Hot Desking devices now use the default language set in the Language parameter of the PJSIP settings.
Now, the firewall is enabled or disabled when renewing or creating Let's Encrypt certificates.
Scheduled queue callbacks can now be expired. You can set up the expiration time per queue callback item.
Calls originating from Queues were not being saved to CRMs.
Importing extensions with invalid headers led to an infinite loop that crashed Apache.
Call recordings didn't get converted as expected by the maintenance script.
The external caller ID was incorrectly displayed when the internal CID number did not match the extension number.
The timeout setting for Ring Groups was previously applied during blind transfers.
Enabling/Disabling summertime is now part of the "Phone Provisioning" add-on templates.
Now, the Key Expansion Modules are available in the Phone Provisioning add-on.
The French SMS provider "Way Interactive Convergence" is now part of the SMS module.
The script to clean old logs now runs every 15 days.
The network scanner on the provisioning add-on didn't detect certain Yealink and Grandstream devices.
Setting up a password for the admin user on Yealink devices via the Provisioning add-on didn't work.
It was impossible to update extensions using the "Import Extensions" module on Tenants with extension limitations.
Phone devices with the DND disabled were shown as "Idle" even when "Unregistered."
It was impossible to use the Phonebook links on some Alcatel devices.
Calls didn't get recorded after attending transfers.
Blind transfered calls to external numbers didn't add the Diversion headers on SIP invites.
The Queues' information didn't get updated in real-time on Switchboard.
The PBX Engine(Asterisk) got updated to v18.23.1.
Now, it is possible to enable the Callback feature on Blind Transfer from the "Advanced" tab of the extensions' module.
The Attimo brand is now available in the Phones Provisioning add-on.
The Grandstream WP models are now part of the Phones Provisioning add-on.
The "Max Contacts" field is now limited to a maximum of 10 contacts.
The IVR Stats queries got updated for a better performance when viewing/exporting results.
Using the devices' API endpoint was impossible with virtual devices defined in the PBX.
The provisioning module used invalid config file names for some Sangom "S" phone models.
The e-mail settings didn't get applied after importing/restoring a backup.
Using the bulk modifications module with many extensions caused an unexpected exception.
Importing extensions caused an unexpected exception on large sets.
The parameter "allow_recordings" was always set to "Yes" when creating tenants from the API.
The parameter "innodbbufferpool_size" was set to zero on machines using two or fewer GB of RAM.
Now, the CDR API endpoint returns the call recording URL.
The Apache and PHP timeouts are now higher to avoid a timeout when uploading large backups.
The default PHP upload size is now 80 GB.
The main Switchboard assets have undergone minification to enhance performance.
The Maintenance script has additional verbosity when manually executed via the command line using the flag "–debug."
The Dynamic Routing script has additional verbosity when manually executed via the command line.
The backup restoration from CLI shows steps logs to inform the client about what is in execution.
In some browsers, navigating forward or backward through audio files from the CDR report was impossible.
The VitalPBX Connect phonebook returned duplicated contacts.
The CDR API endpoint didn't return the correct audio file format after the mp3 conversion.
Blind transfer from calls coming from queues didn't save the call recording in the CDR.
The Zoho CRM was using the wrong domain for the Canadian data center.
The "GTP-4o" model is now available for the VitalPBX AI Assistants add-on.
You can now set the "External Signaling Port" for the default PJSIP transports.
Yealink "W" series phones can now be set up using the provisioning add-on.
Now, the PJSIP driver automatically reloads when enabling/disabling the trunk prefix for tenants.
The STIR_SHAKEN function didn't get compiled in the latest Asterisk update.
You couldn't use CIDR notation to define IP addresses in the trunk match field.
Turning off the trunk prefix for tenants didn't work as expected.
The AI Assistants API has been updated and is now using version 2. You can find more details about this update by visiting https://platform.openai.com/docs/assistants/whats-new.
Hangup hooks are now available per tenant to be executed after finishing a call(end-ext-dialing-hook, end-trunk-dialing-hook, end-outbound-dialing-hook).
The Dynamic Routing items didn't get deleted on the configured expiration time.
It was impossible to update the HTTP Server port because of an unexpected exception related to the Events Logger module.
The backup file was not backing up the fax folder.
Saving settings with long values were producing unexpected exceptions.
It was impossible to use one-digit extensions on the click-to-call dial plan.
Using the same extension number on the primary tenant and a sub-tenant produces a wrong validation message about device duplicity.
It was impossible to play call recordings after audio conversion on ZohoCRM.
Add SNOM M100, Grandstream DP base stations, and Sangoma D series phone models to the provisioning add-on.
Update provisioning files after updating the extensions' device information.
The blind transferred calls didn't generate a recording file per CDR entry.
BulkVS delivery status was considered as an incoming message.
Hourly CRONs didn't get executed
AI recording creation failed due to folder permissions.
The deletion of tenants was unsuccessful due to the absence of log events.
Importing extensions failed due to a logger limitation of concurrent requests per IP.
Asterisk got updated to v18.22.0
The "Event Logger" module is now available as part of the core to log users' events/interactions made in the GUI(Only core modules for now).
You can now configure the "Event Logger" data persistence in the "Maintenance" add-on.
Now, "Flowroute" is part of the SMS providers' add-on.
The parameters "Codecs Preference on Incoming Calls" and "Codecs Preference on Outgoing Calls" are now available in the "PJSIP Profiles" to define the codecs order and priority.
The OpenVPN add-on now includes the latest available ciphers for the server configuration.
The PJSIP trunk parameters "Contacts, Match, Server URI, and Client URI" are now validated to avoid user errors.
Even when no file was uploaded, the mime type was validated when sending faxes.
The "Dynamic Routing" add-on wasn't matching partial numbers.
The add-ons tab didn't appear in the branding add-on when using the "VitalPBX One" plan.
Creating new tasks in the "Task Manager" add-on was impossible due to a wrong validation.
Playing the system prompts sounds in the "System General" module throws exceptions.
It was impossible to access the GUI via HTTP in previous versions.
Because the global parameter "forcelogestwaiting_caller" was enabled in previous versions, the Queue calls distribution was affected.
Asterisk changes didn't get applied during updates due to a multi-thread implementation.
It was impossible to delete multiple Voicemails from the Users' portal.
Set security parameters in the provisioning template against ghost calls on Yealink devices.
The Poly templates didn't generate the account configurations with the correct parameters.
When logging in/out to hot desking devices, the hints related to queues didn't get updated.
The trunk calls widget on the Switchboard didn't show the calls when hit an IVR, Queue, or any other app.
The Sonata Switchboard was not using the right hints when logging in/out of the phone devices.
Add Yealink T31W, T34W, T44W, T44U, and some Sangoma series A models to the Provisioning add-on.
The CDR table is now optimized after running the maintenance tasks.
The extensions usage validation on the VitalPBX One plan didn't work when using Multi-Tenant.
In some cases, it was impossible to bulk extensions from a CSV using the Import Extensions module.
The DID Management menu didn't get removed after uninstalling the Multi-Tenant add-on.
Checkboxes didn't show correctly in the GUI.
New contacts/leads didn't get the first call interaction registered in the CRM.
It was impossible to delete empty backup groups.
The disk storage notifications didn't get sent.
Some CSPs on Apache were causing issues with add-ons like VitXi.
The branding settings got reset on each update.
Avoid script injection when creating a task through the Task Manager add-on.
The parameter "topology" was removed from the OpenVPN client files because of incompatibility with the latest OpenVPN Client version.
Modifying the Voicemail template from the Notification Templates module didn't reload the Voicemail driver on Asterisk.
In the Provisioning add-on, the Polycom accounts didn't get generated correctly.
Asterisk got updated to v18.21.0
The Virtual Assistants add-on is now available; this add-on leverages OpenAI technology to effortlessly create AI Agents.
With the Recordings Management module, you can now create audio recordings using the new text-to-speech feature. In order to utilize this particular function, it is necessary to download and configure the Voice Hub add-on.
The Voice Hub add-on is now available, which allows you to configure Microsoft and OpenAI for the text-to-speech feature.
A new command is now available to clean logs and save space in the hard drive. You can use this command by executing "vitalpbx clean-logs."
The Turkish language is now available as part of the VitalPBX GUI.
Receiving SMS webhooks events is now possible by configuring a URL in the "Messaging Provider" module.
The provider name is not displayed in the "Messaging Logs" module on sub-tenants.
The default upload size for forms has been increased to 1 GB.
The Phone Books add-on now supports uploading CSV using spaces as the delimiter.
It was impossible to delete items used as destinations for deleted extensions.
Delivered calls through the "Ring Groups" module were showing an invalid disposition and duration in the "IVR Stats" report.
It was impossible to access the "My Voicemail" module for new extension users.
The changes made to the music on hold via the Bulk Modifications module did not come into effect.
The emergency calls from a Hot Desking device did not appear on the Call Detail Record (CDR) report.
When using the RGB or RGBA format for the base color in the branding add-on, it was impossible to export the CDR in PDF format.
Changing the name of a Class of Service caused the phones associated with it to stop working.
The parameter "Force Longest Waiting Caller" was removed from queues.
It was impossible to move DIDs between tenants.
Agents were logged in with an invalid hint when using the API.
Infinite loops were generated in the Ring Groups dial plan due to incomplete updates or a corrupted Asterisk SQLite database.
The Phone Books URL wasn't correctly loading the contacts in the VitalPBX Connect app.
The sort mode was not working as expected in the Music on Hold module.
Under certain circumstances, the extensions status module throws an exception when listing the devices associated with a specific extension.
The licensing usage module didn't show all the created extensions across all the tenants.
Some servers got overloaded due to the multiple times execution of the script "update_tc."
The variable "CIDNUM" didn't get replaced in the URL path in the "Dynamic Destinations" module.
It was impossible to create users due to CSFR validation.
In some circumstances, the Dynamic Routing didn't match the incoming CID.
It was impossible to play media on VitXi, Sona Recordings, and other add-ons due to the Content Security Policies applied on Apache in the latest versions of VitalPBX.
The script to notify the system storage usage had invalid bash instructions.
Add provisioning templates for Poly B10, B20, and B30.
Protect the PBX against CSFR (CVE-2023-0480)
Protect the PBX against reflected XSS(CVE-2023-0486)
Transferred calls didn't get to voicemail when blind transferring from Ring Groups.
The hints didn't get updated when login/logout from Queues using the API.
Some apps and features stop working after changing the Class of Service name.
Asterisk got updated to v18.20.0
We are introducing the "Licensing Usage" module to control the usage of licenses for your add-ons and modules.
Now, it is possible to restrict the incoming concurrent calls per tenant.
It is now possible to add a description for the Tenant DIDs.
The Phones Provisioning now provides templates for the GXV 3450, 3470, 3480, GRP 2650, 2636, and some GHP models.
Now, it is possible to define a Switchboard user as an agent; this will limit the user actions to its own extension. You can enable this new option in the users' roles.
It was impossible to unselect the values from the field "Notify Missed Calls" on the Extensions module.
Queues were attempting to connect with unavailable agents.
Changes on the CEL settings didn't get applied on Asterisk.
It was impossible to configure a prefix on the SMS notifications module.
It was impossible to configure some SMS providers due to wrong validations on the module.
It was impossible to embed iframes on VitXi due to Apache2 restrictions applied in the previous VitalPBX version.
The OpenVPN server didn't start with the Firewall stopped.
The Pause status didn't get updated on the "Queue Members Summary" widget on the Sonata Switchboard.
It was impossible to delete Filters on the Sonata Recordings.
The Fanvil templates didn't come with the setting to retrieve the provisioning configs during the phone reboot.
Introduce the WhatsApp Connector add-on.
Add API endpoints to use the WhatsApp connector from third-party apps.
Add some Grandstream GXV and GXP phone models in the provisioning add-on.
Make Fanvil V series phone models available for provisioning.
Make VoIP Innovations part of the SMS Providers.
The spy feature didn't consider the devices in a busy state.
The expired records didn't get deleted from the dynamic routing.
The Dynamic Routing records were getting deleted even when the parameter "Delete Used Records" was set to "No."
Fix the date and time format for Fanvil Phones.
The CRM integration for Zoho CRM and Salesforce is now available. This integration will allow you to log calls, create contacts, and synchronize contacts to a local PBX phonebook.
Now, it's possible to configure Signalwire as an SMS provider.
The parameter "Inband Progress" is now available for trunks. When set to "Yes," the system will indicate ringing using inband progress.
The parameter "Force Longes Waiting Caller" is now available in queues. With this parameter enabled, the queue app will make sure callers are offered in order (longest waiting first), even for callers across multiple queues. Before a call is offered to an agent, an additional check is made to see if the agent is a member of another queue with a caller who's been waiting longer.
Forcing the MoH on Queue agents is now possible by enabling the parameter "Force Music on Hold."
The list of IP addresses for the GEO Firewall add-on gets updated.
Optimizing the PHP-FPM settings is now possible by executing the command "vitalpbx optimize-apache."
The commands to backup and restore the databases get improved.
The Apache security headers get improved.
Codecs and other settings didn't get applied globally.
The chosen destinations in the Language module disregarded the language preference given by it.
On trunks, disabled custom headers were always generated.
Let's Encrypt certificates were using the old X3RootCA intermediate certificate.
It was impossible to open the SMS logs module under certain conditions.
Calls that never left the IVR were not generating CDRs.
Class of Services were getting deleted without confirmation when deleting a Route Selection or Feature Category associated with them.
An unexpected exception was shown when trying to save a device in the provisioning add-on without a template.
Some switchboard actions were generating duplicated calls.
Update Asterisk to version 18.19.0
Add "robots.txt" to avoid crawlers. We expect this to stop "Search Engines" from flagging the PBX servers as "Deceptive Sites."
Add missed dependency for faxes functionalities.
Use the login font color from the branding add-on for the login inputs.
Set the right owner and group for the VitalPBX logger.
Fix Yealink date & time options on provisioning templates.
Fix provisioning for some FlyingVoice devices.
Bandwidth, Wavix, and Voxtelesys are now available as SMS providers.
Now, it is possible to customize the date and time format in the Voicemail e-mails.
Canceled calls by the caller were not getting notified by e-mail as missed calls.
NULL values in the outbound routes were causing exceptions when applying changes.
It was impossible to delete backup groups with corrupted backup files.
The speed dials data got mixed between tenants in the phone books add-on.
Failed/Busy outbound calls got duplicated in the CDR.
The Hanyang Digitech brand is now available for provisioning.
The Phonebooks add-on now provides the mobile and home numbers for VitalPBX Connect devices.
The URL provided in the provisioning add-on for CISCO devices was invalid.
Editing AMI users on the VitalPBX GUI caused unexpected exceptions under certain conditions.
The Queue Callback calls didn't preserve the position when using a different queue to schedule the callback call.
Queue Callback calls got duplicated under certain conditions.
The command to reset the Apache configurations was restarting the wrong service.
It was impossible creating backups after restoring a backup from VitalPBX 3.
Exporting IVR stats results threw an unexpected exception.
Asterisk got updated to version 18.17.1.
Update MariaDB ODBC connector to version 3.1.18.
The template for Grandstream GXV3380 got updated.
The brand Nurivoice is now available in the provisioning module.
Now, port 6001 comes open by default. The VitXi WebRTC add-on requires this port in the latest version.
Using the search feature in the tables from the Access Control module was impossible.
The dial plan didn't get applied after removing/adding DIDs from the Tenant's DID management module.
The Phonebook endpoints threw exceptions when the add-on was uninstalled.
The module "CDR Settings" is now available for configuring and enabling the batch mode; this mode is helpful for PBXs with high traffic. Enabling this mode will tell the Asterisk system to store the CDR in a buffer, helping to alleviate the load on the Asterisk server.
Now, it is possible to disable the tenant prefix for trunks; this is useful if you need to create more than one trunk(on different tenants) from the same provider using the "Username Auth" method.
In the Email Settings, now it is possible to use the protocol StartTLS.
The queue members widget on Switchboard now shows the agents' login time.
The list of IP addresses for the GEO Firewall got updated.
Now, the CSV and custom CSV CDR backends got disabled by default.
The email settings got improved on Sonata Billing.
Devices with an invalid profile attached to them were causing an unexpected exception when retrieving the devices from the API.
The system sent the caller internal CID for local calls to extensions with the follow-me feature enabled and the field "CallerID On Diversions" set to "Caller."
Incoming calls to local extensions were not honoring the Ring Groups ring time.
Under certain circumstances, using numeric values for the tenant prefix was causing devices duplicity at the Asterisk level.
In previous versions, it was possible importing extension devices without a username.
Provisioning some Cisco devices was causing an unexpected exception.
In some circumstances, the action "Apply Changes" was causing an exception related to the AMI Action IDs.
Receiving SMS in multiple extension devices sharing the same SMS DID was impossible.
It was impossible receiving SMS on regular desktop phones.
The extensions widget on Switchboard was not showing the established calls in real-time.
In the Switchboard, the extensions widget was hiding the action buttons/icons for extensions with long names.
A new module got added to manage the tenants' DIDs. It's basic but will get improved in future versions.
You can now receive missed call notifications by e-mail. This feature is only available for the Starter license and subscriptions.
You can associate an SMS number with an extension, allowing you to receive and send SMS from the VitalPBX Connect app.
VoiP.ms, DIDWW, and Commio are now available as SMS providers.
A new command got added to optimize the Apache configurations. You can execute it like this "vitalpbx optimize-apache." This command will configure the MPM_EVENTS module according to your server resources, allowing you to handle more concurrent connections/clients.
New phone models got added for the Flying Voice brand.
Now, it is possible to create provisioning server settings per tenant.
The default parameters for phonebooks on Yalink templates got improved.
The Polycom templates now include the time and codec parameters.
The GEO Firewall IP addresses got updated.
It was impossible to provision some SNOM device models.
Playing the default Asterisk sounds from GUI throws exceptions.
It was impossible to retrieve parked calls when the recording feature got enabled in the parking lot.
The "Applying Changes" action was not configuring the Pickup Group settings in the extension devices.
It was impossible to re-install add-ons from the GUI.
It was impossible to delete faxes after filtering the results.
It was impossible to create queues with extensions that had leading zeros.
The Dashboard was showing the wrong time on some time zones.
The PBX sent the wrong Caller ID when the parameter "Overwrite CID" was set to "Yes" in the outbound routes.
Under certain conditions, the error "2006 MySQL server has gone away" get thrown.
It was impossible to import extensions with descriptions using non-English characters.
The Dynamic External CID was not working rightly for extensions used as trunks.
It was not possible to uninstall the provisioning add-on from the add-ons module.
The backup module stopped working after restoring a backup from version 3.
Some migrations get updated to avoid issues with restored backups from version 3.
Some dependencies get added to ensure the PBX modules work well.
Calls between tenant trunks were getting duplicated in the CDR.
Vonage(Nexmo) and BlukVS are now part of the available SMS providers.
Now, it is possible to disable the 2FA feature from the command line. You can use the command "vitalpbx disable-2FA {USERNAME}," where the {USERNAME} variable must get replaced by the actual username or the e-mail address associated with it.
The list of IP addresses for the GEO Firewall gets updated.
The firewall's access control list module now shows 50 items by default.
The Caller ID was getting set to empty during transferred or transit calls.
The Queues Callback report was mixing the tenant's information.
Sending faxes was impossible due to folder permissions.
Creating or editing audio files from the recordings management module by phone was impossible.
Virtual Devices didn't get removed from the extensions dial string after removing them from the GUI.
The maintenance script was crashing when trying to clean call recordings of short duration.
An unexpected exception appeared when adding a new Connect device that had a PJSIP device profile with the transport set to "Auto."
Under certain conditions, it was impossible to edit extensions due to NULL values in the database.
It was impossible to download backups or create new ones on installations restored from VitalPBX 3.
The Voicemail settings get unapplied after creating an Extension with no devices attached.
We're thrilled to announce the first release candidate of VitalPBX 4! After extensive testing and feedback, we're confident this version is ready for a wider audience. Try it out and share your feedback to help us make final improvements. Get ready for the official release!
We are introducing the SMS add-on that connects your PBX to Telnyx, Twilio, Quest Blue, and Skyetel for SMS messaging.
Now, it is possible to send the Welcome email on demand for the extension's devices.
Asterisk got updated to version 18.16.0.
Anonymous caller detection got improved.
The phone books are now fully compatible with the VitalPBX Connect app.
You can specify multiple IP addresses in the Deny and Allow fields on the Extensions module.
The operator and portal settings were getting reset after importing existing extensions.
When creating a new queue, the system did not validate if the extension number was already in use.
Due to incorrect folder permissions, it was impossible to download PDF reports of the CDR from tenants.
The recording script configured in the System General module didn't get set up after resuming a call recording.
In some circumstances, using the Recording on Demand feature with tenants was impossible.
Add-on uninstall scripts didn't run during the add-on uninstall.
The OpenVPN Client module didn't display the connection information after it was activated.
The update status returned an error message even if the updating process was successful.
The Sonata Recorings is now available for VitalPBX 4.
Two new features get added to pause and resume call recordings. *1 for incoming calls and *00 for outgoing calls.
The phonebooks are now available for usage on the Gigaset NX70.
Now, the callers' position is preserved for the queue callback.
Now, it is possible to pause and resume call recordings for the "Call Recording On Demand" feature code.
For the custom destinations, a custom Caller ID may now be set.
Now, the DISA password is optional.
We've updated the list of IP addresses for the GEO Firewall.
Now, a default password got generated when creating new provisioning templates.
Apache was not dumping the data events into log files.
When importing extensions under certain conditions, an unexpected exception got thrown.
It was impossible creating Let's Encrypt Certs without defining the sub-domains field.
It was impossible accessing the extension settings from the portal.
It was not possible to upload call recordings from tenants.
It was not possible to disable the call recordings features when creating tenants from the API.
The license modal was not showing the application name configured in the branding add-on.
It was not possible to customize the billing URL from the branding add-on.
The Sonata Billing is now available for installation on VitalPBX 4.
Now, it is possible to allow wildcard certificates in the PJSIP Settings.
The PJSIP Profile now includes a set of new parameters for RTP and NAT management.
Now, the trunks module adds two new parameters that might be needed for sending Anonymous calls.
The Starter License now includes 10 VitXi WebRTC users.
Only the Starter License will unblock the extensions limit and the extended features.
The default limit of 500 items for the CDR API got removed.
The Asterisk Sounds got updated to include the "Silence" sound files.
It was impossible updating VitalPBX from the GUI.
The Caller ID in the DISA module got overwritten in previous versions.
The OpenVPN package did not include a set of files required to enable their service.
It was impossible to provision Aastra phones.
In some circumstances, the outbound route patterns got automatically removed after saving or updating.
Some API endpoints were failing due to the upgrade of PHP.
The GUI was un-accessible from Safari browsers when using SSL Certificates.
Using numeric prefixes on tenants was causing data inconsistency.
It was impossible to delete certificates.
The login background image did not completely fill the screen in some monitor sizes.
The Sonata Switchboard was not working when using SSL certificates.
Now, the Sonata Stats and Dialer add-ons are available for installation.
We are introducing a new parameter(Contact Header) on the PJSIP trunks that allow overwriting the user portion of the Contact header.
The call waiting tone is now optional. It can be globally enabled/disabled from the System General module.
The Asterisk was sending the internal CID on external calls.
After installing the Authentication Codes add-on, it was impossible accessing the add-ons module.
Opening the 2FA modal in the users' module threw an exception.
In some circumstances, an exception was thrown when opening the users' menu.
The VitXi add-on is now available for installation.
The switchboard add-on is now available for installation.
We've added some new parameters to the PJSIP profiles for RTP and NAT management.
Improve compatibility with PHP 8.1.
Improve the parameters' values for the MariaDB optimization.
Applying changes after performing any action in the Technology Profiles module didn't reload the required drivers on Asterisk.
Fix package installation for the Virtual Faxes add-on.
In the previous version, it was impossible to use the backup and restore module.
The dashboard didn't update some information in the prior version.
Upgrade to PHP 8.1
Update Asterisk to version 18.14.0
You can now configure the Busy and Unavailbe voicemail greetings from the GUI.
The operator feature is now available per extension instead of globally.
We are introducing the authentication codes add-on. This add-on allows you to route calls depending on an authentication or PIN code.
We are introducing the Hotel Management add-on. This add-on allows you to integrate your PBX with CHAR PMSLINK, a system that facilitates connectivity between the hotel's equipment and PMS systems.
Include a configuration file to configure APIBAN's ban list.
Update Geo Firewall MAP and IP Addresses.
Play a busy ringback tone to the caller when the callee is already on a call.
The OpenVPN add-on was using an invalid user and group.
It was impossible to play the call recordings in previous versions.
The outbound recordings were not working in the previous version.
It was impossible to upload a profile picture for users.
It was impossible to configure the Email Settings.
It was impossible to create certificates.
Fix branding CSS generation and permissions.
Fix core application permissions.
Migrated to Debian 11.
Add support for raspberry PI devices (ARM64).
Update Asterisk to version 18.12.0.
VitalPBX provides a robust and scalable platform, which will allow you to manage your PBX in an easy and intuitive way.
2292 NW 82nd Ave HB 002998 Miami, Florida 33198.
Email: sales@vitalpbx.com
At VitalPBX, your feedback is crucial. If our system has benefited your business, please leave us a review on Trustpilot. Thank you!