ReSIProcate Current Features

From reSIProcate
Revision as of 00:28, 28 November 2004 by Alan (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  • Uses the VOCAL license (BSD like);
  • UDP, TCP, TLS transports;
  • A full implementation of the 3261 transaction state machine;
  • A lazy parser - only parse headers when the application requests them;
  • A strongly typed interface;
  • The parser is compliant with the current RFCs;
  • An Object-Oriented SDP parser and encoder;
  • Support for SipFrag;
  • Support for 'rport';
  • Object Oriented C++ interface to the messages;
  • Asynchronous DNS library (ares from MIT);
  • Fast performance: > ~500 transactions per second on an Intelâ„¢ P4;
  • Ability to add new headers and parameters without rebuilding the stack;
  • MIME and multipart-MIME contents;
  • S/MIME
  • Single-threaded or multi-threaded (thread-safe stack);
  • One library with only two external dependencies:
 * ares - DNS Resolver
 * openssl - Security (for TLS)
  • Multiple SIP stacks in the same application;
  • Support for shutting down a SIP stack without exiting the application
  • IPv6 support in the parser and DNS ;
  • Full NAPTR and SRV support (support RFCs: 3261, 3263, 2915, 2782) ;
  • Full asynchronous DNS support in Windows ;
  • Support for multi-homed hosts ;
  • Builds and runs on Windows and most Unixes. reSIProcate has been built and tested on:
 * GNU/Linux 2.4, 2.5 ;
 * Mac OS/X 10.2 (Jaguar) and 10.3 (Panther) ;
 * Solaris 8 and 9, and ;
 * Windows XP and 2003 Server ;
 * (most things with modern C++ compilers), and;
  • Easy to plug-in new transport protocols.

In Progress

Features that are being added right now:

  • GNU Autotools tools for build ;
  • Even faster performance ;
  • Support for both select(2) and poll(2) (possibly epoll(2) in the future) ;
  • A user agent layer above the current stack which will manage user agent retransmissions and dialogs, and;
  • SCTP transport protocol support.