Article Discussion
BEA's Nasir Khan Explains SIP
Summary: At the 2007 JavaOne conference, Bill Venners and I interviewed developers and companies about important ideas behind their projects and products. In today's installment of this Artima mini-series, BEA architect and JSR 289 spec lead Nasir Khan explains the importance of the SIP protocol and SIP servlets.
4 posts.
The ability to add new comments in this discussion is temporarily disabled.
Most recent reply: May 23, 2007 4:44 PM by Nasir
    Frank
     
    Posts: 135 / Nickname: fsommers / Registered: January 19, 2002 7:24 AM
    BEA's Nasir Khan Explains SIP
    May 16, 2007 4:00 PM      
    In this interview, Nasir Khan describes the use-case for the Session Initiation Protocol (SIP):

    http://www.artima.com/lejava/articles/javaone_2007_nasir_khan.html

    What do you think of the uses of SIP in enterprise applications?
    • Michael
       
      Posts: 4 / Nickname: hobb0001 / Registered: December 28, 2004 9:02 AM
      Re: BEA's Nasir Khan Explains SIP
      May 17, 2007 7:02 AM      
      Tip: If you want people to invest the time in listening to an audio interview, you're going to have to at least describe it enough to make people interested in what it's about. I don't even know what SIP is, much less know why I should care about it. (Well, I do know now, after taking it upon myself to read the Wikipedia article.)

      In contrast to text, you can't point people to a piece of audio and say "just listen to it." With text, it's much easier to quickly scan it to see if it's at all interesting.

      I know this message comes off as blunt (if not rude), but I'm truly trying to provide a tip and not just being mean.
    • Nasir
       
      Posts: 2 / Nickname: nasirkhan / Registered: May 23, 2007 11:10 AM
      Re: BEA's Nasir Khan Explains SIP
      May 23, 2007 4:24 PM      
      > What do you think of the uses of SIP in enterprise
      > applications?

      SIP is becoming increasingly popular in the enterprise. You may actually be using it without even knowing if you use new Yahoo IM which uses SIP for IM.
      - There are several IP-PBX solutions that use SIP like Asterisk.
      - I know of several conferencing providers that you may be using for your business use SIP.
      - There is a whole range of products/services around Voice/Data integration.
      - CTI applications, particularly for call centers heavily use SIP.

      The SIP Servlet specification brings SIP together with HTTP (actually you can write converged servlets/JSPs that speak both SIP and HTTP) and thus opens the door to innovation around interesting converged voice/data applications.
    • Berco
       
      Posts: 6 / Nickname: berco / Registered: January 17, 2002 8:39 PM
      Re: BEA's Nasir Khan Explains SIP
      May 17, 2007 11:08 AM      
      The core idea behind SIP is good but unfortunately there are too many (telco!) parties involved, which making the specification unnecessary complex. The fact that developers will always use the 'simplest solution that could possibly work' spells trouble for the future of SIP. For many problems there are alternative technologies that could be used (xmpp, twitter, mail,... ).

      SIP makes perfect sense on mobile devices, but unfortunately SIP is still far from standardized there. Implementations are proprietary and differ slightly. I, for instance, wish there was a decent open source JME SIP implementation...
      • Nasir
         
        Posts: 2 / Nickname: nasirkhan / Registered: May 23, 2007 11:10 AM
        Re: BEA's Nasir Khan Explains SIP
        May 23, 2007 4:44 PM      
        > The core idea behind SIP is good but unfortunately there
        > are too many (telco!) parties involved, which making the
        > specification unnecessary complex.

        SIP is being developed in IETF (where HTTP was also developed). The fact that there is involvement of people from telco background/companies is a very good thing, because the lessons learnt and patterns discovered of over 100 years of telephony will not be lost.
        Having said that both IETF and Java Specifications for SIP are striving for open standards and open APIs that easy to use and lower the entry barrier for developers.


        > developers will always use the 'simplest solution that
        > could possibly work' spells trouble for the future of SIP.

        If you can understand -

        public class MyHttpServlet extends HttpServlet {
        private PrintWriter out = null;
        public void doGet(HttpServletRequest request,
        HttpServletResponse response)
        throws IOException, ServletException {
        response.setContentType("text/html");
        out = response.getWriter();

        // write the HTML header
        out.println("<html>Hello</html>");
        }
        }


        Then you can certainly understand the following SIP Servlet snippet.


        public class MySipServlet extends SipServlet {
        public void doInvite(SipServletRequest req)
        throws IOException {
        req.createResponse(180).send();
        req.createResponse(200).send();
        }
        }


        Where "INVITE" is one of the SIP messages like "GET" is for HTTP.


        > For many problems there are alternative technologies that
        > could be used (xmpp, twitter, mail,... ).
        >
        > SIP makes perfect sense on mobile devices, but
        > unfortunately SIP is still far from standardized there.

        On the contrary SIP is getting great mileage in 3gpp (www.3gpp.org) and OMA (http://www.openmobilealliance.org/) and there is also a J2ME JSR for SIP
        http://www.jcp.org/en/jsr/detail?id=180

        > Implementations are proprietary and differ slightly. I,
        > for instance, wish there was a decent open source JME SIP
        > implementation...

        There are several open source implementations, while you cannot stop people from adding proprietary extensions overall it bodes well for the SIP development as it indicates a vibrant community.