Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Cipango goals

Design goals of Cipango are the following:

  • add SIP Servlet support to Jetty while staying as close as possible to Jetty architecture
  • provides a foundation to process SIP messages with SIP Servlets being an option (the same way Jetty is able to handle HTTP requests with non-servlet handlers)
  • focus on call-processing capabilities by using traditional telco patterns

Overall architecture

Cipango architecture is depicted on the following picture. The SIP processing layer is very similar to the HTTP one, with several classes extending their HTTP counterparts to add SIP capabilities.

...

  • Server: this is the main class. It extends the Jetty Server and starts in addition all SIP components.
  • SipHandler: base interface for all SIP handlers.
  • SipAppContext: derivation of WebAppContext which represents a SIP Servlets application.
  • SipContextHandlerCollection: use to manage all deployed SIP applications. Responsible for the selection of the appropriate SIP application when handling an initial request. Application selection is actually performed by the Application Router.

SIP Processing

Cipango architecture originally evolved from a traditional (non-SIP) call processing platform we developed in a former life. As a result, SIP processing in Cipango remains very call-centric which is something we wanted to keep as it has proven a sound approach to simplicity, performance and reliability.

...