Request for Testing: Distributed Device State


One of the things that I have been working with off and on is a new event API for Asterisk. Most of the current infrastructure was written almost a year ago. However, just recently, I extended this system to be able to allow device states to be shared within a cluster of Asterisk servers.

The current system for distributed events is designed for a high speed LAN. However, I also have plans to extend this to DUNDi so that it can be used withina DUNDi network, as well.

If you are interested in this work, I would appreciate any help with testing. I have documented how to set it up and how I used some custom states to verify the functionality.

To download the code:

$ svn co asterisk-events

For information on setup and testing, check out this document.


This functionality has been merged into Asterisk and will be available in Asterisk 1.6.1. Instead of testing this branch, please test 1.6.1.

To download the code:

$ svn co asterisk-1.6.1

For information on setup and testing, check out this document.

12 thoughts on “Request for Testing: Distributed Device State

  1. Pingback: Asterisk 1.6, Now with Distributed Presence

  2. hi,
    I have just installed asterisk-events which i got from checkout (svn co
    But when i make asterisk error:

    [CC] res_agi.c -> res_agi.o
    [LD] res_agi.o ->
    [CC] res_ais.c -> res_ais.o
    In file included from res_ais.c:47:
    ais/ais.h:41: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ckpt_handle’
    make[1]: *** [res_ais.o] Error 1
    make[1]: Leaving directory `/usr/src/events/res’
    make: *** [res] Error 2


    Could you tell me this problem, please,
    Thank a lot.


  3. hi Russel,
    I have a problem which asterisk event following:

    I have configured asterisk and openais (../doc/distributed_devstate.txt).
    + In ais.conf


    then i run asterisk -vvvc => asterisk return “Segmentation fault”, both configure file of asterisk i don’t change and set to default.
    I have tried with gdb, i see:

    gdb /usr/sbin/asterisk
    (gdb) set args -vvvv
    (gdb) run
    Parsing ‘/etc/asterisk/dundi.conf’: == Found

    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread -1215505520 (LWP 15895)]
    0x003658a8 in saEvtDispatch () from /usr/lib/openais/

    Please help me,


  4. The issue lies in the openais code. It tries to allocate over 1 MB of memory on the stack, while Asterisk creates threads with a much smaller stack size than that. So, it blows up. I submitted a patch to fix this a long time ago:

    However, none of the releases listed in the “stable” section on include this fix. So, you’ll have to run a newer version.

  5. Since I saw a couple of good changes/features in Asterisk new version 1.6 here:

    And I upgraded to new version but I faced two different issues:

    1. Since i’m using Digium telephony card TDM410 FXO, so after installation I tried to check zap status with “zap” commands on CLI but unfortunately i couldn’t get module? what package provides me this?

    2. My second problem is my zaptel hardwares are dropping some warnings for echo cancellation. I guess new version doesn’t support echo cancellation or what?
    please someone guide me with this. Thanks

  6. hi Russell its posible to shere device states across differents asterisk servers i mean , 4 or 5 boxes with res_corosync or this only work with 2 nodes or i have to do something else., thanks

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.