C#SIP堆栈/库
我正在寻找一个好的SIP库,用C#编写,或者提供一个C#包装。 不一定需要免费。 有没有人用过什么好东西?
为了澄清,我正在谈论VoIP协议SIP。
我真的在寻找更多的谷歌search这一个。 我想有人回来,说:“我们用______,而且效果很好。”
为了进一步澄清,我正在寻找一个库,可以帮助我实现一个SIP代理服务器,而不必手动构buildSIP数据包。 我不寻找星号,freeswitch或任何其他pbx软件。
我期待在C#中创build一个服务,它将等待SIP数据包并对它们作出响应,我希望能够处理大部分细节的库。
我在7年前经历了类似的追求,但是寻找一个embedded的C版本。 我看了一下oSIP库。 它完成了将SIP数据包转换为结构并返回的所有工作。
但是,文档中的一点与我有关。 作者build议您非常熟悉SIP规范( RFC 3261 )以有效地使用该库。 几次阅读规格后,我写了我自己的parsing器和呼叫控制应用程序。
请记住,SIP仍然是一个不断发展的标准。 有一个活动的SIPForum组目前正在开发SIPConnect 1.1以在SIP服务提供商(例如Vonage)和SIP-PBX之间的接口上进行标准化。 还有一项名为BLISS的活动,用于定义在用户代理之间实现SIPfunction的“最佳实践”。
互操作性是艰难的。 有数百个与SIP有关的RFC。 不同的终点使用不同的规范,规范的解释并不总是相容的。 有几个不同的互操作性“testing事件(如SIPit ),以确保您的实施与其他人一起工作。
无论您select什么,请确保您对正在实施的function的规格有很好的理解。 此外,规范和库将帮助数据包方面,但你仍然需要一个“呼叫控制”库(更高层次的“大脑”来决定如何处理SIP请求/响应)。 您还需要媒体层来处理audio,除非您的应用程序纯粹是SIP代理。
话虽如此,一些互联网电话服务提供商(ITSP)已经使用SIP Express Router作为其服务的前端代理。 这是非常可configuration的,并具有很高的兼容性成功率。
这是我遇到的一对夫妇:
恕我直言,迄今为止最好的堆栈之一是PJSIP 。 它是用非常便携的C语言编写的,并且有很多包装器。 这是一个很好的.NET包装 。
我的吸pipe项目是另一种select。 它包含一个完全用C#编写的SIP堆栈。
我们使用SIP.Net ,为我们工作。
我们使用它来等待SIP数据包,并保持SIPstream程非常简单。
请注意,有时它的对象模型太详细了,所以产品本身是非常灵活的(如果你需要这样的灵活性)。 然而,我们写了一个更高层次的包装(一种外观),只是为了让我们更容易。 他们非常敏感,但文件不够详细国际海事组织。
你也可以检查nsip (只是一个链接,我没有尝试过自己)
看起来像一个体面的起点可能是这个CodeProject文章 。 但是,我不相信它处理媒体stream。
我需要一段时间,最后写了我自己的B2BUA(一个SIP代理,也处理audio,并作为对话的双方端点)。
SIP规范(和RTP)的问题在于它非常复杂,特别是您考虑了多年来所做的所有可选添加。 每个人的实现方式都有所不同,所以如果你使用缩小包装的软件,你可能会遇到特定手机或服务器的问题。
就我而言,我试图让Microsoft Speech Server与SIP终结器进行通信。 微软对SIP规范有一个特别有创意的解释(最显着的例子是它们不支持UDP)。 此外,一些VOIP网关不支持监督转让,这是许多应用的必要条件。
其他答案中提供了几个体面的链接:我的build议是推出自己的或者开源的东西,以便在遇到SIP实现中不可避免的不兼容问题时,可以根据需要调整它。
http://www.konnetic.com是一个相对较新的加法。; 完全托pipe。 您需要使用SIP和SDP所需的一切。 他们并没有像其他许多人那样select标准中的低悬水果。 与微软同样好但是微软的Lync服务器。
不知道你在找什么。 你正在寻找一个客户端的VOIP应用程序或服务器端? 如果是后者,你可能想看看FreeSwitch。 他们的一个特点是能够在Mono中编写扩展代码,这允许C#。 寻找mod_mono支持。
FreeSWITCH的
Konnetic为.NET开发提供完全pipe理的SIP组件。
他们的.NET SIP SDK可能是最全面的。
否则,微软的Lync服务器将带有一个非常好的托pipeSIP库,可以在这里find:www.microsoft.com/en-us/lync/default.aspx
也许你想尝试lumisoft。 完全用C#构build。 完全开源,免费。 lumisoft
尝试语音元素 。
这是一个.NET电话工具,他们有他们自己的SIP协议栈。 使用C#或任何您select的.NET语言。
我已经看到(不直接使用,只是复习)一个相当大的,稳定的VOIP系统,使用Radware的SIP协议栈。 非常好(即没有问题),我没有发现任何安全问题,要么…
我回顾的系统是用C#编写的。
在过去,我使用MS的Live Communications Server(以为是在2003年)。 相关的SDK非常糟糕。
现在有新版本的Office Communications Server。 我没有开发SDK,但看到一些非常酷的演示。
我发现最好的是VoIPvideoSIP SDK它提供了高品质的video
LumiSoft.Net是C#非常好的SIP堆栈。 它具有所有的基本库,如SIP
, RTP
, SDP
, DNS
和许多其他库来构build一个强大的SIP代理服务器或SIP客户端很容易。
这看起来很有趣… http://developers.inova.si/sipobjects/Default.aspx?tabid=92 – 它不是开源的,但它绝对是以.NET为中心的。 这是Avaya中心,因此可能不适合您的目的。
另请看这个: http : //www.codeplex.com/mipsipsch
LanScape: http : //www.lanscapecorp.com/
包括LanScape VOIP Media Engine™在内的所有LanScape VOIP产品都是从“基础”devise的,以支持所有版本的MicrosoftWindows®2000和XP,包括最新版本的Windows Vista。
我也碰巧亲自知道这是C# – 友好的。
阅读有关Avaya DMCC的信息。 您可以在AvayaDev中注册并免费下载。 这个C#框架可以让你利用AES和CM的所有pbx特性。 你可以检查你是否也支持SIP。