We are more than glad to release a new version of VitalPBX, which brings some remarkable changes, improvements, and fixes.
A short key (a) is added to run asterisk -rvvvvvvvvvvvv from the ssh console. Thanks to Federico Pereira for his contribution.
Asterisk: The asterisk version has been upgraded to version 18.3.0.
Linux CLI: A new command has been added for resetting the Apache configurations. vitalpbx --reset-apache-conf
VitalPBX Communicator: This add-on has been marked as an extended feature
Backup & Restore: The possibility of optionally backing up and restoring the Sonata Add-ons have been added.
Video Conferences: The default URL for the video conference server has been changed to " https://meet.vitxi.org/"
Phonebook: Now it is possible to export external contacts to CSV format.
Phonebook: Now it is possible to add up to 3 phone numbers for external contacts.
Extensions: A new “Contact Info” tab is shown when the phonebook add-on is installed. This tab allows adding additional information for the internal phonebook.
API: Several endpoints have been implemented on API, most of them focused on Call Center features, like login/logout, pause/un-pause from queues. Nevertheless, we have added an endpoint for sending faxes right from the API.
Switchboard: A new widget for embedding URL has been added, which might be useful for showing internal applications like CRM, customers’ info, and others.
Queues Callback: A higher priority is assigned to any caller coming from the queue callback.
Queues Callback: The field for configuring the queued calls ring time now is an open field instead of a dropdown.
Queues Callback: Queued callers are retrieved in ascending order
Provisioning: Now, the provisioning module shows the URL to be used for option 66 on routers or DHCP servers.
Hot Desking: Now it is possible to use the “*90” feature code to log into a hot-desking device.
Core: Now, the database configurations for the MariaDB/MySQL “root” user and VitalPBX user are read from a plain text file located at “/etc/vitalpbx/database.conf”. This file adds more flexibility at the moment of installing the VitalPBX database on a different server.
Branding: HTML tags like “description”, “application-name”, “theme-color” and others are now taken from branding add-on.
Hot Desking: it was using the wrong hints for retrieving the devices’ status on MT environments.
Provisioning: Folders for storing provisioning files on a Multi-Tenant environment didn’t have the right permissions.
MultiTenant: It was not possible to switch between tenants when using mobile devices.
Import Extensions: It was not possible to import extensions when the column “followme-enabled” was undefined/empty.
IVR Stats: The stats reports were not showing the CDR data for some calls or destinations.
GUI: It was not possible to read QR codes when using dark mode.
Maintenance: The conversion process of audios from “wav” to “mp3” was not converting all the recordings.
Maintenance: The cleaning process for CDR data didn’t consider the tenant. This was producing that data from other tenants was deleted in an invalid range of time, ignoring the module configurations.
Provisioning: The command for rebooting Fanvil’s phones has been changed.
Provisioning: Internal fixes and improvements have been added for Alcatel and Flying Voice brands.
Provisioning: the brand "Aastra/Mitel" has been added as part of the supported brands.
Features: now, when the DND feature is enabled, the extensions are set as "IN_USE" to avoid delivering calls from queues to those agents with the DND feature turned on.
Queues Callback: now, it is possible to define the priority that queued calls will use when entering the queues.
I18n: we have updated the Russian and Italian languages.
PJSIP Reports: the contacts' status doesn't show correctly in un-multi-tenant environments.
Backup and Restore: the restore functionality didn't work when restoring backups with external add-ons included(Switchboard, Stats, Recordings, VitXi, etc.)
Switchboard: the project's head libraries are now updated to improve the application performance.
Switchboard: the Portugues(pt_BR) language is now available in the application's GUI.
Switchboard: various fixes for the better functionality of widgets like extensions and queues are now applied.
Sonata Recordings: now, it is possible selecting the desired extensions during the synchronization.
Trunks: now, it is possible to disable from the GUI the hangup audios played after getting an abnormal hangup cause.
Ring Groups: a new parameter to enable or disable skipping busy extensions is now present in the GUI.
Dial-Plan: extensions without external CID defined were sending the internal CID when the Outbound Routes or Trunks have the "Overwrite CID" parameter set to "If not provided."
Parking Lots: it was impossible creating the same parking lot range in different tenants.
Virtual Faxes: this add-on has been rebuilt to get rid of Hylafax dependencies in favor of native Asterisk functions/applications (SendFAX() - [resfax], ReceiveFAX() - [resfax]). With the new version of this add-on, the "General Settings" module has been removed, and the tab in the "IAX Reports" module for monitoring the devices state is now removed as well.
Virtual Faxes: now, it is possible to customize the email templates for received faxes and error notifications of sent faxes.
Recording Management: now, it is possible to define a dialing code to re-record any existing audio through the phone.
Branding: now, it is possible to define different logos for the dark mode style.
PJSIP Profiles: three new fields are now available for handling the expiration time of endpoints.
Trunks: a new field is now available to define a prefix to append before sending the call to the provider.
GEO Firewall: the list of IP addresses got updated for all countries.
IVR Stats: the stats reports now only list the IVRs with the option "Generate Stats" enabled.
Provisioning: the Grandstream WP820 is now listed as a supported model.
Provisioning: The key type "BLF/NEW Call" is now available for Fanvil phones.
Extensions: the portal feature now comes disabled by default (for new installations only). Additionally, extensions with this feature enable and using the extension number as a password will be updated with a stronger password to avoid security risks.
Voicemail: a malformed email was sent when the "MP3 Attachment" was enabled on the "Voicemail General Settings" module, and the extensions have the voicemail attachment disabled.
Voicemail: passwords did not save in Asterisk files, so they got overwritten in multi-tenant environments after applying changes.
PhoneBooks: the home number is getting saved now as expected.
Active Calls Reports: the IAX2 calls are now displayed rightly.
ClearlyIP: the unexpected exception thrown while synchronizing the emergency locations is solved now.
Trunks: now, it is possible to define the list of allowed identifiers for a trunk endpoint. Additionally, it is possible defining a match header parameter to match endpoint by headers.
PJSIP Settings: A new field that allows defining the order to match endpoints on incoming requests is now available.
Virtual Faxes: the error information got while sending or receiving a fax is now stored and shown as a tooltip in the fax viewer module.
CDR: now, the PDF reports show the APP name configured in the branding module.
Dashboard: the IAX2 registration counter was not showing the registered device after the last VitalPBX update.
Virtual Faxes: incoming faxes without CID name or number were not stored rightly.
We are pleased to announce VitalPBX version 3.1.0; this version iron out issues reported by our customers and the community, introduce some improvements, and the most exciting, introduce the long-awaited Microsoft Teams add-on.
Asterisk: Asterisk comes updated to version 18.4.0.
Microsoft Teams: the new add-on for ms-teams integration is now available.
Ring Groups: a new option for adding/removing the no release flag(/n) from the ring groups members is now available. Disabling this option can help with transfer issues in some phone brands like Polycom.
API: add an endpoint to retrieve the faxes logs.
API: now, the endpoint for sending faxes returns the log IDs.
Virtual Faxes: now, when sending faxes by GUI or API, it is possible defining the resolution, max retries, and retry time.
Users: users with the "Super Administrator" role are now considered super admin users. Before, it was impossible creating super admin users.
Certificates (Let's Encrypt): validate if the private key matches with the certificate before replacing the current certificate files; this avoids the HTTP service crashes when the system cannot renew the certificate.
Backup and Restore: it was impossible restoring backups in the previous version.
Queues CallBack: skip "join announcement" on queues to avoid calls get answered by the announcement instead of an agent.
Tenants: deleting a tenant was throwing an unexpected exception.
API: The phonebook endpoint didn't return the email address of internal contacts.
Tenants: the "Concurrents Call Limit" field was getting saved but not read in the GUI.
We are pleased to announce VitalPBX 3.1.1; this version irons out issues reported by Customers and VitalPBX’s community. Additionally, this version includes significant improvements and additions in modules like the provisioning add-on, the API, and others.
Asterisk: this new version of VitalPBX comes with Asterisk 18.5.1.
Mini HTTP Server: now, it is possible to define the limit of HTTP/WS connections.
Parking: now, it is possible to enable recordings per parking lot.
Outbound Routes: now, it is possible to enable call recordings at the outbound routes level.
Trunks: now, it is possible to enable call recordings at the trunks level.
API: now, it is possible to create, delete and update tenants. Additionally, two new API endpoints were added to add or delete the inbound numbers of a specific tenant.
API: a new set of endpoints are now available to retrieve information from Route Selections, Outbound Routes, Roles, and Users.
Provisioning: the phone models H3G, H3P, and H6 from Alcatel Lucent are now available for provisioning.
API: now, it is possible to define the Caller ID name and number in the click-to-call endpoint.
Phonebook: now, accessing a phonebook URL through the browser returns "Forbidden" instead of "Not Found" to avoid confusion.
CDR: now, the CDR report use as default range the current date instead of the whole month.
Provisioning: the DSS keys on Flyingvoices templates were defined wrongly.
Provisioning: saving Alcatel Lucent devices was producing unexpected exceptions.
Provisioning: images for Alcatel Lucent and Flyingvoice devices were not loaded.
Provisioning: the activation license was not read correctly.
Extensions: the follow-me feature didn't work when enabling the auto-answer option.
Bulk Extensions: when creating extensions with the bulk extensions add-on, the internal caller ID was used as the emergency caller ID.
GEO Firewall: the previous list of IP addresses was blocking addresses of allowed countries.
Feature Codes: the attended and the blind transfer were disabled in the previous version. This issue was also affecting features and calls that required the caller to press the hash key.
GUI: module titles were displayed wrong when using dark mode with the multi-tab feature disabled.
We are glad to announce the second release of VitalPBX 3.1.1. This version carries off some issues related to provisioning, paging & intercom, dial-plan, and others. It also includes new feature codes and some core improvements. We want to thank our customers and the community for their contributions to the VitalPBX Project by reporting issues, buying licenses, and suggesting improvements and new features.
Feature Codes: a new feature code to perform anonymous outbound calls on demand is now available. The default code for using this feature is *88 plus the number to be called.
Feature Codes: a new feature code to do two ways audio paging is now available. The default code for using this feature is *83 plus the number to be page.
Switchboard: a new widget called "Extensions Summary" is now available.
Switchboard: the extensions widget now keeps the order of the selected items.
Sonata Billing: a new field is now available in the report builder that allows defining if the ringing time must be considered or not as part of the duration of the calls.
Hot-Desking: some variables did not get configured after the confirmation audio; this was producing that users who hanged up before the confirmation message finished would not get their hot desking devices configured.
Virtual Faxes: sending any fax was generating an error notification.
Queues: after switching the agent announcement from existing audio to none, the previous announcement was still playing.
Paging & Intercom: the auto-answer for paging devices was not working with the follow-me diversion enabled.
Phonebooks: some MySQL migrations remained after uninstalling the phonebooks add-on; this produced issues when someone uninstalled and then reinstalls this add-on.
Provisioning: it was impossible to restart Alcatel devices from the provisioning form.
Provisioning: the line value of the Flying Voice' DSS keys started from zero instead of starting from one.
Provisioning: the remote phonebook items were not being created for Flying Voice devices.
Provisioning: it was impossible to retrieve configuration files for some Alcatel phones models.
Switchboard: it was impossible to monitor extension with IAX2 devices.
Sonata Billing: some summary reports returned all fields with zero value when using the CSV format.
We are pleased to announce the third release of VitalPBX 3.1.1. This version iron out various issues, add some improvements, and introduce the Deutsch language for the GUI.
GUI: Now, the GUI comes translated to Deutsch.
Provisioning: the notify command for restarting Atcom devices is now available.
Provisioning: Now, it is possible to define the HTTPS port in the server settings.
Provisioning: Use a static name for Atcom's firmware.
Core: now, the mobile logo is shown on the login page when accessing the PBX GUI from a mobile device.
Core: now, the double click is not allowed when submitting forms; This is to avoid saving duplicated items, especially in the extensions module.
Sonata Billing: now, it is possible sharing carrier rates with tenants.
Provisioning: the provisioning URL showed the public IP instead of the domain name.
Provisioning: the DSS Keys for various phone brands and models got generated in the wrong key positions.
Provisioning: it was not possible to provision SNOM devices.
Extensions: unlinking devices from extensions made the devices drop-down filled up with all the device items in the tenant.
Extensions: it was impossible to save extension info in the users' portal when using multiple email addresses.
Hot Desking: the emergency CID was unshown when editing a device.
Hot Desking: the module allowed creating devices with duplicated names.
Maintenance: recordings were not getting converted due to a path issue.
Sonata Billing: total column in reports returned zero when using a numbering format different from the USA numbering format.
Sonata Recordings: the user profiles were unshown on tenants.
We are more than glad to announce VitalPBX 3.1.2 R1. This version introduces Asterisk 18.6.0, improvements and fixes for the provisioning add-on, a couple of new features, and much more.
Core: Asterisk comes updated to version 18.6.0.
Provisioning: now, it is possible to upload the phone's wallpapers in the provisioning templates.
Provisioning: now, it is possible to overwrite an existing template with the base template content; this is useful when a new version of the provisioning add-on is released and includes fixes related to a specific phone model template.
Provisioning: now, it is possible to define the default phones' GUI password in the provisioning templates.
Inbound Routes: a new field labeled as "Drop Anonymous Calls" is now available. Enabling this option will drop any anonymous call coming through a specific inbound route.
Sonata Billing: now, it is possible to generate reports by call categories.
i18n: new translations updates for the German(Deutsch) language.
IVR Stats: now, the caller and callee info is stored by the IVR Stats to avoid empty values when calls get forward to announcements, queues, etc.
Portal: now, the date range on the CDR comes configured to today's calls.
Sonata Recordings: the CSS styles come updated for better performance on iOS devices.
Sonata Billing: the CSS styles come updated for better performance on iOS devices.
Sonata Switchboard: the CSS styles come updated for better performance on iOS devices.
Sonata Switchboard: now, the call's origination from the switchboard doesn't generate multiple entries in the CDR.
Extensions: the image icon in QR codes got removed to avoid scanning issues with some mobile devices.
Extensions: the DND was part of the extensions hints producing invalid states values. In previous versions, the extensions hints with devices disconnected from the server got shown as Idle instead of Unavailable.
Queues: it was impossible to log in on queues in systems with more than two hundred queues.
Core: in some cases, it was impossible to play audio files from the CDR report.
Phone Books: correct the URL generated for retrieving phonebook contacts.
Provisioning: repair the URL generated for provisioning.
MS Teams: fix transfer feature for MS Team users.
Provisioning: some language values for Alcatel H2 phone models were invalid.
Provisioning: in the previous version saving the HTTP Settings form generated an unexpected exception.
We are pleased to announce the availability of VitalPBX 3.1.3. This release addresses issues raised by our customers and the community. It also has some new features and enhancements.
Multi-Tenant: Now, it is possible to route calls to tenants' DIDs internally instead of sending them out using the trunks. You can enable this behavior by setting the parameter "Route Calls to Tenant DIDs Internally" to "Yes" on the System General module.
Provisioning: Some phone models from Polycom and Cisco are now part of the provisioning templates.
Virtual Faxes: Now, it is possible to create a fax device with multiple email addresses.
Sonata Billing: Now, the PDF reports support Hebrew and Arabic strings.
Sonata Billing: It was impossible to calculate rates for numbers that contained the "*" symbol.
Time Groups: Adding a new row with no values resulted in unexpected Time Conditions behavior.
OpenVPN: It was impossible to enable the VPN server with the VitalPBX firewall turned off.
Provisioning: The wallpaper parameters for Yealink phones were not well applied. Hence, the wallpaper image didn't get shown on the phone.
Provisioning: In some conditions, the provisioning didn't load the wallpaper image.
Virtual Faxes: Incoming faxes were arriving via email without attachments.
Provisioning: Now, the logo set in the branding add-on is the placeholder for the Wallpaper entry.
Extensions: Importing extension devices with an incorrect profile caused Asterisk to crash. Now, the profiles got validated under the hood before generating the configuration files.
Dashboard: In some circumstances, the time displayed in the dashboard differs from the time shown on the server.
Extensions: Revert the functionality of supervising the DND along with the devices' status.
Import Extensions: Importing extensions with a different delimiter did not work, particularly on macOS devices.
CID Lookup: The use of phonebooks as a CID Lookup source did not work.
Log File Viewer: In some circumstances, it was not possible to load the log files.
Microsoft Teams: Attended transfers from MS Team users were not possible.
We are pleased to announce the availability of VitalPBX 3.1.4 R1. This update fixes concerns highlighted by customers and the community while adding new features and refinements.
Core: Asterisk comes updated to version 18.8.0
i18n: The French langue has been updated. Thanks to Sébastien Le Moal for helping us with this regard.
Queues: A new field is now available for defining if rings or not unavailable agents.
API: Creating, updating, and deleting queues is now possible.
API: New endpoints get included to retrieve PBX destinations.
API: The click-to-call endpoint now supports passing variables for the generated channels. Nonetheless, the request has to be in JSON format.
Security: Requests to VitalPBX GUI from non-browsers applications now got rejected. Furthermore, if the same IP generates multiple requests, the Fail2Ban app will add it to the block list.
Dynamic Destinations: You can now configure a timeout for the URL source type.
Custom Contexts: This application is now accessible from Tenants. Nonetheless, it is not available for the Community version of VitalPBX. It has to be considered an extended feature.
DialPlan: The message context was not processing SIP messages when the To parameter was in the format pjsip:"1234"
Security: When someone accessed the API using HTTP while Apache was configured to redirect any request to HTTPS, the Fail2Ban program banned the redirection requests.
Paging & Intercom: The application rang the caller even if it was part of the callee list.
Follow-me: Internal extensions ceased to ring while an external callee confirmed whether or not to accept the call.
Trunks: Calls were still being routed to trunks that had been disabled.
Outbound Routes: The combination of PIN sets in the outbound routes and extensions with the Pinless feature enabled made outgoing calls to fail.
Follow-me: The language configuration got ignored by the feature. If the extension got set to enUK and the caller got diverted to the follow-me functionality, the prompts reverted to enUS.
Sonata Billing: in some conditions, the scheduled reports didn't get generated.
Sonata Recordings: Previous versions of the software didn't include the FTP functionality.
To address the queue concerns highlighted by customers, we are releasing VitalPBX 3.1.4 R2. It appears that the latest modifications to Queues implemented in Asterisk 18.8.0 are causing Agents to behave incorrectly. For those using Asterisk 18.8.0, after updating VitalPBX, you can downgrade to the previous version using the command: yum downgrade asterisk asterisk-paging asterisk-dpma asterisk-core asterisk-voicemail asterisk-pjsip asterisk-doc asterisk-curl asterisk-odbc asterisk-dahdi -y
Core: Allow downgrading to the previous Asterisk version.
Security: The GUI now blocks GET and POST requests from non-browser applications.
Core: Introduce some performance improvements.
A day before Christmas, we are pleased to deliver a new version of VitalPBX. This version includes a couple of new features, general fixes and improvements, and more. It has been a long year full of challenges, with ups and downs, and we really want to say thank you to those that have been through thick and thin during all these years. Again, from the VitalPBX team, thanks to all of you for being part of VitalPBX. We wish you happy holidays.
Certificates: now, you can define multiple sub-domains when creating a Let's Encrypt certificate. The hostname or base domain wouldn't be part of the certificate but the sub-domains. So, if your base domain is mybpx.com, in the sub-domains field, you should define "sip01.mypbx.com," "sip02.mypbx.com," and so on.
Core: a new module is now available to create custom transport for the PJSIP technology. With this module, you can define new PJSIP transports to bind a different address and port or use a distinct TLS method.
Extensions: now, it is possible to assign virtual devices to extensions. Virtual Devices are practical for users or agents who need to accept calls on their mobile phones.
Asterisk: now, the ARI modules are enabled by default.
CDR: now, the PDF reports support the Korean language.
Conferences: a validation got implemented to avoid using the same password for admin and users.
Asterisk CLI: commands sent from this module got lowercase automatically. Thereby, no results were returned if a portion of the command was supposed to be in uppercase.
Core: now, the QR code is generated with some margins to improve its readability for Android devices.
Outbound Routes: deleting a PIN set attached to an Outbound Route didn't update the DialPlan. Hence the outbound routes with that PIN set assigned were still asking for a password.
Provisioning: fixes for Polycom and Cisco base templates are now included.
Provisioning: it was impossible to pick templates for devices discovered during network scanning.
Custom Contexts: in the previous update, the existing custom contexts items disappear from the menu.
Switchboard: calls generated from the switchboard with a virtual extension(Hot Desking) didn't show the right call source in the CDR.
Switchboard: in some circumstances, the Extensions Summary widget didn't get updated in real-time.
We are pleased to announce the second release of VitalPBX 3.1.5. This new version includes fixes and improvements on certificates, backup and restore, and more.
i18n: The Brazilian and Russian translations are now updated.
Backup and Restore: Now, Asterisk gets fully restarted when finishing the restoration process.
Backup and Restore: The add-on migrations are applied when required.
Extensions: now, it is possible to export and import Virtual Devices.
Core: some hints didn't get update correctly.
Certificates: it was impossible creating certificates without defining the sub-domains.
We are glad to announce the third release of VitalPBX 3.1.5. This version’s goal is to stabilize the platform. Hence, it doesn’t feature many modifications.
PhoneBooks: Phonebooks are now compatible with SNOM devices.
PhoneBooks: the URL generated didn't use the correct protocol.
Outbound Routes: the dial-plan to route the calls to Tenants DIDs is now only generated if the Multi-Tenant add-on is installed.
System General: now, the option to route calls to Tenants DIDs internally is shown only if the Multi-Tenant add-on is installed.
Core: in some cases, applying changes resulted in an unexpected exception.
We are more than glad to announce the fourth release of VitalPBX 3.1.5. We addressed the majority of the issues identified by the community in this release. Additionally, we have implemented several improvements under the hood.
Feature Codes: now, it is possible to pick up single-digit extensions with the "Direct Pick Up" feature code.
Firewall(Fail2Ban): The sending of emails every time the fail2ban is restarted is now turned off by default.
Provisioning: the list of MAC addresses for Alcatel phone devices gets updated.
I18n: the Brazilian Portuguese gets updated.
Extensions: With the new VitalPBX mobile app, we are deprecating the "Push Notifications" parameter. Instead, we are adding a new parameter to enable or disable the generation of the QR codes.
Phonebook: it was impossible to use the VitalPBX's phonebooks on SNOM devices.
Firewall(Fail2ban): in previous versions of VitalPBX, the email sender wasn't correctly configured.
Provisioning: it was impossible to load the Cisco configuration files from the VitalPBX GUI.
Speed Dialing: imported speed dial codes didn't get created in Asterisk's dial-plan.
Certificates: generating certificates without defining a subdomain caused an unexpected exception in the prior version of VitalPBX.
Switchboard: the status of the DND feature didn't get updated appropriately.
Switchboard: the number of available members in the queues widgets didn't get updated correctly.
We are excited to announce a new VitalPBX version. This new version brings up various bug repairs, enhancements, and a couple of new features. Additionally, we are introducing Asterisk 18.10.0.
Asterisk: we are updating Asterisk to the 18.10.0 version.
Dialing Restrictions: now, it is possible to define call restrictions for local numbers like conferences, paging & intercom, etc.
Queues CallBack: now, it is possible to customize the DTMF digit for requesting a queue callback.
i18n: we've updated the Brazilian translations on the VitalPBX GUI.
Audios: we've updated several audio packages to include all of the Asterisk prompts for those languages.
Trunks: in certain circumstances, the dial prefix didn't get prepended.
Parking: unpicked calls from parking lots with the option "Return to Originator" enabled got hung up instead of ringing the number that parked the call.
Ring Groups: calling ring groups with the option "Allow Diversions" enabled end up in Voicemail instead of ringing the members; this happened when the group members had Follow-me or DND enable.
Import Extensions: when attempting to import extensions, the GUI threw an error in some cases.
Dialplan: in some circumstances, the call got into an infinite loop when calling the queues login/logout feature.
We are pleased to announce a new release of VitalPBX. This new version includes substantial improvements for the Provisioning add-on. Additionally, we are addressing various issues reported by customers and the community.
Provisioning: Now, it is possible to overwrite the templates' keys and phonebooks settings per device.
CEL Events: The CEL events come deactivated by default for new installs. When these events are enabled on busy PBX systems, we've noticed that the database may crash.
System General: now, it is possible to enable/disable the diversion headers generated by VitalPBX. This option comes disabled by default.
Geo Firewall: the list of IP Addresses got updated.
i18n: the Brazilian translations get updated
Provisioning: there were a few missing translations in the provisioning module.
Recording Management: in certain circumstances, closing the audio player was impossible.
AMI: the deny and permit fields generated empty values when concatenating multiple IP addresses.
Extensions: it was possible selecting invalid values for the DTMF field.
PJSIP Transports: got an unexpected exception when creating a PJSIP Transport with local networks.
Parking: in some circumstances, the parking gets into a loop when trying to return the call to the originator.
Parking: the parameter "Comeback to Origin" wasn't honored.
Parking: when editing existing parking lots, it was possible to assign parking spaces used by other parking lots.
ClearlyIP: configuring and enabling this module collapsed the PJSIP driver.
Maintenance: in some circumstances, the CDR's data wasn't getting removed by this module.
Switchboard: The search feature didn't work in the extensions widget.
Switchboard: An unexpected exception happened on systems with no queues(Only visible through the browser console).
Sonata Billing: it was not possible to calculate rates for incoming calls. For existing installations, you have to re-synchronize the trunks.
Sonata Billing: the system was generating costs for unanswered calls.
The VitalPBX version 3.2.1 R1 is now available. This new version includes significant security patches along with regular fixes and enhancements. To provide some context, we got notified that the backup files could be retrieved in the previous versions using a browser and a brute force script. Hence, this version implements security enhancements to protect the backup files. Fortunately, the incident was kept under wraps, and no users have been affected by the problem. Thereby, we recommend updating your PBX as soon as you can.
Virtual Faxes: After successfully sending fax, an email notification is now sent.
Backup and Restore: the backup files are no longer accessible via a public web address. Additionally, only authenticated users could now download the backups.
Call Recordings: now, the call recordings are played using an authenticated route. The public path utilized in the previous versions is still available, but we expect to remove it in future versions.
Follow-me: formerly, when using the parameter "Prompt Callee" in a list of multiple phones(Internal and Externals), the call for the rest of the phones gets hanged up if one of the callees answers, even before the callee press one to accept the call.
Follow-me: the caller didn't get forward to the called voicemail after failing to reach the list of phones set in the follow-me.
Extensions: previously, it was allowed to use the same device name for trunks and extensions' devices. When using PJSIP, declaring two devices with the same name resulted in the server dropping registration requests.
Virtual Faxes: it was impossible to retrieve the list of faxes filtered by a specific fax device.
Provisioning: after picking specific phone models and brands, an unexpected exception happened.
Parking: the option "Return to Originator" was not working for outbound calls.
Extensions: the stored DTMF option was not being loaded by the GUI.
Extensions: an unexpected exception occurred in certain circumstances after modifying the DTMF parameter.
We are pleased to announce a new version of VitalPBX. This new version includes improvements in the provisioning add-on, Switchboard, Phonebooks, and Virtual Faxes. Additionally, we are addressing a couple of issues and introducing database optimizations.
Provisioning: on the provisioning templates module, it is now possible to configure the date and time format for the phones' brands and models that support it.
Provisioning: the phone models "Yealink T58W, Yealink T30, Yealink CP935, and Alcatel M8" are now available.
Core: we are releasing a new script that optimizes MariaDB's performance. This script gets applied automatically for new installations. In the case of existing installs, you can run the command "vitalpbx —optimize-mariadb" after business hours.
Switchboard: after retrieving a parked call, the call gets updated with the actual CID info on the extensions widget.
Queues: the parameter "shared_lastcall" comes enabled by default. This parameter makes the last call and calls received be the same in members logged in more than one queue; this is useful to make the queue respect the wrap-up time of another one for a shared member.
Email Settings: avoid sending emails from system users (asterisk@domain.com, apache@domain.com, etc.)
Phonebooks: it was impossible to read phonebooks from some Yealink devices.
Conferences: the calls were getting mixed between tenants when using the same conference extension numbers.
Virtual Faxes: the issue for filtering faxes by fax device was still present.
Switchboard: the application now filters all calls without CID Name and Number.
We are excited to announce the release of a new VitalPBX version. This new version includes several improvements, bug fixes, and a few new features.
Ring Groups: it is now possible to define an announcement to be played back to the callers before ringing the members of the ring group.
Multi-Tenant: it is now possible to search for a tenant by description or DID.
Speed Dials: now, it is possible to use patterns on this module.
CDR: the header and footer of the PDF reports are now translatable.
GUI: now, the default Asterisk sounds from Follow-me, Queues, and other modules are played using the current user's language. Nonetheless, the Asterisk prompts have to be installed for this to happen.
Ring Groups: we've added a validation to avoid using the same ring group as the final destination to avoid generating infinite loops on Asterisk.
Emergency Calls: now, the default dispatchable location is used for email notifications when the designated one cannot be found.
Queues: now, the Join Announcement isn't played back when the parameter "Join Empty" is set to "No" or "Strict."
CDR: clicking the refresh button (located in the bottom nav bar) didn't reload the CDR info.
Users: it was impossible to create portal users in sub-tenants.
Emergency Calls: in some circumstances, getting the CID name and number from the default dispatchable location was impossible.
Provisioning: In the previous version, it was impossible to save the scanned devices.
We are glad to release a minor version of VitalPBX 3, which includes some fixes and improvements. Plus, we are updating the Asterisk version to v18.12.0.
Provisioning: we're introducing the Dinstar Gateways.
Sonata Recordings: it now comes translated to Brazilian Portuguese.
Asterisk: we've updated Asterisk to version 18.12.0.
GEO Firewall: we've updated the list of IP Addresses per country.
Extensions: now, the CSV file with exported extensions uses a pipe symbol to separate values previously separated by a comma. This minor change will avoid issues reading the CSV files with tools like Excel.
Asterisk: in some circumstances, the log files didn't get deleted automatically.
Provisioning: it was impossible to provision some Dinstar and ClearlyIP devices.
Sonata Billing: it was not possible to schedule weekly automatic reports.
Sonata Recordings: the FTP feature was not working as expected.
Sonata Recordings: it was impossible to play audio files containing the hashtag character.
We are pleased to announce another minor update for VitalPBX v3. This update intends to enhance PBX security and fix issues raised by customers and the community in general.
Firewall: now, it is possible to enable the APIBAN blacklist as part of the Firewall. To activate it, you must add your APIBAN key in the file "/etc/vitalpbx/firewall.conf." To get your APIBAN key, you must go to "apiban.org."
GUI: now, the multi-select fields grow depending on the number of items added.
Geo Firewall: we've updated the list of IP addresses for the GEO firewall add-on.
Extensions: the secretary extension got removed when updating from the Portal.
Trunks: it was impossible to force call recording on Tenant trunks.
Provisioning: it was impossible to restart Polycom devices from the Provisioning module.
We are glad to deliver another minor VitalPBX v3 upgrade. This update aims to improve PBX security and address issues reported by customers and the community at large.
Core: now, we're adding a CRON to clean the Asterisk and Fail2Ban logs.
GEO Firewall: we've updated the list of IP addresses per country.
GEO Firewall: we've updated the list of countries in the GEO Firewall map.
Asterisk: now, the system will play a busy ringback tone to the caller when the callee is busy.
Trunks: due to changes in the previous version, the follow-me feature didn't work as expected when using tenant trunks.
Core: now, applying changes from the API will include all the modules.
Core: the multi-tenant notifications template didn't replace the domain variable with the actual domain.
Users: in some conditions, editing sub-tenant users on the primary tenant converted them into super-admin users.
Switchboard: the app was not updating the correct hint device when login/logout or pausing/unpausing from a queue.
To keep the app stable, we’re releasing a new minor upgrade to address issues raised by customers and the community. Additionally, we are adding a few improvements.
Branding: now, the text color of the login slogan is customizable.
Geo Firewall: we've updated the list of IP addresses.
DialPlan: now, the call waiting tone is optional. You can enable it from the System General module. It comes disabled by default.
Backup and Restore: now, the dialer database can be backed up and restored.
Branding: the links were pointing to our old domain.
GUI: the links were pointing to our old domain.
Outbound Routes: some calls didn't get added to the Dialer data.
GUI: we've given a specific format to time pickers to avoid issues with some Languages.
Phonebooks: We've added support for the Gigasets NX70.
Custom Destinations: now, it is possible to set up a Caller ID.
Geo Firewall: we've updated the list of IP addresses.
Asterisk: we've updated the Slovenian audio package.
DISA: Now, the password is optional.
Provisioning: the number of keys gets updated for the Yealink T43U.
DISA: The caller ID was getting overwritten.
Provisioning: It was impossible to provision Aastra phone devices.
Core: the database settings were getting replaced on each update.
Provisioning: a default password is now configured when creating new templates.
Firewall: the API Ban and VoIPBL blacklist are now downloaded more frequently.
Firewall: the push server IP for the VitalPBX Mobile got updated.
Dialplan: the CDR didn't get generated under certain conditions.
Extensions: it was impossible defining multiple IP Addresses for the Deny and Permit fields.
GUI: the license modal was not showing the branded name.
API: it was impossible creating tenants with the parameter "allow_recordings" disabled.
Core: the tenant prefix gets removed incorrectly in some circumstances.
Switchboard: it was impossible to search for an extension in the extensions widget in the console mode.
Core: avoid deleting Asterisk logs too frequently
Firewall: avoid downloading the Firewall blacklist too frequently.
DialPlan: Improve anonymous callers detection
Extensions: The portal parameters were getting reset after updating extensions from the Import module
Queues: validate if extension is in use before creating a new queue
Switchboard: it was not possible to show more than two calls in the Extensions widget
Geo Firewall: the list of IP addresses got updated.
Maintenance: The script executed got a performance improvement.
Certificates: The certificates got not updated after adding a new sub-domain to an existing Let's Encrypt cert.
Queues Callbacks: The reports module was showing information from other tenants.
Extensions: The dial string got not updated after removing a virtual device from an extension.
DialPlan: allow multiple tries for the directory app/feature.
Core: update base translations
Core: the application was throwing a MySQL/MariaDB error with code 2006 under certain conditions.
Trunks: calls through the tenant trunks were getting duplicated
Virtual Faxes: it was impossible deleting faxes after applying search filters
GUI: add "robots.txt" to avoid search engines indexing the app.
Geo Firewall: the list of IP addresses got updated.
AMI: improve performance
Classes of Services: avoid deleting CoS when deleting a Route Selection or Feature Category associated with it.
Outbound Routes: fix calls duplication on CDR
IVR: generate CDR entry even if the customer/caller hangup before selecting an option.
Queues: inherit MoH from Queues when agents put customers on hold.
Speed Dials: do not list items from other tenants.
Geo Firewall: update the IP addresses
GUI: update default URLs to avoid deceptive site ahead warning
GUI: applying changes throwed exceptions under certain conditiosn
Geo Firewall: the IP addresses got updated
Backup and Restore: Optimize the commands to backup and restore backups
Certificates: Let's Encrypt was using an expired intermedia CA
Trunks: do not load disabled custom headers
Queues Callback: avoid calls duplicity
Core: protects the PBX against reflected XSS(CVE-2023-0486)
Core: protects the PBX against CSRF (CVE-2023-0480)
API: the queue hints didn't get updated when logging in/out from Queues through the API.
DialPlan: calls didn't reach the callee voicemail when transferred from ring groups.
Class of Service: Some apps and features stopped working after changing the CoS name.
Core: some Apache headers avoided playing media files on VitXi, Sonata Recordings, and other add-ons.
Dynamic Routing: in some circumstances, the CID number didn't match with the stored numbers when it should.
The Checkboxes didn't show correctly
Running Multi-Thread scripts overloaded the CPU
Some Apache CSPs were affecting other add-ons
Core: do not use the multi-thread method during post-installation to prevent incomplete installations.
Core: handle session exceptions to prevent issues when the CSFR token field doesn't exist.
Core: do not force secure cookies over HTTP to avoid login issues.
Backup and Restore: the faxes folder didn't get backed up.
Backup and Restore: When there are a large number of voicemail files, the backup fails to back up all the files.
IVR Stats: exporting results threw an unexpected exception.
Multi-Tenant: deleting tenants with a large number of CDR records threw an unexpected exception.
Core: saving settings with long values were producing unexpected exceptions.