Avaya DevConnect Center
Home IP Communications Contact Centers Unified Communications Communications Enabled Business Processes Avaya DevConnect Portal RSS Feed
Register to join the Avaya DevConnect Program to gain access to Avaya APIs & SDKs, purchase Avaya products for development at discounted prices, and receive a discount on training and certification. More information
Sign up for your free email newsletter today!
Avaya Developer News

More Newsletters
Setting Up a SIP A/S Development Environment (cont'd)

Plugging in UDS
UDS 1.3 is installed from inside Eclipse, using software updates. Avaya's instructions detail how to add a UDN remote update site to Eclipse and specify the URL. You can then install UDS directly into Eclipse from the UDN site (you need to restart Eclipse when you're done).

Figure 1. Controlling the UDE from within UDS: The controls at the top of the panel let you start and stop UDE and deploy and undeploy services.

The real power of UDS comes from being able to operate UDE and to deploy directly to UDE from inside Eclipse. The second part of installing UDS is to build a profile of UDE settings so that UDS can work with UDE. To set up a profile, you edit the UDS configuration through a preferences page. A profile includes information like which NIC to use, the address of a DNS server, and list of IPs which are to be considered managed by UDE. You can set up more than one profile and switch between them for different development environments.

Once you've set up the initial profile, you can start, stop, and deploy the services you've built to UDE using the UDE controls (Figure 1).

The final installation steps to take are to install the Service Components and Open Web Service component packs. Both of these are straightforward download-unzip-run-installer installations. Again, I would recommend accepting the default directories for these so that everything ends up under USCL.

Figure 2. UDS Component and Project Types

Hello World
Now that everything is installed, it's time for the test drive. As a first validation of the environment, we'll go through the deployment of the Hello World SIP application tutorial from UDN. Note that Hello World is a SIP servlet, and doesn't exercise SIP SOA or either of the component packs. UDN has a full collection of tutorials that get into these components as well. I also ran through the "Using the UDS" tutorial as a further validation.

Using UDS, the first step in building Hello World is to create a new SIP A/S project. Once the project is created, you create the SIP servlet within it. Both the project and the template for the SIP servlet are generated automatically by UDS. Figure 2 shows some of the additional project and component types that can be generated by UDS.

All SIP projects include a deployment descriptor, which is an XML file that provides service-specific information to the deployment platform. UDS includes a Deployment Descriptor Editor which allows you to set up the deployment descriptor in a visual editor. Figure 3 shows the Deployment Descriptor Editor's Servlet Mapping page for Hello World.

Once it's built, you package a SIPA/S project in UDS by exporting it to a SAR file. The SAR file then shows up in the list of undeployed services for UDE. You can drag items from this list to the deployed services list to deploy the service to UDE.

Figure 3. The Deployment Descriptor Editor

My first attempt at deploying Hello World failed—the service ended up back in the undeployed list and Eclipse put up a failure message. The root cause of the deployment failure seemed to be this:

javax.management.JMException: Fault.NoServiceHostDeployed

After trying a few guesswork things (restarting UDE, restarting Eclipse, restarting UDE from the command line, etc), I went to the development forums on UDN and found someone with a similar problem (as a free Level 1 subscriber you are able to read and post to the public support forums—in addition, paid subscribers can get individual support).

The advice from support was to reset the UDE. This worked for me and I was able to successfully deploy Hello World. It appears that the UDE stores internal state which can become corrupted in a development environment and cause a startup failure. You can reset the UDE from within UDS, which clears this state.

Testing with Endpoints
To really test the tutorial services, you need a SIP endpoint with which your service can communicate. If you have a SIP phone on the network, that will work. If you don't, you can download an evaluation copy of the CounterPath eyeBeam soft phone from the UDN download site.

I tested my installation with the eyeBeam client running on my development machine. If you use this configuration, you'll probably run into port conflicts, since both UDE and the client want to use port 5060 as the SIP listen port. You can fix this problem by setting the "Ports Used" for the eyeBeam client profile to a range that starts at the client's SIP listen port and doesn't include any of the following ports: 5060, 1097, 1098, and 6060. I was able to run without port conflicts with a port range of 5061 to 5070.

If your SIP test client is not on the UDE system you won't run into port conflicts, but you may have firewall or NAT routing issues when attempting to connect test clients to UDE. The obvious best initial solution is to keep test clients and UDE on the same side of the firewall/NAT, but that can get difficult as you attempt to expand testing beyond a small test bed. There are a number of firewall/NAT traversal techniques that can be used for SIP generally. You can find a whitepaper that discusses these issues on the UDN site as well.


Previous Page: Laying Out the Pieces  
Steve Apiki is senior developer at Appropriate Solutions, Inc., a Peterborough, NH consulting firm that builds server-based software solutions for a wide variety of platforms using an equally wide variety of tools. Steve has been writing about software and technology for over 15 years.
Page 1: Laying Out the PiecesPage 2: Plugging in UDS



JupiterOnlineMedia

internet.com earthweb.com Devx.com mediabistro.com Graphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info

Copyright 2008 Jupitermedia Corporation All Rights Reserved.
Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Web Hosting | Newsletters | Tech Jobs | Shopping | E-mail Offers