A SIP application is a Java program that uses at least one Session Initiation Protocol (SIP) servlet.
A SIP servlet is a Java-based application component that is managed by a SIP servlet container and that performs SIP signaling. Like other Java-based components, servlets are platform-independent Java classes that are compiled to platform-neutral bytecode that can be loaded dynamically into and run by a Java-enabled SIP application server. Containers, sometimes called servlet engines, are server extensions that handle servlet interactions. SIP servlets interact with clients by exchanging request and response messages through the servlet container.
SIP is used to establish, modify, and terminate multimedia IP sessions
including IP telephony, presence, and instant messaging. "Presence" in this
context refers to user status such as "Active," "Away," or "Do not disturb."
The standard that defines a programming model for writing SIP-based servlet
applications is JSR 116.