Our succeessful experiences with Distributed Feature Composition have shown the value of building IP-based multimedia services compositionally. This is easy and practical using the new programming language StratoSIP, which layers DFC abstractions on top of SIP Servlets.
"Abstractions for programming SIP back-to-back user agents" presents the major elements of the language (Pamela Zave, Gregory W. Bond, Eric Cheung, and Thomas M. Smith). This paper won the Best Paper Award at the Third International Conference on Principles, Systems and Applications of IP Telecommunications at Georgia Tech in July 2009. Here is the StratoSIP talk given at the conference.
StratoSIP would not be possible without a solution to the important and challenging problem of compositional media control. When there is more than one application server or servlet in the signaling path between IP media endpoints, and the servers/servlets manipulate media flow, media flow must be controlled compositionally. To solve this problem, "Compositional control of IP media" presents an architecture-independent descriptive model, a set of high-level programming primitives, a formal specification of their compositional semantics, a signaling protocol, an implementation, and partial verification of correctness (Pamela Zave and Eric Cheung; IEEE Transactions on Software Engineering, pages 46-66, January/February 2009). The paper also discusses how the principles developed to solve this problem may help in making other network applications compositional. Here is a talk on compositional media control.
For StratoSIP, we adapted the basic work described above for SIP, which required a completely different implementation of the same specification. This work is described in "Generalized third-party call control in SIP networks" (Eric Cheung and Pamela Zave; Proceedings of the Second International Conference on Principles, Systems and Applications of IP Telecommunications, pages 45-68, Springer-Verlag LNCS 5310, 2008).
StratoSIP would also not be possible without a solution to the general SIP problem of "early media". In telecommunications, audio signaling is the use of the audio channel for signaling and user-interface purposes. "Early media" is needed when audio signaling occurs before a call can be connected to a called party. SIP does not support this common function well, and is particularly obstructive to compositional use of it.
The StratoSIP solution can be found in "Audio feature interactions in voice-over-IP" (Pamela Zave; Proceedings of the First International Conference on Principles, Systems and Applications of IP Telecommunications, pages 67-78, ACM SIGCOMM, 2007), which also analyzes the potential feature interactions and discusses how to manage them. Here is the conference talk on early media and audio feature interactions.
The definitive version was published in Principles, Systems, and Applications of IP Telecommunications., 2010-08-02.
Abstractions for Programming SIP Back-to-Back User Agents
Pamela Zave, Gregory Bond, Eric Cheung, Thomas Smith
Third International Conference on Principles, Systems and Applications of IP Telecommunications, 2009. [BIB]