GNU SIP Witch
What is GNU SIP Witch?
GNU SIP Witch is a secure peer-to-peer VoIP server that uses the SIP
protocol. Calls can be made peer-to-peer behind NAT firewalls, and
without needing a service provider. GNU SIP Witch does not perform codec
operations and thereby enables SIP endpoints to directly peer negotiate
call setting and process peer to peer media streaming even when when multiple
SIP Witch call nodes at multiple locations are involved. This means GNU SIP
Witch operates without introducing additional media latency or offering a
central point for media intercept or capture. GNU SIP Witch can be used to
build secure and intercept-free telephone systems that can operate over
the public Internet.
GNU SIP Witch is designed to support network scaling of telephony services,
rather than the heavily compute-bound solutions we find in use today. This
means a call node has a local authentication/registration database, and this
will be mirrored, so that any active call node in a cluster will be able to
accept and service a call. This allows for the possibility of live failover
support in the future as well.
GNU SIP Witch is not a SIP "router", and does not try to address the same
things as a project like iptel "Ser". GNU SIP Witch is being designed to create
on-premise SIP telephone systems, telecenter servers, and Internet hosted SIP
telephone systems. One important feature will include use of URI routing to
support direct peer to peer calls between service domains over the public
internet without needing mediation of an intermediary "service provider" so
that people can publish and call sip: uri's unconstrained. GNU SIP Witch is
about freedom to communicate and the removal of artifical barriers and
constraints whether imposed by monopoly service providers or by
GNU SIP Witch can also be used to construct embedded telephony services as part
Telephony Open Embedded. GNU SIP Witch is built from GNU uCommon, which
optionally offers a complete runtime C++ library environment for developing
deeply embedded targets without requiring the use of the ANSI C++ standard
library, rtti, exception handling, or STL templates. GNU SIP Witch will
also build on all versions of GCC from 2.95 through 4.4, and with many
other C++ compilers as well as on most platforms including GNU/Linux,
xBSD systems, Mac OS/X, and Microsoft Windows.
Get the Software
GNU SIP Witch may be found at ftp.gnu.org or downloaded directly from our Download
Site. GNU SIP Witch requires GNU Common C++/uCommon, the GNU oSIP library,
and the eXosip extension library for GNU oSIP. GNU SIP Witch may optionally
use libgcrypt for alternate authentication digest algorithms, as well as either
openssl or GNU TLS for tls support over SIP. GNU SIP Witch is licensed using
the GNU General Public License Version 3 or later.
Support and Other Resources
To simplify management and bug tracking for the different packages I
currently maintain, I have consolidated management of GNU SIP Witch, related
GNU Common C++ packages, and GNU Telephony projects including GNU Bayonne. These
are being managed on subversion through the GNU Telephone subsystem on
Savannah. This may soon be migrated to
our own bugzilla host on the GNU Telephony website.
The following GNU mailing list has been set up for GNU SIP Witch:
sipwitch-devel is the developers list: <email@example.com>. Subscribe to this list by sending the word "subscribe" in the body of an otherwise empty message to <firstname.lastname@example.org>.
We also maintain a GNU Telephony wiki.
The current maintainer for this package is <dyfet at gnu dot org>
Please send FSF & GNU inquiries & questions to email@example.com. There are also
other ways to
contact the FSF.
Please send comments on these web pages to firstname.lastname@example.org,
send other questions to email@example.com.
Copyright © 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free
Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110, USA
Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.
$Date: 2010/03/15 22:00:31 $
Please see the
README for information on coordinating and submitting
translations of this article.