It’s been a few months since Asterisk 13.9.0 was released and this new 13.10.0 release is full of interesting changes. Let’s take a look at a few that you might want to be aware of:
With each release of the GCC compiler new problems in Asterisk are uncovered and GCC 6 is no exception. A few problems have been resolved and GCC 6 will cleanly build this release of 13.
A few problems with both downgrades and upgrades using the Alembic produced database schemas have been resolved. We were referencing something that did not exist and also using “true”/”false” instead of “yes”/”no”.
If you are a user of ARI you may have noticed a problem where announcer channels were never going away, eating up resources and causing problems with playbacks. This has now been resolved and they will go away as expected.
If you were using CEL with app_queue you may have noticed abnormal memory usage. This was caused by CEL storing additional information on each call attempt that would not be freed when the calling channel hung up. This leak has been plugged.
Substantial changes and improvements have been made to how both PJSIP and the internal message bus, Stasis, handle high usage scenarios. The way messages in PJSIP are distributed has been improved and congestion awareness has been added.
The usage of UnixODBC connection pooling has been replaced with our own configurable connection pool. This resolved crashes and memory leaks seen by using the UnixODBC implementation.
The originate operation in ARI now accepts a list of formats which is used when originating the channel. This can reduce the CPU spent on transcoding using needless paths. It’s recommended that you provide the formats you want the originated channel to have.
The bundled pjproject has been updated to use 2.5.
A new module, res_pjsip_empty_info, has been added which will respond to INFO requests which do not contain a content. These are used by some equipment as a method to determine if Asterisk is still running and responding.
It is now possible to specify ACL information on endpoints and not just globally for all of PJSIP.
The server where an endpoint registered is now stored on the contact in PJSIP.
An option has been introduced (auth_username) for identify_by which will allow an endpoint to be identified using the username that it has authenticated using.
Logic has been added to app_queue that will stop an agent who is a member of multiple queues from receiving multiple calls at the same time.
This is by no means a complete list of changes in Asterisk 13.10.0 so if you’d like to see everything that has gone into the release check out the ChangeLog which you can find on the downloads site or in the 13.10.0 tarball itself.