SIP Beyond Voice and Video

Standards-based Distributed Networking

from EarthLink Research and Development


Introducing EarthLink SIPshare

EarthLink SIPshare, a simple, SIP-based proof-of-concept content sharing application, demonstrates the viability of SIP as a protocol over which peer-to-peer (P2P) applications other than the well-known voice and video cases may be implemented. (SIPshare is not a supported EarthLink product. Please see the Disclaimer below).

Features

  • Peer discovery - Given a few bootstrap hosts, peers learn of other peers using standard SIP messages.
  • Fully distributed content search - Searches for content are distributed across the network from one peer to another, on behalf of a third peer.
  • File Transfer - As a proof-of-concept application, share documents, photos, and other files with peers on the network via standard SIP messaging, and completed using a simple UDP-based file transfer protocol.
  • Standards based - Network assembly, search, and download are all established using standard SIP messaging.
  • Cross-platform - Written in Java, so EarthLink SIPshare runs on many platforms --- without modification.

Motivation

EarthLink believes an open Internet is a good Internet. An open Internet means users have full end-to-end connectivity to say to each other whatever it is they say, be that voice, video, or other data exchanges, without the help of mediating servers in the middle whenever possible. We believe that if peer-to-peer flourishes, the Internet flourishes. SIPshare helps spread the word that SIP is more than a powerful voice over IP enabler --- much more. SIP is a protocol that enables peer-to-peer in a standards-based way.

The emerging ubiquity of SIP as a general session-initiation enabler provides a rare opportunity to offer users all manner of P2P applications over a common protocol, instead of inventing a new protocol for each new P2P application that comes along.

EarthLink wants to point the way and aid the cause of these new applications by demonstrating in open source working code that SIP can host poweful applications beyond those that immediately come to mind, that is, voice and video.

We chose file sharing to illustrate how SIP can be used to build an alternate P2P application, but file sharing itself is not the point --- file sharing, of course, has been done. EarthLink SIPshare demonstrates that it is conceivable that voice over IP, where voice is just content of a different form, itself can be implemented using SIP in a fully standards-based P2P network. In other words, the effect of Skype, but with one important difference: using standards-based protocols, as EarthLink SIPshare does for content sharing.

We are not the first to consider voice over P2P, or alternate P2P implementation methods, but we want to help herald the possibilities with an application like EarthLink SIPshare. SIP is too important to consider use only for voice, or only for video.

Implementation

EarthLink SIPshare uses stateful SIP Subscribe/Notify to build and maintain a network of peers, and stateless Subscribe/Notify to implement content search on that network. Content searches are passed from one peer to all other known peers in such a way that content can be located on a host of which the original requesting peer is not explicitly aware. Once content is located, a SIP Invite is used to request the content from the now-known host.

EarthLink SIPshare is written for Java 2 Standard Edition, and runs on any platform for which a J2SE virtual machine is available, which includes Linux, Mac OS X, Solaris, and Microsoft Windows. Where SIP application programming is concerned, SIPshare uses the NIST implementation of the JAIN SIP stack. NIST SIP is available for download here, and is bundled with the EarthLink SIPshare distribution.

Additional SIPshare implementation details may be found here.

Common questions

  1. Will EarthLink SIPshare work behind NAT?

    No. All messaging, including the file transfer protocol, are based on UDP. If you want to extend EarthLink SIPshare by incorporating something like STUN for NAT traversal, by all means do so.

  2. What are the licensing conditions of EarthLink SIPshare?

    EarthLink SIPshare is available free of charge and is licensed under a BSD-style license.

Future work, refinements, and extensions

EarthLink SIPshare is a prototype, a work in progress. It implements only the subset of SIP messaging needed to demonstrate this alternative use of SIP. Other features may be of interest to the community, which may include
  • NAT traversal
  • Using standard tftp instead of FSP for content transfer
  • Improved user interface, including cancelling downloads
  • Providing for Notify body semantics larger than one UDP datagram can accomodate

Files

SIPshare license
Release history
SIPshare README
SIPshare build notes
Additional screenshots
Acknowledgments and credits
References
SIPshare discussion board
Download

Disclaimer

EarthLink believes everyone has a right to their property, personal or otherwise, and this includes copyrights. We advocate in no way file sharing outside the boundary of fair use.

EarthLink SIPshare is a prototype, meant to be extended by the community or used casually for instructional and evaluation purposes. It is alpha-quality code at best. The version you download here almost certainly contains bugs. The software is provided as-is, with no warranty expressed or implied, and should not be used for critical applications.

Finally, EarthLink Research and Development will from time to time release code, as with SIPshare, on a proof-of-concept basis. We like to gauge what the community is interested in, to see what ideas may find purchase in the greater Internet user base. The idea with SIPshare is P2P over SIP, not file sharing for its own sake.

As a result of all this, EarthLink SIPshare is NOT a supported EarthLink product. It is more than anything else a manifestation of an idea. So if you call our Tech Support with SIPshare questions, they will have no idea what you are talking about. Please, if you use SIPshare, you're on your own.


Last modified: Thu Sep 16 09:26:19 PDT 2004
Feedback: p2pOverSIP at research.earthlink.net
Copyright 2004, EarthLink, Inc.
EarthLink

R&D Home