GithubHelp home page GithubHelp logo

libamievent's Introduction

Asterisk Manager Interface client C library

libamievent is an asynchronous event-driven client library for Asterisk Manager Interface written in C. It uses libev as event loop backend.

With the libamievent you can send AMI commands and you can subscribe for response to the command. When it arrives, the libamievent call the callback function, which specified at subscription. The callback function allows you to query AMI variables.

libamievent support AMI events. You can also specify a callback function of what the libamievent is called when events are received.

Huge advantage of the libamievent, that the AMI commands and event names are not hardcoded in the library. All commands, event names, parameters and variables must be defined by printf-style strings with variable substitution.

Requirements

  • libev

For Debian users:

apt-get install libev-dev

For Gentoo users:

emerge -av libev

Install

Currently, the Makefile is not prepared to carry out normal library. But, you can build the example codes.

Clone the libamievent repo with all submodules.

git clone --recursive git://github.com/andrewjsi/libamievent

Compile the source, test and install:

make

Using library

Sorry, the documentation still needs work, but in the meantime check out the sample programs.

Todo, Future

  • more stability
  • more examples
  • build static and dynamic library
  • well-written documentation
  • the ability to be integrated with other systems as easy as possible

Source code

The source code is well written as far as possible. We do not use tabs, instead of 4 spaces is indented. All identifiers, including variables, function names and macros written in English, but some comments and commits in Hungarian is, because we are speaking and thinking in Hungarian. Nevertheless, we try to write everything in English in the future.

Contribution

It is an open source project, which is to be better and better. If you have any ideas or find an error, or get stuck, you can contact us, please file a bug report or send a pull-request!

License

GPL2

(C) Copyright 2010-2014 Andras Jeszenszky, JSS & Hayer IT All Rights Reserved.

libamievent's People

Contributors

andrewjsi avatar

Stargazers

Ron Lockard avatar  avatar Andrew Shevchuk avatar  avatar  avatar Michael Nedokushev avatar

Watchers

James Cloos avatar  avatar Andrew Shevchuk avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.