Release Notes 5.5.0

IVR nodes Changes for the IVR nodes:

IVR nodes are a great way to link the PBX to an external application server. In previous versions we have already added the Action URL scheme to the IVR node. We have added two more REST API calls that make it possible to upload the announcement and to trigger an outbound call from that IVR node. This should make it possible to automate callbacks and collect DTMF-based input from the called parties.

In scope of this work the Action URL username and password web interface for the IVR was fixed.

There was a problem when the body in the Action URL contained curly brackets. In the new version the brackets are only replaced when the variable inside matches a known name.

Grandstream For the Grandstream devices the following changes were made:

The PBX was already able to the “zero-touch” interfaces from several VoIP phone manufacturers. This is important when deploying phones into environments where there is little or no control in the customer LAN and phones must be automatically find the PBX, so that the automatically generated configuration can be downloaded. The Grandstream GAPS is the latest addition to this.

We have improved the templates for the Grandstream models and are now able with the different templates that they are using.

The pickup from Grandstream phones was not working properly.

We have added more button types to work with Grandstream phones.

H-Tek We have also enabled the H-Tek mass provisioning feature, similar to the zero-touch provisioning that other phone vendors are providing.

Domain CDR settings The duration how long CDR will be kept can now also be set on domain level. This makes it possible to service domains with different levels. The total number of CDR on the system must be still set on system level.

Snom phones For Snom phones the following changes were made:

Snom has changed in their latest software the way the recording buttons were laid out on the screen. We have changed the templates in order to keep the recording function available.

We have added the new models D345 and D745 to the list of supported devices.

Yealink There is a flag in the template for provisioning Yealink phones that improve the stability of BLF after a reboot of the system. We now use that flag.

Trunks For trunks there were a few changes made:

We have added another mode for representing numbers in the domestic context. This change was necessary to make sure that the area code was always presented in environments where the area code was available, but should not be used on the trunk level.

The P-Preferred-Identity, P-Asserted-Identity and Report-Party-ID headers are available in the SIP trunk header variables now. This makes it easier to pass them from one side of the call to another side of the call, if needed.

It is now possible to include only calls that were using trunks in the midnight call reports.

Templates A common problem when upgrading the software is that the changes in the templates block updates of those pages. This can lead to considerable confusion. Automatically merging in changes can be problematic, especially if there are areas where customizations were made. In order to make the manual merging easier, we have added an icon next to the changed web pages that tell the user which pages had been updated since the last change.

Action URL The new version will come with a Action URL that gets triggered when a hunt group or a ACD connects an agent. This is typically an important moment for grabbing information about the call, and potentially display that information to the agent. The event can be enabled or disabled per group.

Web interface We have worked on a new web interface for the user. The web design is responsive and works on mobile devices, tablets and desktop computers. This interface uses WebRTC for the phone calls, and it is able to hold and transfer calls so that it can be used as a first-class replacement for traditional VoIP soft- and hard phones. It also contains some smaller improvements like when an agent logs in or out that the web interface gets refreshed with that information. Also in some environments the refreshing of the connection did not work properly.

WebRTC When using short headers, WebRTC was not working. That has been fixed now, and it will work no matter if short or long headers are used.

Extensions On the extension side, the following changes were made:

We have added a page in the web interface of the domain that lists what extensions are in the domain and what DID are assigned to the extension.

The subtype of the extension is now available in the domain status screen.

Mailbox For the mailbox the following changes were made:

We have added an option “8” to go to the virtual private assistant if the user has called into his or her mailbox calling from one of his cell phones.

There was something broken with the recording of a specific announcement that was fixed in this version.

The user can now also dial *98 codes with the prompt number following (e.g. *98*1).

The mailbox copy and move options for mailbox groups were mixed up and should be clean now.

Hotel For the hotel interface we made the following interfaces:

We have added another property management protocol to the PBX. This makes it easier to natively integrate the PBX with the hotel infrastructure.

We have also added a special extension type that can limit the extension functionality for hotel room usage.

Google contacts Google requires a UUID when requesting something from the API. In previous versions the UUID was hard coded, in the new version it can be overwritten by users that would like to use their own ID.

Call recording Turning automatic recording off on demand was conflicting with the functions to turn recording on and off ad-hoc. For compliance reasons we needed a function that temporarily mutes or stops the recording, for example when the agent collects credit card information. We have implemented a new way to handle this, so that agents can suspend the recording using the star codes in the call and also use the snom buttons that explicitly control the recording.

Secure login Because WebRTC works only when the browser is using a secure connection, we added a flag that automatically redirects the login screen to a secure connection, so that the rest of the session stays on a secure connection. This also makes sense for other traffic between the user and the PBX, e.g. when passwords are entered or changed.

Outbound proxy A common problem when provisioning devices is the transport layer to use. We already had in the domain a way to control the transport layer based on the IP address from where the phone is being provisioned; however it turned out that this mething is clunky. On top of this mechanism we have now added a method that controls on extension, domain and system level what transport layer should be provisioned. This works of course only with phones where the transport layer can be UDP, TCP or TLS.

Failover In the previous version we have added a method to automatically detect a failure of the primary and perform a failover on the secondary server. After the failover the trunks registration was not triggered automatically. We have fixed that in this version.

ACD When the leg got disconnected, the comparison what leg may cause the disconnect of the ACD was not always working properly. This could lead to dangling calls until both side have disconnected the call.

Service flag The service flags saw the following changes:

Holidays on service flags were so far days when there was no opening possible. However it makes sense to define opening hours also during holidays, for example reduced opening hours. The default is that there are no opening hours, so that the new behavior is backward-compatible with previous versions.

We have also added the timezone to the service flag, so that domains that span multiple time zones can explicitly define what time zone to use.

For automatic service flags, the user can now call in to the PBX to change the begin or the end of the day. The reason for this is that it was too clumsy to make those changes through the web interface and we needed something that works from the phone. However the new mode needs some new WAV files that we will have to roll out for the different languages.

Emergency call When someone calls an emergency number, the PBX can send out an email with details. That email now also contains the location information, the first and the last name of the extension which is calling.

SIP We found a problem with the SIP stack when ACK packets got lost. The ACK was used to tick off the last INVITE, if it got lost the new INVITE, which typically carries the authentication information, was ignored because it would be out of sequence. That could cause some tricky problems with outbound calls. This problem typically exists only on busy UDP lines. There were more problems with UDP packet repetitions when PRACK was being used that were fixed in scope of these changes. This should help improving reliability when using unreliable transport layers.

Buttons: A few years ago we have introduced a proprietary way to deal with buttons as a símple and lightweight way to control and intercept keypresses on the phones. However as the industry moves on we have to realize that this has not become a widely accepted standard. Instead we are focusing on the “dialog” format to turn LED on and off and statically provision buttons to perform functions. In scope of this, we have removed some proprietary functions like push to talk which are simply not possible with the dialog model and try to move the snom templates to use the dialog model as much as possible.