ABSTRACT
A back-to-back user agent (B2BUA) is a powerful mechanism for realizing complex SIP applications. The ability to create, terminate, and modify SIP dialogs allows the creation of arbitrarily complex services. However, B2BUAs must be designed with care so as not to disrupt service interoperability. A commonly-stated goal is for B2BUAs to be as transparent as possible while achieving its design goals. Though the notion of transparency is intuitively appealing, it is difficult to define. To address this issue, this paper proposes a definition of transparency and presents a formal model of a transparent B2BUA to serve as the specification of transparency. From this specification, we identify issues with both the realizability and desirability of this behavior, and suggest modifications to the original model. We evaluate the behavior of a number of public B2BUA implementations via testing, using some novel techniques to create test cases based on the formal models.
- BEA. SIP Servlet API version 1.1, 2008. Java Community Process JSR 289. http://jcp.org/en/jsr/detail?id=289.Google Scholar
- C. Boulton and K. Gronowski. Understanding SIP Servlets 1.1. Artech House, April 2009.Google Scholar
- S. Donovan. The SIP INFO method, October 2000. IETF RFC 2976.Google Scholar
- ECharts for JAIN SIP (E4JS). http://echarts.org/.Google Scholar
- Formal models of SIP, 2010. http://www.research.att.com/~pamela/sip.html.Google Scholar
- M. Hasebe, J. Koshiko, Y. Suzuki, T. Yoshikawa, and P. Kyzivat. Example call flows of race conditions in the session initiation protocol (SIP). IETF RFC 5407, December 2008.Google Scholar
- G. J. Holzmann. The Spin Model Checker: Primer and Reference Manual. Addison-Wesley, 2004. Google ScholarDigital Library
- JAIN(tm) SIP Specification. Java Community Process, 2003. Available from: http://jcp.org/aboutJava/communityprocess/final/jsr032/.Google Scholar
- A. Johnston, S. Donovan, R. Sparks, C. Cunningham, and K. Summers. Session Initiation Protocol (SIP) basic call flow examples. IETF RFC 3665, December 2003.Google Scholar
- JUnit. http://www.junit.org/.Google Scholar
- X. Marjou, I. Elz, and P. Musgrave. Best current practices for a session initiation protocol (SIP) transparent back-to-back user-agent (B2BUA). IETF Internet-Draft draft-marjou-sipping-b2bua-01, July 2007.Google Scholar
- J. Rosenberg and H. Schulzrinne. An offer/answer model with the session description protocol (SDP), June 2002. IETF RFC 3264.Google Scholar
- J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Sparks, M. Handley, and E. Schooler. SIP: Session initiation protocol, June 2002. IETF RFC 3261.Google ScholarDigital Library
- Project SailFin. https://sailfin.dev.java.net/.Google Scholar
- SailFin CAFE project. https://sailfin-cafe.dev.java.net/.Google Scholar
- T. M. Smith and G. W. Bond. ECharts for SIP Servlets: a state-machine programming environment for VoIP applications. In IPTComm '07: Proceedings of the 1st International Conference on Principles, Systems and Applications of IP telecommunications, pages 89--98. ACM, 2007. Google ScholarDigital Library
- V. Subramonian. Towards automated functional testing of converged applications. In IPTComm '09: Proceedings of the 3rd International Conference on Principles, Systems and Applications of IP Telecommunications, pages 1--12, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
- P. Zave. Understanding SIP through model-checking. In Proceedings of the Second International Conference on Principles, Systems and Applications of IP Telecommunications, pages 256--279. Springer-Verlag LNCS 5310, 2008. Google ScholarDigital Library
Index Terms
- Specification and evaluation of transparent behavior for SIP back-to-back user agents
Recommendations
The Research and Design of SIP Server Based on Linux Operating System
BCGIN '13: Proceedings of the 2013 International Conference on Business Computing and Global InformatizationThe SIP server is increasingly used in the VOIP system, and it consists of Registrar, Proxy Server and Redirect Server. The SIP Server designed in this article is based on the Linux operating system for PCs, has passed the test and experiment, and also ...
Transparent dynamic instrumentation
VEE '12Process virtualization provides a virtual execution environment within which an unmodified application can be monitored and controlled while it executes. The provided layer of control can be used for purposes ranging from sandboxing to compatibility to ...
Comments