Users: BioCluster
Turning Asterisk into a fully clusterable platform
"BioCluster is a clustering platform for Asterisk. It is installed alongside
Asterisk on several machines and can turn them into a VoIP cluster.
BioCluster doesn't require changes to the Asterisk code, but communicates
with it as needed by using Asterisk-Java. Although the peer-to-peer protocol
used by BioCluster was originally designed to make Asterisk clusterable, it
is separate from any Asterisk-dependent parts and can be adapted to make
other platforms clusterable.
All data is shared across nodes in the cluster. This includes extensions, trunks, dialplan data, AGI scripts, configuration and many other types of data. Thus there's no single point of failure. Expanding a cluster with another machine is just a matter of connecting it to the network and giving it the right shared network secret. When a new node connects to the network, it discovers other nodes in the cluster and retrieves all relevant data.
BioCluster uses Asterisk-Java for several uses. It is used to monitor events, for example for keeping track of active channels on a local machine and sending updates about these channels to other nodes in the cluster. We also use it for sending events to Asterisk, e.g. hanging up a channel. Another feature used is the FastAGI server functionality provided in Asterisk-Java to support AGI scripts.
Using the Asterisk Management Interface would have normally been inconvenient and prone to trouble, but Asterisk-Java turned it into a simple task. Its API is extensively documented, which helped easily find the right classes for the task."
Meni Livne, BioCluster Maintainer, Atelis PLC
Users: iSymphony
A real-time, cross-platform operator panel for Asterisk
I thought it might be interesting to see what kind of applications other users of Asterisk-Java are building on top of our library. Therefore we will see a series of blog entries here featuring the products of our users.
iSymphony is an easy-to-use, Java-based client/server software for managing phone calls via the Open Source Asterisk platform.
It uses Asterisk-Java to connect to a plain Asterisk server or iPBX, an Asterisk appliance sold by i9 Technology. iSymphony consists of a server and a client application both written in Java for platform independence.
A free edition for non-commercial use is available for download.
Do you also have an interesting project or product that makes use of Asterisk-Java? Let me know and present it here.
Speech-enable Asterisk
Using Asterisk-Java and the LumenVox Speech Engine
Steve Prior has ported the sample application of the LumenVox Speech Engine to Asterisk-Java. His code is now available at the Asterisk Speech Application Zone.
What do you think about speech-enabled applications? Would you like to see native support for the LumenVox API in Asterisk-Java?
Asterisk-Java 0.3
Asterisk-Java 0.3 has been released and is available from http://asterisk-java.org/download/0.3.
Asterisk-Java 0.3 is the new stable release with full support for Asterisk 1.4 and the new Live API (org.asteriskjava.live). The Live API takes care of the lowlevel action and event handling of the Manager API and offers an intuitive API for Java developers. Asterisk-Java takes advantage of the features of Java 5.0 and therfore requires a Java Virtual Machine of at least version 1.5.0.
Here is the Changelog:
Bug
- [AJ-30] - Version detection does not work when restarting Asterisk
- [AJ-59] - Incorrect class and method names when using JavaLoggingLog
- [AJ-60] - DefaultManagerConnection.sendEventGeneratingAction() doesn't work with Asterisk 1.4.1
Improvement
- [AJ-50] - Support for Asterisk 1.4
- [AJ-54] - AsteriskQueue observer and Park events fixes
- [AJ-55] - Add "videoSupport" and "realtimeDevice" to PeerEntryEvent
- [AJ-56] - Add "callerIdNum" to AbstractChannelEvent
- [AJ-57] - Add "memberName" to AbstractQueueMemberEvent
- [AJ-58] - Support for OpenPBX
New Feature
- [AJ-43] - Support GetConfig and UpdateConfig actions
- [AJ-62] - Add executeCliCommand() method to AsteriskServer
Task
- [AJ-2] - Update design doc and tutorial according to AGI changes
Thanks to Martin B. Smith for working on Asterisk 1.4 support and fixing the remaining issues
Documentation for 0.3 is available at http://asterisk-java.org/0.3/.