sipjain-sip

Difference between Sip Servlet and Jain Sip


I want to know the difference between Sip Servlet and JAIN-SIP. From the stack overflow question's answer, here . I cannot understand the difference between sip servlet and JAIN-SIP. I want to know what is the purpose of JAIN-SIP specification when both sip servlet and JAIN-SIP specification has to create SIP application.

Please also guide me; I want to develop a mobile(android) application in which I want video chat and also conference call functionality. Is this can be done by using JAIN-SIP? (Guide me on this) Please... Thank you


Solution

  • JAIN-SIP is a low-level light-weight SIP stack API while Sip Servlets extends HTTP Servlets and has other dependencies. In general you have more freedom and fine-grained APIs with JAIN-SIP and you can integrate it anywhere. Sip Servlets is a simplified API like HTTP servlets and usually comes with its own integrated environment, a Java EE container or HTTP servlet container.

    In terms of flexibility Sip Servlets has some restrictions on which headers you are allowed to touch. You can't stamp your own data into tags, branch ids or IPs for example. Sip Servlets also usually don't allow for more stateless designs. Sip Servlets is best suited for a stateful server, UAS or B2BUA apps with enterprise logic, but it can work in other roles too.

    For an android client app JAIN-SIP is the best choice no doubt about it. On the server side, it depends on the specifics of the application.