Avaya's SIP A/S is an impressive platform for SIP application deployment, and for integrating SIP with web and other communication technologies. For developers, the story is also compelling. Avaya offers a desktop version of the SIP A/S server and a rich set of development tools, all integrated through and driven by Eclipse.
Getting geared up for SIP A/S development is a matter of installing, licensing, and configuring these tools. The process is straightforward, but there are a few turns along the way where developers may get snagged. We'll try to point these out as we walk through setting up the development environment.
Evaluation versions of all of the Avaya software we discuss below can be downloaded from UDN. Registration is required, but it's free. UDN is a great source for SIP development resources and background information. You can find step-by-step instructions for installing each of these packages on the UDN site as well.
Laying Out the Pieces
Avaya's SIP A/S development suite has five parts:
UDE
UDE (Ubiquity Developer Edition) is the developer version of the SIP A/S server, designed to run on a development workstation. SIP A/S is built for scalability. A SIP A/S cluster may run across multiple machines and includes three kinds of elements: one or more Service Hosts to host user servlets, one or more Service Directors to route messages from the network to the Service Hosts, and a single Management Server for configuration management. UDE bundles one of each of these three elements into a single package and is thus less scalable but is also much easier to install and configure. The important thing is that services that deploy correctly to UDE will also deploy correctly to SIP A/S.
UDS
Ubiquity Developer Studio (UDS) is a set of Eclipse plug-ins that support SIP development, debugging, and test deployment through a SIP development perspective. We'll see a few features of UDS once we get it installed.
SIP SOA
Also called SOOF, SIP SOA is a SIP development framework. You can build SOOF servlets more rapidly, and at a higher level of abstraction than SIP servlets.
Service Components Start-Up Pack
This is a set of SIP SOA components that can be incorporated into your SIP applications. Some examples of these components are a Proxying Service and an IVR Call Service.
Open Web Services Add Pack
A second set of SIP SOA components; these are designed to expose call control through web services. Open Web Services is a modified implementation of the Parlay X 2.0 specification.
We'll consider our SIP development environment up and running once we've got each of these five parts installed and we're able to build and deploy a few simple tutorial applications.
To deploy SIP servlets on UDE, all you really need is a Java 5 SDK, but a similar statement could be made about building a fire with only two dry sticks. To leverage the full power of this development suite you also need Eclipse and Ant. To be specific, UDS is built on Eclipse and requires Eclipse 3.2 and the Graphical Editing Framework (GEF). Apache Ant is used to drive UDE from the command line as well as part of the licensing process, and to support some tasks from within UDS.
Avaya's development software is supported on versions of SuSE Linux, Solaris, Red Hat Enterprise Linux ES, and Windows. My experiences were on a Windows XP system.
Download, Install, Repeat
Once you are registered on UDN, the setup process mostly consists of downloading packages and working through a series of installers. However, as of this writing, UDE 1.3 can't be directly downloaded from UDN. Instead, you'll need to request an evaluation copy via email. This is due to EU export restrictions.
There are six steps to getting everything running:
- Install UDE
- Install SIP SOA
- License UDE and SIP SOA
- Installing UDS through Eclipse
- Install Service Components
- Install Open Web Services
I would recommend doing these in the listed order to ensure that all of the prerequisites are in place as you go through the process.
The Windows version of UDE 1.3 comes in a zip archive. The archive contains the installer and documentation. Running the installer (an executable for Windows, a jar file for Unix) is simple enough. The only caution here is to ensure that you point the installer to a full Java SDK and not a JRE.
To keep things simple, I would also suggest accepting the default install directory (C:\USCL\UDE
on Windows). SIP SOA must be installed in the UDE install directory, and I found it easiest to install everything from UDN (including tutorials and support materials) under the USCL directory, making it a "home directory" for SIP A/S related software.
Installing SIP SOA 1.1 is similar to installing UDE. You download the zip, unpack it, and run the installer. Again, SIP SOA needs to be installed in the same directory in which you installed UDE.
UDE and SIP SOA both require licensing. To license these products, you get a machine-specific license key from Avaya for each. The two keys go in a text file, and when UDE starts it reads this file and completes the licensing process.
There are two licensing methods, an automated tool and a manual process. I tried the automated tool, but it didn't work on my machine. While I didn't debug the root cause, the supporting documentation mentions that firewalls may interfere with the licensing tool (which was probably my problem). In any case, the manual method I used was simple enough.
For manual licensing, you run an Ant task supplied with UDE to get the MAC address of your machine. You then submit this identifier to a page on the UDN site. You copy the set of keys from the page to a file called licenceKeys.txt
(note to American English spellers: that's licenceKeys, not licenseKeys). The keys are also sent via email.