The Artima Developer Community
Sponsored Link

Java Community News
SIP Programming for the Java Developer

1 reply on 1 page. Most recent reply: Jun 20, 2006 12:19 PM by Martin Monsalvo

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 1 reply on 1 page
Frank Sommers

Posts: 2642
Nickname: fsommers
Registered: Jan, 2002

SIP Programming for the Java Developer Posted: Jun 19, 2006 10:46 AM
Reply to this message Reply
Summary
The Session-Initiation Protocol (SIP) is an IETF standard to create, modify, and terminate an IP communication session. A recent JavaWorld article introduces the SIP Servlet Specification (JSR 116), and presents a Java servlet that can interact with a SIP-compliant client, such as Windows Messenger.
Advertisement

The Session-Initiation Protocol (SIP) was designed to enable session management in IP-based communication protocols. While SIP is often used in the context of multimedia applications, such as IP telephony and instant messaging, SIP can be useful whenever there is a need to maintain a communication session between a client and a server.

In a recent JavaWorld article, SIP Programming for the Java Developer, Wei Chen introduces the SIP Servlet Specification (JSR 116), and presents an example SIP servlet that can interact with any SIP-compliant client, such as Microsoft's Windows Messenger, which is what the author uses to illustrate the article.

Chen points out that SIP in many ways complements HTTP, which is a sessionless protocol. Compared to HTTP, SIP is:

  • Responsible for session management. The actual multimedia content, such as instant messages, voice, and video, may or may not be transmitted via SIP.
  • Asynchronous and stateful. For each SIP request, there could be multiple responses. This means the application has to process each SIP message within a proper state context.
  • An application protocol that can run on both reliable and unreliable transport. Thus, the application must guarantee the message delivery with message retransmission and acknowledgement.
  • A peer-to-peer protocol where there is no clear distinction between client and server. Either side must be able to send and receive requests and responses.

JSR 116 presents a Java SIP API and programming model based on servlets. In contrast to an HTTP servlet, a SIP servlet extends SipServlet, and instead of an HttpSession, a SIP servlet creates and interacts with a SipSession. Chen contrasts the HTTP and SIP use of sessions:

Typically, an HttpSession is created when a user logs in and destroyed after logout. A SipSession typically represents one logical conversation, even if you have multiple conversations between the same endpoints. So SipSession is more dynamic and has a shorter lifespan.

The conclusion of the article presents an example SIP servlet that consumes messages from a SIP-compatible client, such as Windows Messenger, and echoes those messages back to the client.

In addition to instant messaging and IP telephony, what other uses do you see for SIP in the enterprise?


Martin Monsalvo

Posts: 1
Nickname: tincholp
Registered: Jun, 2006

Re: SIP Programming for the Java Developer Posted: Jun 20, 2006 12:19 PM
Reply to this message Reply
Interestingly, next generation mobile phone networks will be driven by SIP, as stated in the IMS (IP Multimedia Subsystem) protocol specs.

Siemens and Nokia both have more info and even tools to play with IMS.

For those interested, check:

http://en.wikipedia.org/wiki/IP_Multimedia_Subsystem

http://www.siemens.com/index.jsp?sdc_p=ft6mls2u1436o1334929i1334929pMNENcz2&sdc_bcpath=1333982.s_2,1333984.s_2,1334929.s_2,&sdc_sid=25803290476&

http://www.nokia.com/A4126030

(Sorry for the ugly URLs ...)


IMS will enable traditional ISV to bring their apps to the mobile phone apps market, something really difficult now, due mainly to the difficulties inherently associated with handling the suite of mobile networking protocols (SS7, CAMEL, etc), and also lot of connectivity restrictions from the mobile operators.

I think that under this context, SIP, through IMS, can bring another level of integration between enterprise systems and mobile devices.

Flat View: This topic has 1 reply on 1 page
Topic: SIP Programming for the Java Developer Previous Topic   Next Topic Topic: What's New in Java SE 6 Beta 2 (Mustang)

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use