Difference between revisions of "Main Page"

From reSIProcate
Jump to navigation Jump to search
 
(199 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
 +
</div>
 +
<hr/>
 +
<!-- less grody, but could use just a div class and then a real css support wherever css lives in mediawiki -->
  
Welcome to the reSIProcate knowledge base. This is the place to learn what reSIProcate is and how to use it.
+
{{TOCright}}
  
For general information on the reSIProcate open source project, please see http://www.resiprocate.org and http://sipfoundry.org.  
+
This is the home of the reSIProcate projects.
  
For help on using a wiki, please see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]
+
The reSIProcate components, particularly the SIP stack, are in use in both commercial and open-source products.
and the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide].
+
The project is dedicated to maintaining a complete, correct, and commercially usable implementation of SIP and a
 +
few related protocols.
  
Some interesting [[Release Statistics and Contributors]]
+
==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
  
__TOC__
+
==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.
  
== reSIProcate Introduction ==
+
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.
* A basic introduction to resiprocate: [[Image:ReSIProcate-Intro_(TMC_VoIP).ppt|PDF presentation]]
 
* [[Current Features]]
 
  
 +
2020-05-09 - '''reSIProcate 1.12 released'''
  
=== [[FAQ]] ===
+
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.
  
== Getting Started ==
+
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
* [[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]]
 
  
 +
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.
  
== Design and Implementation ==
+
2015-10-02 - '''reSIProcate 1.10.0 released'''
  
=== Motivation ===
+
2015-05-21 - '''repro Presence Server available soon!''' - see the [[repro Presence Server Announcement page]] for details.
* [[Why a new stack?]]
 
  
=== Architecture ===
+
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.
* [[Architecture Overview]]
 
* [[Event/Threading Model]]
 
* [[Use of FIFOs]]
 
  
=== TransactionState ===
+
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.
  
=== DNS resolution ===
+
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.
* [[Why Asynchronous DNS]]
 
* [[Interaction with the Transaction]]
 
  
=== TransportSelector ===
+
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.
* [[What is it for?]]
 
  
=== Transports ===
+
2013-11-12 - '''UAS Prack support is finally arriving!''' - see the [[UAS Prack Announcement page]] for details.
* Transport Overview
 
* UDP
 
* TCP
 
* [[TLS]]
 
* DTLS
 
* Adding new transports
 
Note: Some of this content still needs to be written
 
  
=== Scanner / Preparser ===
+
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]
* [[Scanner Intro]]
 
  
=== Security ===
+
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]
* [[Security Overview]]
 
  
=== Parser ===
+
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
  
=== Contents ===
+
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
  
=== Data ===
+
2012-09-19 - repro SIP proxy overview presented at [http://wiki.freeswitch.org/wiki/FS_weekly_2012_09_19 FreeSWITCH community weekly conference call].
* [[Data Overview]]
 
* [[Data Memory Management]]
 
  
=== Timers ===
+
2012-09-17 - New '''document''' posted:  [[media:Repro_1.8_Overview.pdf|repro 1.8 Overview]]
  
=== FIFOs ===
+
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]
  
=== S/MIME ===
+
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
  
 +
[[older news|more...]]
  
== Using reSIProcate ==
+
|| <rss max=4 highlight="Revision" max="5" item-max-length="200" >https://planet.sip5060.net/resiprocate/github/rss20.xml</rss>
* [[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)]]
 
  
 +
==Overviews of the Projects==
 +
[[Resip Overview|The reSIProcate SIP stack]]
  
== Extending the stack ==
+
[[About Repro|The repro proxy/registrar]]
* [[Adding a new header]]
 
* [[Adding a new parameter]]
 
* [[Adding a new contents]]
 
* [[Adding a new method]]
 
  
 +
[[DUM Overview|The Dialog Usage Manager (DUM)]] (a User Agent API above the stack)
  
== Advanced Topics==
+
[[TFM Overview|The TFM Test Framework]]
* [[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 ==
+
[[reTurn Overview|The reTurn STUN/TURN Client and Server]]
* [[How to use dum|How to use DUM]]
 
* [[DUM Internals|DUM Internals]]
 
* [http://www.estacado.net/resip/sip/resiprocate/dum/html/ Doxygen Documentation] (Generated from head periodically)
 
  
 +
[[recon Overview|The recon Conversation Manager]] (a User Agent API with media support above DUM)
  
== Resiprocate Planning Pages ==
+
==Current Release==
*[[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 ==
+
'''See the release announcements for the latest source code release'''
* [[About Repro]]
 
* [[Using Repro]]
 
* [[Extending Repro]]
 
* [[Repro Internal Design]]
 
* [[Test Plan]]
 
* [[Repro Releases]] (Currently at Repro Capuchin)
 
  
 +
All users of reSIProcate are encouraged to use the most recent release.
  
== Test Framework ==
+
* [http://packages.debian.org/resiprocate latest Debian packages] - install with '''apt-get'''
*[[Image:TFM_v2.0.ppt||Test Framework Introduction]]
+
* [https://apps.fedoraproject.org/packages/resiprocate latest Fedora packages] - install with '''yum'''
*[[Resip TFM]]
+
* [https://launchpad.net/ubuntu/+source/resiprocate latest Ubuntu packages]
 
 
 
 
== Design Ideas for Future Projects ==
 
*[[Conversation Manager]]
 
*[[Media Framework]]
 
*[[Configuration]]
 
 
 
=== Task Lists ===
 
*[[Strawman Task List]]
 
  
 +
==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 13:43, 26 April 2021

Welcome to reSIProcate.org


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: Merge branch 'master' of https://github.com/resiprocate/resiprocate \
<pre style="white-space: pre-wrap; width: 81ex;">Merge branch 'master' of https://github.com/resiprocate/resiprocate</pre>\
Commits: -update boost to 1.77.0 for VS2019 builds \
<pre style="white-space: pre-wrap; width: 81ex;">-update boost to 1.77.0 for VS2019 builds</pre>\
Commits: apps/reConServer: MyMessageDecorator: check that SDP really contains … \
<pre style="white-space: pre-wrap; width: 81ex;">apps/reConServer: MyMessageDecorator: check that SDP really contains a connection parameter</pre>\
Commits: apps/reConServer: MyConversationManager: add API method onParticipant… \
<pre style="white-space: pre-wrap; width: 81ex;">apps/reConServer: MyConversationManager: add API method onParticipantConnectedConfirmed</pre>\
Commits: -added method to Tuple to allow mFlowKey to be set, outside of decodi… \
<pre style="white-space: pre-wrap; width: 81ex;">-added method to Tuple to allow mFlowKey to be set, outside of decoding a binary token</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.