Compass Changelog


2024c

For Compass release 2024c we focussed on maintenance, modernizing our architecture and extending our API. We’ve replaced our internal message bus with RabbitMQ, making it easier to modularize our code base. We refactored the code connecting to our trunk providers, eliminating a problem where anonymous calls got the external number when forwarded transparently. We added API calls for custom provisioning for phone types on a reseller level.

Important changes

Changed

Communication between the components of Compass was done via RPC calls over the ICE protocol. This has some disadvantages, like messages being lost on restart and having to configure the receiver in the component sending the messages. After 2024c our components will use RabbitMQ as a broker. It will be easier to distribute our components differently, add events and new components. This will not change anything to our event bus over XMPP.

There was an issue when forwarding calls transparently to external numbers if the incoming call was anonymous. Instead of it being anonymous, it got the name of the external number in the From header. At the same time, the external number was not added to the relevant headers, making it impossible for some trunks to identify the caller. This is against rfc3325. To fix this, we cleaned up the code sending messages to our trunk providers and made sure to follow the rfc standards.

In 2024b we made it possible to set functionkeys, call waiting and custom provisioning settings in the API. This could only be done per phone or per phone model in a company. In 2024c it will also be possible to do this on a reseller level. Custom settings on the phone level will overwrite the custom settings on a company level, which on their turn will overwrite the custom settings on the reseller level.

We removed the necessity of adding a leg id to the answerCall endpoint. From now on it will be possible to answer calls by just sending a call id. Also, it makes more sense to have this endpoint on the user and the identity.

With the regular maintenance, we’ve updated to a new major version of Spring Boot. With this update, the validation has been tightened. It will be impossible to send properties that don’t exist on the request object. This was already the case for most API endpoints, but not for all. With this update the behavior will be consistent across all endpoints.

Also the next issues have been fixed:

  • GL-4611 - Rewrite TrunkController from ICE
  • GL-4635 - Update Asterisk to 20.9.1
  • GL-4659 - 500 Internal Error for a user without the right feature at the listenIn endpoint
  • GL-4671 - Queue settings cannot be adjusted

Added Yealink T42U and T46U support

We have implemented provisioning support for Yealink T42U and T46U, with firmware 108.86.188.7. We also added the EXP43 expansion pad for the Yealink T46U.

REST API

Added

Added API endpoints for phone provisioning settings:

  • GET /reseller/{id}/phoneModel/{phone_model_id}/settings
  • PATCH /reseller/{id}/phoneModel/{phone_model_id}/settings

Added answerCall endpoints to user and identity:

  • POST /user/{id}/answerCall
  • POST /identity/{id}/answerCall

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 - Semi-attended transfer generates an extra call recording
  • GL-3376 - Large XMPP rosters are shortened by the platform
  • GL-3847 - User call forwards are not followed in accordance with the availability status

2024b

In Compass release 2024b we added phone provisioning settings to our API and added TLS support (beta) for Yealink phones. On top of that we fixed issues with dial plans breaking when users were deleted, we added a way to get and make changes to queue members without them being active in a queue, and some bug fixes.

Important changes

Changed

Before this release it was only possible to set the functionkeys, call waiting and custom provisioning settings via Studio, but now they will be visible and configurable via the API. This is done per individual phone or per phone model in a company.

We added TLS support for Yealink phones. TLS can be enforced via PATCH /phone/{id} or via the Studio web interface. Note: TLS is in beta.

Currently, when queue members leave a queue, their settings are deleted. It will be possible to recover those settings by setting the filter parameter to all for the /queue/{id}/members API call. We also added the possibility to change the settings of queue members without them being currently active in a queue.

The property loggedInPhoneIds has been added to the User. This makes it possible to check on which phone a user is logged in. Note: currently only 1 logged in phone per user is supported.

Also the next issues have been fixed:

  • GL-4094 - Deleting a user has strange consequences on the dialplans that use it
  • GL-4564 - Changing organisation’s music on hold does not immediately take effect
  • GL-4570 - SNOM function keys: resetting is not applied
  • GL-4518 - /resource/{id} on a queue results in a 500
  • GL-4483 - default cli property on Company

REST API

Added

Added API calls for phone provisioning settings:

  • GET /phone/{id}/settings
  • PATCH /phone/{id}/settings
  • GET /company/{id}/phoneModel/{phone_model_id}/settings
  • PATCH /company/{id}/phoneModel/{phone_model_id}/settings

Added a parameter filter to get all queue members and their settings:

  • /queue/{id}/members?filter=all

When the parameter is not specified, the call will only return the currently active members. This ensures backwards compatibility.

Added an API call to change queue member settings regardless if they’re currently active:

  • PUT /queue/{id}/member/{userId}

Added property loggedInPhoneIds to User:

  • GET /user/{id}

Added properties defaultCliId, codecProfileId and pickupGroups to Company:

  • GET /company/{id}

Made the following properties of a Company patchable:

  • musicOnhold
  • theLanguage
  • defaultCliId
  • codecProfileId
  • pickupGroups

Made the following properties of a Reseller patchable:

  • theLanguage
  • contact

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 - Semi-attended transfer generates an extra call recording
  • GL-3376 - Large XMPP rosters are shortened by the platform
  • GL-3847 - User call forwards are not followed in accordance with the availability status

2024a

In Compass release 2024a we made changes to Call Flow Switches and added a personal phone type which is an intermediate step for our final goal of being able to call with Bridge itself (as a softphone using WebRTC). Furthermore we fixed about 8 issues and added new calls and properties to our REST API. This extends the possibility to see in which dial plan or other elements resources are used.

Important changes

Changed

The number of branches of a Call Flow Switch has been changed from 10 to 100. This change can be seen in Studio, API and Navigator. See our updated documentation for more info.

When call recording was enabled at the user (agent) level and the agent put the call on hold, in certain cases the recording did not stop recording the audio from the caller side. We fixed this issue.

Also the next issues have been fixed:

  • GL-4545 - Empty “From” number in cdr files (Queues,Events), when calling internal
  • GL-4303 - IP address visible when calling back from a missed call (T54W)
  • GL-4526 - Phone Model Statistics causing SQL Error
  • GL-4189 - Action-loop gets triggered when having 2 Call Forwards in Dial Plan
  • GL-4573 - Missing focus on fields when using tabs (f.e. at Function Keys)
  • GL-4529 - The order of IVR branches changes after saving and reopening

REST API

Added

As an intermediate step for Calling with Bridge (WebRTC) the next API calls have been added for the so called personal phone type.

  • POST /user/{id}/createPhone
  • GET /user/{id}/phones -> NB: this only lists the new personal phone type. Not the “normal” Compass phones.

The 4 resourcesFiltered calls now return a list with resources with all their properties:

  • GET company/{id}/resourcesFiltered
  • GET entity/{id}/resourcesFiltered
  • GET reseller/{id}/resourcesFiltered
  • GET user/{id}/resourcesFiltered

Also, the IVR resource now has the promptId added as a property.

Furthermore the promptId property has been added to Voicemail at:

  • GET /voicemail/{id}

Changed The personal phone type can be created via the API as described above. When enabled it will be shown in:

  • GET /user/{id}/features

as:

  • "id": "callingwbridge",
  • "name": "Calling with Bridge"

Firmware updates

Changed

  • GL-4327 - Removed Yealink T5* firmware workaround.

Removed

For Yealink we removed the next old firmwares:

  • T53(W): 96.86.188.9
  • T54(W): 96.86.188.9

See our Phone Support page for more details.

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 - Semi-attended transfer generates an extra call recording
  • GL-3376 - Large XMPP rosters are shortened by the platform
  • GL-3847 - User call forwards are not followed in accordance with the availability status

2023d

Compass release 2023d comes with new checks and visibility options in both Studio and via the REST API to see if a dial plan element is used in other dial plans as well. Also improvements have been made in update behaviour when updating function keys and Call Flow Switches. Both making the platform more consistent. Finally we added new firmware for Yealink and updated our Asterisk servers to 20.5.

Important changes

Changed

We made changes in the validation logic when trying to delete elements which are used in other dial plans. Previously the elements Voicemail, Conferences, Queues and Forwards did not have any in use validation and could be deleted immediately without check for use in other dial plans or a warning message. We changed this behaviour so it is consistent with the other dial plan elements.

After editing or adding a function key the desk phone didn’t update automatically but only after manual re-provisioning. The same applied for Settings per phone type. We changed both so the update is immediately visible.

Maintenance

Changed

We have upgraded our Asterisk PBX servers to version 20.5 and included a custom fix for increased stability.

REST API

Added

To see where a resource is used in other dial plans a new API call has been added:

  • GET resource/id/resources

We also added API calls at the elements themselves to see in which dial plans they are used

  • GET /conference/{id}/resources
  • GET /dpSwitch/{id}/resources
  • GET /extension/{id}/resources
  • GET /externalNumber/{id}/resources
  • GET /forward/{id}/resources
  • GET /phone/{id}/resources
  • GET /prompt/{id}/resources
  • GET /queue/{id}/resources
  • GET /voicemail/{id}/resources

Changed

When you modified a Call Flow Switch in a dial plan, the resource ID of the switch changed because the element was completely rebuilt when saved. This made it impossible to save this ID externally and refer to it at a later moment when using our API. We changed this behaviour so the resource ID remains the same. The relevant API call is:

  • GET /dpSwitch/{id} field: resourceId

BUT, when using the API calls:

  • POST /extension/{id}/dialplan
  • POST /externalNumber/{id}/dialplan

… the resource ID of an existing Call Flow Switch remains the same ONLY when it is explicitly used in the requests.

To make the functionality backwards compatible, if no ID is included for the Call Flow Switch in the request with which dial plans can be edited, the old behaviour is in place (this means the element is completely rebuilt when the request is sent, thus getting a new ID).

The relevant documentation regarding this can be found in the description of the API calls (the part under Dial plan switch):

  • // Optional resource ID of an existing switch to reuse.
  • // New switch will be created when not provided.

Furthermore, we made changes in the validation logic when trying to delete elements which are used in other dial plans. Previously the elements Prompts, Voicemail, Queues, Conferences, Forwards and Dial Plan Switches did not have any in use validation and could be deleted immediately without check for use in other dial plans or a warning message. Now a warning message is returned. If you still want to delete immediately you can use the new force parameter (values: true/ false) which has been added to:

  • DELETE /conference/{id}
  • DELETE /dpSwitch/{id}
  • DELETE /extension/{id}
  • DELETE /externalNumber/{id}
  • DELETE /forward/{id}
  • DELETE /phone/{id}
  • DELETE /prompt/{id}
  • DELETE /queue/{id}
  • DELETE /resource/{id}
  • DELETE /voicemail/{id}

Use the Swagger interface to discover these changes.

Firmware updates

Added

We’ve certified new firmware for the next Yealink phones:

  • T53(W),T54(W): 96.86.188.10

See our Phone Support page for more details.

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 - Semi-attended transfer generates an extra call recording
  • GL-3376 - Large XMPP rosters are shortened by the platform
  • GL-3847 - User call forwards are not followed in accordance with the availability status

2023c

Compass release 2023c contains a new Compass feature called Queue Cherry Picking to Extension and takes care of some regressions. Furthermore, we extended our REST API with 1 new API call and improved 4 others, introduced NextJS in our back-end and added several new firmware versions for both Yealink and Snom.

Important changes

Added

Queue cherry picking to internal extension

We extended the Queue cherry picking premium feature of queues. When enabled you could already cherry pick calls as a user via de API or via Bridge. In this release we added the possibility to cherry pick calls to an extension. One of the use cases is that this will enable routing calls in queues based on external info without manual intervention of an agent. This feature has been added to our REST API (see below). In the future we hope to add it to Bridge as well to cover other use cases.

Changed

The CallerID Name when using Queue cherry picking to Extension will be the original caller. To make the two cherry picking features consistent we changed the behavior of Queue cherry picking to User to show the CallerID Name of the original caller as well. Previously “Dialler” was shown.

Maintenance

Some parts of the Compass webinterface (Studio) are very old and hard to change. NextJS is a new component in the back-end which will help us with the transition to new usability and functionality features of Compass Studio. In the end this will make administrating Compass easier and faster.

Changed

In our 2023a release we changed the CLI for attended transfers. As a reminder: After an attended transfer, the Caller ID is now updated correctly to show the number of the original caller. Because the SIP headers were changed for this, in some cases this caused an MTU issue: the maximum size of packets became too large at certain customers. In order to fix this, we changed our SIP headers which now have “Topology hiding” enabled. This will reduce some headers in the SIP Invite message. Specifically, the Record-Route and Via headers often appeared multiple times in an Invite. We have reduced the number of instances of these headers to only one of each. The topology info itself is stored elsewhere so the packets have become smaller. NB: We will enable this functionality only after consulatation with our partners.

REST API

Added

To make our API’s more efficient and needing less API calls to retrieve certain information the fields userId and identityId have been added to:

  • GET /company/{id}/extensions

To retrieve the current PBX a company is attached to the field pbx has been added to:

  • GET /company/{id}
  • GET /company/{id}/company
  • GET /reseller/{id}/companies

As mentioned before Queue cherry picking to internal extension has been introduced and added to:

  • POST /extension/{id}/pickupQueueCall

Use the Swagger interface to discover these changes.

Regression fixed

In 2023b when using multiple Music On Hold files in the Music On Hold element the appearance in Studio was broken. It looked random and non-aligned. A similar issue was found internally with the settings of a Call Flow Switch. We fixed both.

Firmware updates

Added

We’ve certified new firmware for the next Yealink phones.

  • T40P: 54.83.188.10
  • T41P: 36.83.188.10
  • T42G: 29.83.188.11
  • T46G: 28.83.188.11
  • T41S, T42S, T46S: 66.86.188.8

For Snom we added: 10.1.159.12 for all models.

Removed

For Yealink we removed the next old firmwares:

  • T41S: 66.83.188.9
  • T42S: 66.81.188.7
  • T46S: 66.81.188.7

For Snom we removed:

  • D712: 8.9.3.80
  • D715: 8.7.5.13 and 8.9.3.80
  • D725: 8.7.5.35 and 8.9.3.80

See our Phone Support page for more details.

Changed

Finally, we also added the possibility for Snom phones to downgrade to cover certain scenarios in which you would like to revert to an older version. See our Admin manual -> Phones -> Editing for more info.

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 - Semi-attended transfer generates an extra call recording
  • GL-3376 - Large XMPP rosters are shortened by the platform
  • GL-3847 - User call forwards are not followed in accordance with the availability status

2023b

Compass release 2023b, bundled with Studio 1.4, contains updated versions of our core Asterisk and Kamailio components, a new Compass feature called Multiple Queue Exits and takes care of some prompt regressions and a few long outstanding bugs.

Important changes

Maintenance

  • Our Asterisk PBX servers have been upgraded from version 16 to 20.
  • Our Kamailio SIP servers have been upgraded from version 5.4.4 to 5.6.

Multiple Queue Exits

A newly added feature to the diaplan editor is the selection of multiple exits from a queue, such as maximum waiting time, maximum number of people waiting in the queue, or pressing a(ny) key to escape the queue. Settings can be altered per queue and allows for redirections to other destinations. At the API level ‘exitKeys’ have been added to Queue settings:

  • POST /company/{id}/createQueue
  • GET/PUT/PATCH /queue/{id}

And to Dialplan settings Queue type has been added to:

  • GET/POST /extension/{id}/dialplan
  • GET/POST /externalNumber/{id}/dialplan

Use the Swagger interface to discover these changes.

Finally, in our call events logging a new colomn has been added and for XMPP a new event. See our manuals for more details.

Regression fixed

Since 2023a we introduced changes to the Prompt API making it possible to create, read, update and delete prompts by external applications. With the last release, the “in use” - flag was not shown when the voice prompt was actually in use in any of the dialplans or in a voicemail. We fixed this, so users now can see if a prompt is in use in any dialplan.

Also, since the last release the sorting of the welcome message prompts in voicemail became random instead of alphabetical. We fixed it to be in alphabetical order, making it easier to find prompts.

One step closer to removing ICE

We’ve re-written endpoints in the Dialplan API, taking one step closer to removing ICE from the Compass code.

Studio

Studio 1.4 enables the inline creation and editing of queues in the dialplan editor. Also the previously mentioned multiple queue exits have been added. Further, we fixed some small, but long outstanding bugs. For more information, see the Studio changelog.

Firmware update

We’ve certified new firmware (version 96.86.188.9) for the Yealink T5-series (T53(W) and T54(W)) phones.

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 - Semi-attended transfer generates an extra call recording
  • GL-3376 - Large XMPP rosters are shortened by the platform
  • GL-3847 - User call forwards are not followed in accordance with the availability status

2023a

Compass release 2023a contains improvements on a wide variety of Compass features, and takes care of a few long outstanding bugs.

On the Compass side, the REST API now has full support from prompt management, including replacing audio files. This adds new integration opportunities for our partners.

One of the older issues on Compass relates to the way that caller-ids are handled in case of attended transfers. With this release, Compass will now update the phone’s display of the receiving party with the newly connected party.

For phone provisioning, the ‘call waiting’ setting can now be set company-wide (for a specific phonetype). We have furthermore simplified the provisioning setup by removing some little used features like adjusting volumes. As always, you can use custom provisioning for any custom wishes you may have on provisioning.

Following a few disruptions, we have again improved the redundancy setup of Compass and its behavior during datacenter fallout.

This release contains a fully working WebRTC setup, although it’s considered beta at this point. Starting with 2023a, you are able to connect with and dial via Compass with a browser-based softphone. We are now working on integrating this into our product suite, like Bridge.

On the Studio side, you are now able to create queues within the dialplan editor, as well as editing all queue properties with a brand-new modern interface. You can even manage queue agents from the same interface. We plan on expanding the dialplan editor more and more in future releases, so that you don’t have to go back and forth anymore.

Important changes

Prompt API

The Prompt API is an addition to our REST API, making it possible to create, read, update and delete prompts by external applications. Use the Swagger interface to discover the new endpoints:

  • Get prompts via GET /company/:id/prompts
  • Create prompts via POST /company/:id/createPrompt
  • Modify prompts via PATCH /prompt/:id (or use PUT)
  • Upload/download audio via GET/PUT /prompt/:id/audio

The new operations have been added to Compass API v3; the API stays fully backwards compatible with the previous version.

CLI for attended transfers

After an attended transfer, the caller id is now updated correctly, to indicate the newly connected party of the call. For example, if a secretary transfers an external call to a Compass user, the Compass user now sees the external number after the transfer is completed.

Call waiting is inherited

If you configure ‘call waiting’ on a per-phonetype basis in Compass, and not overwrite it in the per-phone configuration, it will now be successfully inherited.

WebRTC

WebRTC is now available as a technical-preview. Using Studio (or API), you can create a Compass phone of type ‘Generic SIP Softphone with call control’. Then, with any SIP-over-websockets library (for example, sip.js) you are able to dial out and receive phone calls on Compass. Technical resources are available for our partners.

Disruption mitigation

We have improved the speed and stability of the platform’s ability to run on a single datacenter, in case of major disruptions.

Provisioning cleanup

Compass 2023a does no longer support INI-style provisioning for SNOM phones. The checkbox for XML provisioning is no longer available in Studio - it’s always enabled. We have migrated all connected phones to XML already, so this will have no impact for customers.

A few settings have been removed from the SNOM provisioning, as they are barely used and clutter up the configuration interface. The removed settings are:

  • Headset sensitivity
  • Earpiece sensitivity
  • Speaker sensitivity
  • Only indicate Call waiting visually

Please refer to previous mails for implementation details.

Queue behavior

After long testing with various customer environments, we are now rolling out our ‘fair queue’ patches to all customers. This makes sure that callers are being handled by agents in a fair order, ie. callers are handled in the order they entered the queue. This only affects certain rare conditions in call centers.

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 - Semi-attended transfer generates an extra call recording
  • GL-3376 - Large XMPP rosters are shortened by the platform
  • GL-3847 - User call forwards are not followed in accordance with the availability status

2022c

What is delivered in Compass release 2022c focusses on security and consistency. It also contains fundamental steps to launch new Compass features such as WebRTC and single sign-on.

We removed md5-hashed passwords and company domains. Whilst the first gives us better protection against a possible data breach, the latter simplifies the platform and makes us ready for the future: single sign-on. We also phased out the old SNOM “ini provisioning”. All provisioned phones are now using the latest SNOM provisioning format (XML).

A lot of ground work has been done to support WebRTC in the platform. This effort will be continued next year and we will be in touch as soon this reaches a testable state.

In the webinterface, we are making the transition to a dark theme throughout. In this release we introduced dark themed styling for all whitelabel customers.

Important changes

Removal of md5 passwords

For the last 4 years, we have been actively storing user’s passwords using a strong hashing scheme on each login. But users that did not sign in these 4 years still have their old unsafe md5 passwords in our database. We have opted for clearing out all of these passwords for security reasons. Partners that are affected, have been contacted and users have been notified in November 2022.

Removal of company domains

Compass release 2022c removes the concept of ‘company domains’. This feature was barely used and caused a lot of maintenance effort in our platform. This feature was also in the way for introducing ‘federated logins’, so we have made the hard choice to remove this feature. Partners that are affected by this have been updated via separate channels.

Convert provisioning to XML fixes

All SNOM phones provisioned by Compass are now using XML provisioning, which is the newest format supported by SNOM. This ensures we can keep adding new SNOM phones and firmwares to the platform.

Removal of SNOM 710 & Meeting point

Desk phone devices are still an important part of our telephony platform. To guarantee the reliability and security of Compass, support for certain devices is discontinued with this release.

The next models are End-Of-Life and are removed.

  • Snom 710 (EOL since 09 / 2019)
  • Snom Meeting Point (EOL since 06 / 2021)

Check the Snom products lifecycle for more details. As usual if any existing phones of these models still exist at the time of this release they are automatically converted to ‘Generic SIP Phones’ in Compass. This allows the user to continue making and receiving calls, but the device no longer receives any configuration from the platform.

CDR output format

Before this release, CDR files were outputted in a wrong character set. This only affected very specific characters, for example Ö, which lead to misinterpretations by client applications. From 2022c onwards, both the webinterface (under “CDRs and Event”) and the CDR API output their files using UTF-8 character sets.

Dark skins

As our old webinterface is making way for a new Studio, we have also been switching from a light theme to a dark theme. This lead to mixed light and dark pages throughout Studio. In this release, moved all whitelabel partners to a dark-themed style, on all Studio pages.

Studio 1.3

Studio 1.3 contains a lot of great improvements on usability in the dialplan editor. For more information, see the Studio changelog.

Changed

  • GL-4001 - Remove support of SNOM phones 710 & Meeting point
  • GL-3902 - Set Clerk output format to utf8
  • GL-4287 - Dark skins for all resellers
  • GL-4220 - API: remove support for md5 password hashes
  • GL-4159 - Remove company domains

Studio v1.3 changelogs

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 - Semi-attended transfer generates an extra call recording
  • GL-2956 - Caller ID is s for unattended transfers
  • GL-3376 - Large XMPP rosters are shortened by the platform
  • GL-3847 - User call forwards are not followed in accordance with the availability status

2022b

Compass release “2022b” contains a feature-complete Queue API. As part of our plan to make all features of Compass accessible via our REST API, the Queue API can be used by your applications to auto-provision or manage queues without using Studio.

Following the rewrite of the provisioning platform, Compass 2022b brings support for the SNOM D717 and SNOM D735.

Next to this, there is a fix concerning Focus state for Compass Studio included.

Important changes

Queue API

The Queue API is an addition to our REST API, making it possible to create, read, update and delete queues by external applications. Use the Swagger interface to discover the new endpoints:

  • Get queue properties via GET /queue/:id
  • Create queues via POST /company/:id/createQueue
  • Modify queues via PATCH /queue/:id (or use PUT)
  • Request music on hold via GET /company/:id/musiconhold and the GET /musiconhold endpoints

The new operations have been added to Compass API v3; the API stays fully backwards compatible with the previous version.

Add SNOM D717 and D735 support

We have implemented provisioning support for SNOM D717 and D735. Firmwares are also available in Compass.

Studio fixes

We have introduced some Studio fixes that we are taking into this release. This means that Studio v 1.2.1. will be released together with Compass 2022b. The changelogs concerning Studio v 1.2.1. are to be found here.

Changed

  • GL-3918 - Fix timestamps in CDRs for multiple hold/unholds in a call (Zendesk #3426)
  • GL-4247 - Security issue in Compass API (Zendesk #3932)
  • GL-3603 - Stability fix for crashing Asterisk
  • GL-4256 - Calls longer than 2 hours are not shown correctly in XMPP (Zendesk #3933, #3424)
  • GL-4179 - Backwards compatibility issue in create company API (Zendesk #3851)
  • GL-4184 - Update versions of core components for stability and security
  • GL-4153 - Improvements to redundancy setup for SIP calls (thanks Cyso)

Studio v 1.2.1. changelogs

  • GL-156 Focus state fixes (Zendesk #3891)

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 - Semi-attended transfer generates an extra call recording
  • GL-2956 - Caller ID is s for unattended transfers
  • GL-3376 - Large XMPP rosters are shortened by the platform
  • GL-3847 - User call forwards are not followed in accordance with the availability status

2022a

Our newest release “2022a” focuses on phone support and being more agile in the event of a disruptance. For supporting (desk) phones we didn’t only rewrite the complete way we do provisioning, we now also support the newest firmware. For being more agile, we improved redundancy on crucial servers and devised a way to remove impact fast.

Important changes

New provisioning

XML provisioning is automatically enabled for newly added phones. For existing phones, it can be enabled using the web interface. In the near future, we will coordinate how to roll out XML provisioning for all supported phones with our partners.

SNOM firmware v.10

We are now supporting the newest SNOM firmware v.10. You can update your phones directly from Compass for improved security and to use the latest features of SNOM.

Improve redundancy

We improved redundancy on some crucial servers, making sure our customers have less impact in the event of a disruptance. This ensures that crucial applications for customers keep running, reducing the impact of a disruptance significantly.

Running on a single data center

In the event of a disruptance in a single data center, we are able to launch a script that excludes 1 full DC (datacenter) and re-route all traffic to the other DC. This means that the majority of the impact in the event of a disruptance can be removed fast, even if the affected DC is still down/having trouble. Procedures within Talksome have been altered to respond with launching the script within minutes in the event of a full DC being down, reducing downtime significantly.

Call waiting for Yealink phones

In this release, Compass can be configured to enable/disable “call waiting” on Yealink phones, meaning a second call can be offered even when you’re already taking a call. This is useful when you want to operate multiple calls at the same time, which is also possible via call control in Compass Bridge.

Changed

  • GL-3636 - Add SNOM firmware 10.1.101.11
  • GL-4142 - Phase out single dc script
  • GL-3590 - Provisioning API + SNOM XML provisioning
  • GL-4002 - Add call-waiting setting for Yealink phones
  • GL-756 - XMPP redundant

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 - Semi-attended transfer generates an extra call recording
  • GL-2956 - Caller ID is s for unattended transfers
  • GL-3376 - Large XMPP rosters are shortened by the platform
  • GL-3847 - User call forwards are not followed in accordance with the availability status

20220

The Compass release “2022-0” marks the last step in our efforts to eliminate legacy components in Compass back-end. With this release we will remove ICE completely and implement Spring API instead.

Although the changes should not be noticeable by any customer, it means a lot to Talksome to removeICE and work with Spring from now on. It not only makes our product more futureproof, it also makes developing- and maintaining (new) features more easy.

Important changes

Removal of ICE

ICE has been removed from Compass and has been replaced with Spring API.

Changed

  • GL-3967 - Implement Spring API.

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 - Semi-attended transfer generates an extra call recording
  • GL-2956 - Caller ID is s for unattended transfers
  • GL-3376 - Large XMPP rosters are shortened by the platform
  • GL-3847 - User call forwards are not followed in accordance with the availability status

2021e

The Compass release “2021e” marks the next big step in our efforts to replace the web interface with Studio; a complete redesign which allows for easier and simpler administration of Compass.

Specifically, in release 2021e the old dialplan editor makes place for an integrated dialplan environment, providing better overview for large dialplans and introducing dark mode and wizard-style interfaces.

In the next releases, we plan to further improve various workflows of this dialplan environment. You will then be able to create elements without having to leave the page at all (queues, prompts, etc). All these extra functionalities will (also) be added to the Compass REST API.

Important changes

Rebuild dialplan editor

The dialplan editor has been replaced with Studio and holds a (first) few new features.

Dark theme

The Studio part of the webinterface has a dark theme and new Talksome styling.

New terminology

We changed some element naming to a more explanatory name. For instance, “dial plan switches” and “time switches” are now called “call flow switches” and “time condition”. Also “prefix” (the name that is shown on the receving phone) is now called “label”.

Wizards

Entering elements in the dialplan has never been more easy using the wizards that we are introducing in this release. These wizards take you through every step in creating a dialplan element, without having to leave the screen you are editing in.

Sidebar

Introducing a right hand side-bar, although in this first version read-only, gives you overview of the settings of the diaplan element you have selected. In a next version, the right hand side-bar will be editible so you can change settings also in the sidebar.

Collapse and expand

Dialplans can now collapse and expand, giving you more overview of the dialplan you are creating or editing. You can collapse and expand a single element but using the “collapse all” / “expand all” you can collapse and expand all elements in one go.

Migrate phones API call

Some of our partners have indicated that it can be hard to migrate a phone from one company to another. We have added an API call to facilitate this process: POST /phone/{id}/migrateToCompany

Visit the REST Swagger page for details on how to use this endpoint.

Changed

  • GL-4126 - Added new firmware for Yealink S-series phones
  • GL-4051 - Add XMPP event for creation of a queue

Maintenance

  • GL-3231 - Removed memcached daemon
  • GL-3982 - Re-implement perl scripts

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 - Semi-attended transfer generates an extra call recording
  • GL-2956 - Caller ID is s for unattended transfers
  • GL-3376 - Large XMPP rosters are shortened by the platform
  • GL-3847 - User call forwards are not followed in accordance with the availability status

2021d

We’re pleased to announce that the Compass platform is happily running on the most recent Ubuntu LTS version for a few months now. As we have mentioned in various partner meetings; our current focus lies with “Studio” - the new webinterface. In this brand new release we present our first steps towards a new way of managing Compass.

New Talksome Styling

Following our rebranding from IPerity to Talksome we started restyling the Compass Web Interface. This is a phased process which we will complete in the coming releases.

New API calls

In line with our API-first strategy, in this release we have created a fully-featured Dialplan API. You can use this REST API to create or view the dialplan logic of your extensions and external numbers. This creates exciting new possibilities; you can now create a template of your existing dialplan, allowing you to (re-)use the dialplan without having to create it entirely. This functionality -when added to your customer portal- can increase customer onboarding experience. Also, you can copy and paste parts of dialplans, making creation of dialplans faster than ever before.

Important changes

Dialplan API

We outfitted our dialplan API with new API calls to extend the range of options to make and improve dialplans. Version 3 of the API now contains these new endpoints:

  • GET /extension/id/dialplan
  • POST /extension/id/dialplan
  • GET /externalNumber/id/dialplan
  • POST /externalNumber/id/dialplan

Visit the REST Swagger page for details on how to use these endpoints.

Dialplan editor

The Compass dialplan editor has been completely rebuilt from the ground up to accomodate for exciting new features coming soon. Next to implementing the Talksome styling now, a lot of known issues and annoyances have been fixed along the way for a better user experience throughout.

Remove API version 1 and 2

As previously communicated, we removed API versions 1 and 2 from the platform in this release. This means that, after release 2021d, applications that work with API v1 or API v2 will stop working. All of your applications should use v3 from this release forward.

Starcode renumbering

In this release we changed behaviour in service codes. Starcode *49 now matches the ‘user status’ behavior of the API and starcode *50 has been removed. As described in the API migration guide one of the biggest changes of API v3 was the introduction of a new service code *50 and related changed behaviour (global queue pause instead of single queue pause).

After consulting different partners and analysing the use of *49 and *50 we concluded: *50 is hardly used yet and introducing this new code had more impact than anticipated for our partners. Therefore we decided that as of this release *50 will be removed and *49 will be the only remaining service code left. Because v1 and v2 of the API are removed completely at the same release this should not give compatibility issues or unexpected behaviours.

Webinterface list state

Various lists in the web interface can contain a large number of items. This leads to the use of paging to display only a subset of items. Previously, leaving such a page meant that you would lose your page state/ number, making navigating through these pages difficult. With r-2021d, these lists will now keep their state (page size, page number) when navigating from/to the lists. This makes editing a large number of users a lot more pleasant, for example.

Changed

  • GL-3988 - Issue with voicemail deletion fixed
  • GL-3960 - List items show amount is not saved when you open an item on that page
  • GL-4023 - Change starcode *50 to *49
  • GL-4025 - Remove API versions v1 and v2
  • GL-3777 - Remove ICEgrid
  • GL-3584 - Changing dial plan switch options delete element under setting 10
  • GL-3364 - Prefix is not saved if you have more than two Prefix elements in a dial-plan

Added

  • GL-3232 Add Dialplan API

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 - Semi-attended transfer generates an extra call recording
  • GL-2956 - Caller ID is s for unattended transfers
  • GL-3376 - Large XMPP rosters are shortened by the platform
  • GL-3847 - User call forwards are not followed in accordance with the availability status

2021c

It’s been a year full of changes already: IPerity has become Talksome, Compass has found a new hosting provider and release 2021c will be the cherry on the cake: Compass has been overhauled completely to run on Ubuntu 20 (“Focal Fossa”). This operating system is the latest “long term support” release of Ubuntu, with support until at least 2025.

Because of the extensiveness of the changes under the hood of Compass, we have decided to not include any additional features in this release. Contact your account manager to find out what features we are planning for 2021d.

Important changes

Upgrade to Ubuntu 20.04

Compass has been updated to run on Ubuntu 20. This means that the complete operating system will be replaced, but also a lot of the components that are internally used by Compass: Java, nginx, php, python, ice and so on.

This upgrade ensures we benefit from the latest upstream security and performance fixes.

NOTE: due to the upgrade of nginx and openssl libraries, we are dropping RC4 cipher support on the Compass provisioning services. We have ensured this does not cause problems for any phones that are supported by Talksome. Note that we have already removed RC4 ciphers in 2016 for the regular webservers. In case of doubt, use our acceptance environment to test unsupported phones or check our list of supported phones.

Changed

  • GL-3768 - Upgrade to Ubuntu Focal

Added

  • None

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 - Semi-attended transfer generates an extra call recording
  • GL-2956 - Caller ID is s for unattended transfers
  • GL-3376 - Large XMPP rosters are shortened by the platform
  • GL-3847 - User call forwards are not followed in accordance with the availability status

2021b

We have a brand new Compass version awaiting you. In this release we are taking the next steps in upgrading to Ubuntu 20.04 and starting an overhaull of our webinterface (and it’s API calls). We also did some bug fixing, read all about it below.

Important changes

Upgrade to Ubuntu 20.04

After 2021a, we had to do a rollback of Kamailio (part of the Ubuntu upgrade) due to unforeseen issues with certain phone types. This is solved in the latest patch of Kamailio that we are deploying in 2021b.

We also changed the way the proxies handle the BLF (Busy Lamp Fields) and MWI (Message Waiting Indicator). You can now use the outbound proxy to manage these indicators. By adding the option to configure the outbound proxy, it speeds up the phone configurations.

Change in terminology and colors

We changed the naming of the Compass user status and their colors. Previously the term ”busy” (colored red) related to not getting offered queue calls, where the term “away” related to not getting calls at all (colored orange). As of 2021b, the term “busy” will be replaced by the term “no queue calls” and will be colored red. The term “away” will be replaced by the term “no calls” and will be colored orange. This only applies to the Compass user status (to be found on the personal settings page in Compass) and also shows in user settings in applications like Bridge. Please check your own Compass documentation (if applicable) to see if you need to change instructions or screenshots.

Full revision of webinterface coming!

This year we are making a long treasured wish come true; we are redesigning the webinterface to help you set up companies and manage forwards and queues faster and way easier! During March this year you helped us by giving feedback during the workshops “Redesign Compass webinterface”.

There is a new dial plan editor coming and also, we are making sure the API has the same functionalities so every customer can enjoy these changes. In this release, we take the first steps towards our new “Studio”. Two new API calls are added; “Create conference” and “Create forward”. On “global” level (not user specific, but company wide), the “Create conference” call ensures that conference boxes can be initiated via API. The “create forward” API call, makes sure you can manage all forwards through the API.

Changed

  • GL-3236 - We fixed the issue where in specific Yealink phones (T40P & T46G) “Asterisk” was shown shortly after picking up when using BLF.
  • GL-3966 - Busy and Away terminology change
  • GL-4008 - Fix Kamailio 5.4.4 crashing
  • GL-3198 - On phone page in webinterface it is shown which function keys are reserved for user identities of the user that is logged in.

Added

  • GL-3998 - Added createConference api
  • GL-3998 - Added createForward api method

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 - Semi-attended transfer generates an extra call recording
  • GL-2956 - Caller ID is s for unattended transfers
  • GL-3376 - Large XMPP rosters are shortened by the platform
  • GL-3847 - User call forwards are not followed in accordance with the availability status

2021a

We have a brand new Compass version awaiting you. In this release, the main theme is to take steps in some much desired upgrades for Compass. Next to that, we added functionality that helps with provisioning and supporting phones.

Important changes

Upgrade to Ubuntu 20.04

In this newest version of Compass, we are making the first steps towards upgrading it’s operating system (Ubuntu) to the latest (and greatest) version. This version makes Compass more resilient in terms of security and future proof in terms of support and management. We will complete the upgrade in the next Compass release(s).

In preparation of our upgrade to Ubuntu 20, we’ve updated our main components to run on newer software packages. In particular, we’ve updated the webinterface to run on PHP 7.4 and Kamailio is now running on the latest upstream version (5.4.4).

Yealink phone support

Talksome is investing in supporting new phones in Compass. Phones that are newly certified in release 2021-a are:

  • Yealink T53(W)
  • Yealink T54(W)
  • Yealink T41S
  • EXP50 expansion pads

These phones are all added to the list of certified phones with the latest firmware v. 96.85.188.3 (T5 -series) and 66.83.188.9 (T41S).

Removed prefix from voicemail file name

A fix to a small regression in the previous release (2020-c). The naming of the voicemail file was changed in r-2020-c, we now changed it back to the way it originally was.

Changes

New features and notable fixes

  • We expanded the number of PBX’es routing calls over the Compass platform to accomodate for the growing amount of active calls.

Changed

  • GL-3981 - Asterisk: remove prefix from voicemail file name
  • GL-3963 - Update php to 7.4
  • GL-3768 - Converting python scripts to python 3
  • GL-3760 - Kamailio always alias contact
  • GL-3709 - Upgrade Kamailio to 5.4.4

Added

  • GL-3527 - Make presence subscriptions function without proper company-realm domain
  • GL-3582 - Add support for new Yealink phones and expansion pad

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 Semi-attended transfer generates an extra call recording
  • GL-2956 Caller ID is s for unattended transfers
  • GL-3376 Large XMPP rosters are shortened by the platform
  • GL-3847 User call forwards are not followed in accordance with the availability status

2020c

Scheduled release date Apollo: starting January 24th, 2021

We are moving

We have been preparing a move from True to Cyso for months now. To accommodate for this move we’ve had to implement a couple of minor changes in Compass to improve compatibility and resilience. We call it Compass 2020c and it will be waiting for you after migration.

What changed?

As we mentioned before, we only made minor changes to Compass for this release. The changes we had to implement are:

Object storage

In Compass 2020c, we are using object storage (S3 based) to store voicemails and prompts. This improves the stability and resilience of Compass as a whole.

CDR storage

We also changed the way we store CDRs. As of Compass 2020c, CDR’s are stored in a CDR database, which makes it more efficient and flexible to retrieve them.

Further improving resilience

IPerity implemented DNS caching to protect against DNS server failures (DOS attack on the DNS servers of Cyso).

Upgrade Asterisk

In line with our policy to keep up with current releases of core components, we upgraded Asterisk to version 16.13. Updating our core components ensures we have the latest improvements, functionalities and security fixes to provide a stable and secure platform.

Important changes

  • GL-3904 Trunks now deliver calls on a Whitelabel specific domain (_sip._udp.proxy)

Changed

  • GL-3940 Upgraded Asterisk to version 16.13
  • GL-3328 Removal of Icestorm
  • GL-2928 Compass compatible with Object storage
  • GL-3807 Add DNS cache
  • GL-2915 Voicemail announcement cannot be saved by hanging up the call
  • GL-3904 Trunks now deliver calls on a Whitelabel specific domain (_sip._udp.proxy)

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 Semi-attended transfer generates an extra call recording
  • GL-2956 Caller ID is s for unattended transfers
  • GL-3376 Large XMPP rosters are shortened by the platform
  • GL-3847 User call forwards are not followed in accordance with the availability status

2020b

Scheduled release date Apollo: November 11th, 2020

Ready for call centers

For a long time now, Compass is known as the standard in communication platforms. With this release we are taking a step into the world of callcenters by adding all things needed to support agents and supervisors. You will find the biggest additional features explained below. Please note that some of the features are marked as “Premium”. This means that these features will be available for an additional (monthly) fee per user after 1-3-2021. Until then, you will be able to try it out for free. From now on you can use Compass both as a PBX as well as a callcenter solution!

New feature: Setting availability status

Compass 2020b allows you to set your availability status using apps such as Bridge or by using the Compass API. This makes the following things possible:

  • Integrate Compass availability status with video call solutions, so that your video meetings are not disturbed by regular phone calls.
  • If you have a meeting in your calendar, phone calls can be redirected to your colleagues.

New feature: Listen in (Premium)

Listen in allows a supervisor to listen to an active conversation between a caller and an agent. This functionality - only available for supervisors - is useful for training new agents, reviewing the quality of conversations or providing coaching during a call. With one click the supervisor is able to join an active conversation without being heard. In turn, the agent is notified when their active call is being listened in to and by whom (when using Bridge).
To be able to listen in on conversations, a supervisor needs to have “company change” permissions and have “Listen in API” enabled in Compass.

New feature: Wrap-up (Premium)

Callcenter agents need time between calls to properly log their conversation before taking a next call. Compass now has a configurable wrap-up feature that allows for a short break after each call. When enabled, the wrap-up timer is automatically triggered after hanging up a call and will be ended after a preset time (duration of the wrap-up timer is adjustable per queue). An agent can also actively choose to break out of wrap up and take calls earlier by selecting *50. To enable wrap-up, an agent needs to have the wrap-up feature enabled on user level and wrap-up duration needs to be set for the particular queue.

All features integrated into Bridge 1.2

Our new availability status, listen in- and wrap-up features are integrated into our latest Bridge release. Bridge 1.2 will be released shortly after the deployment of Compass 2020b.

Introduction REST API v3

With the release of Compass 2020b we are also releasing a new version of the API (v3). This means that previous versions (v1 and v2) will be “end of life” after the release on the 11th of November 2020. Approximately 6 months after that, with the release of 2021b, we will discontinue REST API v1 and v2. All applications that are using REST API v1/v2 should be upgraded to use API v3. After releasing 2021b, all applications using REST API v1/ v2 will stop working. We advise resellers to notify all users on the Compass platform of this discontinuation to allow for timely changes (if necessary).
To help resellers and users through the transition from REST API v1 and v2 to REST API v3, we added some practical information:

  • The technical migration manual for REST API v3 is now available here.
  • As of now, Compass 2020b is deployed on staging to allow for testing and customer feature development. If you want to customize this documentation for your customers (for example, to match your branding), please find the Markdown sources here.
  • On request, IPerity can deliver a monthly report with current REST API v1/v2 users.
  • Tip: we advise you not to mix REST API v1/v2 with REST API v3 within a company. This is due to the difference in the way the platform handles “queue pause” in different REST API versions (see migration manual for details).

Important changes

Introduction of REST API v3

  • Note: both v1 and v2 of the Compass API are “end of life” and will be discontinued after the release of 2021b.
  • The main difference between version 2 and 3 of the Compass API is that queue pause has been replaced with availability status.
  • A new *50 service code is added to enable a user to break out of wrap-up manually from their phone. In practice, this means that *50 is only used in REST API v3 and Bridge 1.2. In REST API v1/v2 this was *49. If you have *49 programmed in your phone, you should reprogram it to *50 when using REST API v3 and Bridge 1.2.
  • receive_calls: for events of type status, the user’s setting whether to receive calls (all, none or only_direct).
  • display_status: for events of type status, the display status string of the user.
  • call_id: for events of type status that pertain to the start of wrap-up time, the identifier of the call that caused the wrap-up time.
  • end_time: for events of type status that pertain to the start of wrap-up time, the timestamp at which wrap-up time ends. If the wrap-up duration is indefinite, this field is left empty.

Changed

  • GL-3642 dialUser and dialNumber returns CallID trough REST API (v3)
  • GL-3714 Add REST API call to retrieve dpSwitch by shortcode
  • GL-3615 Add REST API (v3) call to listenIn into a call (premium)
  • GL-3017 Add REST API (v3) call to set status description
  • GL-3017 Add REST API (v3) call to set startWrapup (premium)
  • GL-3819 Remove the voicemail number you can call to listen from voicemail email
  • GL-3714 Split up cherrypicking and call control as premium features in the REST API
  • GL-3696 Voicemails are now retained for 90 days, to match the retention period of CDR’s

Known issues

We are aware of the following issues. Please don’t open new support tickets for them.

  • GL-2868 Semi-attended transfer generates an extra call recording
  • GL-2900 First caller waiting in a queue gets no announcement
  • GL-2956 Caller ID is s for unattended transfers
  • GL-3376 Large XMPP rosters are shortened by the platform
  • GL-3847 User call forwards are not followed in accordance with availability status

2020a

Scheduled release date: July 30th, 2020 (Apollo)

For this release we continued our efforts to increase the resilience of Compass, this time focusing on several significant changes related to the databases that Compass uses.

Compass 2020a stores and retrieves core data and CDRs/events in different databases. This way, we can optimize each database configuration and choose a cluster technology and failover procedure specifically for the different types of data. These changes in turn allow for dramatically reduced recovery times after disturbances similar to ones we’ve experienced in the past.

While we were at it, we also took a good look at other database related subjects and upgraded MySQL, updated database configurations and connection pools, removed stored procedures and reduced the amount of data stored for keeping track of web sessions.

Another noteworthy change has been made with regards to data storage and privacy. We have adjusted our retention period for CDRs and voicemail messages, which will now be stored for a maximum of 92 days before they’re permanently removed from our platform.

Important changes

  • The retention period for CDRs has been reduced from 365 to 92 days.
  • Please note: any CDRs older than 92 days will be removed the night after the release is completed, at 01:00 AM CEST.
  • The retention period for voicemail messages has also been changed to 92 days, in accordance with the retention period for CDRs.
  • Please note: any stored voicemail messages older than 92 days (both new and previously played), will be removed on the first Wednesday 03:00 AM CEST after the release is completed.

Changed

  • GL-3722 Fix an issue where a company could not be removed using the API
  • GL-3740 Improve XMPP scalability
  • GL-3753 Fix for Asterisk crashes related to encrypted calling
  • GL-3765 Split core data and CDR databases
  • GL-3789: Fixed a security issue allowing overwriting identity forwards of other users
  • GL-3790: Fixed a security issue allowing upload of insecure file names
  • GL-3696 Adjusted CDR and voicemail retention

Known issues


2019d

Scheduled release date: April 29th, 2020 (Apollo)

Desk phones are almost always difficult to use. Losing a call while transferring happens more than once if you use the desk phone interface. Last year, we released call control; a Premium feature in Compass that can control your desk phone. Functions like answering a call, putting a call on hold and transferring a call can be performed without touching the phone. With this 2019d release, the DTMF input functionality is also available on supported Yealink phones. From now on, you never have to touch your phone again, like an easy to use remote control.

We took our learnings from the disturbances in 2019 and took steps to increase the resilience of Compass. In this release, we worked hard to make Compass more resilient at its core. Key components we have worked on specifically are the Kamailio balancers and Asterisk.

Since the beginning of 2020, the internet protocols TLS 1.0 and 1.1 are no longer supported by the major browsers such as Apple Safari, Google Chrome, Mozilla Firefox, Microsoft Edge & Internet Explorer. The reason is that the older TLS protocols make use of ancient algorithms and functions like SHA-1 and MD5. Therefore they don’t live up to the high-security standards of this day and age and for that reason, we removed support for TLS 1.0 and 1.1 from Compass. Changes to the REST API (v2)

For the external callback feature, one new REST request has been implemented:

  • POST /user/{id}/sendDtmf - Send DTMF digits on a call

Added

  • GL-3036 CallControl for Yealinks
  • GL-3314 DTMF API

Changed

  • GL-3669 After unattended transfer from user to PBX user is not disconnected
  • GL-3212 Add 113 as the emergency number
  • GL-3589 Enable call-control for SNOM D712
  • GL-3305 Fix the issue where users can’t remove an identity forward
  • GL-3312 Proper SSL cyphers for non-provisioning vhost

Known issues

Please don’t open support tickets for these issues.

  • GL-2868 Semi-attended transfer generates an extra call recording
  • GL-2900 First caller waiting in a queue gets no announcement
  • GL-2956 Caller ID is ~~s~~ for unattended transfers
  • GL-3376 Large XMPP rosters are shortened by the platform

2019c

Scheduled release date: October 23rd, 2019 (Apollo)

As announced in the previous release notes, we have been working hard on a long-awaited feature. And it has now landed in Compass: encrypted phone calls (BETA). Because of the huge amount of work that went into the development of this feature, and the numerous corner cases we hit along the way, we decided to put the label BETA on this feature. We do this to warn everybody that you might run into unforeseen issues. Please don’t use this feature for sensitive communication at this point in time, because we are aware that the reliability of encrypted calling is less than what you expect of us. And less than we expect of ourselves. So BETA it is. This feature enables the connection between your phone and our platform to be secured by SIPS and SRTP. So wherever you are, at the office, a café or in a train - your conversations are now encrypted. During the BETA phase encryption is available on the following supported phones:

  • Snom 710/D712/D715/D725: encryption is available as a setting per phone in the Compass web interface and via the REST API; and
  • Cloud Softphone: resellers can contact IPerity about enabling this for their customers.

If you want to use encryption with a phone of your choice - that is possible as well - but you will need to refer to your phone’s manual for instructions on how to enable encrypted calls. Please read the manual in Compass for more information about how to set it all up. We are working with Yealink to support encrypted calls on Compass in a future version of their firmware as well. In addition to the BETA of encrypted calling, we have added External Callback as a feature to our API. This allows integrators to set up a call between a remote party and a Compass dial plan. For example, if you need 10 people to automatically join a certain conference at 2 o’clock - Compass can now call them for you. Just make a request to our API. Or, if you’d like to invite customers to participate in an automated survey entirely built in Compass, our API can have Compass call them instead of waiting for them to call. These are just some examples of the new External Callback feature using our REST API. And in line with our policy to keep up with current releases of core components, we upgraded Asterisk to version 16 and Ejabberd to version 19.05. Updating our core components ensures we have the latest improvements, functionalities and security fixes to provide a stable and secure platform.

Important changes

The issue numbers have changed from RM (Redmine) to GL (Gitlab) because we switched to Gitlab for issue tracking. Changes to the REST API (v2) For the external callback feature, two new REST requests have been implemented:

  • POST /extension/{id}/callback - to call a phone number and connect it to an extension of the company
  • POST /externalNumber/{id}/callback - to call a phone number and connect it to an external number of the company

Encryption can be enabled on supported phones:

  • PATCH /phone/{id} - to configure phone provisioning to use encryption for all calls

Added a call to get all the extensions and the call forwards of the company:

  • GET /company/{id}/extensions
  • GET /company/{id}/forwards

The property voicemailDetection on identity resources can be read and changed via the API. Using this, you can control whether a call to a user (for instance from a queue, or a coworker calling you) that is being forwarded should be confirmed by the callee before it is accepted. This prevents callers from being connected to an agent’s mobile voicemail. When requesting a Company resource, the resource contains an extra field xmppDomain, which is the domain to connect to when using XMPP. The changes have been documented in the OpenAPI schema. Deprecations In 2017, Snom announced that phone models 710 and D710 would be discontinued (End-of-Life) in September 2019. The current supported firmware is working well and securely, so we are not planning to remove this phone model in this release. However, we might do so in an upcoming release — or when there is a security issue. If you are starting a new project, we advise you to use the replacements, Snom D712 and D715.

Added

  • GL-3181 Encrypted phone calls (available via provisioning on Snom and Cloud Softphone)
  • GL-1216 External Callback via the REST API

Changed

  • GL-3580 Update phone configuration when voicemail is changed
  • GL-2922 Fix voicemail escape to menu
  • GL-3536 Add xmppDomain field to company in REST API
  • GL-3557 Fix BLF initial presence for Yealink phones
  • GL-3581 Force (existing) Yealink phones to use the provisioning subdomain

Known issues

Please don’t open support tickets for these issues.

  • GL-2868 Semi-attended transfer generates an extra call recording
  • GL-2900 First caller waiting in a queue gets no announcement
  • GL-2956 Caller ID is s for unattended transfers
  • GL-3376 Large XMPP rosters are shortened by the platform

2019b

Planned release: June 2019 (Apollo)

In this release of Compass we are preparing lots of parts for a big upcoming change. In the next version we want to make one of the most exciting changes to the platform yet - secure calls.

In order to do that we had to overcome a few hurdles: an update of our proxies and an up-to-date set of supported phones with recent firmware. This meant rewriting part of our system, and working with partners to phase out deprecated phones. Both of these changes have been in the works for the last year, and we are proud to finally release them to you. Even more so because now the proxies have been updated, every major component of our platform is up-to-date and we no longer need to have our own patches. This reduces the chance of introducing bugs and saves a tremendous amount of development and testing effort.

In addition to this we have:

  • added the ability to download call events and user events as CSV from the Compass web interface,
  • added support for two more Yealink expansion pads, up to 3 EXP40s per phone, and
  • fixed Snom VLAN support.

Important changes

Support for many phone types was removed in this release. Deprecated phones will have their type changed to ‘Generic SIP Phone’ during deployment, and the Compass platform no longer accepts requests for configuration for these unsupported models.

When configuring a VLAN on a Snom phone, setting the VLAN to zero (0) will now disable the VLAN functionality of the phone. Previously this was done by setting the VLAN to 1, but VLAN 1 is a valid setting from now on.

To prevent impact we will clear the VLAN setting before deployment, for all Snom phones that currently have VLAN 1 set.

This change does not apply to Yealink phones. Their settings will remain unchanged.

Changes to the REST API (v2)

Some parameters have been made optional. This means they are no longer required and defaults will be used when they are omitted in a request. The changes have been documented in the OpenAPI schema.

Deprecated

  • Support for phones is removed that were declared deprecated in Compass 2018b.

Added

  • RM-3227 Add call events and user events to CDR download section
  • RM-3314 Support up to 3 Yealink EXP40 expansion pads

Changed

  • RM-2479 Fix Snom VLAN handling
  • RM-3351 Show users with same name edit group/department

Known issues

Please don’t open support tickets for these issues.

  • RM-2868 Semi-attended transfer generates an extra call recording
  • RM-2900 First caller waiting in a queue gets no announcement
  • RM-2922 Unable to escape voicemail box by pressing the star key
  • RM-2956 Caller ID is s for unattended transfers
  • RM-3376 Large XMPP rosters are shortened by the platform

2019a

Released: February 2019

In this release we add a new dialplan element: DTMF input. This element allows callers to enter numbers using DTMF, which can be read from the XMPP Realtime API to enhance information available to agents. We welcome developers to start building applications on top of this new functionality and to provide feedback on this feature.

Based on feedback from partners we added two features to the REST API. It’s now easier to find an external number in Compass using the API, and the API returns the logged in user when you request information about a specific phone.

Together with a lot of other issues, we fixed one longstanding known issue where Music-On-Hold would restart every time a queue caller hears an announcement. Music will now continue playing where it left off (RM-3028). Also, if a queue agent is put on pause during the ringtime, no new calls will be offered when ringtime ends (RM-3090). Important changes

There has been a change in the contents of the ‘down’ event in the call events API. The endpoints are now populated properly.

Changed Changes to the REST API (v2)

  • A new API call is introduced to quickly locate external numbers without needing to know which company it is attached to: GET /externalNumber/lookup
  • Calls to GET /phone/{id} now also returns a reference to the logged in user, if anyone is logged in
  • The OpenAPI schema has received minor fixes to make it fully compliant with the specification. Also, the online schema page has been given some cosmetic improvements.

Known issues

Please don’t open support tickets for these issues.

  • RM-2868 Semi-attended transfer generates an extra call recording
  • RM-2900 First caller waiting in a queue gets no announcement
  • RM-2922 Unable to escape voicemail box by pressing star key (new)
  • RM-2956 Caller ID is s for unattended transfers
  • RM-3376 Large XMPP rosters are shortened by the platform

Added

  • RM-3251 REST: add logged in user to Phone object
  • RM-3230 REST: add external number lookup call
  • RM-3166 DTMF input dialplan element
  • RM-1819 XMPP: event for prefix

Changed

  • RM-3028 Fixed ‘Music-On-Hold restarts after queue announcement’
  • RM-3090 Fixed ‘Agent receives call even when paused during ringtime’
  • RM-3199 Fixed some navigation issues in the web interface
  • RM-3217 iti: fix endpoint details for a cdr ‘down’ event

2018c

Released: Januari 2019

Important changes

  • The version 2018c we rewrote the module we lovingly call ‘Lisa’. She is the brain for everything we do with real-time information in the platform, such as queue statistics and active call lists. This rewrite fixes a lot of issues customers faced in the past, and makes future upgrades in this area far easier. Data changed in the platform is now instantly available in the presence module. No more waiting for the sync to happen.
  • Together with a new Lisa, we released a new JavaScript client library for the real-time Compass data: CompassJS. This new client is written in TypeScript and succeeds the current LisaApi module used in many of our products. LisaApi will not receive any further maintenance. Since we know a lot of our customer use this module, we urge you to upgrade to CompassJS as soon as possible.
  • Following the phone device roadmap we added support for the Yealink SIP-T42S and SIP-T46S phones. The Yealink SIP-T46G/S can now work together with an EXP40 expansion pad to add another 40 function keys for use with BLF and speed dial. Support for the Snom D735, D7 expansion pad and Snom DECT solutions is postponed until further notice.
  • For organisations that have agents in multiple queues, we now allow to set the queue weight. When there are callers in multiple queues competing for agents, a call from the queue with the heaviest weight will be offered first. This comes in handy for prioritising sales over support, or emergencies over less urgent calls.
  • Finally, users that log in to view their My Settings page will now find the list of dialplan switches in the bottom left corner. This allows them to see and change the settings of the switches from their web browser, in addition to the mobile app and DTMF service codes.

Deprecated

As part of the new Lisa module, we changed certain XMPP functionalities:

Company chat user

The ‘company user’ on XMPP chat has been removed. This user was always online on XMPP chat and could be used to send “dial” commands.

Resolution: use the Compass REST API instead.

Queue properties

The following properties of a queue have been removed from the XMPP model:

  • totalWait
  • totalCalls
  • handledCalls
  • maxWait
  • averageWait

Resolution: if you need such statistical data, manually calculate these values in your middleware code.

XMPP Actions

The (previously undocumented) XMPP “actions” are no longer supported. This includes: DialUser, DialNumber, SetProperty, QueueLogin, QueueLogout.

Resolution: use the REST API to execute these commands.

Company domains

For users of a company domain, it’s now only possible to connect using a ‘connect host’. We no longer support XMPP connections directly to your company domain.

Resolution: use a ‘connect host’ (uc.your-reseller.com).

LisaApi no longer maintained

The LisaApi client for Compass will no longer be supported. Please use CompassJS instead.

Known issues

  • RM-2868 Semi-attended transfer generates an extra call recording
  • RM-2900 First caller waiting in a queue gets no announcement
  • RM-2956 Caller ID is s for unattended transfers
  • RM-3028 Music on Hold re-starts after every queue announcement

Please don’t open support tickets for these issues.

Added

  • MR-505 Add support for Yealink SIP-T42S and SIP-T46S (#3040)
  • MR-507 Yealink EXP40 support for SIP-T46G/S (#3123)
  • MR-508 Queue weights (#3146)
  • MR-514 Add virtual switches to the ​​front page of the web interface (#3157)

Changed

  • MR-436 api: fix exception type when requesting an unmapped resource type (#2936)
  • MR-483 asterisk: fix ‘Sunday’ audio for voicemail-listen (#3158)
  • MR-485 New Lisa
    • Fixes #2875 Company domains lost after ejabberd reload
    • Fixes #2881 Rebuild XMPP
    • Fixes #3132 Possible to subcribe XMPP pubsub on wrong domain
    • Fixes #3142 Check Ejabberd shaper settings
    • Fixes #3183 XMPP queue destroy notification omits queueId
    • Fixes #3184 XMPP event for user logout has no property update for phoneId
  • MR-496 web: sort by phone name on phone-login page
  • MR-498 web: fix freeform removal issue (#3200)
  • MR-510 Remove Snom permission flags where possible (#3163)
  • MR-518 Fix ringinuse (#3234)
  • MR-520 Dialplan switch edit form returns to correct page (#3226)
  • MR-522 Lisa: fix setting of timeCreated (#3240)
  • MR-529 Web fix multiupload (#3243)

Performance / stability / system administration / development (16)

  • MR-470 Remove dead code
  • MR-484 db: add index on ent_user.username (#3159)
  • MR-487 Use PHP 7’s array_column() implementation
  • MR-501 Xmpp compliance
  • MR-502 Like stream_file(), wrap get_data() AGI calls to prevent error messages when the user hangs up
  • MR-503 Web dialplan ACL (#3145)
  • MR-509 Pull-only shared identity-state (#3149)
  • MR-511 Add redis (#3149)
  • MR-512 puppet: reserve API replication groups for the foreseeable future
  • MR-513 Callcontrol migration (#3150)
  • MR-515 Fix restart_icegrid script
  • MR-516 Update packages (#3174)
  • MR-517 Enable (local) JMX monitoring for iti/api/lisa
  • MR-525 Freeform XSS (#3246)
  • MR-526 Fixate on which IP the ice components request incoming connections (#3239)
  • MR-528 Ejabberd config

2018b

Released: Oktober 2018

Important changes

  • Version 2018b includes a lot of changes, both visible and invisible.
  • The webinterface is restyled. The new design is much cleaner and up to date. Of course we did the same for whitelabel environments.
  • Documentation is now available in HTML format in Compass. The English manual is 100% complete, and the Dutch manual has been removed. The Markdown source is freely available for partners to extend, improve and re-style.
  • Freeform provisioning: advanced users can now add their own settings to the Snom and Yealink provisioning Compass provides.
  • Under the hood many of the APIs are now hosted on redundant servers to increase uptime during maintenance and to make them more resilient to outages.
  • The queue setting Call waiting if agent is already in a call is introduced. By default this is turned on. If you turn this off combined with Call waiting off you will be able to receive only one queue call at the same time but if somebody calls you directly, this call is put through. This also solves some issues with the following queue strategies: phone least called by this queue, phone with least calls by this queue. It also solves some issues with agent priorities.
  • It is now possible to check and change the current setting of dialplan switches through the new Dialplan switches page in the Dialplan menu. Also Compass now remembers the last switch setting in most cases when saving a dialplan.
  • Last but not least, we tested Compass with Xenosite SIP trunking which means that we can now support resellers who want to use the Xenosite platform.

Changed Changes to the REST API (v2)

  • The Swagger schema for the REST API no longer contains the host URL, to make it easier for Swagger clients to build upon our API.

Deprecated

  • Several phone models have been marked deprecated in this release. See ‘Notes on phone support’ for details.
  • Support for Snom LDAP settings has been removed from the webinterface. See ‘Freeform provisioning’ in ‘Important changes’ if you want to keep using this feature.
  • The Compass TAPI driver is no longer supported, and is removed from the Downloads section.

Known issues Please don’t open support tickets for these issues.

  • RM-2868 Semi-attended transfer generates an extra call recording
  • RM-2900 First caller waiting in a queue gets no announcement
  • RM-2956 Caller ID is s for unattended transfers
  • RM-3028 Music on Hold re-starts after every queue announcement

Notes on phone support

In this release a number of phone models are deprecated. This is visible with a warning when viewing the phone details, and when adding a phone to Compass a label ‘(deprecated)’ is visible behind the phone type. Details about this change will be sent out in an announcement to resellers.

Snom has migrated their vendor provisioning service from RDS to SRAPS. This has implications for supported firmwares. Please see the Helpcenter for the latest information on supported firmwares.

The Opus codec has been enabled on Compass. Not yet available on provisioned phones such as Snom and Yealink.

Added

  • Add support for trunk-mor via Xenosite. (#3041)
  • Web redesign (#fixes #3030)
  • MR-442 Ringinuse (#2865)
  • MR-450 Control dialplan switches from the webinterface
  • MR-457 Add support for Cloudsoftphone and Opus codec (#3033, #3125)
  • MR-466 Freeform provisioning (#3100, #3137)
  • MR-473 Support Snom D712 (fixes #3038)

Changed

  • MR-408 rest: destroy session after request is done
  • MR-411 Web csv info is compatible with multi-level reseller (#3016)
  • MR-425 Voicemail menu is accessible again by pressing * (star) (#2922)
  • Voicemail retention policy has been set to 31 days platform-wide
  • MR-491 Add certified working firmware for Snom D715 and D725 (#3177)
  • MR-494 Fix REST response for invalid JSON (#3193)

Performance / stability / system administration / development (44)

  • MR-396 python: log using a logger instead of stdout
  • MR-414 Fix errors for invalid IVR extensions (#2972)
  • MR-415 rest: add blacklist functionality per basedom
  • MR-416 Don’t let memcached listen on udp
  • MR-418 Don’t try to delete prompts from places we no longer use
  • MR-419 CallerID branches don’t have a JSON attribute called ‘expression’
  • MR-420 [doc] Update voicemail menu (#2867)
  • MR-424 Use Read() application instead of WaitExten() for IVR menus (#3024)
  • MR-426 Remove LDAP (#2998)
  • MR-428 Add some scripts to show number of phones per company and per pbx
  • MR-430 XMPP documentation error: queue.member -> queueMember
  • MR-434 ‘My settings’ page used wrong password field (#3057)
  • MR-437 Batch the removal of CDR events
  • MR-439 balancer: change user agent back to ‘Compass vPBX’ (#3055)
  • MR-440 puppet: before starting asterisk, make sure we have remote file systems mounted (#3074)
  • MR-444 Remove the DB migrations which are deployed on all environments
  • MR-445 Ha upgrade fixes
  • MR-446 rest: don’t hardcode the API host in the schema
  • MR-447 Don’t trim spaces in password fields (fixes #3064)
  • MR-448 Nginx performance
  • MR-449 Remove debug logging containing sensitive information (#3085)
  • MR-451 Filter password fields in user input from the logging (fixes #3096)
  • MR-452 Remove Windows TAPI Plugin (fixes #3101)
  • MR-453 Yealink new RPS url (fixes #3104)
  • MR-455 Remove import/export functionality
  • MR-456 iti: make sure CallEventWriter reconnects (#3115)
  • MR-458 Reduce loglevel for user-dependent error condition
  • MR-459 Add script for exporting the composer dependencies
  • MR-460 Snom SRAPS (#3126)
  • MR-462 Only store entity ID in the session instead of an entire serialized model (fixes #3078, #1303)
  • MR-463 web: fix NL => EN translations by generating locale
  • MR-464 Fix translation of dialplan switches in menu
  • MR-465 Web redundancy (fixes #2090)
  • MR-467 Firmware packaging
  • MR-468 Mark phone as deprecated (#3106)
  • MR-471 clerk: set syslog program name for cdr-csv clerk
  • MR-472 web: use markdown-generated documentation in webinterface (#3029)
  • MR-474 Web test refactor
  • MR-475 HA_deploy: add instructions for doc building (#3140)
  • MR-482 DNS-to-puppet
  • MR-486 Upgrade kamailio with CVE-2018-14767 patch (#3168)
  • MR-488 Make voicemails and voicemail announcements writable for Compass group (refs #2940)
  • MR-492 Remove Felloo reseller
  • MR-497 Final documentation updates for 2018b
  • MR-506 Deprecate Snom 720 (#3106)

2018a

Released: May 2018

The first major release of 2018 is all about control, stability and security. We have added Call Control for selected Snom models. This allows integrators to build seamless remote control of phones.

A lot of work has been put into Asterisk stability and reducing the number of custom patches we need to apply. We also fixed many of the bugs that customers and testers reported.

With regards to security, we have updated the supported firmware for Snom phones, and published new recommended firmware for Yealink. Also, we increased the minimum length for user passwords to 8 characters. This applies to new passwords, so please change yours if it’s currently shorter than 8 characters in length.

Important changes

  • Call control, on selected Snom phones (D715, D725, 710, 720) running latest firmware
  • Updated firmware for all Snom phones
  • Support for Yealink v81 firmware
  • Passwords have to be 8 characters or longer, and cannot equal the username
  • TLS encryption is now mandatory for XMPP connections
  • Identity recording when doing BLF pickup is fixed (#2971)
  • Extra columns caller_state, callee_state in the call events API

Changed

Added API calls for Call Control:

  • /phone/{id}/capabilities
  • /phone/{id}/answerCall
  • /phone/{id}/holdCall
  • /phone/{id}/unholdCall
  • /user/{id}/hangupCall
  • /user/{id}/transferCall
  • /user/{id}/redirectCall Added API calls for rebooting and provisioning phones:
  • /phone/{id}/reboot
  • /phone/{id}/syncSettings

Known issues

Please don’t open support tickets for these issues.

  • RM-2868 Semi-attended transfer generates an extra call recording
  • RM-2893 CDRs for a (un)attended transfer of an API dial is incorrect
  • RM-2900 First caller waiting in a queue gets no announcement
  • RM-2922 When calling a voicemailbox, escaping to the administration menu does not work
  • RM-2956 Caller ID is s for unattended transfers
  • RM-3028 Music on Hold re-starts after every queue announcement

Notes on phone support

  • Snom 821 and 870 do not support codec GSM on firmware 8.7.5.35 and 8.7.5.44. This may lead to issues when the codec profile used does not have an alternative codec (RM-3005)
  • Snom phones running an 8.9.3.x or higher firmware should not be manually downgraded to a version below 8.7.5.44. This will break future firmware upgrades. More information is available on the Snom wiki.
  • Snom phones running firmware version 6 or 7 can no longer be updated using Compass. Follow the procedure on the Snom wiki to manually update to version 8.

Added

  • MR-407 Call Control

Changed

  • MR-378 Ejabberd: force tls encryption on c2s connections
  • MR-403 Support for Yealink firmware v81 (also fixes #2851)
  • MR-404 Password validation (#3001)
  • MR-410 Asterisk: fix some corner cases for ApiSemiAttendedTransfer
  • MR-412 Update Snom firmwares, add extra provisioning defaults
  • MR-429 Allow updating Snom to firmware v10
  • When calling an external number while not allowed to do so, users no longer get an empty identity call recording email (#2905)
  • When an error occurs during queue call pickup, the error message is played in the user’s language (#2986)

Performance / stability / system administration / development (20)

  • MR-355 web: refactor queue ajax code; was logging errors in certain cases
  • MR-370 puppet: don’t refresh icegrid descriptor on prod machines
  • MR-380 Iti exceptions
  • MR-386 Java coverage met Jacoco
  • MR-381 Test for caller-unattended-transfer (#2956)
  • MR-388 tests: combine VoicemailLeave and VoicemailListen to one testcase
  • MR-389 Fix voicemailleave.py errors
  • MR-390 R 2017d release fixes
  • MR-391 Inherit cid to child channels (fixes #2971)
  • MR-392 Web cleanup
  • MR-395 DB: add voicemail => prompt foreign key
  • MR-397 web: fix tooltip for prompts in use (fixes #2992)
  • MR-400 ITI: fix channel sync deadlock problem (#2990)
  • MR-406 Yealink refactor
  • MR-409 Password storage (#2702)
  • MR-413 Update Asterisk to 15.3.0
  • MR-417 package updates 2018a
  • MR-427 Update XMPP documentation
  • MR-432 Update Asterisk to 15.3.0-iperity3
  • MR-433 New Yealink firmware

2017e

Released: February 2018

This release adds one important feature to the API: Queue Call Pickup eg. cherry-picking. This feature allows clients to ‘cherry-pick’ a waiting caller from a queue and have that call offered to their phone. This works both in the case you are not an agent in that queue, or even when you are an agent.

The REST schema is upgraded to make it easier for Swagger clients to integrate with the Compass API. The interactive REST documentation has a new look and feel.

Besides that, a lot of minor bugs have been squashed.

Important changes

  • Added the feature Queue Call Pickup
  • The REST schema interface has a new appearance

Changed Changes to the REST API (v2)

  • Added new function calls to perform queue call pickup
  • Fixed the ‘recording’ property of identities and external numbers

Known issues

Please don’t open support tickets for these issues.

  • RM-2868 Semi-attended transfer generates an extra call recording
  • RM-2893 CDRs for an (un)attended transfer of an API dial is incorrect
  • RM-2900 First caller waiting in a queue gets no announcement
  • RM-2986 Error prompt for queue call pickup is always in English

Added

  • MR-363 Queue Call Pickup
  • MR-372 XMPP subscribe with reseller user
  • MR-385 Add SNOM option to visually indicate Call Waiting

Changed

  • MR-335 New REST schema interface
  • MR-341 web: fix mac address validation (#2826)
  • MR-342 API: take into account the ‘recording’ flag when determining callrecording status (#2715)
  • MR-347 voicemail mail utf8 fix
  • MR-348 web: add test and fix firmware page (#2838)
  • MR-350 web: check extension existance before creating forward (#2836)
  • MR-356 web: sanitize input before storing identity call forwards (#2848)
  • MR-394 Fix translation of visual Call Waiting option (#2975)

Performance / stability / system administration / development (22)

  • MR-336 web: remove references to root_domain; should not be used anyways
  • MR-339 asterisk: remove ‘,’ and ‘=’ from entity names in queuemember table
  • MR-345 balancer: revert user agent for NEC DECT phones
  • MR-346 Ha deploy improvements after r 2017c
  • MR-349 Improve sipit tests of callrecording
  • MR-351 scripts: add extra checks in check-certs script
  • MR-352 Remove SNOM m3/m9 leftovers
  • MR-357 Add nginx config to serve well-known files (for SSL domain validation)
  • MR-358 Cert updates (& automation of renewal)
  • MR-359 Remove ice ssl
  • MR-364 Rewrite ejea in python
  • MR-365 Use ruby-mysql2 for all ruby-db access
  • MR-367 puppet: fix for not cleaning up python-ice imports
  • MR-369 Styling eLive
  • MR-374 Fix AGI script for login (#2950)
  • MR-375 ITI: send events even if they are malformed, to prevent hanging Lisa calls
  • MR-379 doc: add instructions to use xmpp api with a company domain
  • MR-382 Update package pinning to the latest Ubuntu LTS versions
  • MR-383 Writecdr fixes
  • MR-387 asterisk: fix mwi message-waiting indicator
  • MR-393 iti: fix channel sync code (fixes #2978)
  • RM-2899 Some prompts for voicemail menu are incorrect

2017d

Released: November 2017

In this release we updated many of the components that relate to making phone calls.

Not only did we upgrade to a newer version of Asterisk, but we removed the dependency on Freeswitch, and re-wrote the module that links Asterisk to the rest of the platform.

Important changes

  • New system prompts in Dutch and English
  • When a queue call is picked up, the other phones will stop ringing immediately
  • API dial command has the correct call events
  • API dial calls can now be transferred
  • Identity call recordings from a queue will report the correct call ID in the call recording email
  • Call recordings do not record audio while the call is on hold
  • Compass will no longer offer video codecs by default on every outgoing call. Only when a phone requests them, will they be offered to the remote party
  • Default NAT timeout changed to 25 seconds (was 45)
  • Provisioned phones that are still in state ‘active’ will be de-provisioned within a week for security reasons
  • All service codes (*1, et cetera) get logged in the events, but not in CDRs
  • Improved quality for call recordings
  • Possible to login user directly by dialling 1extension*pincode#
  • Conference box now also has music
  • Voicemail IVR menu structure changed

Deprecated

  • Removed service codes *74 and *84

Known issues

Please don’t open support tickets for these issues.

  • RM-2868 Semi-attended transfer generates an extra call recording
  • RM-2893 CDRs for a (un)attended transfer of an API dial is incorrect
  • RM-2899 Some prompts for voicemail menu are incorrect
  • RM-2900 First caller waiting in a queue gets no announcement

Changed

  • MR-334 Changed NAT timeout to 25 seconds for Snom and Yealink phones
  • MR-338 Yealink source port changed from 5060 to 55060
  • Voicemail can be fast-forwarded by 5 seconds (was 1 second)
  • After a voicemail element, the dialplan will now continue
  • User-agent of PBX is now “Compass PBX”, was “Canens vPBX”

Performance / stability / system administration / development (5)

  • Upgrade to Asterisk 15
  • Implement all features using Asterisk
  • Remove Freeswitch
  • Rewrite ITI
  • Preparations for WebRTC support
  • MR-330 Autodetect repo proxy
  • MR-344 Cleanup PhoneController
  • MR-353 Log all failures in external Asterisk scripts
  • MR-360 Add script for enabling/disabling PBX
  • MR-361 Add cronjob to disable manufacturer provisioning

2017c

Released: August 2017

This version of Compass focuses mainly on maintenance.

We fixed several issues identified earlier this year, and added necessary features to add more users to the platform.

Important changes

  • Resellers can now configure an address to be used as source for call recording emails and voicemail emails (for example ‘noreply@reseller.com’)
  • Provisioning for Snom M3 and M9 removed
  • MR-311 Multi-level reseller

Changes to the REST API (v2)

  • Same as 2017b-2, plus:
  • Auto-fill contact field for new resellers

Deprecated

  • Removed Snom m3/m9 provisioning; they can still be added as ‘Generic DECT’ phones

Added

  • MR-296, MR-314 No-reply address for reseller users
  • MR-318 Add shortcode to dpSwitch in API
  • MR-311 Multi-level reseller

Changed

  • MR-285 Remove SNOM m3/m9 provisioning (RM-2634)
  • MR-303 Fix edit function keys screen for legacy phones (RM-2133)
  • MR-306 Fix cancel button when editing voicemail (RM-2799)
  • MR-308 Manuals open in a new window
  • MR-317 Fix api get/set callrecording
  • MR-320 Different ringer for internal calls on Yealink phones
  • MR-322 Auto-fill contact address for resellers created in the API (RM-2810)
  • MR-326 Fix cancel button when editing root reseller (RM-2814)

Performance / stability / system administration / development (17)

  • Changed the way companies are assigned to PBX’es (Dispatcher)
  • MR-299 Updated XMPP API documentation
  • MR-301 Refactory GUI url
  • MR-302 Web integration tests
  • MR-307 Fix CI test cases
  • MR-309 Fix ds_reload script (RM-2800)
  • MR-313 Refactor i18n regen script
  • MR-315 Gitlab MR template
  • MR-316 Add tests for info services codes to testplan
  • MR-321 PHP Static Analysis tools (RM-2807)
  • MR-325 Release scripts (RM-2804)
  • MR-328 Rewrite ‘find next identity order’ code
  • MR-329 Increase maximum mail size to 25 MB (RM-2816)
  • MR-330 Package sources script
  • MR-331 Fix webtests
  • MR-332 Fix kamailio pv buffer space to format large queries (RM-2819)

2017b-2

Released: July 2017

Added and fixed two calls in the REST API v2.

Changed Changes to the REST API (v2)

  • The dialplan switch has been extended with the field ‘shortcode’. This can be used to reliably lookup a dialplan switch, even when its ID changed after editing a dialplan in the webinterface.
  • The setting ‘recording’ has been added to identities, and can be changed through the API.
  • The setting ‘recording’ has been fixed for external numbers.

The new fields are mandatory when patching these resources. This means you might have to update your scripts, even when you don’t use this particular field.

Added

  • MR-318 Add ‘shortcode’ to dialplan switch in API

Changed

  • MR-317 Fixed get/set callrecording on identities and externalNumbers

2017b

Released: June 2017

In this update of Compass we lay the groundwork for an exciting new feature: multiple trunk support. Since the beginning of Compass we have supported only one specific trunking method. This made it a challenge to connect to different trunk providers.

In addition we fixed some bugs in the webinterface, cleaned up old code and updated many software packages to their newest version.

Added

  • Basic support for multiple trunks; this is visible to resellers only

Changed Changes to the REST API (v2)

  • New calls added to support trunking

Deprecated

REST API version 1 will be deprecated in an upcoming update. Users of this API version are advised to:

  • Start using versioning headers in their HTTP requests. See the API documentation in Compass for details.
  • Upgrade their software to use API version 2.

Added

  • MR-218 Multiple trunk support

Changed

  • MR-275 Fix add phone bug (RM-2756)
  • MR-295 Fix phone statistics AC check

Performance / stability / system administration / development (13)

  • MR-264 Remove Clair specific code
  • MR-279 [tests] Sipit improvements
  • MR-280 [web] Update sox invocation
  • MR-282 [web] Cleanup web directory
  • MR-286 Daily proxy restart
  • MR-287 [clerk] Clerk loglevel
  • MR-288 Update XMPP documentation
  • MR-291 Update XMPP documentation
  • MR-292 Update XMPP documentation
  • MR-293 Optimize prunecdrs script to reduce memory usage
  • MR-297 [api] Refactor getFullResource function
  • MR-304 Upgrade docker (RM-2709)
  • MR-305 Package pinning update

2017a (Dutch)

Geplande release: 3 mei 2017

De afgelopen maanden is hard gewerkt aan het Compass platform. De ervaringen die we hebben opgedaan met het Ubuntu operating system hebben we verwerkt in diverse verbeteringen op het vlak van performance en stabiliteit.

Added

  • Toestelstatistieken: krijg gemakkelijk inzicht in de gebruikte toestellen (merken, modellen, firmwares)
  • E-mailnotificaties van voicemails zijn nu ook in het Nederlands beschikbaar
  • Ondersteuning voor WebSockets toegevoegd

  • Bij CDR-events is de kolomvolgorde aangepast
  • Het is niet meer mogelijk toestellen van het type Snom M3/M9 toe te voegen
  • Wachtmuziek wordt afgespeeld in alfabetische volgorde in plaats van willekeurig
  • De naam van een company of reseller hoeft niet meer uniek te zijn

Changed Wijzigingen in de REST API (v2)

  • De namen van entities (user, company, reseller) kunnen gewijzigd worden (MR-274)
  • Bij een reseller kan een lijst van companies opgevraagd worden (MR-217)
  • Van de rootreseller kan een lijst met resellers opgevraagd worden (MR-217)
  • Bij een reseller kan een lijst met resellergebruikers opgevraagd worden (MR-217)
  • Op plekken waar een optionele parameter meegegeven kan worden (bijvoorbeeld cli in /company/{id}/createUser) mag nu zowel null als een lege string (‘’) worden meegegeven (MR-246)
  • Wanneer ten onrechte null als invoer wordt gegeven, retourneert de REST API voortaan HTTP-error 400 in plaats van 500 (MR-253)
  • Documentatie-aanpassing: /user/lookup geeft een redirect naar een user terug in plaats van de user zelf

Added

  • MR-214 [web] Phonestats
  • MR-227 [puppet] NTP setting
  • MR-260 [web] Voicemail mailtaal
  • MR-266 [uc] Ejabberd websockets

Changed

  • MR-183 [web] Fix #2607 by implementing custom email/hostname validators (RM-2607)
  • MR-184 [web] External nummers sortering (RM-2569)
  • MR-193 [web] Edit identity notice en error. (RM-2637)
  • MR-199 [web] URL trailing slash fix (RM-2653)
  • MR-203 [web] Nginx Gzip
  • MR-206 [web] Remove m3/m9 from list in webinterface
  • MR-217 [api] ResellerOps wijzigingen
  • MR-219 [rest] REST docs updated (RM-2686)
  • MR-220 [web] Taal bij company/reseller weergeven
  • MR-223 [web] Web access control (RM-2401, RM-2408)
  • MR-224 [web] Email resellers (RM-2680)
  • MR-234 [web] hide cdr link for resellers
  • MR-235 [web] web acl navigatie (RM-2602)
  • MR-245 [clerk] fix kolomvolgorde (RM-2716)
  • MR-246 [rest] Rest HTTP null proxy (RM-2563)
  • MR-248 [web] Sip domein niet meer aanpasbaar door resellers (RM-2614)
  • MR-253 [api] api null checks
  • MR-265 [api] Fix api enrich for reseller sip domain
  • MR-268 [api] Uniqueness van company full name
  • MR-271 [web] menu items
  • MR-272 [pbx] wachtmuziek afspelen op alfabetische volgorde
  • MR-273 [web] vertaling organisaties (RM-2742)
  • MR-274 [api] Modify company fullname
  • MR-289 [web] Email hostname validation

Performance / stabiliteit / systeembeheer / development (40)

  • MR-176 [uc] Lisa nullpointer exceptions
  • MR-179 [api] api-enum-fixes
  • MR-180 Daemon timeout fix
  • MR-194 Enable coredumps on icegridnode
  • MR-202 PHP notices op staging
  • MR-204 cmpd query bugfix
  • MR-205 Lisa Gradle
  • MR-208 Loadtests
  • MR-213 docker subnet
  • MR-215 Freeswitch logging
  • MR-216 cmpd herstartgedrag
  • MR-221 [api] API delete moh/did
  • MR-222 Java 8
  • MR-225 Fix puppet warnings
  • MR-226 [api] API for RM-2667
  • MR-228 crmSync actie verwijderen uit Compass Ubuntu (cleanup)
  • MR-229 Jooq update
  • MR-231 API Standalone
  • MR-232 refactor initdb voor tests
  • MR-236 [api] API multithreaded
  • MR-243 [rest] rest logging start of request
  • MR-249 [api] API Database connection pools
  • MR-250 [uc] Lisa NPE
  • MR-252 [web] Verwijder Apache
  • MR-254 [web] Remove pdf symlinks
  • MR-256 [web] Phone 404
  • MR-257 ds_reload script
  • MR-258 [web] Webinterface cleanup
  • MR-259 [web] Franse vertaling verwijderd
  • MR-261 Lisa-sync bij import
  • MR-269 [web] Voicemail controller refactoring
  • Styling hostedcompass.com naar IPerity Roze (geen MR)
  • MR-277 Asterisk ami stats user
  • MR-278 Systemd
  • MR-281 Hotfixes true voor import
  • MR-283 [web] CSS fix
  • MR-284 Kamailio stats
  • MR-290 Increase Kamailio private memory
  • MR-291, MR-292 [web] XMPP Documentatie
Docs