Difference between revisions of "Main Page"

From reSIProcate
Jump to navigation Jump to search
 
(200 intermediate revisions by 8 users not shown)
Line 1: Line 1:
'''Note: The resiprocate wiki was recently spammed. I am forced to lock down write access. You do not need an account to read the content. Also note that many of the pages are not completed yet. Much of this wiki is still just an outline. If you'd like write access, please email me at jason.fischl@gmail.com and I will create an account for you.'''
+
<div
 +
style="text-align: center; margins: 1em; font-size: 3em; color: #444; border-bottom: 0.15em solid #ccc; background: #eee;"
 +
>
 +
Welcome to reSIProcate.org
  
Welcome to the reSIProcate knowledge base. This is the place to learn what reSIProcate is and how to use it.
+
WARNING:  As of January 7, 2022 we have officially migrated the reSIProcate wiki over to GitHub Wiki.  We will keep this Media Wiki up for a bit in-case there is any missing information found. Please note that there were, and still are, a number of pages that don't link to to any filled out content yet. This is not a problem with the porting process.
  
For general information on the reSIProcate open source project, please see http://www.resiprocate.org and http://sipfoundry.org.
+
Please following this link for the most recent wiki contents:
 +
https://github.com/resiprocate/resiprocate/wiki
 +
</div>
 +
<hr/>
 +
<!-- less grody, but could use just a div class and then a real css support wherever css lives in mediawiki -->
  
For help on using a wiki, please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
+
{{TOCright}}
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide].
 
  
Some interesting [[Release Statistics and Contributors]]
 
  
__TOC__
 
  
 +
This is the home of the reSIProcate projects.
  
== reSIProcate Introduction ==
+
The reSIProcate components, particularly the SIP stack, are in use in both commercial and open-source products.
* A basic introduction to resiprocate: [[Image:ReSIProcate-Intro_(TMC_VoIP).ppt|PDF presentation]]
+
The project is dedicated to maintaining a complete, correct, and commercially usable implementation of SIP and a
* [[Current Features]]
+
few related protocols.
  
 +
==Why choose reSIProcate==
 +
* Extensive range of transports: UDP, TCP, TLS, DTLS and now [[WebRTC_and_SIP_Over_WebSockets|WebSockets (WS/WSS) for WebRTC]]
 +
* Flexibility: use reSIProcate as low-level SIP parsing API, mid-level API for dialog management or high-level API for conversation management/rapidly developing softphones, PBXes and B2BUAs - and [[Plugins|Plugin support using C++ and Python too]]
 +
* Depth: extensive coverage of many SIP-related RFCs, including features like OUTBOUND, Identity and more
 +
* Multiple platforms, including Linux, Windows, FreeBSD, Mac OS, Android, iPhone
 +
* Multiple CPUs supported, including mainstream x86 chipsets, Itanium, PowerPC, MIPS, ARM, S/390 and more (see [https://buildd.debian.org/status/package.php?p=resiprocate here])
 +
* Generous BSD-like license terms
 +
* Thousands of test cases validated on every release on multiple platforms
 +
* First-class C++: understandable and extendable to meet your needs using OO-design
 +
* Convenient packages available on Debian, Fedora, Ubuntu and other platforms
  
=== [[FAQ]] ===
+
==News==
  
 +
{|
 +
! width="60%" style="border:1px solid blue;"|Announcements !! width="40%" style="border:1px solid green;"|Checkins
 +
|- style="vertical-align:top;"
 +
| style="padding-left:60px;text-indent:-60px;"|Add your company's logo to the [[We Use ReSIProcate]] page.
  
== Getting Started ==
+
2020-11-10 - '''reSIProcate 1.13 coming soon'''.  To preview, please checkout GitHub master branch. This includes VS2019 support and modernizing some uses of C++ and will require changes to your applications, see this [http://www.sipspectrum.com/blog/updating-applications-to-resip-113 blog post] for guidance.
* [[Quick Subversion Checkout and Compilation HOWTO]]
 
* [[Code Conventions]]
 
* [[Comment Conventions]]
 
* [[Creating a simple agent]]
 
* [[Creating a simple proxy]]
 
* [[Configuration and Building a stack]]
 
* [[The reSIProcate build system]]
 
  
 +
2020-05-09 - '''reSIProcate 1.12 released'''
  
== Design and Implementation ==
+
2020-03-04 - Server had an emergency move due to power issues that caused hardware failure
  
=== Motivation ===
+
2018-09-20 - '''reSIProcate 1.11 released'''. OpenSSL 1.1.1 is supported.  Visual Studio 2017 project files updated for new library naming convention.
* [[Why a new stack?]]
 
  
=== Architecture ===
+
2018-09-18 - ASIO drop used by reTurn, reflow and recon has been updated from 1.10.6 to version 1.12.1 in GitHub repo
* [[Architecture Overview]]
 
* [[Event/Threading Model]]
 
* [[Use of FIFOs]]
 
  
=== TransactionState ===
+
2016-03-19 - The major server upgrade is complete.  Please send mail to webmaster or one of the resip* mailing-lists if you notice anything amiss.
  
=== DNS resolution ===
+
2015-10-02 - '''reSIProcate 1.10.0 released'''
* [[Why Asynchronous DNS]]
 
* [[Interaction with the Transaction]]
 
  
=== TransportSelector ===
+
2015-05-21 - '''repro Presence Server available soon!''' - see the [[repro Presence Server Announcement page]] for details.
* [[What is it for?]]
 
  
=== Transports ===
+
2014-09-16 - '''reSIProcate''' source code repository [http://list.resiprocate.org/archive/resiprocate-devel/msg08727.html has migrated from SVN to Git], currently hosted on Github.
* Transport Overview
 
* UDP
 
* TCP
 
* [[TLS]]
 
* DTLS
 
* Adding new transports
 
Note: Some of this content still needs to be written
 
  
=== Scanner / Preparser ===
+
2014-02-11 - '''reSIProcate v1.9.0 has been released''' (including WebRTC support and other cool features).  See [[ReSIProcate_1.9_Release|the v1.9.0 release page]] for details of new features, including session accounting, Android builds, WebSocket/WebRTC, DSO, Python, UAS PRACK and more.
* [[Scanner Intro]]
 
  
=== Security ===
+
2014-01-18 - The [http://www.debian.org Debian Project] has [http://danielpocock.com/debian-sip-federation chosen reSIProcate (repro SIP proxy and reTurn server)] to power the [http://www.opentelecoms.org/federated-voip federated SIP] services for their community which includes over 1,000 leading free software developers.
* [[Security Overview]]
 
  
=== Parser ===
+
2013-12-19 - Merry Christmas - '''[[Python]]''' scripting support has been added to the [[About_Repro|repro SIP proxy]] in reSIProcate.  You can now implement routing logic in Python scripts without having to recompile the proxy.
  
=== Contents ===
+
2013-11-12 - '''UAS Prack support is finally arriving!''' - see the [[UAS Prack Announcement page]] for details.
  
=== Data ===
+
2013-06-15 - Scott Godin has written a blog about [http://www.sipspectrum.com/1/post/2013/07/configuring-repro-for-webrtc.html Configuring repro for WebRTC]
* [[Data Overview]]
 
* [[Data Memory Management]]
 
  
=== Timers ===
+
2013-04-05 - Daniel Pocock has written a blog about [http://danielpocock.com/quickstart-integrating-sip-with-resiprocate getting started with reSIProcate development on Linux]
  
=== FIFOs ===
+
2013-02-15 - Explanation of [[WebRTC_and_SIP_Over_WebSockets|WebRTC and SIP over WebSockets]] and how the reSIProcate project solves various pieces of the puzzle
  
=== S/MIME ===
+
2013-01-09 - [https://fosdem.org/2013/schedule/event/free_open_secure_communications/ Free, Open, Secure and Convenient Communications] presentation for '''FOSDEM 2013''' in Brussels, 2-3 February, co-presented by reSIProcate contributor Daniel Pocock, an [https://fosdem.org/2013/interviews/2013-daniel-pocock-and-peter-saint-andre-and-simon-tennant-and-evan-prodromou-and-daniel-constantin-mierla-and-emil-ivov/ interview] is also available
  
 +
2012-09-19 - repro SIP proxy overview presented at [http://wiki.freeswitch.org/wiki/FS_weekly_2012_09_19 FreeSWITCH community weekly conference call].
  
== Using reSIProcate ==
+
2012-09-17 - New '''document''' posted:  [[media:Repro_1.8_Overview.pdf|repro 1.8 Overview]]
* [[Use Overview]]
 
* [[Creating and Using a SipStack]]
 
* [[Creating and using a SipMessage]]
 
* [[Stack Exceptions]]
 
* [[Application vs Stack Responsibilities]]
 
* [[Using Data|The Data Class]]
 
* [[Bodies]]
 
* [http://www.estacado.net/resip/sip/resiprocate/doxygen/html/ Doxygen Documentation] (Generated from head periodically)
 
* Sample Applications
 
** [[Sample Application with RTP (Media)]]
 
  
 +
2012-08-10 - '''OpenTelecoms.org''' has published a [http://www.opentelecoms.org/federated-voip-quick-start-howto Federated VoIP Quick Start Guide] based on [[About Repro|repro]], [[reTurn Overview|reTurn Server]] and [http://www.ejabberd.im ejabberd]
  
== Extending the stack ==
+
2012-07-20 - '''Video and slides''' from the [http://debconf12.debconf.org DebConf12] presentation about [http://penta.debconf.org/dc12_schedule/events/933.en.html Free (as in Freedom) VoIP, Communications and Messaging] - reTurn and repro demonstrated at 29 minutes into the video
* [[Adding a new header]]
 
* [[Adding a new parameter]]
 
* [[Adding a new contents]]
 
* [[Adding a new method]]
 
  
 +
[[older news|more...]]
  
== Advanced Topics==
+
|| <rss max=4 highlight="Revision" max="5" item-max-length="200" >https://planet.sip5060.net/resiprocate/github/rss20.xml</rss>
* [[Running the stack in a multithreaded mode]]
+
|}
** [[Inter-thread communication and data sharing]]
 
* [[Receiving transaction termination notifications]]
 
* [[Enabling Strict Routing]]
 
* [[s/mime]]
 
* [[DNS]]
 
* [[Using TLS]]
 
* [[STUN support]]
 
* [[Sample Application with RTP (Media)]]
 
* [[SigComp Support]]
 
  
== Dialog Usage Manager ==
+
==Overviews of the Projects==
* [[How to use dum|How to use DUM]]
+
[[Resip Overview|The reSIProcate SIP stack]]
* [[DUM Internals|DUM Internals]]
 
* [http://www.estacado.net/resip/sip/resiprocate/dum/html/ Doxygen Documentation] (Generated from head periodically)
 
  
 +
[[About Repro|The repro proxy/registrar]]
  
== Resiprocate Planning Pages ==
+
[[DUM Overview|The Dialog Usage Manager (DUM)]] (a User Agent API above the stack)
*[[Next reSIProcate Release]]
 
*[[Features in Progress]]
 
*[[Resiprocate Roadmap]]
 
*[[Release Statistics and Contributors]]
 
*[[Object Sizes]] - A snapshot
 
*[[Topics Deferred from Documentation Session]]
 
*[[DUMv2]] - Dumer
 
  
== Repro SIP Proxy Server ==
+
[[TFM Overview|The TFM Test Framework]]
* [[About Repro]]
 
* [[Using Repro]]
 
* [[Extending Repro]]
 
* [[Repro Internal Design]]
 
* [[Test Plan]]
 
* [[Repro Releases]] (Currently at Repro Capuchin)
 
  
 +
[[reTurn Overview|The reTurn STUN/TURN Client and Server]]
  
== Test Framework ==
+
[[recon Overview|The recon Conversation Manager]] (a User Agent API with media support above DUM)
*[[Image:TFM_v2.0.ppt||Test Framework Introduction]]
 
*[[Resip TFM]]
 
  
 +
==Current Release==
  
== Design Ideas for Future Projects ==
+
'''See the release announcements for the latest source code release'''
*[[Conversation Manager]]
 
*[[Media Framework]]
 
*[[Configuration]]
 
  
=== Task Lists ===
+
All users of reSIProcate are encouraged to use the most recent release.
*[[Strawman Task List]]
 
  
 +
* [http://packages.debian.org/resiprocate latest Debian packages] - install with '''apt-get'''
 +
* [https://apps.fedoraproject.org/packages/resiprocate latest Fedora packages] - install with '''yum'''
 +
* [https://launchpad.net/ubuntu/+source/resiprocate latest Ubuntu packages]
  
 +
==Getting Started==
 +
* Download the [http://www.resiprocate.org/files/pub/reSIProcate/releases/ latest official source code releases]
 +
* How to [[Get Started]]
 +
* Special information for [[Potential Student Projects in VoIP and Multimedia]] with reSIProcate
 +
* Join the [http://list.resiprocate.org Mailing Lists]
 +
* [[Searching the Mailing Lists]]
 +
* [[Chat]] with developers and users
 +
* Browse the [https://github.com/resiprocate/resiprocate code]
 +
* Browse the [http://svn.resiprocate.org/dox/ code's internal documentation] (temporarily offline - need to work into CI process)
 +
* Start your own working copy: [[DeveloperQuickstart]]
 +
* Configure the code: [[Configuration Options]]
 +
* [[Working with the code]]
 +
* [[Accounts]] and commit privileges for the reSIProcate project
 +
* [https://www.resiprocate.org/bugzilla/buglist.cgi?action=wrap&bug_file_loc=&bug_file_loc_type=allwordssubstr&bug_id=&bug_id_type=anyexact&chfieldfrom=&chfieldto=Now&chfieldvalue=&email1=&email2=&emailassigned_to1=1&emailassigned_to2=1&emailcc2=1&emailreporter2=1&emailtype1=substring&emailtype2=substring&field0-0-0=noop&keywords=&keywords_type=allwords&longdesc=&longdesc_type=allwordssubstr&short_desc=&short_desc_type=allwordssubstr&type0-0-0=noop&value0-0-0=&votes=&=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=VERIFIED List of open bugs]
 +
* [[License]]
 +
 +
<!--
 
== Case Studies ==
 
== Case Studies ==
 
*[http://www.sipfoundry.org/case-studies/teltel.html TelTel the largest SIP service]: Free SIP calls using resiprocate
 
*[http://www.sipfoundry.org/case-studies/teltel.html TelTel the largest SIP service]: Free SIP calls using resiprocate
*[http://www.sipfoundry.org/case-studies/ctt.html reSIProcate at ComputerTalk]: ComputerTalk's reSIProcate powered call center product
+
*[http://www.sipfoundry.org/case-studies/ctt.html reSIProcate at ComputerTalk]: ComputerTalk's reSIProcate powered contact center product
 +
-->
 +
 
 +
The reSIProcate projects moved to resiprocate.org in November 2006. If you still have working copies that need to be migrated, see the [[TransitionNov2006| transition]] page for instructions.

Latest revision as of 15:29, 7 January 2022

Welcome to reSIProcate.org

WARNING:  As of January 7, 2022 we have officially migrated the reSIProcate wiki over to GitHub Wiki.  We will keep this Media Wiki up for a bit in-case there is any missing information found. Please note that there were, and still are, a number of pages that don't link to to any filled out content yet. This is not a problem with the porting process.
Please following this link for the most recent wiki contents:
https://github.com/resiprocate/resiprocate/wiki


This is the home of the reSIProcate projects.

The reSIProcate components, particularly the SIP stack, are in use in both commercial and open-source products. The project is dedicated to maintaining a complete, correct, and commercially usable implementation of SIP and a few related protocols.

Why choose reSIProcate[edit]

  • Extensive range of transports: UDP, TCP, TLS, DTLS and now WebSockets (WS/WSS) for WebRTC
  • Flexibility: use reSIProcate as low-level SIP parsing API, mid-level API for dialog management or high-level API for conversation management/rapidly developing softphones, PBXes and B2BUAs - and Plugin support using C++ and Python too
  • Depth: extensive coverage of many SIP-related RFCs, including features like OUTBOUND, Identity and more
  • Multiple platforms, including Linux, Windows, FreeBSD, Mac OS, Android, iPhone
  • Multiple CPUs supported, including mainstream x86 chipsets, Itanium, PowerPC, MIPS, ARM, S/390 and more (see here)
  • Generous BSD-like license terms
  • Thousands of test cases validated on every release on multiple platforms
  • First-class C++: understandable and extendable to meet your needs using OO-design
  • Convenient packages available on Debian, Fedora, Ubuntu and other platforms

News[edit]

Announcements Checkins
Add your company's logo to the We Use ReSIProcate page.

2020-11-10 - reSIProcate 1.13 coming soon. To preview, please checkout GitHub master branch. This includes VS2019 support and modernizing some uses of C++ and will require changes to your applications, see this blog post for guidance.

2020-05-09 - reSIProcate 1.12 released

2020-03-04 - Server had an emergency move due to power issues that caused hardware failure

2018-09-20 - reSIProcate 1.11 released. OpenSSL 1.1.1 is supported. Visual Studio 2017 project files updated for new library naming convention.

2018-09-18 - ASIO drop used by reTurn, reflow and recon has been updated from 1.10.6 to version 1.12.1 in GitHub repo

2016-03-19 - The major server upgrade is complete. Please send mail to webmaster or one of the resip* mailing-lists if you notice anything amiss.

2015-10-02 - reSIProcate 1.10.0 released

2015-05-21 - repro Presence Server available soon! - see the repro Presence Server Announcement page for details.

2014-09-16 - reSIProcate source code repository has migrated from SVN to Git, currently hosted on Github.

2014-02-11 - reSIProcate v1.9.0 has been released (including WebRTC support and other cool features). See the v1.9.0 release page for details of new features, including session accounting, Android builds, WebSocket/WebRTC, DSO, Python, UAS PRACK and more.

2014-01-18 - The Debian Project has chosen reSIProcate (repro SIP proxy and reTurn server) to power the federated SIP services for their community which includes over 1,000 leading free software developers.

2013-12-19 - Merry Christmas - Python scripting support has been added to the repro SIP proxy in reSIProcate. You can now implement routing logic in Python scripts without having to recompile the proxy.

2013-11-12 - UAS Prack support is finally arriving! - see the UAS Prack Announcement page for details.

2013-06-15 - Scott Godin has written a blog about Configuring repro for WebRTC

2013-04-05 - Daniel Pocock has written a blog about getting started with reSIProcate development on Linux

2013-02-15 - Explanation of WebRTC and SIP over WebSockets and how the reSIProcate project solves various pieces of the puzzle

2013-01-09 - Free, Open, Secure and Convenient Communications presentation for FOSDEM 2013 in Brussels, 2-3 February, co-presented by reSIProcate contributor Daniel Pocock, an interview is also available

2012-09-19 - repro SIP proxy overview presented at FreeSWITCH community weekly conference call.

2012-09-17 - New document posted: repro 1.8 Overview

2012-08-10 - OpenTelecoms.org has published a Federated VoIP Quick Start Guide based on repro, reTurn Server and ejabberd

2012-07-20 - Video and slides from the DebConf12 presentation about Free (as in Freedom) VoIP, Communications and Messaging - reTurn and repro demonstrated at 29 minutes into the video

more...

Commits: -remove accidentality included header from last commit \
<pre style="white-space: pre-wrap; width: 81ex;">-remove accidentality included header &lt;limits&gt; from last commit</pre>\
Commits: -fix windows build error surrounding std::min use \
<pre style="white-space: pre-wrap; width: 81ex;">-fix windows build error surrounding std::min use</pre>\
Commits: Merge pull request #267 from resiprocate/evp-sha1buffer \
<pre style="white-space: pre-wrap; width: 81ex;">Merge pull request #267 from resiprocate/evp-sha1bufferrutil/ssl: Use OpenSSL EVP interface for SHA1 calculation</pre>\
Commits: rutil/ssl: move OpenSSLDeleter into own file \
<pre style="white-space: pre-wrap; width: 81ex;">rutil/ssl: move OpenSSLDeleter into own file</pre>\
Commits: Test with mutiple SHA1 updates \
<pre style="white-space: pre-wrap; width: 81ex;">Test with mutiple SHA1 updates</pre>\

Overviews of the Projects[edit]

The reSIProcate SIP stack

The repro proxy/registrar

The Dialog Usage Manager (DUM) (a User Agent API above the stack)

The TFM Test Framework

The reTurn STUN/TURN Client and Server

The recon Conversation Manager (a User Agent API with media support above DUM)

Current Release[edit]

See the release announcements for the latest source code release

All users of reSIProcate are encouraged to use the most recent release.

Getting Started[edit]


The reSIProcate projects moved to resiprocate.org in November 2006. If you still have working copies that need to be migrated, see the transition page for instructions.