Release notes Compass

Changelog Compass 2018a

Planned release: April 2018 (selected environments), May 2018 (all customers)

Compiled by: Matthias van der Heide

Latest update: April 10th, 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

Changes to the REST API (v2)

  • 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


No new announcements.

Known Issues (6)

  • 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

Please don't open support tickets for these issues.

Notes on phone support

  • Snom 821 and 870 do not support codec GSM on firmware and 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 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.


New Features (1)

  • MR-407 Call Control

Changed behaviour (8)

  • 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 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


Changelog Compass 2017e

Planned release: February 6th, 2018 (Venus), May (Apollo)

Compiled by: Matthias van der Heide

Latest update: March 28th, 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

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 (4)

  • 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

Please don't open support tickets for these issues.

Changes (Merge Requests)

New features (3)

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

Changed behaviour (8)

  • 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

Changelog Compass 2017d

Planned release: November 2017

Compiled by: Matthias van der Heide

Latest update: November 17th, 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 *1*extension*pincode#
  • Conference box now also has music 
  • Voicemail IVR menu structure changed

Changes to the REST API (v2)

  • None at this time.


  • Removed service codes *74 and *84

Known 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

Please don't open support tickets for these issues.

Changes (Merge Requests)

New features (0)

  • None.

Changed behaviour (2)

  • 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

Changelog Compass 2017c

Planned release: August 30th, 2017

Compiled by: Matthias van der Heide

Latest update: August 23rd, 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 '')
  • 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


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

Changes (Merge Requests)

New features (2)

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

Changed behaviour (8)

  • 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)


Changelog Compass 2017b-2

Release date: July 5th, 2017

Compiled by: Matthias van der Heide

Latest update: July 5th, 2017


Added and fixed two calls in the REST API v2.

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.

Changes (Merge Requests)

New features (1)

  • MR-318 Add 'shortcode' to dialplan switch in API

Changed behaviour (1)

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


Changelog Compass 2017b

Release date: June 14th, 2017

Compiled by: Matthias van der Heide

Latest update: June 14th, 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.

New features

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

Important changes

There are no important changes in external behaviour in this version of Compass.

Changes to the REST API (v2)

  • New calls added to support trunking


  • 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.

Changes (Merge Requests)

New features (1)

  • MR-218 Multiple trunk support

Changed behaviour (2)

  • 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


Changelog Compass 2017a (Dutch)

Geplande release: 3 mei 2017

Opgesteld door: Matthias van der Heide

Laatst gewijzigd: 13 april 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.

Nieuwe features

  • 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

Belangrijke wijzigingen

  • 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

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

Changes (Merge Requests)

Nieuwe features (4)

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

Gewijzigd gedrag (24)

  • 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 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
Have more questions? Submit a request


Please sign in to leave a comment.