The SIPSorcery project is an experiment into the depths of the Session Initiation Protocol (SIP). The project is a combination of the source code available here on GitHub and a hosted service.
C# C C++ Python HTML Ruby Other
Permalink
Failed to load latest commit information.
Design More .svnbridge directories removed. Feb 21, 2016
obsolete Major refactor to make code base more suitable for SIP nuget package.… Feb 25, 2016
sipsorcery-core Added null reference check for RegistrationFailed handler. Issue #22. Feb 20, 2017
sipsorcery-media Corrected release versions of srtp and vpx for sipsorcerymedia build. May 31, 2016
sipsorcery-servers Tightened up the sipsorcery-allinon console app ctrl-c handling. Sep 13, 2016
sipsorcery-silverlight Google contact work for dialplan. May 27, 2016
sipsorcery-simpleservers/Proxy Added diagnostic trace examples to simple proxy. Nov 18, 2016
sipsorcery-softphone More .svnbridge directories removed. Feb 21, 2016
sipsorcery-softphonev2 Updated softphonev2 project to use latest nuget packages. Oct 7, 2016
sipsorcery-xmpp More .svnbridge directories removed. Feb 21, 2016
stable More .svnbridge directories removed. Feb 21, 2016
.gitignore Major refactor to make code base more suitable for SIP nuget package.… Feb 25, 2016
LICENSE.md Added gitignore, License, and Readme Jun 28, 2014
README.md removed the plain img tag Aug 26, 2016
ReleaseNotes.txt Attempting to solve commit issue after switching to new PC. Aug 21, 2010
SIP Sorcery Configuration Guide.docx Simplification of dialplan executioncount mechanism. Incorporation of… Feb 16, 2010
SIP Sorcery Configuration Guide.pdf Attempting to solve commit issue after switching to new PC. Aug 21, 2010
SIP Sorcery Developer Guide.docx Announced availability. Jun 24, 2009
SIP Sorcery Overview.docx DLR assemblies updated. Fixed memory and thread leak bug in App Serve… Jul 12, 2009
contributors.txt Create contributors.txt Jun 16, 2016
sipsorceryv2_install.txt Adjusted paths in nuspec file. Feb 16, 2016

README.md

Build status

The SIPSorcery project is an experiment into the depths of the Session Initiation Protocol (http://www.ietf.org/rfc/rfc3261.txt). The project is a combination of the source code available here on GitHub (previously sourceforge & codeplex) and a live service hosted at http://www.sipsorcery.com/. The project has its roots in a previous project called mysipswitch (http://www.codeplex.com/Wikipage?ProjectName=mysipswitch) which was deprecated in the mid noughties.

At its heart the project consists of a C# SIP protocol stack that implements all the required UDP, TCP and TLS transports. In addition to the SIP stack a number of related protocols: STUN (http://tools.ietf.org/html/rfc3489], SDP (http://tools.ietf.org/html/rfc4566), RTP & RTCP (http://tools.ietf.org/html/rfc3550) are implemented to varying degrees.

The SIP Proxy and SIP Application Server make heavy use of the Microsoft Dynamic Language Runtime (http://dlr.codeplex.com/) with the IronRuby (http://ironruby.codeplex.com/) engine being heavily used in dialplan processing and the IronPython (http://ironpython.codeplex.com/) engine being used for the SIP Proxy control script.

There are 3 main areas the SIPSorcery project focuses on:

The core SIP protocol stack and associated plumbing code, contained in the sipsorcery-core source code directory. The SIP server applications are:

  • SIP Proxy with dispatching mechanism for application server fault tolerance,
  • SIP Registrar,
  • SIP Registration Agent, registers contact information with 3rd party SIP providers,
  • SIP Application Server, multi-user SIP call processing using Ruby dialplans,
  • SIP Notification Server, supports the presence and dialog SIP event package notifications,
  • SIP Monitoring Server, receives and collates log messages from the other servers that can then be viewed from a web page or SSH session,
  • WatchTower Server, monitors SIP Application Servers and updates the SIP Proxy dispatch file,
  • SSH Server, uses the [url:NSsh|http://nssh.codeplex.com/] project to provide a multi-user SSH session for server monitoring.
  • An end-user Silverlight client application for managing the sipsorcery.com service, contained in the sipsorcery-silverlight code directory,
  • The SIP protocol stack is able to run within Silverlight allowing SIP TCP communications directly from a browser.
  • A basic C# softphone example application.

Service at: http://www.sipsorcery.com/.
Blog at: http://blog.sipsorcery.com/.
Forum at: http://forum.sipsorcery.com/index.php.
Twitter: http://twitter.com/sipsorcery.
NuGet: https://www.nuget.org/packages/SIPSorcery/.