Difference between revisions of "ReSIProcate Current Features"

From reSIProcate
Jump to navigation Jump to search
 
m
Line 16: Line 16:
 
* Single-threaded or multi-threaded (thread-safe stack);
 
* Single-threaded or multi-threaded (thread-safe stack);
 
* One library with only two external dependencies:
 
* One library with only two external dependencies:
  * ares - DNS Resolver
+
** ares - DNS Resolver
  * openssl - Security (for TLS)
+
** openssl - Security (for TLS)
 
* Multiple SIP stacks in the same application;
 
* Multiple SIP stacks in the same application;
 
* Support for shutting down a SIP stack without exiting the application
 
* Support for shutting down a SIP stack without exiting the application
Line 25: Line 25:
 
* Support for multi-homed hosts ;
 
* Support for multi-homed hosts ;
 
* Builds and runs on Windows and most Unixes.  reSIProcate has been built and tested on:
 
* Builds and runs on Windows and most Unixes.  reSIProcate has been built and tested on:
  * GNU/Linux 2.4, 2.5 ;
+
** GNU/Linux 2.4, 2.5 ;
  * Mac OS/X 10.2 (Jaguar) and 10.3 (Panther) ;
+
** Mac OS/X 10.2 (Jaguar) and 10.3 (Panther) ;
  * Solaris 8 and 9, and ;
+
** Solaris 8 and 9, and ;
  * Windows XP and 2003 Server ;
+
** Windows XP and 2003 Server ;
  * (most things with modern C++ compilers), and;
+
** (most things with modern C++ compilers), and;
 
* Easy to plug-in new transport protocols.
 
* Easy to plug-in new transport protocols.
  

Revision as of 23:29, 27 November 2004

  • 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.