MCPcopy Index your code
hub / github.com/ari4java/ari4java

github.com/ari4java/ari4java @v0.18.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.18.0 ↗ · + Follow
1,012 symbols 3,012 edges 53 files 139 documented · 14%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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'
}

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

Development

Please find the Development Wiki

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.

Extension points exported contracts — how you extend this code

AriCallback (Interface)
Callback interface for asynchronous ARI operations @author mwalton @param The type of result returned in callback [6 implementers]
src/main/java/ch/loway/oss/ari4java/tools/AriCallback.java
HttpResponseHandler (Interface)
Interface to implementation that can handle HTTP responses @author mwalton [2 implementers]
src/main/java/ch/loway/oss/ari4java/tools/HttpResponseHandler.java
WsClient (Interface)
Interface to pluggable WebSocket client implementation @author mwalton [2 implementers]
src/main/java/ch/loway/oss/ari4java/tools/WsClient.java
HttpClient (Interface)
Interface to pluggable HTTP client implementation @author mwalton [2 implementers]
src/main/java/ch/loway/oss/ari4java/tools/HttpClient.java
ClassFactory (Interface)
This interface is used to go from an interface to its concrete implementation.
src/main/java/ch/loway/oss/ari4java/ARI.java

Core symbols most depended-on inside this repo

toString
called by 48
src/main/java/ch/loway/oss/ari4java/tools/RestException.java
equals
called by 48
codegen/src/main/java/ch/loway/oss/ari4java/codegen/models/Action.java
getMessage
called by 47
src/main/java/ch/loway/oss/ari4java/tools/RestException.java
toString
called by 43
codegen/src/main/java/ch/loway/oss/ari4java/codegen/models/Apis.java
getInterfaceName
called by 32
codegen/src/main/java/ch/loway/oss/ari4java/codegen/models/Operation.java
getVersion
called by 21
src/main/java/ch/loway/oss/ari4java/ARI.java
txt
called by 18
codegen/src/main/java/ch/loway/oss/ari4java/codegen/DefMapper.java
getName
called by 16
src/main/java/ch/loway/oss/ari4java/tools/HttpParam.java

Shape

Method 628
Function 287
Class 86
Interface 9
Enum 2

Languages

TypeScript53%
Java47%

Modules by API surface

examples/vagrant/static-http/bootstrap.bundle.min.js334 symbols
examples/vagrant/static-http/jssip-3.10.1.min.js202 symbols
src/main/java/ch/loway/oss/ari4java/tools/http/NettyHttpClient.java40 symbols
src/main/java/ch/loway/oss/ari4java/ARI.java39 symbols
codegen/src/main/java/ch/loway/oss/ari4java/codegen/DefMapper.java32 symbols
codegen/src/main/java/ch/loway/oss/ari4java/codegen/models/Operation.java30 symbols
src/test/java/ch/loway/oss/ari4java/tools/http/NettyHttpClientTest.java29 symbols
src/main/java/ch/loway/oss/ari4java/tools/BaseAriAction.java26 symbols
examples/src/main/java/ch/loway/oss/ari4java/examples/comprehensive/Asterisk.java25 symbols
src/test/java/ch/loway/oss/ari4java/generated/DeserializeToListOfInterfaceTest.java13 symbols
src/main/java/ch/loway/oss/ari4java/tools/AriAsyncHandler.java12 symbols
src/main/java/ch/loway/oss/ari4java/tools/MessageQueue.java11 symbols

For agents

$ claude mcp add ari4java \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact