Welcome to ECharts
Welcome to ECharts
What is ECharts? ECharts is a state machine-based programming language for event-driven systems derived from the standardized UML Statecharts language. ECharts distinguishes itself from other Statecharts dialects by focussing on implementation issues such as determinism and code re-use. ECharts is a hosted language which means that it is dependent on an underlying programming language such as Java.

What is E4SS? E4SS (ECharts for SIP Servlets) allows the use of ECharts to program SIP Servlets. Instead of overriding servlet methods and managing sessions, the programmer defines the application logic 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.

What is KitCAT? KitCAT (Kit for Converged Application Testing) is a JUnit-based testing framework to facilitate functional testing of converged telecom applications. In conjunction with HtmlUnit, a single KitCAT test case can create, control and coordinate multiple SIP/RTP sessions, and multiple browser endpoints for functional testing.

ECharts, E4SS and KitCAT have a proven track-record in a large-scale commercial deployments. They are available as open source under the Common Public License Version 1.0. Take a look at what ECharts, E4SS and KitCAT have to offer!

ECharts machine image
Last Updated ( Friday, 09 September 2011 )
StratoSIP sneak preview at IPTComm
We demonstrated our latest tool for developing SIP applications -- StratoSIP -- at IPTComm Conference earlier this summer, and wrote an application proposed by an attendee in under an hour!
Last Updated ( Friday, 09 September 2011 )
Toolset Training
ECharts, E4SS (ECharts for SIP Servlets), and KitCAT are finding increased use in a number of large-scale development projects. If you've been wondering what's been happening on the ECharts and E4SS development front, take a look at our SourceForge bug and feature tracker stats and you'll see that we been very busy this past year supporting these projects. While our projects are relatively well documented compared to most open source projects, there's nothing like face-to-face training to get developers up to speed quickly with our toolset. And that's just what we did for a group of about 25 developers last month.
Last Updated ( Friday, 09 September 2011 )
The Benefits of Application Routing
In a recent blog post entitled "Sip Servlets Application Routing Guidelines and Best Practices," Vladimir Ralev, co-developer of the open source Red Hat Mobicents SIP servlet container, provides an insightful perspective on resource usage related to application routing in SIP servlet containers. Unfortunately, based on this analysis he concludes that architects and developers should "forget that application routing exists." However, this conclusion is not justified in the article. Furthermore, based on over a decade's experience building complex, large-scale systems that utilize application routing, our own group here at AT&T advocates the use of application routing in many circumstances.
Last Updated ( Friday, 09 September 2011 )
What's Coming Up
I thought I should let everyone know what's been happening on the ECharts, E4SS and Converge fronts of late. There may not have been much happening here on the front page of echarts.org but if you've taken a look at our svn activity you'll see that we've been busy working towards our next release which should ready by mid-summer. What's in store you may ask? Some big enhancements are on the way.

Last Updated ( Thursday, 13 May 2010 )
E4SS at the 4G Wireless Evolution Conference

Eric Cheung will be speaking about E4SS, Converge and StratoSIP at the 4G Wireless Evolution Conference this week (Jan 20-22, 2010) in Miami, FL. The session on Friday morning is titled 'Applications and Networks, Oh My.' and the panel will discuss how telecom carriers and application developers can work together to create new applications for mobile devices.

Last Updated ( Tuesday, 19 January 2010 )
The Rise of Telecom Development Frameworks

Here are the presentation slides and speaker notes for a talk by Greg Bond and Eric Cheung given at the IIT VoIP Conference and Expo October 28, 2009. In the talk we provide overviews of SailFin Cafe, Mobicents Seam Telco and our own framwork, Converge. We also provide an overview of our exciting new, next-generation successor to E4SS: StratoSIP (not yet released). Here is the talk abstract:

Last Updated ( Wednesday, 02 December 2009 )
In Memoriam
It is with great sadness that we announce that Venkita Subramonian, the creator of the KitCAT converged testing tool, passed away suddenly on Sunday August 16. He was a close collaborator and good friend to all us working here in IP Services Research at AT&T. For those of you using KitCAT we want to let you know that, going forward, it is our intent to maintain KitCAT.
E4SS runs on Mobicents SIP Servlets

The Mobicents team has announced the 1.0 GA release of Mobicents SIP Servlets (MSS). MSS runs on top of either Apache Tomcat 6 or JBoss 4. It features full JSR289 support, as well as support for clustering and failover. It is an open-source project.

We are pleased to report we have successfully tested all the reusable features from E4SS release 2.5-beta on MSS 1.0. Now there is another open-source container that can be used for E4SS applications. Read our blog post on how to get E4SS running on MSS.

Last Updated ( Thursday, 23 July 2009 )
Converge Tutorial and Screencast

Announcing the first video tutorial in a series dedicated to introducing Converge. This video tutorial is a repeat performance of Greg Bond's and Tom Smith's JavaOne 2009 demo that was part of their technical talk: Web 2.0 Phone Home: Rapid Development of Telecom-Enabled Web Applications. In this tutorial we demonstrate how to use Converge to build a converged (web + telecom) application from scratch in only 22 minutes thanks to the power of E4SS and Grails. The application lets a user record a message and then "blast" it to a list of phone numbers. The 28 minute video tutorial consists of

  • 4 minute introduction to Converge
  • a 2 minute introduction to the screencast
  • a 22 minute screencast.

Watch the video tutorial here.

Last Updated ( Monday, 20 July 2009 )
The Year of the Converged App Framework
Tom Smith and I have returned from a stimulating but hectic week at JavaOne. The week culminated with our own presentation "Web 2.0 Phone Home: Rapid Development of Telecom-Enabled Web Applications" and with the release of our new framework called "Converge" for the rapid development of converged (telecom + web) applications on a SIP servlet container (the slides for our presentation can be downloaded from here).

In addition to our Converge announcement, there were two more talks at JavaOne where SIP servlet-based converged application development frameworks were announced:

Last Updated ( Monday, 08 June 2009 )
Announcing Converge

We are pleased to announce the release of Converge. What is Converge?

Converge is designed to get web application developers up and running with converged (telecom + web) application development. Converge consists of two parts that can be used independently or together: (1) an environment for running converged applications on the SailFin converged container and (2) a development kit for rapidly generating converged applications using ECharts for SIP Servlets (E4SS) and Grails. And Converge is open source software!

Last Updated ( Friday, 05 June 2009 )
E4SS and Converge at JavaOne
Image In just a few weeks Greg Bond and Tom Smith will be speaking at JavaOne. The title of their talk is: "Web 2.0 Phone Home: Rapid Development of Telecom-Enabled Web Applications." Not surprisingly, the talk will discuss using E4SS and KitCAT to develop converged web/telecom applications. But the talk will also discuss Converge: our new rapid converged application development framework that builds upon Grails (for web application development) and E4SS (for telecom app development). And Converge will be released as open source software on echarts.org this month!
Last Updated ( Monday, 08 June 2009 )
What is a bound box? Explaining the session key based targeting mechanism

Version 1.1 of the SIP Servlet API introduced the awkwardly named session key based targeting mechanism. This blog explains what it is for, and what a bound box is. As it turns out, they are both pretty useful for a large class of telephony applications.

Last Updated ( Wednesday, 13 May 2009 )
Structuring Applications with Grails Plugins
Greg will be giving a talk this Monday, May 11 at the Groovy/Grails Meetup in New York City entitled "Structuring Grails Applications with Plugins." "What does this have to do with ECharts or E4SS?" you may ask. Well, this will be the first public talk discussing a new IP telecom development framework called "Converge." Converge is a rapid converged application development framework that builds upon Grails (for web application development) and E4SS (for telecom app development). And Converge will be released as open source software on echarts.org this month!

This talk will focus on how Converge makes use of the Grails plugin architecture. So if you're in NYC on Monday and you're interested in Grails, Groovy or Converge be sure to RSVP to this meetup event.

UPDATE: Slides from this presentation can be downloaded from here.

Last Updated ( Tuesday, 19 May 2009 )
SIP servlet for endpoint applications?

The SIP Servlet API is originally intended for writing applications to be deployed on network servers, e.g. application servers in SIP architectures.  However, there are no widely accepted standard API for writing applications for endpoint devices. Some applications fit naturally on network servers, but some applications are better suited to be deployed at endpoints. Can we leverage existing SIP Servlet containers and ECharts for SIP Servlets to develop and deploy endpoint applications?

I recently presented a paper Implementing Endpoint Services Using the SIP Servlet Standard at the Fifth International Conference on Networking and Services (ICNS 2009). I concluded that SIP Servlet API is indeed suitable for endpoint applications. The advantages include familiar programming paradigm and existing tools, code re-use, and fliexibility in moving applications from endpoints to servers. As well, the application composition mechanism can be used to support modularity. However, existing containers may have too big a footprint for some mobile devices. As well, containers need to deal with network topology using mechanism such as STUN or ICE. The full paper can be obtained here .

Last Updated ( Monday, 04 May 2009 )
New Releases of ECharts for SIP Servlets, KitCAT, ECharts and the DFC Application Router
On this three year anniversary of echarts.org, we are pleased to announce the release of ECharts for SIP Servlets (E4SS) v2.5-beta, KitCAT v1.1-beta, ECharts v1.3.1-beta and the DFC Application Router v 1.3-beta.

For those unfamiliar with these technologies: E4SS is a development framework for SIP Servlet-based telecom applications, KitCAT is a functional test framework for converged (SIP and HTTP) applications, ECharts is a state machine-based programming language derived from the UML Statecharts and the DFC Application Router is an application router for SIP Servlet containers based on the principles of Distributed Feature Composition (DFC). When combined, these technologies provide the fastest way we know of for developing dependable, converged telecom applications. And all of these technologies are available as open source software!

The highlights of this major release are (1) E4SS now fully supports the SIP Servlet 1.1 (JSR 289) standard (2) E4SS now includes 13 reusable, modular telecom features (including a SIP registrar and click-to-dial), and 21 reusable, telecom machine fragments (including a B2BUA and 'call hold') (3) E4SS comes bundled with KitCAT (4) enhancements to the E4SS converged application framework (5) E4SS support for "bound boxes", a convenient and powerful abstraction for SIP Servlet 1.1 session key-based targeting (6) a number of other important modifications and bug fixes to all the released packages.

Read on for more details about this release and instructions on how to upgrade from previous releases.
Last Updated ( Tuesday, 14 April 2009 )
Copyright © 2006-2009 echarts.org