Aculab Java UAS Overview
Language Support
UAS download packages are available that support a variety of programming languages.
The following documentation refers to the Java UAS which provides Java APIs
for writing applications.
A number of sample Java UAS applications are provided with this UAS that illustrate some
typical simple scenarios.
In addition, a few Java samples have been included that illustrate how to use the various Web Service interfaces
to initiate outgoing services, manage media files, manage large conferences, manage reports, purchase and
manage inbound telephone numbers and monitor the connections between the UAS and the cloud.
In addition, a few Java samples have been included that illustrate how to use the various Web Service interfaces
to initiate outgoing services, manage media files and manage reports.
Architecture
The Java UAS runs applications that use the com.aculab.uasapi library.
These provide call handling, media processing, file handling and diagnostic facilities.
Compatibility:
The Java UAS is compatible with compatible with Microsoft Windows 7/8/10 and typical Linux distributions.
Pre-requisites:
The Java UAS is built using
JDK 8 and requires a suitable version of this installed and available
in order to develop UAS applications. JRE 1.8 is required to run the UAS.
UAS Management Console
Application Management
Applications developers can upload, remove, monitor and diagnose their applications.
See the
Using the UAS section for
instructions on how to manage applications on the UAS.
Writing Telephony Applications
A UAS application is simply a Java class library packaged into a jar file and that uses the uasapi and amsapi,
libraries adhering to a few simple conventions.
The UAS API is based on the Aculab Media System (AMS) Client API which provides powerful media processing and call control
features via a high-level client API. It allows incoming and outgoing telephone calls to be controlled and
connected together or transferred, wav file playback, wav file record, DTMF playback, DTMF detection,
fax sending, fax receiving and conferencing.
See the
Writing Applications section for
guidance on developing applications for the UAS.
Inbound Applications
The target address of an incoming call
(1) is used to determine which application
is to be executed. A message is sent to the UAS to run an instance of the specified application
(2).
The application is handed an active incoming call and its first task is typically either to answer it or reject
it
(3). Optionally, the application can also make an
additional outbound call
(4).
Inbound Services
An Inbound Service must be registered on the relevant
cloud region
Rapide server in order for it to be able to start a
particular inbound application in response to an incoming call. Each Inbound Service points to exactly one
application while several Inbound Services can point to the same application.
You can create a new Inbound Service from
Inbound Services
(requires you to be logged in).
Starting Outbound Applications
While inbound applications are run automatically in response to incoming calls, outbound applications are typically
started externally to
the cloudthe Rapide server, via a
standalone program. A sample application is provided
here.
Note that UAS applications can also start outbound applications.
The
Aculab CloudRapide Web Services API can
be used to write a
WS Application
that starts an outbound application on a particular
cloud regionRapide server
(1).
A message is sent to the UAS to run an instance of the specified outbound
application
(2). The outbound application typically then makes an
outbound call
(3,4). Like inbound applications, an outbound application
can usually also make additional outbound calls
(4) on its extra channels.
Outbound Services
An Outbound Service must be registered on
the relevant cloud regionthe Rapide server
in order for it to be able to start a particular outbound application. Each Outbound Service points
to exactly one application while several Outbound Services can point to the same application.
You can create a new Outbound Service from
Outbound Services
(requires you to be logged in).
Outbound Parameters
The particular
cloud regionRapide server
and user's account on which an Outbound Service resides are specified through the WS API.
In addition this API provides an
outboundParameters field that will ultimately
be passed to the outbound application. Typically this contains the destination address of the resultant outbound call.
Managing Files
Files that can be managed include WAV media files that applications may play or record, TIFF media files that applications may send or
receive as faxes and REST API log files.
They are stored on the cloud.They are stored on the Rapide server.
Some basic file manipulation methods are available to applications. In addition, the Web Services API can be
used to perform more comprehensive file management.
See the
Manage Files Web Service Sample.
High Level API
This release contains a high level extension api that provides additional
high level functionality on top of the standard UASCallChannel.
See the
CallChannelHelper class.