--- a/README
+++ b/README
@@ -1,48 +1,36 @@
-UCommon is meant as a very light-weight C++ library to facilitate using 
-C++ design patterns even with deeply embedded applications for Linux 
-kernel based systems using uclibc, and with optional posix threading 
-support.  For this reason, UCommon disables language features that 
-consume memory or introduce runtime overhead, such as rtti and exception 
-handling, and assumes one will mostly be linking applications with other 
-pure C based libraries rather than using the overhead of the standard 
-C++ library and other class frameworks.
+Peer SIP Call Server - SIP Witch is a call server for the SIP protocol. As a
+call server it services call registration for SIP devices and destination
+routing through SIP gateways.  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 over multiple
+SIP Witch call nodes.  This means SIP Witch operates without introducing
+additional media latency or offering a central point for audio capture, unlike
+"IP-PBX" solutions such as Asterisk, Yate, CallWeaver, FreeSwitch, etc.
-UCommon introduces some common Objective-C based design patterns, such 
-as reference counted objects, memory pools, smart pointers, and dynamic 
-typing through very light use of inline templates for pure type 
-translation that are then tied to concrete base classes to avoid 
-template instanciation issues.  C++ auto-variable automation is also 
-used to enable referenced objects to be deleted and threading locks to 
-be released that are aquired automatically when methods return rather 
-than requiring one to explicitly code for these things.
+The key differences between SIP Witch and IP PBX packages is that it acts as a
+call server only, and not a media server or media proxy.  This means SIP Witch
+supports peer to peer endpoint media streaming, which facilitates secure
+calling media protocols such as ZRTP, as well as generally intercept free
+media communications.  SIP Witch uses destination routing, so unlike IP PBX's
+like Asterisk, it does not establish call sessions before routing.  This means
+faster and more scalable call handling.
-UCommon also introduces some portable C support replacement functions, 
-especially for sockets, such as adding getaddrinfo for platforms which 
-do not have it, or when threadsafe versions of existing C library 
-functions are needed.  Basic socket support for connecting to named 
-destinations and binding to interfaces with IPV4 and IPV6 addresses is 
-directly supported, although no socket class is used.  Support for high 
-resolution timing and Posix realtime clocks are also used when 
+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 is
+mirrored, so that any active call node in a cluster can accept and service a
+call.  This allows for the possibility of live failover support in the future
+as well.
-While UCommon has been influenced by GNU Common C++, it also introduces 
-some new concepts for handling of thread locking and sychonization.  
-First, a common and consistent call methodology is now used for all 
-locks, whether mutex, rw, or semaphore, based on whether used for 
-exclusive or "shared" locking.  The UCommon dynamically cast iterative 
-pointer class can be used to "reference" to a thread lock, which is then 
-released when the pointer goes out of scope such, as returning from a 
-method that instanciated it in an auto-variable.  This methodlogy and 
-more consistent usage will also be introduced in GNU Common C++ 2 2.0.
+SIP Witch is not a SIP "router", and does not try to address the same things
+as iptel "Ser".  It is being designed to be best used either to create an
+on-premise SIP telephone system, telecenter server, or call center, when used
+in combination with GNU Bayonne, or as a hosted SIP telephone system.  One
+important feature will include direct 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.  This is about freedom to
+communicate and the removal of artifical barriers and constraints whether
+imposed by monopoly service providers or by governments.
-UCommon requires some knowledge of compiler switches and options to 
-disable language features, the C++ runtime and stdlibs, and associated 
-C++ headers.  The current version supports compiling with GCC, which is 
-commonly found on GNU/Linux, OS/X, and BSD based systems; and the Sun 
-Workshop compiler, which is offered as an example how to adapt UCommon 
-for other compilers.  It is assumed that when not targetting to support 
-deeply embedded uses and platforms where memory and processing 
-constraints are critical, one might instead use GNU Common C++ (2.0 
-releases and later).  UCommon may also be built with GCC cross compiling 
-for mingw32.  You will also need the Redhat pthread library for win32.