We are releasing a new update of VitalPBX who comes with many improvements regarding External Calls and DAHDI Hardware. Due the latest update in the CentOS kernel we have re-compiled the DAHDI packages to provide compatibility with the latest kernel. To update the DAHDI packages, you must to do it through the Linux Console (yum update -y) and restart the PBX after the update.
Outbound Routes – Failover Destination: It is an optional destination that will be executed in case that the call fails after try with all the listed trunks.
Trunks – Simultaneous Calls: A new field has been added to the trunks module that allows you to limit the amount of simultaneous outgoing calls per trunk.
Extensions – Emergency CID: Now is possible to define an emergency CID per extension, this caller id is used when a call is performed to a number defined in the the Emergency Numbers module. To setup the emergency cid massively, you may use the bulk modifications module or the import extensions module as well.
Asterisk: Updating asterisk packages to version 13.21.0
DAHDI: Compiled with the latest kernel of Centos 7. To update DAHDI you must to do it running the following command in the linux console >> yum update
DAHDI – OpenVox: This new update of DAHDI introduce the compatibility with OpenVox cards.
Languages: Introducing Portuguese language to VitalPBX’s GUI.
PhoneBook: Support for Htek phones has been added on the version 1.0.0-3 of this add-on
Asterisk Sounds: A new repository has been added on this new version of VitalPBX, who contains Portuguese and Russian sounds packages that can be installed on demand. To install the Portuguese package execute the following command in the linux console >> yum install asterisk-sounds-pt_BR-ulaw, for Russian >> yum install asterisk-sounds-core-ru-ulaw
Status Report: Do not disappear information from the IAX peers after click the refresh button.
PJSIP Settings: Some settings were not loaded or generated in the right way.
Certificates: Fix the script to update the Let’s Encrypt certificates.
Extensions: It were not possible to enable the portal setting when an extension is updated
With this new update of VitalPBX, we are introducing a new module named “Asterisk Sounds“, this new module allows you to install additional Asterisk languages through the GUI, until now the additional available languages are: Portuguese, Russian, German and Italian. Also in this version we are introducing new options for the extensions voicemail, conferences module and others.
Voicemail Dial-out: This new option for the voicemail allows that users can dial out directly from their mailboxes (option 4 from mailbox’s advanced menu).
Voicemail Call Back: With this option enabled the users will be available to call back to the sender of a message. The specified Class of Service will need to be able to handle dialing of numbers in the format in which they are received.
Voicemail Hint: This option allows you to generate a voicemail hint to be subsequently monitored through a BLF key. To configure the BLF you must to use the following format: vm_1234, where 1234 is the extension that will be monitored.
Custom Sounds: A new section has been added on the “System General” module named “System Prompts”, on this section the users will be capable to customize the DND and the Blacklisted prompts.
Invite participant to the Conference: A new option named “Allow to Invite” has been added to the conference module, when this option is enabled all the participants could press ** or zero to invite other people to a conference. This options comes associated to a Class of Service, the class of service allows you to determinate the dial permissions to invite to another participants.
Additional Asterisk Sounds: As we mentioned at the beginning of this post we are introducing a new core module that will allows to the end users install additional asterisk sounds according to their needs. This new module is located under Settings >> PBX Settings >> Asterisk Sounds
Users Timezone: a new option named “System” has been added to the timezone field of the users module, when this option is selected, the timezone is taken directly from the PBX System.
Sounds: Some prompts were not played in the right way when the extensions language was not English or Spanish.
CID Lookup: The host and port field were not validated in the right way.
After some time, we are glad to announce a new update for VitalPBX which comes with some important improvements and some minor fixes. Also, on this version, we are introducing the new OpenVPN add-on.
Trunks in Text Mode: Due to many requests about configuring trunks in text mode like in other Asterisk distros, we have decided to allow you to create trunks just by writing or pasting the configuration of your provider in a text box. This is to help the customers who come from other distros to have a very easy transition.
Extensions Status – Devices: The way to show the connected devices of an extension has been improved to show the information more ordered, also, the information from PJSIP devices is more accurate.
CDR Filters: Now it is possible to include in the CDR filter conditions the call type as the search condition.
Extensions – Pinless : The extensions with this option enable will not be asked to enter a PIN when making a call through an outbound route with a pin set assigned.
Features – Paging: The paging feature allows you to paging any extension dialing the feature code followed by the extension number that you want to page.
PJSIP & SIP SMS: Now is possible to send SMS between PJSIP & SIP Devices
GUI Languages: Spanish & Russian Translations has been updated
Others: Performance & Core Improvements
Asterisk – Mini HTTP Server: It was not possible to assign a certificate to the Asterisk HTTP built-in server.
Inbound Routes: The CID modifier were overwritten by the CID Lookup sub-routine
We are glad to announce the release of the new update: VitalPBX 2.0.5-1, this version solves various issues reported by the community, and also introduces new features on add-ons and core.
Trunks / Dialing Manipulation Rules: A new section has been included in the trunks module named “Dialing Manipulation Rules”, that allows you to manipulate the dialed number depending of the trunk. E.g.: Suppose you have two providers, both have emergency calls service, but the number to dial is different for each one, for the first provider you must to dial 933 and for the second one you must to dial 944. So, you can configure in your outbound route the 911 and replace this number depending on the trunk on which the call is dialed through.
Trunks / DID and CID from Headers: Now is possible to define if the DID or the CID will be extracted from the SIP Headers. This only applies for SIP trunks
Blacklist / Pattern and Destinations: Now it is possible to define a blacklist number with a pattern and define a destination for it. Also, it is possible to disable/enable a blacklist item through the GUI. If no destination is defined for the blacklisted item a message will be played to the caller.
SIP Settings / NAT: Now it is possible to define the NAT setting as a global parameter. If you want to use the global value for SIP devices/trunks, you must set NAT parameter to the “Default” value for them
Paging / MulticastRTP: Now it is possible to make paging through the MulticastRTP channel. This new feature for paging can be used for: emergency broadcast service for fires, earthquakes, emergency broadcast services for hospitals, In a school setting, In the corporate setting; it could inexpensively replace costly PA systems requiring dedicated wiring, speakers, and amplifiers.
Status Report: Now the Peers & Hints can be filtered easily
Security: The default fail2ban(Intrusion Detection) settings have been updated to secure the PBX more efficiently
Language: Spanish and Russian translations have been updated
Inbound Routes: The incoming routes were not generated in the right way when the DID field was empty
Night Mode: It was not possible to change the night mode status or set the global mode status
Voicemail: The voicemail configurations were not generated in the right way
Destinations: The destinations for the “Terminated Call” option were not diverted to the defined location
CID Lookup: The incoming routes with a CID Lookup assigned were broken when the defined CID Lookup server was down
We are glad to announce our new update: 2.1.0-1 of VitalPBX, who comes with many new features and amazing performance improvements, check out the list of changes below.
Performance: One of the most notable changes on this version is the speed at which the changes are applied from the VitalPBX GUI. It could be said that it is twice as fast as previous versions.
AMI Users: The way to set write and read permissions to AMI users from VitalPBX GUI has been improved to be more intuitive and easy.
Switchboard: The same certificate settings are applied to the Sonata Switchboard when a certificate is applied from the HTTP Server module
Bulk Modifications (Extensions): Now it is possible to enable/disable diversion hints massively from the Bulk Modifications module.
Translations: Spanish & Russian translations have been updated.
Voicemail Settings (Operator Destination): Now it is possible to define any kind of destination as the operator.
Asterisk: Introducing the latest LTS version of Asterisk 13
Dynamic Routing (AutoCLIP Routes): This feature allows you to route missed or not completed outgoing calls to the original caller. When an extension user makes an outgoing call, the called party can call back extension user directly, with no need to go through the Inbound routes settings.
PJSIP Trunks: Now it is possible to create trunks with PJSIP technology
Custom Trunks: Now it is possible to create custom trunks, allowing you integrate technologies like OOH323
PBX Reports – Status: Due to the introduction of PJSIP technology in the trunks module, a PJSIP registration section has been added to the PBX status report to monitor the Outgoing registration requests.
Tabs: A small refresh icon has been added on each module tab to reload module in an easy and fast way
Voicemail (No Password): Now it is possible to define if users who dial the direct voicemail feature will be prompted to enter their password or not
CID Lookup (MySQL): Now it is possible to select MySQL as CID Lookup source. With this new feature, the end user will be capable to execute its own queries to any database to obtain the right CID information.
CDR (CSV): Now the CDR data is saved in CSV format, this is done with the aim of avoiding data loss. If for some reason the CDR does not save the data in MySQL, a script can be executed to synchronize the data from a CSV file.
Sonata Communicator: An add-on to centralize the Sonata Communicator settings and license has been introduced.
Class Of Services: When a Class of Service was established as private, and more than two Classes of Service were added as allowed, all local calls were blocked.
Paging & Intercom: It was not possible to paging more than two devices at the same time.
We are glad to announce version 2.1.1-1, the new update of VitalPBX. This update is focused on resolving issues presented in previous versions, however, we always like to introduce new add-ons or features. That’s why in this version we include the maintenance add-on, a simple, but powerful add-on that will save you a lot of HDD space.
Maintenance Add-on - This is a simple add-on with powerful settings that allows you to save space in your PBX
Clear Oldest Recordings: This option allows you to define the maximum number of days that recordings should be retained, allowing you to keep only the most recent recordings
Convert Recordings: This options allows you to enable the conversion of CDR recordings from WAV to MP3.
Backup & Restore: It was not possible to restore external or internal backups.
Class of Service: It was not possible to call extensions with a CoS who was marked as private, even if the CoS of callers were listed as allowed.
CDR Reports: It was not possible to perform any kind of search on cdr reports when multi-tab option is disabled.
RTP Settings: It was not possible to update the RTP settings on certain scenarios
Custom Applications: The validation to determine if a custom application was being used as a destination was not performing in the right way.
After a long time without any updates, we are glad to announce the first release candidate of for the new update of VitalPBX 2.2.2-1. This version is only available through the ISO, so, current installations will no be able to migrate to this new version until we make sure that everything is fairly stable.
Multi-Tenant Add-On: This is one of the most important changes introduced in this version. Now, VitalPBX is able to handle multiple tenants in a single instance. Using a single instance for multiple customers cuts down operating costs significantly.
Branding Add-On: This a simple but very useful add-on that allows you to customize the VitalPBX color, logos (Mobile and Desktop Version), browser title and more.
i18n: VitalPBX is now available in the Italian language. Special thanks to Mr. Giovanni P., who helped us with these translations.
Asterisk: On this version, VitalPBX has been compiled with the latest version of Asterisk (16.2.0).
VitalPBX Command Tool: This new tool contains a series of commands to easily give maintenance to the VitalPBX installation. To invoke this tool you must use the following syntax: “vitalpbx COMMAND [command-options]“. In the future, we expect to add new functionalities, by now, the available commands are:
reset-pwd [username]: Reset password for any user. if not user is specified, it resets the password for admin user (Main Tenant Only)
build-db: Execute a series of scripts to build VitalPBX database (apply_patches)
dump-conf: Dump Asterisk Configurations and re-build Asterisk DB (Main Tenant Only)
Dashboard: Now, on the dashboard the Hardware and Software information is exposed. This information may help you to take actions (Upgrade RAM, CPU) depending on your current hardware, or even, ask for support, especially when you need to provide the PBX ‘s environment info (VPBX version, Kernel, etc)
Password Strength Meter: The way to obtain the strength of a password has been improved and added in multiple places (Users, Extensions, Hot Desking, etc). This with the aim to provide an idea of how strong the used passwords are.
Add-ons: Now, in the add-ons module, it is possible to execute various actions with the commercial add-ons that have a valid license active. The actions that you may execute are:
View License: Get the current license for the add-on and to whom it’s registered
Revoke: Remove the license from the current server to later move it on to another server.
Reactivate: This action applies to add-ons that are handled by the number of Items and can be upgraded. e.g: Sonata Billing, Sonata Recordings, etc.
SIP Domains: On this version, we introduce a new section on SIP Settings, under Security tab, named SIP Domains. When SIP domains are used, they provide enhanced security, because registrations will only be accepted when they come from an IP phone (or another SIP client) that is using one of the recognized domains. When Asterisk knows the identity of all its local SIP domains, this allows a higher level of security in the routing of SIP-to-SIP calls as well.
Log Files Viewer: A new field named “Filter” has been added to log files viewer’s form to easily filter the log files content according to given strings or words.
Feature Codes: It was not possible to search a feature code per name.
Outbound Routes: It was not possible to keep the trunks order on the outbound routes module.
Dial Rules: It was not possible to add multiple rules on the dial rules module.
VitalPBX Logger: The VitalPBX logs were generating with the wrong user and group in some cases.
Log files Viewer: It was not possible to read the content of any log files from the GUI.
VitalPBX Monitor: When the Asterisks service was stopping for any reason, the monitor service increased CPU usage to the maximum.
Domotic add-on: The hints for the domotic devices were not generated in the right way.
Maintenance add-on: The executing state stays as “running” when an exception occurred, avoiding that the script is executed again.
Finally, the wait is over, today we are officially launching our new stable release, VitalPBX 2.3.0-1, this version comes to stabilize all the features announced in the release candidate (VitalPBX 2.2.2-1RC), and introduce some other features.
Music on Hold: The MoH class defined on extensions now is also used for Blind and Attended Transfer. Previously, the played MoH class was the default one instead of the defined in the extension.
Users: For security reasons, the super admin users cannot be edited by any other users than himself.
Outbound Routes – CID Pattern Matching: Now it is possible to match outbound routes by CID Pattern, this new feature adds a new level of flexibility and security for the outbound routes.
Trunks – SIP / PJSIP Headers: Due that some providers require special headers for outbound calls like “P-Preferred-Identity”, we have added a new section under the Advanced tab where you will be able to define any required header for SIP or PJSIP trunks. You may use the following variables:
{CIDNUM}: This variable will be replaced with the caller id number provided in the call.
{HOST}: This, will be replaced with the host value defined in the outbound parameters.
VitalPBX Command Tool: A new command has been added to our command tool, who allows you to analyze and fix issues regarding folders and files permissions. You may run this command in the following way: “vitalpbx –check-integrity”
Virtual Faxes Add-on: Improve virtual faxes behavior and functionalities.
Task Manager Add-on: Add an option to enable or disable a task and add option to avoid send an email each time a task is executed
VitalPBX Command Tool: Add command to fully update the PBX from Linux CLI (vitalpbx –update-pbx)
Core Improvements
Users: It was not possible to visualize users marked as super administrators
System Misc: It was not possible to update the system timezone
Ring Groups and Multi-Tenant: It was not possible to use the same extension on different tenants
Ring Groups: After the update, it was not possible to edit existing ring groups.
PBX Report Status: Fix typo on a method to get active call channels through AMI.
Outbound Routes: After the update, it was not possible to use existing outbound routes. All the routes were colliding
Import Extensions: The SQLite database for extensions was not generated in the right way, not letting these extensions receive calls.
DialPlan: Some dial plans were duplicated on Multi-tenant environments.
We are glad to announce a new update of VitalPBX! This version comes to fix some issues introduced in the previous version and add some new features. Thanks to all of our community for reporting these issues and helping us improve VitalPBX.
Outbound Routes: Now it is possible to define a CID per outbound route.
VitalPBX Command Tool: Now it is possible to apply firewall configurations defined on VitalPBX from the Linux CLI (vitalpbx –apply-firewall).
Transfer Digit Timeout: Number of seconds to wait between digits when transferring a call
Features Digit Timeout: Max time (ms) between digits for feature activation
VitalPBX Command Tool – Check Integrity: The command to check the environment integrity now verifies the integrity of each tenant and set the right permissions and owner/group for the folders.
Voicemail Settings: Now it is possible to customize the email’s sender name for voicemail notifications.
Asterisk: Introduction of Asterisk v16.2.1
Voicemail: The MWI for voicemail was not working as expected. We have compiled the latest Asterisk Version with the required patches in order to make this feature work again.
Music on Hold: The default asterisk ringback tone was overwritten by music on hold when the MoH value was set to none.
Music on Hold: The music on hold set up on extensions have overwritten any MoH provided for other applications (e.g.: Parking).
Custom Recordings: The script in charge for the storage of custom recordings (made by phone) in the database was not working.
Dial Plan (DND): The DND feature was not working as expected in Multi-tenant environments.
Feature Categories: Only the first feature category items were retrieved for any other.
Hot Desking: When a hot desking device was created or edited, the reload button didn’t appear as expected.
Password Reset: The script for reset password was not working as expected.
Music on Hold: The permissions for Music on Hold folder were not set in the right way.
We are glad to announce the release of our new update for VitalPBX (2.3.3). This version comes to fix some bugs introduced in the previous versions and add more Multi-Tenancy features.
SoftPhones Licensing Server: The newest version (2.1.0) of this add-on now is compatible with Multi-Tenant environments.
Multitenant: Three new important features have been added to Multi-Tenant add-on:
Allowed Outbound Routes: Allows you to define the routes that will be used when this tenant make calls through a tenant trunk pointing to the main tenant (This means that the main tenant can be used as a Gateway). Calls made to any other tenant than the main tenant will be sent through Inbound Routes definitions.
Inbound Numbers: List of numbers/patterns belonging to this tenant. Calls that match with these numbers will be forwarded automatically to these tenant inbound routes. The configuration of these numbers takes precedence over the inbound routes definitions on the main tenant.
Softphone Devices: It allows you to define how many Sonata Communicator Devices could be activated on a tenant. This option will be only visible if you have installed the “Softphone Licensing Server” add-on
Core: Introducing the support for carrier and enterprise licenses
Asterisk: Introducing Asterisk v16.3.0
Portal Users: The portal users are shown again in the user’s module.
Intrusion Detection (Fail2ban): The fail2ban’s configurations definitions have been updated to improve the PBX security and performance
Trunks: It was not possible to define custom SIP/PJSIP headers when creating trunks in text mode.
Tenants: The list of available destinations was not showing when the administrator switching to secondary tenants.
Certificates: Avoid generation of let’s encrypt certificates if the challenge is not completed.
Web Server: Avoid breaking web server when assigning an invalid or non-existing certificate.
Queues: The ringback tone on queues was not playing as expected.
Voicemail: The attached voicemail was always sent in WAV49 format, instead of using the format configured by the user.
Music on Hold: Due to wrong permissions on MoH folders, the selected MoH by the users was no playing as expected
We are glad to announce the release of our new update: VitalPBX 2.3.4. In this release, we are introducing several improvements and features to Queues, Multi-tenant, CDR, and Security. Also, we resolved some issues reported by the community, customers, and partners.
Asterisk: We are introducing the latest available version of Asterisk (16.4.0).
Sonata Switchboard: We are introducing the version 2.1.0 of Sonata Switchboard, which uses the latest API implementation from VitalPBX, and also comes with compatibility for Multi-tenant environments. You may update or install the Sonata Switchboard directly from Add-ons module on VitalPBX.
API: Introducing our new API with online documentation available. The development of this API will be in several parts, so, we will introduce more features and actions soon. This API comes with a module to generate API Keys for third-party applications.
Queues: Mark Cancelled Calls as Answered, this is a new parameter (especially used when a queue is using the “Ring All” strategy) to avoid missed call notifications on the phone (if it is supported by the device.) when a call is canceled because it was answered to someone else.
Firewall: Enable/Disable ICMP with this new parameter, it is possible to disable the ping requests on the PBX server.
Autofill: This parameter now comes enabled by default for new queues. With this parameter enabled, it makes sure that the waiting callers are connecting with available members in a parallel fashion until there are no more available members or no more waiting callers. This is probably more along the lines of how a queue should work, and in most cases, you will want to enable this behavior.
CDR: The queues dial plan has been improved in order to avoid the generation of unnecessary or duplicated CDR entries.
Tenants: This new field allows you to define to which tenants the user will have access
Ring Groups: The ring groups dial plan has been improved in order to avoid the generation of duplicated entries in CDR.
Add-ons: Added backwards compatibility with the old licensing system.
Import Extensions: The extensions importing were broken when the provided Class of Service in the CSV didn’t exist. The new behavior is to create a new CoS when the provided CoS doesn’t exist.
Hunting Groups: The feature number (*08) to perform calls pickup was not generated.
“Add/Remove Queue Agent” Feature: The prompts audios for this feature were wrong.
Global Search: The global search was broken when users had access to the portal module but didn’t have an extension assigned.
Certificates: The certificates folder and all the files generated inside had wrong permissions, this was avoiding the use Let’s encrypt certificates with Asterisk.
Intrusion Detection (Fail2Ban): The configurations provided through the GUI was not applied due to a missed parameter.
Intrusion Detection (Fail2Ban): Now the provided IP Addresses/Hosts are escaped in order to avoid collapsing the fail2ban service and the VitalPBX’s GUI.
System Miscellaneous: The labels used on buttons to confirm if the PBX will be restarted or turned off had been modified with something more logical according to the action.
Fax: It was not possible to send received faxes by email
User Profile: It was not possible that the users update their preferences from the user profile
Backup & Restore: It was not possible to perform backups on certain environments due to permissions issues
Extensions: After deleting an extension, the devices were not removed from asterisk configurations
Trunks: It was not possible to handle multiple trunks from the same VoIP provider on Multi-tenant environment
MultiTenant: The tenant limitations were not applied at all
We are pleased to announce our new update for version 2.3.5 (Release Candidate Version) of VitalPBX. This version is intended for everyone who signed up for the beta tester program, so, this version should not be used in production environments.
Certificates: Now it is possible to add custom certificates through the GUI
Dialing Restrictions: A new field has been added to the dialing restrictions rules form, this new field is for allowing to include advanced rules. This was added thinking in the case of Mexico, since as of August 3rd, 2019, Mexico’s numbering plan will become closed to ten digits. After this date, all phone numbers should be dialed in a ten-digit format, even for local calls (Mobile and Conventional Numbers). Due to this change, the task for limiting calls to mobile numbers in Mexican companies has become more complex.
CID Modifier: Now it is possible to perform CID Modifications through different sources (Mysql, HTTP Request). This could be very useful for CID Masking or simply modifying the incoming CID info from a CRM or existing database.
Ring Groups: A new field called “Answered Elsewhere” has been added to the ring group. This prevents the other phones to record a missed call when the call has been answered on a phone that is part of the ring group.
IVR: The invalid dial tries towards internal extensions dialed through the “Direct Dial” feature now returns the call to the IVR and respects the available invalid tries.
Firewall: The HTTPS port for the Sonata Switchboard now comes allowed by default.
CDR: The trunk from where calls are sent/received now is saved as part of the CDR for future reports and statistics.
Asterisk: Introducing Asterisk v16.5.0
Hunting Groups: Used named call groups and pickup groups parameters so it doesn’t limit the number of allowed groups.
Queues: Added support for Queues Callback. When the add-on Queues Callback is installed you will be able to select a Queue Callback.
Phonebooks: Added support for external phonebooks. This new version is only available for the RC version. To install it you may use the following command: yum install vitalpbx-phone-books -y, and for update it: yum update vitalpbx-phone-books -y
Directory Feature (411): It was not possible to use the directory feature on secondary tenants.
CID Lookup: Now it is possible to use external phonebooks as a CID Lookup source.
Introducing the Queues CallBack Add-on: This add-on is only available for the RC version. This feature enables you to optimize your customer experience by offering callers the ability to request a call back based on your call center conditions. To install it you may execute the following command: yum install vitalpbx-queues-callback -y
Virtual Faxes: Now, the fax devices password doesn’t contain special characters, because this may affect the connectivity.
Fail2Ban: When the fail2ban database gets full, your server may experiment high CPU usage, so, for this, we have added a command to help you to clean up the database and normalize the CPU usage. To execute such command you may write down in the console: fail2ban-clean-db
Music on Hold: It is possible to define a music group as default MoH, so, when you select the default MoH on queues, conferences, or any other module, instead of play the default asterisk sounds, it will be played the sounds defined in the moh group marked as default
Branding: Now is possible to change the main tenant name from the branding add-on (Only available for PRO version). For installing this add-on in the RC version execute the following command in the Linux console: yum install vitalpbx-branding
PhoneBooks: Now is possible to define a dial prefix on external phonebooks.
Multi-Tenant: Some asterisk configurations were not created after creating a new tenant, producing some undesired behaviors, like blocked calls between extensions.
Multi-Tenant: The CID Info of secondary tenants was overwritten when the main tenant is used as the gateway.
Users Portal: When a portal user was updated from the user’s dialog, the assigned extension was getting removed from the user.
Parking: The “parked” value has been replaced by “callee” in the “Courtesy Tone” field. Setting the “parked” value on parking configurations collapsed the parking driver on Asterisk.
Tenants: When deleting a tenant with the user “admin” assigned, this user was getting deleted along with the tenant, leaving the system without admin access.
Trunks: On environments with more than one trunk with the same providers the calls were sent to an invalid context. This avoided applying certain settings defined in the trunk.
Dial Plan: When dialing to an unconnected PJSIP device the dial application crashed due to the empty value generated by the function “PJSIPDIALCONTACTS”.
Dial Plan: The Invalid dial tries were marked as answered calls.
Extensions Status: The status of connected devices were not shown correctly on secondary tenants.
Dynamic Routing: The script for checking the dynamic routing status was not working as expected. The calls were not sent to the desired destination.
Destinations: It was not possible to use the trunks or outbound routes in another application other than inbound routes.
Conferences: It was not possible to invite participants to a conference from a secondary tenant.
Queues CallBack: The add-on installer didn’t install required database data, producing unexpected behavior on the queues module.
Queues: The script for resetting the queues stats it was not working.
We are excited to announce the release of our new update VitalPBX 2.3.6. This version presents new add-ons, features, and various bug fixes. Thanks to all our beta testers for reporting issues, suggesting improvements, and help us deliver a very stable version to all the VitalPBX community.
Queues CallBack: With the Queues CallBack module, you can reduce customer frustration by minimizing their time spent on hold. This feature provides callers with the option to request a callback from the next available agent instead of waiting on hold, allowing them to disconnect from the call and tend to other things.
Geo Firewall: The Geo-Firewall add-on module for VitalPBX adds a new layer of security for your PBX. Allowing you to block any unwanted requests from countries you know you have no business with.
Dynamic Destinations (Conditional Routing): With this add-on, you will be able to route calls based on the CID Number. You may query a database or an API and according to the response, routing the call to one destination or another.
Phone Books: It is possible to create external phone books and use them in all the supported brands of devices.
Asterisk Sounds: Now is possible to install the Hebrew sound prompts from the Asterisk Sounds module
Users Portal: When a portal user was updated from the user’s dialog, the assigned extension was getting removed from the user.
Tenants: The CID Info of secondary tenants was overwritten when the main tenant is used as the gateway.
Tenants: Some asterisk configurations were not created after creating a new tenant, producing some undesired behaviors, like blocked calls between extensions.
After some time of hard work fixing issues, improving existing features, and adding new features, we are glad to announce the first release candidate version for update 2.3.7. This version is intended for everyone who has signed up for the beta test program, so, this version should not be used in production environments.
PJSIP: We’ve added important parameters on PJSIP profiles required for cloud, WebRTC, and trunking environments.
Ring Groups: Now it is possible to allow or not diversions for extensions listed on ring groups.
Parking Lots: It is possible to edit the parking lots’ code, including the default one.
Follow Me: Initial Ring Time, now it is possible to define a time in seconds to ring the primary extension before calling to members in the follow-me list.
Follow Me: Status, it is also possible to enable/disable follow-me feature right from the extensions dialog on the follow-me tab.
Queues CallBack: PIN Sets, calls originated from queues callback now skip the PIN sets in order to avoid calls get blocked.
Queues CallBack: Prompts, now it is possible to change the message that caller hears after finish scheduling a callback. Default Message: “Thanks, you will be called back soon”.
Geo Firewall: The IP addresses per country has been updated.
Extensions: A new field labeled “CallerID On Diversions” has been added to the extension’s dialogue, under the advanced tab. This allows you to define if during a call forward, the CID info sent will be the one provided by the caller or the CID info from the extension that has the call forwarding.
DialPlan (Call Recordings): Now the call recordings name are more descriptive to easily locate them. The current format is TIME-CALLTYPE-SRCAPP-CALLER-CALLEE-UNIQUEID, e.g: 105634-OUT-RG235-2000-0558271-1569430594.649.wav
I18n: The Spanish and Russian translations have been updated
Inbound Routes: Now it is possible to route a DID range to an extension number. For example, if I have the DID range from 1 (305) 6724 7100 to 1 (305) 6724 7200, it is possible to get the last four digits of the DID and route it to the corresponding extension.
API: Added endpoints to handle voicemail and phonebooks actions.
System General: We’ve added a new setting on the system general module that allows you to define if the login panel that is shown when the Sonata add-ons get installed will be shown or not.
Tenants: Now it is possible to share the route selections items as outbound profiles for other tenants, this way you will not need to create tenant trunks for using main tenant as a gateway, and not need to re-define outbound routes per tenant.
Security: An important security issue has been introduced on Centos 7.7 regarding firewall-d, after a full Centos update, the firewall-d blocks everything and refuses to load the defined VitalPBX’s rules with the following error message: “‘Rich_Destination’ is not iterable“. We’ve fixed this issue compiling our own version of firewall-d with a patch to fix the issue. We’ve included this new version of firewall-d on our repos to avoid this issue on new or upgraded VitalPBX’s installations.
Ring Groups: Forwarding/Transferring calls coming from a ring group to another internal extension were not reaching features like voicemail or diversions configured on the forwarding target.
Core (Password Auto-Complete): The saved passwords in browsers produced that password fields on different VitalPBX forms get auto-completed with the saved info, even when the saved info has no relation with the form. This behavior produces that in extensions (devices & portal sections), users, and other dialogues with credentials got unexpectedly overwritten.
Multi-Tenant (Trunks MoH): The music on hold configured for trunks on secondary tenants got overwritten by the main tenant.
Geo Firewall: Fix compatibility with Mozilla Firefox
Personal Assistant: The dialplan for the personal assistant feature was not working as expected. Some options produced that the incoming call routed to this feature got dropped instead of sending to the defined destination.
Trunks: The dialing manipulation rules with a pattern defined, but without prefix nor prepend field, were producing infinite loops.
Follow-me: It was not possible to call multiple extensions with the follow-me feature enabled from applications like ring groups or queues, so, the follow-me dialplan was refactored in order to allow such behavior.
Bulk Modifications: When a bulk modification was performed some required data (for the dialplan) was not generated. This caused old information to be sent at the time of making a call.
We’re glad to announce VitalPBX 2.3.9, our latest release candidate version. This new version includes various enhancements on Security, PJSIP Trunks, Endpoint Manager, and more! Also, includes various fixes reported by our partners and the VitalPBX community.
Trunks: Now, the DTMF parameter can be configured directly from the main trunks section.
Trunks: Now, it is possible to assign a technology profile, to easily share common parameters and settings between all trunks with same technology.
Queues Callback: When the option “Dial Agents First” is set to yes, the call will not be sent to the customer until the dialed agent answers the call.
Queues Callback: Now the queues callback items can be used as destination, but only if the field “Callback Queue” has a queue defined.
Endpoint Manager: Now it is possible to provision PJSIP devices.
Endpoint Manager: Now it is possible to provision devices that belong to other tenants
Conferences: New video modes have been added. This are introduced on latest version of asterisk.
Time Conditions: Now, it is possible to monitor the time conditions status trough a BLF key.
Time Conditions: Now, it is possible to override temporarily/permanently the time condition status trough the GUI or by dialing a toggle code.
Paging: Now it is possible to define an announcement to be played to all paged participants. Depending on the configured mode for the paging items, the call could be hanged up or not after playing the announcement.
Paging: The capability to schedule paging items has been added. This new feature comes as an add-on, so, to install it you must go to the Linux console and execute this command: yum install vitalpbx-paging-pro
PJSIP Trunks: A field to customize or manually define the AOR contacts for a PJSIP trunk has been added. This is useful when a provider has multiple IP addresses for outgoing calls.
PJSIP Trunks: Now it is possible to customize Server/Client URI for outbound registrations.
Intrusion Detection (Fail2Ban): Now, the banned time is handled entirely by the intrusion detection tool, on previous versions, the banned time was handled by the ipset tool.
Intrusion Detection (Fail2Ban): Now, brute force attacks to the EPM (Endpoint Manager) are being blocked.
Queues: Calls to queue members with the follow-me option enabled made it so that calls get hanged up after returning from a ‘no answer call’, this avoided getting to the final destination setting or continue trying with other agents.
DialPlan: Some phone brands were showing extension “s” on display after the dialed number answered the call.
Trunks: Some invalid parameters were added during the generation of trunk configurations.
GUI: In some cases, the help tooltips didn’t disappear, forcing the users to refresh the page to get rid of the balloon.
After some time of hard-work, we are glad to announce our new update: VitalPBX 2.4.0, a major release that includes all the changes announced on the RC version 2.3.9, and other important changes, especially, on security and certificates (Let’s Encrypt).
Outbound Campaigns (Dialer): We are introducing a new commercial add-on named “Communicator” that allows creating simple outbound campaigns in conjunction with the VitalPBX Communicator Softphone. This add-on deprecates the “Sonata Communicator” module, so, after installing this add-on the “Sonata Communicator” will be uninstalled automatically.
Paging & Intercom: Now it is possible to schedule paging actions, and play an announcement. This is quite useful for schools (bell system), automation announcements on the office, airports, train stations, etc.
API: Now, it is possible to perform click to call actions through VitalPBX’s API. Useful for CRM integrations, or simply, add click to call option from any platform.
Time Conditions: Now, it is possible to switch the time conditions status (Temporarily or Permanently) using a toggle code, or the GUI. Also, it is possible to monitor any time condition using a BLF key.
Security: Now, VitalPBX comes with some IP sets to block the most common attackers (VoIP, SSH, etc.) by default. These IP sets get updated automatically daily at midnight through a CRON job.
Certificates: We have updated the script for generating let’s encrypt certificates. So, now, we are using the new mechanism provided by the Let’s Encrypt developers.
Intrusion Detection (Fail2Ban): Added new jails to protect PBX server against HTTP scanners.
API: Add new endpoints to retrieve class of services, and updating voicemail info. Also, the documentation has been updated.
i18n: Update Spanish and Russian Translations
Firewall: The firewall has been configured to don’t use pre-routing table for blocking SIP scanners.
Firewall: The SIP scanner “pplsip” now comes blocked by default.
OpenVPN: Now, it is possible to generate OpenVPN certificates for Fanvil phones (You must update the OpenVPN add-on from add-ons module on VitalPBX).
Core: Update translations
EPM: Add upgrade server options from Fanvil’s X4 models
DialPlan: Add intercome headers for PJSIP devices
Class of Service: Now, on secondaries tenants, the shared route selection items, can be assigned as part of the class of services. This to make easier the call routing through the main tenant.
Backup and Restore: The Backup feature has been improved in order to make possible to backup big sets of recordings.
Communicator: Allow to create campaigns with duplicated numbers.
Portal Users: The portal user’s info, like the role, gets overwritten when the extension info is updated.
Follow Me: Now, if the option “Prompt Callee” is enabled, only the external numbers will be prompted to accept or reject the call, it will no apply for internal numbers.
Firewall: Now, the firewall will not be restarted when updating the attacker’s blacklist, so, these rules will be load in memory until the firewall be restarted by the user.
Backup and Restore: Avoid backing up non-existing folders to avoid unexpected exceptions during the backup process.
EPM: Update P-values for Grandstream GXP21XX
Multi-Tenant: For tenants name to be alphanumeric
Multi-Tenant: Add field to share trunks to be used as emergency trunks on secondary tenants.
Geo Firewall: The country zones files have been updated.
Virtual Faxes: Use as “From” header the “From” parameter of the email settings module when sending fax emails.
Trunks: Add “Contact User” parameters on PJSIP trunks.
DialPlan: Now, it is possible to directly enable/disable the DND feature using the following format: 661, or, 662, where *66 is the DND feature number, and the number 1, means to enable this feature, and the number 2, means to disable the feature.
Emergency Calls: When a call is performed to an emergency number, the Emergency CID of the caller is used, even when the trunk has the “Overwrite CID” option enabled.
Multi-Tenant: The hints generated for extensions on secondaries tenants didn’t work with customized tenant prefixes.
Paging, and Intercom (Auto-Answer): The heders to perform auto-answer action on phones were not working for devices using PJSIP protocol.
Trunks: It was not possible to send custom headers when using the PJSIP protocol.
Time Conditions: The BLF status gets stuck when the database connection gets lost.
Virtual Faxes: It was not possible to receive faxes that came from a sender without CID Name provided.
EPM: Fix time zone generation for Fanvil’s phones
DialPlan: The auto-answer feature is not enabled when the callee has a state different from NOT_INUSE.
IVR Stats: The date and time shown on the IVR Stats report now are shown according to the time zone of the current user.
IVR: When using the direct dial option, the call returns to the IVR in case of an invalid number being input, no matter what class of service is being used.
System Misc: The system misc were not showing the disk partitions on virtualizations like Proxmox.
Inbound routes: The calls were not recorded when the destination or diversion was an external number.
Follow Me: It was not possible to use the follow-me as a destination on secondary tenants.
Trunks: Some phone brands displayed “s” extension during outgoing calls when the called party picked up the call.
We’re glad to announce a new update for VitalPBX, version 2.4.1. We’re releasing this version to stabilize the previous version and include some new improvements and fixes.
Queues: Set members type to dynamic by default when creating new queues.
Certificates: Allows Let’s Encrypt to challenge over HTTP, even when the option “Force HTTPS” is enabled.
Extensions Status: Show user agent as part of the device info.
Dashboard: Use a reverse proxy to provide dashboard information without open any additional port. So, with this update, it is not necessary to open ports 3000, and, 3005 for the dashboard.
Branding: Now, the “APP Name” field value, is used as an application name through the GUI, not only as a tenant name. (only available for the licensed version)
Branding: Now, the mobile logo will be used as an image placeholder and for the modules menu. (only for the licensed version)
Virtual Faxes: The application name will be used as a signature for email faxes.
i18n: Updated Italian translations
Communicator add-on: Added Multi-Tenant capabilities. To allow these modules to be used by other tenants, you must modify the tenant users’ profiles, and allow the communicator modules.
Communicator add-on: Add missed softkey (Dialer Pause, Open Form) on the “Softkey Profiles” module.
Virtual Faxes add-on: Added Multi-Tenant capabilities. Now, you will be able to share the virtual faxes devices with other tenants, for this, you must allow the desired modules (Fax Devices, Fax Viewer, Fax Sending) on the tenant users’ profiles.
Virtual Faxes add-on: Show current fax status on fax devices when editing.
Virtual Faxes add-on: Fixed the fax filtering by the device on the fax viewer
Dashboard: The dashboard was not showing info when using uncommon ports to access the Web GUI.
Paging: The “Skip Busy” option was not working as expected.
Parking: The parking application was not playing the courtesy tone at all.
Trunks: IAX2 trunks were not loading the register string after saving. This produced that the register string gets erased after updating the trunk configurations.
We are glad to announce the release of the new update: VitalPBX 2.4.2, this version solves various issues reported by the community, and also introduces new features on add-ons and core.
EPM: Add Fanvil X6U and X210
Features: Add quick mode on the hot desking feature, for login/logout. (801 -> Login, 802 -> Logout)
Portal: Added the “Click to Call” action on the module “My CDR”. Only for external calls
DialPlan: Send calls to voicemail destination when DND is enabled on the called extensions. If the called extension has not voicemail enabled, then, the call will be sent to the configured DND announcement.
DialPlan: Only send calls to busy voicemail, when the call result returns busy.
Trunks: Now, it is possible to create a trunk without a technology profile, this is for avoiding unexpected behaviors due to the profile.
Branding: The theme name (that is shown in the “users” Module), now is labeled according to the app name configured in the branding module.
Branding: Allows updating the meeting URL for video conferences.
Phonebooks: Now, it is possible to add/edit/delete contacts from external phonebook through the GUI. This is an extended feature, so, it will only be available if your current installation has any license activated (donation, any add-on, or any subscription). API:
API: Improve click to call endpoint
API: Try getting the caller Class of Service when not provided.
API: Validate if the Class of Service ID provided belongs to the tenant requested
API: Allow using tenant id or tenant path in the API requests
Security: Improve asterisk filter for matching attackers
Security: Fix filter to avoid DDoS attacks over SSH port
Dynamic Routing: Fetch any call when the option “Only Keep Missed” is disabled
Extensions Status: An unexpected error was received when trying to get the extension status of an extension with multiple devices assigned to it.
Music on Hold: The mime-type of the uploaded files were not validated as expected.
We FULLY RECOMMEND updating your add-ons after updating VitalPBX. This is to keep compatibility, and always have the newest features and fixes.
Here’s a new update for VitalPBX 2, that includes various fixes regarding PJSIP Devices, Multi-Tenant, and more. Below, we will list the changes on this release.
Extensions: Create PJSIP devices with two contacts by default.
Extensions: Remove existing contacts when trying to connect a new device to an account that has reached the maximum number of allowed contacts.
Backup: Now, the asterisk dialplan is included as part of the backup. This has been made with the intention to preserve any dialplan customization in case of restoring in a new PBX.
Security: Asterisk Filters, the Fail2Ban’ filter for matching asterisk attackers has been updated in order to interpret in a better way all the asterisk security events.
Security: Ban Actions, the ban action for jailing attackers has been customized to avoid being overwritten by the Firewall updates.
Voicemail: In a multi-tenant environment, the voicemail password gets overwritten when an extension with the same number as in other tenants updates its password by phone.
System Misc: Time zones updates from GUI were not applied to asterisk nor apache, this was producing that the BLF for time conditions and time group matching didn't give the expected results.
Features: Spy features didn’t work as expected when the extension to be spied had more than one device.
Trunks: It was not possible to create custom trunks if not DAHDI devices were present.
A new release of VitalPBX 2.4.2 has been released. This version comes to stabilize VitalPBX v2 and its addons. Next we will list the changes included on this new release.
Maintenance add-on: The methods for converting recordings from WAV to MP3 has been updated. In previous versions, the methods for converting recordings were not working in some cases.
Queues Callback: Now, there's a logrotate item to delete old logs to avoid disk get full of logs
Queues Callback: Starting and sleep message of queues callback service has been suppressed to avoid disk get full of logs
Time Conditions: Now, the script for normalizing/switching time conditions is executed every five minutes. This change has been made to avoid the server get overload when there are too many time conditions to be processed.
Voicemail: Default charset has been set now to UTF-8