ECharts for SIP Servlets
User Manual

Gregory W. Bond
Eric Cheung
Thomas M. Smith
Venkita Subramonian
AT&T Labs - Research

Version 2.5 Beta
April 9, 2009

The latest version of this document is available from:
http://echarts.org
Abstract

This document describes the ECharts for SIP Servlets (E4SS) framework and development kit. E4SS makes use of the ECharts programming language as an alternative programming model built on the SIP Servlet API defined by the Java Community Process. Instead of overriding servlet methods and managing sessions, the programmer defines the application in terms of feature boxes, SIP message ports, and state-machine logic specified in the ECharts language. The use of ECharts to specify application logic greatly encourages component re-use and manages complexity, making it well-suited for Back-to-Back User Agent applications. Such applications can be composed with one another and with suitable proxy applications in order to provide feature-rich services while maintaining feature modularity, through use of a SIP Servlet Application Router. This document explains the E4SS framework abstractions and provides example-driven descriptions of the tools and libraries included with the E4SS development kit. The document also provides instructions on how to configure two common SIP containers, SailFin and OCCAS, for use with E4SS.

Contents
1 Introduction
2 Programming Model
 2.1 FeatureBox
 2.2 Ports
 2.3 Messages
 2.4 Automatic Termination Handling
3 Use of Proxy Applications
4 Application Composition
 4.1 DFC AR Configuration
5 Creating an Application
 5.1 Defining the Machine
 5.2 Creating the Deployment Descriptor
6 Creating Test Cases
7 The Application Generator Tool
8 Sample Application
 8.1 Building and Testing the Sample
 8.2 Generating Documentation
9 Developing Converged Applications
 9.1 Interfacing
 9.2 Discovery
 9.3 ClickToDial Feature
 9.4 MonitorControl
 9.5 Using the Framework
References
References
A Container Configuration
 A.1 Configuring SailFin
 A.2 Configuring OCCAS
 A.3 Logging