C # SIP Stack / Library

I am looking for a good SIP library written in C # or providing a C # shell. You do not have to be free. Has anyone used anything good?

To clarify, I'm talking about the SIP VoIP protocol.

I am really looking for more than a Google search on this. I would like someone to come back and say, "We use ______ and it works great."

To clarify, I'm looking for a library that will help me implement a SIP proxy server without having to manually create SIP packets. I am not looking for an asterisk, freeswitch or any other pbx software.

I'm looking to create a C # service that will wait for and respond to SIP packets, and I need a library that will handle most of the details.

+62
c # voip sip
Jan 31 '09 at 2:10
source share
19 answers

I did a similar quest 7 years ago, but was looking for a built-in version of C. I looked at the oSIP library. He did all the work of converting SIP packets to and from structures.

However, one point in the documentation stuck with me. The author recommended that you familiarize yourself with the SIP specification ( RFC 3261 ) in order to use the library effectively. After reading the specifications several times, I ended up writing my own parser and call management application.

Keep in mind that SIP is still an evolving standard. There is an active SIPForum group that is currently developing SIPConnect 1.1 to standardize the interface between a SIP service provider (such as Vonage) and SIP-PBX. There is also an activity called BLISS to define “best practices” for implementing SIP functions between user agents.

Compatibility is tough. There are hundreds of RFCs associated with SIP. Different endpoints use different ones, and interpretations of specifications are not always compatible. There are several different interaction events (e.g. SIPit ) to make sure your implementation works with others.

No matter what you choose, make sure that you understand the specifications for the functions that you implement well. In addition, specifications and libraries will help the side of the package, but you still need a “call control” library (a higher “brain” level to decide how to handle the SIP request / response). You also need a media layer to handle sound, if your application is not just a SIP proxy.

Having said all this, several Internet Telephony Providers (ITSPs) have used the SIP Express Router as a proxy server for their services. It is very customizable and has a high degree of success for compatibility.

+22
Feb 09 '09 at 14:52
source share
+8
Feb 02 '09 at 15:09
source share

IMHO, one of the best stacks to date is PJSIP . It is written in very portable C and has several wrappers. Here is a .NET wrapper that works very well.

+8
Mar 07 '09 at 15:40
source share

We use SIP.Net , it works fine for us.
We use it to wait for SIP packets and keep the SIP flow simple.
Please note that sometimes its object model is too detailed, so the product itself is very flexible (if you need such flexibility). However, we wrote a higher-level wrapper (a kind of facade) to make it easier for us. They are very responsive, but the documentation is not detailed enough IMO.
You can also check nsip (just a link, I have not tried it myself)

+5
Mar 24 '09 at 10:50
source share

My sipsorcery is another option. It contains a SIP stack completely written in C #.

+5
Feb 20 '11 at 3:27
source share

It seems like a good starting point is the CodeProject article . However, I do not think that it processes the media stream.

+4
Jan 31 '09 at 2:31
source share

I needed this a while ago, and in the end I wrote my own B2BUA (SIP proxy server that also processes sound and acts as an endpoint for both sides of the conversation).

The problem with the SIP (and RTP) specification is that it is very complex, especially you are considering all the additional additions that have been made to it over the years. Everyone implements it a little differently, so if you come with software with shrinkage, you may run into problems with certain phones or servers.

In my case, I tried to get Microsoft Speech Server to communicate with SIP terminators. Microsoft has a particularly creative interpretation of the SIP specification (the most notable example is that they do not support UDP). In addition, some VOIP gateways do not support REFER for controlled transfers, which is necessary for many applications.

Other answers provided some decent links: my advice is to minimize your own or use something that is open source, so you can configure it as needed when you come across the inevitable incompatibles of the SIP implementation.

+4
Feb 05 '09 at 19:14
source share

http://www.konnetic.com is a relatively new addition. Fully managed. Everything you need to work with SIP and SDP. They did not choose the base fruit in the standard, like so many others. As good as Microsoft, it is a Microsoft Lync server.

+3
Oct 14 '10 at 4:02
source share

Not sure what you are looking for here. Are you looking for a VOIP client application or server side? If the latter, you can check out FreeSwitch. One possibility is the ability to write extension code in Mono, which allows you to use C #. Find mod_mono support.

Freeswitch

+2
Feb 05 '09 at 19:36
source share

Try Voice Elements .

This is the .NET Telephony Tool, and they have their own SIP stack. Use C # or any other .NET language of your choice.

+2
Mar 02 '10 at
source share

Konnetic provides fully managed SIP components for .NET development.

Their .NET SIP SDK is probably the most comprehensive.

Otherwise, the Microsoft Lync server comes with a very good managed SIP library, available here: www.microsoft.com/en-us/lync/default.aspx

+2
Sep 20 '10 at 23:38
source share

Perhaps you want to try lumisoft. Fully built in C #. Completely open source and free. lumisoft

+2
Jul 12 '12 at 11:17
source share

I saw (not used directly, just looked through) a fairly large and stable VOIP system using the Radware SIP stack. Very good (i.e. no problems) and I did not find any security problems with it either ...

The system I reviewed was in C #.

+1
Feb 05 '09 at 8:09
source share

In the past, I used MS Live Communications Server (I thought it was in 2003). The SDK related was pretty bad.

A new version of Office Communications Server has now appeared. I did not develop with the SDK, but I saw some demos that were pretty cool.

+1
Apr 10 '09 at 2:00
source share

The best I found was a VoIP Video SIP SDK. It also provides high quality video.

+1
Sep 04 '13 at 8:30
source share

LumiSoft.Net is a very good SIP stack for C #. It has all the basic libraries such as SIP , RTP , SDP , DNS and many other libraries to create a reliable sip proxy server or SIP client very easily.

+1
May 05 '15 at 3:22
source share

I'm curious ... http://developers.inova.si/sipobjects/Default.aspx?tabid=92 is not open source, but it is definitely .NET oriented. It is focused on Avaya, so it may not meet your goals.

Also look at this: http://www.codeplex.com/mysipswitch

0
Jan 31 '09 at 3:30
source share

LanScape: http://www.lanscapecorp.com/

All LanScape VOIP products, including the LanScape VOIP Media Engine ™, have been engineered from the ground up to support all versions of Microsoft Windows® 2000 and XP before and including the latest version of Windows Vista.

I also personally know that this is C # - friendly.

0
Feb 05 '09 at 20:47
source share

Read about Avaya DMCC. You can register with AvayaDev and download it for free. This C # infrastructure allows you to use all the pbx functions with AES and CM. You can also check if SIP is supported.

-one
Jul 12 '09 at 1:56
source share



All Articles