Release Notes 5.1.3

New Features

Virtual Offices. We have added a lot more flexibility for informing the called party about who is being called in the ACD. Depending on which alias name is being called, the PBX can now display the name of the called number like the ACD group name. It is also possible to play back a WAV file when the agent connects the call. This way, virtual offices can also be implements on devices that don’t properly support caller-ID display, for example cell phones and ATA.

WebRTC: When the user logs into the user portal, he may now also receive calls in the web browser. This reduces the need to have a separate softphone registered to the PBX. The user may now click on other links inside the user portal without losing the ongoing call.

PCAP: The new version supports recording of PCAP data for specific calls. As a filter, the administrator can check trunks or extensions. When the data is encrypted, the PBX writes the unencrypted data to the file. This is a tremendous advantage compared to running external tools for call analysis.

ActionURL: The ActionURL now also supports different methods, so that for example GET or POST can be used. Also, an action URL for room cleaned has been added for the hospitality industry. Busy on busy. We have introduced an explicit setting for busy on busy. In the old versions, the magic word “busy” for the redirection target was service that purpose; however it was hard to find that feature in the documentation. Domain email on emergency calls. When an emergency call is made in the domain, the PBX now can send an email to specified addresses.

CDR: We have added more schemes for CDR reporting. Now it is possible for example to send only CDR for outbound calls on trunks. Also, the simple CDR format had problems reporting the extension that started the call because of changes in the internal representation. Caller-ID Source. The source of the caller-ID can now be set for each trunk separately.

Simple hunt group. When calling an extension, the auto attendant may now also include other extensions when calling that extension. This avoids the usage of a separate hunt group for that purpose which maintaining the other features of the auto attendant like redirection to the cell phone and after timeout.

LDAP: We have added a secure LDAP port. Although the PBX was already supporting the StartTLS command for LDAP, some devices require a secure LDAP port right from the beginning. By default the PBX does not open this port; it has to be set explicitly during the setup of the system.

Recording review: There is a new star code that can be used to review recordings. Recordings can be marked as reviewed and the user can send emails for follow-up on recordings.

Provisioning: The PBX now writes a file “history.txt” in the generated folder that shows when what file was generated.

SIP trunks: Added 1wire and Vodafone (Arcor). Added a flag that makes it possible to communicate with trunks that are behind NAT.

Certificates: We have added a Vodia default certificate.


Snom firmware: By default, the PBX will now load on snom desktop phones. This upgrade also includes some minor adjustments. The firmware link is now provisioned using HTTPS, so that the PBX has the chance to determine for 7xx and 8xx what using is using the phone, so that domain-specific and even user-specific firmware versions can be deployed. The chance may affect customers that are still running very old firmware that does not support TLS yet.

DoS defense. The DoS algorithm was optimized, so that registration messages are treated in a different way than other messages. This should reduce the number of false alarms.

CDR email. The CDR email is now using the same database like the web interface. That means that all calls are in the list, also those who are not using any trunks.

Logging. We have added the logging group to the log itself. That makes it easier to find out in which group messages are generated and which log level needs to be changed to suppress messages. We have also started logging categories more systematically. For example, all ACD messages are logged in a similar way. Web-Design: We have introduced new layout in several places of the table. This helps moving more and more code into CSS and JavaScript instead of having it hardcoded in the program itself.

REST: We have converted several pages in the admin domain to use REST instead of server-side generated pages. This increases the flexibility of the design, makes the product more robust and makes it possible to remote control the PBX through the same API like the web browser.

HTML5: We have added audio tags that use the HTML5 capability to play back audio files right from the browser. This is used in several places, for example playback of recordings and verification of uploaded files.

Inbound call processing: The inbound call processing algorithms has grown over the last years to something that was very difficult to understand. We have re-written the subsystem. The new subsystem now has a clear usage of the country code and formats incoming calls on trunks depending on the selected caller-ID presentation on that trunk.

CSTA: For identifying the call in CSTA, the previous versions were using the call-leg ID instead of the call-ID. While this was avoiding problems with ambiguity, it was incompatible with some CSTA client implementations. Now the PBX is using the call-ID for identification purposes.

Remote Management: Older versions supported remote management of the PBX through notification messages. We took that feature out.

LDAP: When searching for names, the result set is now sorted case-insensitive. This eliminates double entries when the case is different.

Mailbox: When a caller accidentally entered a digit during the announcement phase, the mailbox would wait very long for the next digit. This could lead to situation when callers were leaving a message and then hanging up, without actually recordings the message. Now the PBX will prompt for the digits after a few seconds.

PnP: When automatically provisioning DNS names, the PBX now explicitly indicates what transport layer to use unless explicitly set to use the whole RFC3263 feature set. There was a lot of problems when phones needed to go through the whole procedure without any real need to do that.

Web Session: Over the years, there were session variables introduced all over the place that were introducing security problems and hard-to-understand behavior. This area has been cleaned up and functions in the PBX were introduced that safeguard the setting of certain variables.

IM Sending: We have introduces a message speed throttling. The problem was that in large domains, a change of status could cause a storm of messages that is service-affecting.

Database: The internal database could get very inefficient when there were a lot of registrations. Because of this, the new version uses an optimized version that is much faster and uses only slightly more memory.

Caller-ID update: When calling a number, the PBX now always sends an update to the caller updating the caller-ID. For example, when dialing a number that is in the address book, this will update the display of devices that support his method.

SIP ports: The SIP ports are now opened like the HTTP ports. In some environments, it could be difficult to get the server started up with all SIP ports open. The PBX then would endlessly loop trying to open all SIP ports. With the new approach it has a might higher probability to get all ports.

Codec: The G.726 codec now uses a dynamic code in the SDP. This increases the compatibility with most existing implementations in SIP endpoints.

Bug Fixes

Agent Login/Logout Buttons. The update messages for the login and logout buttons on the phones were generated in a very complicated way. This has now been changed. This improves the performance in large installations and it also made the algorithm easier to understand.

ACD Outbound: The callback lists could get mixed up between different ACD. Now the callback list are kept inside one ACD. Also, it is possible to add more than one number to the outbound call list.

Mailbox: When sending out emails with an attachment, the PBX could get locked up under certain conditions. Also, in Windows it could happen that recordings that are longer than 60 seconds were not showing up in the mailbox.

LDAP: It could happen that results from other domains were included in a LDAP search. This has been fixed.

FAX: When the FAX receiving fails, the PBX now disconnects the call. Otherwise the call could be on for a long time, blocking PSTN lines.

RTP: When the file system was very slow, logging media events could block the media play out. This subsystem has now been changed, so that the log messages are queued in a separate thread.

SIP: When the PBX received double SDP in messages that are otherwise different, it could confuse the offer/answer state machine.

Service Flag: When switch a call into a service flag, the status from the previous call element could accidentally be copied on to the service flag state, resulting into random input for the service flag.