ReSIProcate Current Features
- Uses the VOCAL license (BSD like)
- UDP, TCP, TLS transports (DTLS almost complete)
- Easy to plug-in new transport protocols
- A full implementation of the 3261 transaction state machine
- A lazy parser - only parse headers when the application requests them
- The parser is compliant with the current RFCs
- A strongly typed interface
- 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)
- Full asynchronous DNS support in Windows
- Full NAPTR and SRV support (support RFCs: 3261, 3263, 2915, 2782)
- 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)
- ENUM Support
- STUN Server Support
- 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
- 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
- Windows XP and 2003 Server
- (most things with modern C++ compilers)
- Dialog Usage Manager (DUM) Layer for UA's
Supported IETF RFCs
- RFC 2327: SDP: Session Description Protocol
- RFC 2617: HTTP Authentication: Basic and Digest Access Authentication
- RFC 2782: A DNS RR for specifying the location of services (DNS SRV)
- RFC 2915: The Naming Authority Pointer (NAPTR) DNS Resource Record
- RFC 2976: The SIP INFO Method
- RFC 3261: SIP: Session Initiation Protocol
- RFC 3263: Session Initiation Protocol (SIP): Locating SIP Servers
- RFC 3265: Session Initiation Protocol (SIP)-Specific Event Notification
- RFC 3325: Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks
- RFC 3326: The Reason Header Field for the Session Initiation Protocol (SIP)
- RFC 3420: Internet Media Type message/sipfrag
- RFC 3428: Session Initiation Protocol (SIP) Extension for Instant Messaging
- RFC 3515: The Session Initiation Protocol (SIP) Refer Method
- RFC 3581: An Extension to the Session Initiation Protocol (SIP) for Symmetric Response Routing
- RFC 3761: The E.164 to Uniform Resource Identifiers (URI) Dynamic Delegation Discovery System (DDDS) Application (ENUM)
- RFC 3824: Using E.164 numbers with the Session Initiation Protocol (SIP)
- RFC 4028: Session Timers
- RFC 4320: Actions Addressing Identified Issues with the Session Initiation Protocol's (SIP) Non-INVITE Transaction
Supported IETF Drafts (Partial List)
- draft-impp-srv
- draft-simple-presence
- draft-sip-replaces
- draft-sip-referredby
- draft-sip-connect-reuse
- draft-sip-join
- draft-sip-gruu
- draft-sip-publish
- draft-sipping-mwi
- draft-identity