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 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 governments.
GNU SIP Witch can also be used to construct embedded telephony services as part of GNU 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: <firstname.lastname@example.org>. Subscribe to this list by sending the word "subscribe" in the body of an otherwise empty message to <email@example.com>.
We also maintain a GNU Telephony wiki.
The current maintainer for this package is <dyfet at gnu dot org>