Difference between revisions of "Main Page"

From reSIProcate
Jump to navigation Jump to search
(→‎Tutorial: I think this was the link that was meant in the first place. Pesky case sensitivity.)
(Put up at least a simple note about the server move after the UNH power outages)
 
(197 intermediate revisions by 9 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-03-04 - Server had an emergency move due to power issues that caused hardware failure
  
* A basic introduction to resiprocate: [[Image:ReSIProcate-Intro_(TMC_VoIP).ppt|PDF presentation]]
+
2018-09-19 - OpenSSL 1.1.1 is supported.  Visual Studio 2017 project files updated for new library naming convention.
  
* [[Current Features]]
+
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
  
== [[FAQ]] ==
+
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.
  
== Tutorial ==
+
2015-10-02 - '''reSIProcate 1.10.0 released''' - see the [http://list.resiprocate.org/archive/resiprocate-announce/msg00008.html announcement] for details.
  
* [[Quick Subversion Checkout and Compilation HOWTO]]
+
2015-05-21 - '''repro Presence Server available soon!''' - see the [[repro Presence Server Announcement page]] for details.
  
* [[Creating a simple agent]]
+
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.
  
* [[Creating a simple proxy]]
+
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.
  
* [[Configuration and Building a stack]]
+
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.
  
* [[The reSIProcate build system]]
+
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.
  
== Design and Implementation ==
+
2013-11-12 - '''UAS Prack support is finally arriving!''' - see the [[UAS Prack Announcement page]] for details.
  
=== Motivation ===
+
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]
  
* [[Why a new stack?]]
+
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]
  
=== Architecture ===
+
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
  
* [[Architecture Overview]]
+
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
* [[Event/Threading Model]]
 
* [[Use of FIFOs]]
 
  
=== TransactionState ===
+
2012-09-19 - repro SIP proxy overview presented at [http://wiki.freeswitch.org/wiki/FS_weekly_2012_09_19 FreeSWITCH community weekly conference call].
  
=== Conventions ===
+
2012-09-17 - New '''document''' posted:  [[media:Repro_1.8_Overview.pdf|repro 1.8 Overview]]
  
* [[Code Conventions]]
+
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]
* [[Comment Conventions]]
 
  
=== DNS resolution ===
+
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
  
* [[Why Asynchronous DNS]]
+
[[older news|more...]]
  
* [[Interaction with the Transaction]]
+
|| <rss max=4 highlight="Revision" max="5" item-max-length="200" >https://planet.sip5060.net/resiprocate/github/rss20.xml</rss>
 +
|}
  
 +
==Overviews of the Projects==
 +
[[Resip Overview|The reSIProcate SIP stack]]
  
=== TransportSelector ===
+
[[About Repro|The repro proxy/registrar]]
  
* [[What is it for?]]
+
[[DUM Overview|The Dialog Usage Manager (DUM)]] (a User Agent API above the stack)
  
 +
[[TFM Overview|The TFM Test Framework]]
  
=== Transports ===
+
[[reTurn Overview|The reTurn STUN/TURN Client and Server]]
  
* Transport Overview
+
[[recon Overview|The recon Conversation Manager]] (a User Agent API with media support above DUM)
* UDP
 
* TCP
 
* [[TLS]]
 
* DTLS
 
* Adding new transports
 
  
Note: Some of this content still needs to be written
+
==Current Release==
  
=== Scanner / Preparser ===
+
'''See the release announcements for the latest source code release'''
  
* [[Scanner Intro]]
+
All users of reSIProcate are encouraged to use the most recent release.
  
=== Security ===
+
* [http://packages.debian.org/resiprocate latest Debian packages] - install with '''apt-get'''
* [[Security Overview]]
+
* [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]
 +
* 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]]
  
=== Parser ===
+
<!--
 
+
== Case Studies ==
 
+
*[http://www.sipfoundry.org/case-studies/teltel.html TelTel the largest SIP service]: Free SIP calls using resiprocate
=== Contents ===
+
*[http://www.sipfoundry.org/case-studies/ctt.html reSIProcate at ComputerTalk]: ComputerTalk's reSIProcate powered contact center product
 
+
-->
 
 
=== Data ===
 
 
 
* [[Data Overview]]
 
 
 
* [[Data Memory Management]]
 
 
 
 
 
=== Timers ===
 
 
 
 
 
=== FIFOs ===
 
 
 
 
 
=== S/MIME ===
 
 
 
== Using reSIProcate ==
 
 
 
* [[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)]]
 
 
 
== Extending the stack ==
 
 
 
* [[Adding a new header]]
 
 
 
* [[Adding a new parameter]]
 
 
 
* [[Adding a new contents]]
 
 
 
* [[Adding a new method]]
 
 
 
== Advanced Topics==
 
 
 
* [[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]]
+
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.
 
 
* [[Sample Application with RTP (Media)]]
 
 
 
== Dialog Usage Manager ==
 
 
 
* [[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)
 
 
 
== Repro SIP Proxy Server ==
 
 
 
* [[About Repro]]
 
 
 
* [[Using Repro]]
 
 
 
* [[Extending Repro]]
 
 
 
* [[Repro Internal Design]]
 
 
 
* [[Test Plan]]
 
 
 
== Test Framework ==
 
[[Image:TFM_v2.0.ppt||Test Framework Introduction]]
 
 
 
[[Resip TFM]]
 
 
 
 
 
== Planning Pages ==
 
 
 
[[Repro Proxy Server]]
 
 
 
[[Next reSIProcate Release]]
 
 
 
[[Features in Progress]]
 
 
 
[[Roadmap]]
 
 
 
[[Release Statistics and Contributors]]
 
 
 
[[Object Sizes]] - A snapshot
 
 
 
[[Topics Deferred from Documentation Session]]
 
 
 
=== Design Ideas for Future Projects ===
 
 
 
[[Conversation Manager]]
 
 
 
[[Media Framework]]
 
 
 
[[Configuration]]
 
 
 
 
 
=== Task Lists ===
 
 
 
[[Strawman Task List]]
 
 
 
 
 
== Case Studies ==
 

Latest revision as of 16:59, 4 March 2020

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-03-04 - Server had an emergency move due to power issues that caused hardware failure

2018-09-19 - 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 - see the announcement for details.

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 pull request #154 from tvelencei/handling-491-as-general-failure \
<pre style="white-space: pre-wrap; width: 81ex;">Merge pull request #154 from tvelencei/handling-491-as-general-failureAdded Profile feature Handling491AsGeneralFailure-allows appli...\
Commits: Handling491AsGeneralFailure renamed to HandleInviteSession491AsGenera… \
<pre style="white-space: pre-wrap; width: 81ex;">Handling491AsGeneralFailure renamed to HandleInviteSession491AsGeneralFailureEnabled</pre>\
Commits: Added Profile feature Handling491AsGeneralFailure \
<pre style="white-space: pre-wrap; width: 81ex;">Added Profile feature Handling491AsGeneralFailure</pre>\
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: -A REFER message implies a "refer" event package - we should not be t… \
<pre style="white-space: pre-wrap; width: 81ex;">-A REFER message implies a "refer" event package - we should not be trying to read the Event header of a REFER request, an...\

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.