Version 8.5 includes support for SIP Servlet Specification 1.1, also referred to as Java Specification Request (JSR) 289.
The SIP Servlet Specification provides the Java API standards for Session Initiation Protocol (SIP). JSR 289 is an update to the existing SIP Servlet specification that addresses new requirements determined by industry users.
SIP is a signaling protocol used for creating, modifying, and terminating IP communication sessions such as telephony and presence applications. SIP is not limited to voice communication and can mediate any type of communication session, such as multimedia.
The following is a brief description of new features available in the JSR 289 specification.
Application routing enables developers to build complex services out of smaller applications. On initial requests the container calls the application router to determine which application to invoke based on the type of request. The application router is the central hub for selecting application order. See the topic on configuring a SIP application router for more information.
Annotations provide a fast way to develop applications by embedding metadata directly in applications. For example, you can use the @SipServlet annotation to indicate that a class is a SIP servlet. The @SipApplication is a package level annotation. All servlets in the package belong to the same application unless the servlet uses @SipServlet(applicationName). For more information on annotations, see section 18 of the JSR 289.
For more information on converged applications, see section 13 of the JSR 289.
JSR 289 simplifies the B2BUA pattern in applications with the use of the B2BUA helper class. The B2BUA is a frequently used application pattern. The B2BUA acts as an endpoint for two or more dialogs and forwards requests and responses between those dialogs. The B2BUA helper has the ability to create a copy of an incoming request. It also automatically maintains links between sessions on both sides of the B2BUA. For more information on B2BUAs, see section 12 of the JSR 289.