Issue With Asterisk 13, Multiple CDR Per Queue And Arbitrary Upper Limit

Home » Asterisk Users » Issue With Asterisk 13, Multiple CDR Per Queue And Arbitrary Upper Limit
Asterisk Users 3 Comments

After a recent upgrade from 1.8 to Asterisk 13, most of the functionalities work as expected except for the the way CDRs are kept for queues because it crashes the server.

I know that there are different CDRs per queue call – one per ring/per phone, basically. The problem is that whenever the number of CDRs “to be recorded” for a call exceeds 5000, Asterisk stop responding for a while. I get this message in the console: “task processor queue reached 5000 scheduled tasks again.”

It is easy to reproduce this scenario: a queue, with simultaneous ring, 20 devices/phones, all unreachable, 1 second between attempts. After 250 (5000 / 20) seconds of waiting asterisk becomes unresponsive.

The reason might be that all multiple CDRs get stacked somewhere until the end of the call and that breaks some inner limit.

I want to know if it is possible to force the CDR`s to be written as while the queue app it’s working, instead of waiting until the end of the call? Is there any workaround to this limit or some fix/patch/configurable-item?

By the way, and talking about Asterisk 13, I stumbled upon this book that teaches you how to work with it. It is tailored for beginners, so no prior telecommunications knowledge is required. The book covers Asterisk 13 LTS and describes the process of installing, configuring, and maintaining your own Asterisk system.

The topics covered in this book are:

– downloading and installing Asterisk from source
– customizing your Linux environment
– configuring devices to register to Asterisk
– writing your first dialplan
– useful Asterisk applications such as Playback, Background, and Goto
– using pattern matching in your dialplans
– voicemail configuration
– auto-attendants and queues

If you are looking for a resource that will get your started with Asterisk, then this book is for you.

3 thoughts on - Issue With Asterisk 13, Multiple CDR Per Queue And Arbitrary Upper Limit

  • Joshua,

    After playing with this issue I’m starting to think this has little to do with the 5000 limit – at least not directly.

    The amount of CDR entries to be written to the DB is just too high for either Asterisk or the Database to keep up, and it possibly creates issues around DB access (on which my Asterisk dialplan relies). Is there any way to
    “slow down” the writing of all the CDR entries? Or, on the contrary, to have the CDR entries be flushed at every 100 “entries to be written” instead of
    5000, so that the hit is relatively small?

    Regards,

    ——————————————–
    Mike

    —–Original Message—–
    From: asterisk-users-bounces@lists.digium.com
    [mailto:asterisk-users-bounces@lists.digium.com] There is not. If you are running the latest version I’d suggest filing an issue[1] as we definitely should not crash under the scenario.

    [1] https://issues.asterisk.org/jira


    Joshua Colp Digium, Inc. | Senior Software Developer
    445 Jan Davis Drive NW – Huntsville, AL 35806 – US
    Check us out at: http://www.digium.com & http://www.asterisk.org

  • I’m going to answer my own question, since someone may one day have a similar issue.

    I had some default Asterisk 13 settings in place, so my CDR’s were written simultaneously to csv, sqlite3 and Mysql.

    There is not. If you are running the latest version I’d suggest filing an issue[1] as we definitely should not crash under the scenario.

    [1] https://issues.asterisk.org/jira


    Joshua Colp Digium, Inc. | Senior Software Developer
    445 Jan Davis Drive NW – Huntsville, AL 35806 – US
    Check us out at: http://www.digium.com & http://www.asterisk.org