Resip Overview

From reSIProcate
Revision as of 23:20, 16 November 2006 by Rjsparks (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The reSIProcate Project

The reSIProcate project consists of a stack and a collection of applications. The reSIProcate stack is currently used in several commercial products and is considered very stable. reSIProcate is ideally suited to individuals or companies that are implementing one of the following SIP applications:

  • Phones (eg. embedded);
  • Softphones (any platform);
  • Gateways;
  • Proxies;
  • B2BUAs, or;
  • IM / Presence Servers or Clients.

Currently, reSIProcate supports or has these features:

  • Uses the VOCAL license (BSD-like);
  • UDP, TCP, TLS and DTLS 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
  • 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 (included in contrib)
    • openssl - Security (for TLS, DTLS and X.509 support)
  • Multiple SIP stacks in the same application;
  • Support for shutting down a SIP stack without exiting the application
  • A user agent layer (DUM) above the current stack which will manage user agent retransmissions and dialogs, and;
  • 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 (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.