Tree [a3cf1d] /

HTTPS access

File Date Author Commit
 common 2012-11-07 David Sugar David Sugar [705ffe] cleanup of access_ modes
 inc 2012-10-26 David Sugar David Sugar [ec0143] easier reading
 mysql 2007-08-10 David Sugar David Sugar [1754e4] updated distro files
 server 2012-11-08 David Sugar David Sugar [a3cf1d] new dso api
 switchview 2012-11-07 David Sugar David Sugar [705ffe] cleanup of access_ modes
 test 2010-11-01 David Sugar David Sugar [aacde3] tab and copyright cleanup
 utils 2012-11-07 David Sugar David Sugar [0fc221] separation of fsys and dir
 .gitignore 2012-09-29 David Sugar David Sugar [a03e3d] Cleaned up ignore
 AUTHORS 2007-08-10 David Sugar David Sugar [1754e4] updated distro files
 BUILDS 2009-04-07 David Sugar David Sugar [7c57fa] build notes
 CMakeLists.txt 2012-10-26 David Sugar David Sugar [6efc95] api cleanup for ucommon 6
 COPYING 2007-07-27 David Sugar David Sugar [ce0b0e] use of via for routing
 ChangeLog 2012-10-25 David Sugar David Sugar [68dce4] ucommon abi 6 support
 Doxyfile 2007-09-09 David Sugar David Sugar [d8684a] documentation revised
 FEATURES 2009-03-02 David Sugar David Sugar [4ea9b1] some feature description of internodal calls
 MODULES 2008-08-19 David Sugar David Sugar [0f593b] revised packaging 2012-09-22 David Sugar David Sugar [0d3bb8] prep for release
 NEWS 2009-03-02 David Sugar David Sugar [f248c2] news update
 NOTES 2009-06-17 David Sugar David Sugar [f94a25] rtp media proxy notes
 README 2010-03-17 David Sugar David Sugar [223417] updated README file
 SUPPORT 2009-01-30 David Sugar David Sugar [32d611] we have a new mailing list
 TODO 2009-06-17 David Sugar David Sugar [3965e0] network layout 2010-11-01 David Sugar David Sugar [aacde3] tab and copyright cleanup 2010-11-01 David Sugar David Sugar [aacde3] tab and copyright cleanup 2012-10-26 David Sugar David Sugar [6efc95] api cleanup for ucommon 6
 directive 2012-09-24 David Sugar David Sugar [fe74ef] some further work for systemd support 2008-01-23 David Sugar David Sugar [25dbbf] revised mapping moved
 sipwitch-config.1 2012-01-13 David Sugar David Sugar [f11da5] Manpage updates
 sipwitch-config.h.cmake 2012-07-30 David Sugar David Sugar [50ef25] config changed for better out of source builds 2009-11-30 David Sugar David Sugar [5f154f] set execute bit 2012-10-26 David Sugar David Sugar [22fa84] more ver 6 api changes

Read Me

SIP Witch is an official package of the GNU Project as of August 10th 2007.
GNU SIP Witch is also part of GNU Telephony & the GNU Telecom subsystem.  The
server directory includes some basic example server configurations.


The goal of this package is to individuals and organizations to communicate
securely whether in private or peer-to-peer over the public Internet without
intermediary service providers.  This package can also operate as a pure SIP
based office telephone call server supporting generic phone system features
like call forwarding, hunt groups and call distribution, call coverage and ring
groups, holding and call transfer, as well as offering SIP specific
capabilities such as presence and messaging.  Support for using secure
telephone extensions, for placing and receiving peer-to-peer calls directly
over the internet, and intercept/decrypt-free peer-to-peer audio is also being
incorporated into the sipwitch design.

Our goal includes creating 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 peer-to-peer 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 governments.


GNU SIP Witch is a peer-to-peer VoIP server for the SIP protocol. As a VoIP
server it services call registration for SIP devices and destination routing
through SIP gateways.  GNU SIP Witch does not perform codec operations or media
proxying 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 capture.  This also means GNU SIP Witch can act as a secure
calling server where all peers directly maintain peer encrypted sessions
without central supervision of keys or central decryption of media traffic.

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 multi-protocol telephone server or IP-PBX, and does not
try to address the same things like asterisk, freeswitch, yate, all of which
require direct media processing.  Instead, GNU SIP Witch focuses on doing one
thing as a pure SIP call server, and is being developed specifically to do
that one thing very well.  Our goal is to focus on achieving a network scalable
telephone architecture that can be deeply embedded, which can support secure
calling nodes, and that can integrate well with other SIP based/standards
compliant components.


Resources for supporting GNU SIP Witch will be consolidated and handled
principally through Savannah using the existing GNU Telecom subsystem project
found there ( as a central point of
contact. This sub-project is being reorganized for this purpose.  In addition
the mailing list can be used to submit patches or
report bugs.


GNU SIP Witch depends on the UCommon library, which may merge with and become
GNU Common C++ 2.0 later this year or early next year.  CVS for and new
distributions of UCommon will be found in the GNU Telecom project on an interim
basis until then.  GNU SIP Witch also uses libeXosip2 and GNU oSIP, and these
may be found at their respective sites.  GNU SIP Witch is licensed under the
GNU General Public License Version 3 or later.


The primary development mailing list is

For those looking to write faq's or howto's, I could suggest using our wiki,

We are requiring any non-trivial contributions to the code base be copyright
assigned to the FSF.  It is of course necessary to have a limited set of
copyright holders who share common interest (some do strongly suggest having a
single copyright holder for this purpose; I personally have prefer two...), and
it is necessary to have a trustable third party when asking people to do
copyright assignment.  To me the FSF meets these goals perfectly, and this I
think helps assure people the codebase cannot later be taken private or
otherwise used in ways "not anticipated" if they do assign copyright.