There were several changes in the buttons area.
- Call pickup for an extension is now also possible if the call is not directed at the extension itself, but to a hunt or agent group instead. A setting controls this behavior.
- For pickup, the PBX now checks of a pickup would actually be allowed for the user that monitors an extension, an ACD or a hunt group. If there is an incoming call without pickup permission the PBX shows a solid "on". For that the permissions syntax was extended, the :np flag now indicates that monitoring an account is allowed but pickup up a call is not.
- The voicemail button was added back, so that other extension mailbox status can be monitored with a BLF button.
- Some phones support a "record" button, which is available now. However not all phones provide the feedback that recording is turned on.
- Where possible, a DTMF mode button was added.
The PBX now also shows when calls are on hold and extensions are on DND. It depends on the phone how the call hold status is shown on the BLF. There were problems with blinking buttons on snom phones after calls disconnected that are resolved now.
Auto attendants and conference rooms can now be monitored with a BLF button.
Button parameters can also contain variables, for example for inserting a cell phone number into the button parameter. The style in which private lines should be shown on the phone can be controlled with a system setting.
Buttons can have prefix values, e.g. for Yealink phones.
In order to make button migration and editing easier, there is a text-based mode (CSV) available.
When number masking is enabled, the last digits of phone numbers will be masked in the domain. In user mode, the numbers were also masked. In the new version, the numbers in user mode are not masked unless the administrator switched into user mode.
The PBX was tested against the Infor PMS module. This included some adjustments to the FIAS protocol. THe PBX will now show on CDR if a call was local, domestic or international depending on the country and area code settings of the domain. Also the maid code will differentiate between occupied and free rooms.
If the PMS disconnects the TCP link, the PBX will retry to connect after a short timeout. This makes it possible to handle equipment that gets rebooted periodically.
There were several changes and adjustments for the provisioning:
- Added Cisco 68xx models.
- The snom 821 models can have up to 12 additional "virtual" buttons which were not available in the template.
- Yealink DECT models were added. Although these models do not have BLF buttons, having them on the drop-down menu makes it easier to set them up.
- The number of HTek line keys was not correct for all models. A parameter for providing the firmware path for HTek was added.
- The Yealink extension board count was changed to the maximum possible number.
- For Yealink, the PBX uses the park orbit mode which shows a different icon on the phone's screen. Setting a button to "unused" should be working with all Yealink firmware versions now.
- Support for Shandong phones has been added.
- The detection of Polycom models was improved.
- Support for voice operator panel (VOP) was added.
- For snom phones, it was necessary for older firmware versions to provision a space into the DND on/off codes. This is causing in newer versions the problem that the phone would actually dial the space character. Because of this, the new template just sets the code to the empty string.
- The USB-extension boards 2 and 3 were one number off the grid.
- The detection of Grandstream models was not working properly for HTTP requests. Also the provisioning profiles for Grandstream has been reviewed. Passwords were not provisioned properly for the HT models.
- Support for snom 785 was added.
- snom had a problem with the timezone format if the numbers were not exactly two digits.
In the previous versions, the provisioning URL for the remote provisioning services (e.g. snom, Yealink, HTek, Grandstream) were hard coded. Due to the changes with SRAPS, this is causing issues as those URL are not constant any more. The RPS code can now be changed on the fly if needed and the MAC prefixes are a settings, so that it will be easier to handle additional MAC address ranges. If possible, the PBX now keep the domain names on the RPS, though the limit of 20 characters makes this difficult at times where the system has to revert to hard-to-read hashes.
The model definition file was moved from the frontend to the backend. This was needed because the PBX needed to get information about phone models also when there was nobody interacting with the PBX.
Sending requests for rebooting and reloading of the configuration data is now depending on the phone model. This increases the probability that this works with the actual model. This includes a fix where the PBX needs to answer a challenge from the phone.
Third Party Login
Third party login is now available on user, domain and system administrator level. It is now possible to generate a token that can be used to login, so that the account password does not have to be exposed. This makes it easy to generate a login from a server backend.
The PBX now supports generating X.509 certificates using the ACME protocol through HTTP and DNS challenges. When using the HTTP challenge, the system must be on a public IP address and it must use port 80. When using the DNS challenge, the DNS must have access to the DNS provider (currently DNSMadeEasy is supported).
When adding a domain, the PBX will attempt to create the DNS entry for the new domain and issue a certificate for the domain. A few days before the certificate expires, the PBX will then attempt to reissue the certificate. When a domain gets deleted, the PBX will attempt to delete the DNS entry.
It is now also possible to define a DNS name for the system. The PBX will also attempt to generate a certificate for this DNS address, so that the management access to the system can be done through a properly encrypted HTTPS connection.
There were several improvements made to LDAP:
- Depending on the LDAP client, sequence numbers above 128 could be a problem depending on the number representation; this is fixed now.
- Added objectCategory and objectClass to the fields that can be returned.
- Return company, title and mail fields in LDAP.
- Clarifications with the first and the last name.
Additional fields were added to the address book, including XMPP address and FAX, company and position.
There were problems with REFER subscriptions in certain firmware versions of snom phones that could hang the phones. The PBX now uses a different message flow to avoid this problem.
It is now possible to call someone else voicemail using the voicemail star code (usually
*97) appended with the target extension number.
A new settings was introduced that defines the audio level for playing music on hold in the auto attendant.
When a call went through the auto attendant screening process, it would not ring the extensions associated extensions as it does when calling the extension without screening.
When recording a name in the mailbox again, the previous recording would still be in the cache.
IVR nodes can now be part of a hunt group. This makes it possible to automatically dispatch incoming calls on the next idle IVR node. Also IVR nodes can now be used for outbound calls using CSTA MakeCall and click2dial.
Redirecting into a park orbit wasn't working properly. Also, it is now possible to call into an park orbit from a trunk.
The hunt group missed call flags were one stage off. Instead of reading the flag for stage 0 it was reading the flag for stage 1.
The logic for determining whether a caller should trigger the cell phone forking or not has been reversed. This makes it easier to define useful lists using patterns.
When there are many agents in a ACD, the PBX could take a long time to calculate the ACD state. A new cache will reduce the effort significantly.
When a call port was already closed, sending out requests could re-open the RTP ports again and lead to a waste of file descriptors.
Conferences can be recorded without having to schedule them. The recording is done from the moderator point of view.
When placing an outbound call from an extension that is a hot desk, the caller-ID needs to be changed accordingly.
Uploading an empty or buggy file could under certain circumstances stall the audio subsystem.
The codec negotiation could fail if one side of the call did not support the codec that was ultimately selected for the call.
When a call gets transfered into a mailbox, make sure that the annoucement plays from the beginning.
The calculation for ANI has been reviewed and made more flexible. There are now two settings that list how regular and emergency calls determine the outbound number.
When dialing an emergency number, the reporting about what number was dialed by the user (e.g. 911) and what number it was routed to was not consistent.
When starting a page, the PBX can now send an email notification out about this event.
There was a race condition for sending out emails to recipients that were carbon-copied on voicemail messages with WAV attachments. This problem should be solved now.
CDR are now searchable in the system admin web interface. Records can also be deleted now. The CDR also contain a link to PCAP files, if they were generated for the call. The PCAP files are now deleted when the CDR gets deleted; this will help avoiding unnoticed filling up the hard drive.
CDR can now be downloaded in CSV format right from the web interface.
The MongoDB and webcdr records now also include the account display name. This is in line with the extension display name.
We have added support for Google login. Using this method, users can login without having to remember their PBX account and password.
When changing templates, the changes can now contain comments. This makes it easier to integrate upgrades.
Resetting certificates now resets only the trusted Root CA.
The destinations in the ACD can now contain comments, so that it is easier to understand what they were set up for.
The web files are stored in a compressed format, which further reduces the footprint on the hard drive.
The login-status was not reported in emails and has been added back.
Hunt group members were treated as numbers, but they are actually strings. This could cause problems when members are starting with "0" or alphanumeric.
The performance of the web client was improved.
When deleting a domain with a name that did not exist, the API would match localhost if it exists and delete it.
It was possible to create trunks with no name, which could cause a lot of problems.
There were several fixes to make the buttons handling easier, for example added a reset button that would fetch the latest button definition for the selected model.
Form validation has been improved in several places. Fields in which telephone numbers are expected will treat non-ASCII characters as whitespace.
In order to retrieve the current list of calls in a domain, the
/rest/domain/domain/calls call has been added.
Several changes were made for CSTA. This includes the possibility to indicate call hold and resume. If there is a domain scope is available, account names do have a domain scope now and do not require the @ symbol and the domain.
Support for CSTA Play and DTMF was added.
A domain CSTA account makes it possible to log into domain. This is useful for making outbound calls from any account in the domain.
The call hold and retrieve could keep the media path open.
When importing a domain from an older version, the PBX will now try to keep the MAC assignments during the import, even though the functionality has changed significantly.
When calls are recording using SIP, it now follows the SIPREC recommendations.
There was a bug in the API that was returning the wrong set after a search.
Support for new license-types were introduced.
More suspicious user-agents were added to the list of scanner user-agent names.
For outbound SIP requests, the PBX now limits the number of requests that are not successful. This avoids endless request-challenge loops.