It seems just like yesterday that Asterisk 13.8.0 was released but here we are with an Asterisk 13.9.0 (and subsequently 13.9.1). This post shines the light on some notable changes that may impact and be useful for everyone.
A change went in to Asterisk 13.8.0 to fix an issue where the wrapuptime would not be respected on some calls. Unfortunately this change introduced a regression where a crash could occur when determining if a member can be dialed. This regression has now been fixed. If you’ve been experiencing any crashes when updating to Asterisk 13.8.0 with queues in the “can_ring_entry” function then you can upgrade to 13.9.0 to resolve the problem.
In Asterisk 13.8.0 changes were done to improve performance of the ODBC support in Asterisk. This has been previously discussed on the Gutting of ODBC blog post. Feedback from the community showed that the behavior of connection usage in func_odbc had been changed and resulted in some people experiencing problems with their queries. This has now been fixed so the previous behavior is restored and the same connection will be used for each DSN. Since this does introduce a performance penalty a separate issue has been created to eventually allow this to be toggled on and off as not all usage requires the same connection to be used.
Through the testing and feedback of the Asterisk community PJSIP bundle support has been improved to work on a wider range of distributions and distribution versions. If you have previously experienced any problems with this please give 13.9.0 a try and if you run into any problems please file an issue on the issue tracker.
Realtime usage in res_pjsip has been improved to be more specific in what information it is requesting. This has resulted in fewer database queries and less data being retrieved by the res_pjsip module. Depending on the number of things you have stored in the database you may find that Asterisk starts up faster and generally works better.
The application/dialog-info+xml NOTIFY type is used by a few devices (such as Cisco SPA and Snoms) to get the extension state for hints. Some of these phones also allow ringing calls to be picked up using this method. Previously the constructed message did not contain the required attribute to allow this call pickup functionality to work. This attribute is now present and call pickup should work for these devices.
For those using WebRTC you may have noticed problems with decrypting RTCP traffic. This was a problem as the same SRTP material was used for both RTP and RTCP. This was incorrect according to the RFC. As of Asterisk 13.9.0 both are negotiated independently and use their own SRTP information.
This is by no means a complete list of changes in Asterisk 13.9.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.9.0 tarball itself.
Notice though that since this blog post was written a 13.9.1 release has gone out. The 13.9.1 release is the latest you should download if you are installing 13.9. If you’re interested in why 13.9.1 exists stay tuned as a future blog post will go into detail on it.