Skip to content

devanshu-tj/ari4java

 
 

Repository files navigation

ARI4Java

The Asterisk REST Interface (ARI) bindings for Java.

Maven Central javadoc Build

Description

ARI is an interface available on Asterisk 11+ that lets you write applications that run externally and control call flow through REST calls while receiving events on a websocket.

In order to support different versions of the API, what we do is we maintain concrete implementations for each version of the API, but we also have general interfaces that are used to work with objects across different versions.

Getting started

Simply add the library and an SLF4J logger to your package config, here is an example using Gradle

repositories {
    mavenCentral()
}

dependencies {
    implementation 'io.github.ari4java:ari4java:+'
    implementation 'ch.qos.logback:logback-classic:1.2.10'
}

Building from Source

The project uses code generation to create ARI bindings from Asterisk's Swagger API definitions. To build:

  1. Clone the repository
git clone https://github.com/ari4java/ari4java.git
cd ari4java
  1. Build (this will automatically generate ARI bindings)
./gradlew build

The code generator task runs automatically before compilation to ensure the ARI bindings are up to date.

Due to the sun setting of JCenter the jar is now publish through Sonatype to Maven Central but under a new groupId. The groupId is now io.github.ari4java make sure you update your build files if you used ch.loway.oss.ari4java.

Documentation

Licensing

The library is released under the GNU LGPL (see LICENSE file). Files under codegen-data come from the Asterisk project and are licensed under the GPLv2 (see LICENSE.asterisk file therein). They are only used to build the classes and are not distributed in any form with ARI4Java.

About

Asterisk ARI interface bindings for Java

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Java 98.2%
  • Shell 1.2%
  • HTML 0.6%