The Asterisk REST Interface (ARI) bindings for Java.
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.
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'
}
The project uses code generation to create ARI bindings from Asterisk's Swagger API definitions. To build:
- Clone the repository
git clone https://github.com/ari4java/ari4java.git
cd ari4java- Build (this will automatically generate ARI bindings)
./gradlew buildThe 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.
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.