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
- 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.
- 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.
|
R&D
Home
|