Search the Asterisk Blog

Asterisk 13.9.0 Notable Changes

By Joshua Colp

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.

app_queue

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.

func_odbc

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.

res_pjsip

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.

res_pjsip_dialog_body_generator

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.

res_rtp_asterisk

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.

There Are 4 Comments

  • Sebastian Gutierrez says:

    how to activate the odbc pooling now?
    is this example correct? is the FileUsage and Threading Level ok to use the unixODBC Pooling? res_odbc will or have a setting to activate this?

    Example:

    [ODBC]
    Trace = N0
    Trace File = /var/log/unixodbctrace.log
    Pooling = Yes

    [MSSQL]
    Driver=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
    FileUsage=1
    Threading=2
    DontDLClose = 1
    CPTimeout = 120

    [MYSQL]
    Description = MySQL 5.1 ODBC MyODBC Driver
    Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc5a.so
    FileUsage = 1
    Threading = 2
    DontDLClose = 1
    CPTimeout = 120

  • Kyle says:

    > This has resulted in fewer database queries and less data being retrieved by the res_pjsip module.

    Just to be sure – pjsip does not necessary require using DB? Can I use res_pjsip without configuring odbc at all?

Add to the Discussion

Your email address will not be published. Required fields are marked *

About the Author

Joshua Colp

Joshua Colp is a Senior Software Developer at Digium and a long time Asterisk developer. He originally started in the community submitting simple patches and grew into improving and creating new core components of Asterisk itself. He is a self-taught programmer who believes in finding the balance between doing things the way they should be done and doing what is right for the people using the software. In his spare time he enjoys smashing fax machines.

See All of Joshua's Articles

More From
The Digium Blog

  • No items