Difference between revisions of "Main Page"

From reSIProcate
Jump to navigation Jump to search
(moved convention links under "Getting Started" (which was renamed from "Tutorial"))
 
(207 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-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]]
+
2020-05-09 - '''reSIProcate 1.12 released'''
  
* [[Current Features]]
+
2020-03-04 - Server had an emergency move due to power issues that caused hardware failure
  
== [[FAQ]] ==
+
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]]
+
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.
  
* [[Code Conventions]]
+
2015-10-02 - '''reSIProcate 1.10.0 released'''
  
* [[Comment Conventions]]
+
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].
  
 +
2012-09-17 - New '''document''' posted:  [[media:Repro_1.8_Overview.pdf|repro 1.8 Overview]]
  
=== DNS resolution ===
+
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]
  
* [[Why Asynchronous DNS]]
+
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
  
* [[Interaction with the Transaction]]
+
[[older news|more...]]
  
 +
|| <rss max=4 highlight="Revision" max="5" item-max-length="200" >https://planet.sip5060.net/resiprocate/github/rss20.xml</rss>
 +
|}
  
=== TransportSelector ===
+
==Overviews of the Projects==
 +
[[Resip Overview|The reSIProcate SIP stack]]
  
* [[What is it for?]]
+
[[About Repro|The repro proxy/registrar]]
  
 +
[[DUM Overview|The Dialog Usage Manager (DUM)]] (a User Agent API above the stack)
  
=== Transports ===
+
[[TFM Overview|The TFM Test Framework]]
  
* Transport Overview
+
[[reTurn Overview|The reTurn STUN/TURN Client and Server]]
* UDP
 
* TCP
 
* [[TLS]]
 
* DTLS
 
* Adding new transports
 
  
Note: Some of this content still needs to be written
+
[[recon Overview|The recon Conversation Manager]] (a User Agent API with media support above DUM)
  
=== Scanner / Preparser ===
+
==Current Release==
  
* [[Scanner Intro]]
+
'''See the release announcements for the latest source code release'''
  
=== Security ===
+
All users of reSIProcate are encouraged to use the most recent release.
* [[Security Overview]]
 
  
 +
* [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]
  
=== Parser ===
+
==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 ==
 +
*[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 contact center product
 +
-->
  
=== Contents ===
+
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.
 
 
 
 
=== 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]]
 
 
 
* [[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 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: -add support for shared appearance namespace items in DialogInfoConte… \
<pre style="white-space: pre-wrap; width: 81ex;">-add support for shared appearance namespace items in DialogInfoContents - from RFC 7463</pre>\
Commits: -fix crash in freeaddrinfo if getaddrinfo fails - need to initialize … \
<pre style="white-space: pre-wrap; width: 81ex;">-fix crash in freeaddrinfo if getaddrinfo fails - need to initialize info to nullptr</pre>\
Commits: Merge pull request #186 from sergem155/master \
<pre style="white-space: pre-wrap; width: 81ex;">Merge pull request #186 from sergem155/masterThe description of AllowWildcardCertificates in repro.config</pre>\
Commits: Merge pull request #1 from sergem155/sergem155-patch-1 \
<pre style="white-space: pre-wrap; width: 81ex;">Merge pull request #1 from sergem155/sergem155-patch-1Update repro.config</pre>\
Commits: Update repro.config \
<pre style="white-space: pre-wrap; width: 81ex;">Update repro.configdescription of AllowWildcardCertificates in repro.config</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.