Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010236049 | TK5105.55 B68 2009 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
Providing a thorough overview to SIP (session initiation protocol) servlets 1.1, this unique resource serves as a practical guide to this exciting and emerging communications network technology. Covering all key concepts and their links into Java Enterprise Edition (JEE), the book discusses the construction, deployment and lifecycle of the SIP servlet. You find a detailed presentation of the role, responsibilities, and convergence of the SIP servlet container. Further, the book discusses the development and deployment of SIP technology, including guidance on SIP Servlet client programming.
Author Notes
Chris Boulton is the chief technology officer for NS Technologies and was formerly a technical research specialist working on next generation solutions for Avaya. He has been an active participant in the Internet Engineering Task Force (IETF) for more than six years. Mr. Boulton has authored and participated in numerous specifications related to the Session Initiation Protocol (SIP) and its related extensions. He is also a member of the JSR 289 SIP Servlet API Expert Group in the Java Community Process (JCP), is on the Technical Board of Advisors for the VoIP Security Alliance (VOIPSA), and has published numerous white papers on VoIP and related technologies.
Kristoffer Gronowski is a senior software architect at Ericsson Research, where he focuses on empowering development and evolution of communication services. He has worked most of his career in product development, and most recently he has been driving the architecture of the open source SailFin SIP container project. Mr. Gronowski is a member of the JSR289 SIP Servlet API Expert Group in the Java Community Process (JCP).
Table of Contents
Foreword | p. xi |
Foreword | p. xiii |
Preface | p. xv |
Part I Introduction to SIP Servlet Technology | p. 1 |
1 Introduction to SIP Servlets | p. 3 |
1.1 Session Initiation Protocol | p. 3 |
1.2 SIP Servlets and the SIP Servlet Vision | p. 15 |
1.3 Java Enterprise Edition | p. 17 |
1.3.1 Servlet Specification | p. 17 |
1.3.2 Annotations | p. 19 |
1.3.3 Enterprise JavaBeans (EJB) | p. 19 |
References | p. 21 |
2 The SIP Servlet Container | p. 23 |
2.1 Container Responsibilities | p. 23 |
2.1.1 Life-Cycle Management | p. 23 |
2.1.2 Protocol Compliance | p. 25 |
2.1.3 Mapping Requests to Servlets | p. 25 |
2.1.4 Receiving SIP Requests | p. 29 |
2.1.5 Receiving SIP Responses | p. 32 |
2.1.6 Session Targeting | p. 34 |
2.1.7 Session Utilities | p. 40 |
2.1.8 SIP Factory | p. 43 |
2.1.9 Timer Service | p. 45 |
2.2 Container Convergence | p. 47 |
2.2.1 HTTP Container Convergence | p. 48 |
2.2.2 JEE Container Convergence | p. 50 |
2.3 Security | p. 51 |
References | p. 56 |
3 The SIP Servlet Application | p. 58 |
3.1 SIP Servlet Packaging | p. 58 |
3.1.1 Deployment Descriptor | p. 60 |
3.2 Application Roles | p. 61 |
3.2.1 Proxy | p. 61 |
3.2.2 User Agent Client | p. 66 |
3.2.3 User Agent Server | p. 69 |
3.2.4 Back-to-Back User Agent | p. 71 |
3.3 Application Constructs | p. 76 |
3.3.1 SIP Application Session | p. 77 |
3.3.2 SIP Session | p. 78 |
3.3.3 Application Data Storage | p. 81 |
3.3.4 Session Lifetime and Invalidation | p. 83 |
3.3.5 Annotations | p. 88 |
References | p. 91 |
4 Application Router | p. 92 |
4.1 SIP Servlet 1.1 Composition Model | p. 92 |
4.2 Application Router, Container, and Application Interaction | p. 98 |
4.2.1 Subsequent Requests and Responses | p. 107 |
References | p. 109 |
5 Moving Forward | p. 110 |
5.1 SIP Servlet Threading Model | p. 110 |
5.2 Outstanding Issues | p. 111 |
5.3 SIP Protocol Support | p. 111 |
5.4 JSR 309 | p. 112 |
References | p. 113 |
Part II Developer and Deployment Environments | p. 115 |
6 Relationship and Role Within IMS | p. 117 |
References | p. 122 |
7 SailFin 101 | p. 123 |
8 SailFin Understanding | p. 141 |
8.1 History | p. 142 |
8.2 Architecture | p. 143 |
8.3 Logging | p. 145 |
8.4 Network Configuration | p. 147 |
8.5 SIP Container Architecture | p. 151 |
8.6 Writing Your Own Interceptor Layer | p. 158 |
8.6.1 Writing Custom Application Router | p. 164 |
8.7 Cluster Deployment | p. 169 |
8.7.1 Load Balancing and IP Sprayers | p. 175 |
8.7.2 ENUM | p. 180 |
References | p. 182 |
9 SIP Servlet Client Programming | p. 184 |
9.1 Writing HTTP Servlet-Based Client | p. 186 |
9.2 Using Asynchronous HTTP | p. 186 |
9.3 Using ICEfaces | p. 196 |
9.4 REST and JAX-RS | p. 202 |
9.4.1 Consuming a REST Service | p. 213 |
9.5 Java Me Jsr 180 | p. 217 |
References | p. 227 |
10 The SIP Servlet Application Programming Interface (API) | p. 228 |
10.1 Container Utilities | p. 229 |
10.1.1 SipFactory | p. 229 |
10.1.2 AuthInfo | p. 231 |
10.1.3 SipSessionsUtil | p. 232 |
10.1.4 ConvergedHttpSession | p. 234 |
10.1.5 SipServletListener | p. 234 |
10.2 Application Constructs | p. 235 |
10.2.1 SipApplicationSession | p. 235 |
10.2.2 SipApplicationSessionActivationListener | p. 239 |
10.2.3 SipApplicationSessionAttributeListener | p. 240 |
10.2.4 SipApplicationSessionBindingListener | p. 241 |
10.2.5 SipApplicationSessionListener | p. 242 |
10.2.6 SipSession | p. 243 |
10.2.7 SipSessionActivationListener | p. 247 |
10.2.8 SipSessionAttributeListener | p. 248 |
10.2.9 SipSessionBindingListener | p. 249 |
10.2.10 SipSessionListener | p. 250 |
10.3 SIP Message Routing | p. 251 |
10.3.1 Proxy | p. 251 |
10.3.2 ProxyBranch | p. 255 |
10.3.3 B2BuaHelper | p. 258 |
10.3.4 SipErrorListener | p. 260 |
10.4 SIP Messaging Constructs | p. 261 |
10.4.1 SipServletMessage | p. 261 |
10.4.2 SipServletRequest | p. 269 |
10.4.3 SipServletResponse | p. 273 |
10.4.4 Address | p. 276 |
10.4.5 Parametable | p. 278 |
10.4.6 SipURI | p. 279 |
10.4.7 TelURL | p. 283 |
10.4.8 URI | p. 284 |
10.5 Timer Service | p. 285 |
10.5.1 TimerService | p. 286 |
10.5.2 ServlvetTimer | p. 287 |
10.5.3 TimerListener | p. 288 |
References | p. 289 |
About the Authors | p. 291 |
Index | p. 293 |