C#で書かれた、またはC#ラッパーを提供する優れたSIPライブラリを探しています。必ずしも無料である必要はありません。誰かが良いものを使用しましたか?
明確にするために、私はVoIPプロトコルSIPについて話している。
私は本当にこれでグーグル検索以上のものを探しています。誰かが戻ってきて、「私たちは______を使用しているので、うまくいく」と言いたいです。
さらに明確にするために、SIPパケットを手動で作成することなくSIPプロキシサーバーを実装するのに役立つライブラリを探しています。アスタリスク、freeswitch、またはその他のpbxソフトウェアは探していません。
SIPパケットを待ってそれらに応答するサービスをC#で作成しようとしています。詳細のほとんどを処理するライブラリが必要です。
私は7年前に同様のクエストを経験しましたが、埋め込みCバージョンを探しました。 oSIP ライブラリを見ました。 SIPパケットを構造体に変換して戻すというすべての作業を行いました。
しかし、ドキュメンテーションの1つのポイントが私に固執しました。著者は、ライブラリを効果的に使用するためにSIP仕様(- RFC 3261 )に精通することを推奨しました。仕様を数回読んだ後、独自のパーサーと呼び出し制御アプリケーション。
SIPはまだ進化している標準です。現在開発中のアクティブな SIPForum グループがあります SIPConnect 1.1 SIPサービスプロバイダー(Vonageなど)とSIP-PBXの間のインターフェース。 [〜#〜] bliss [〜#〜] というアクティビティもあります。ユーザーエージェント間にSIP機能を実装するための「ベストプラクティス」を定義する。
相互運用性は厳しいです。 SIPには何百ものRFCがあります。異なるエンドポイントは異なるエンドポイントを使用し、仕様の解釈は常に互換性があるとは限りません。いくつかの異なる相互運用性「テストイベント( SIPit など)があり、実装が他のユーザーと連携することを確認します。
何を選択する場合でも、実装する機能の仕様を十分に理解していることを確認してください。さらに、仕様とライブラリはパケット側で役立ちますが、「コール制御」ライブラリ(SIP要求/応答)の処理方法を決定するための高レベルの「脳」)が必要です。また、アプリケーションが純粋にSIP=プロキシである場合を除き、オーディオを処理するメディアレイヤーも必要です。
とはいえ、いくつかのインターネットテレフォニーサービスプロバイダー(ITSP)は、サービスのフロントエンドプロキシとして SIP Express Router を使用しています。それは非常に構成可能であり、互換性のための高い成功率を持っています。
私見、最高のスタックの1つは、 [〜#〜] pjsip [〜#〜] です。非常に移植性の高いCで書かれており、多くのラッパーがあります。ここに 。NETラッパー があり、これは非常にうまく機能します。
私の sipsorcery プロジェクトは別のオプションです。これには、C#で完全に記述されたSIPスタックが含まれます。
しばらく前にこれが必要でしたが、自分のB2BUAを書くことになりました(SIP音声を処理し、会話の両側のエンドポイントとして機能するプロキシ)。
SIP仕様(およびRTP)の問題は、それが非常に複雑であるということです。特に、長年にわたって追加されたオプションの追加をすべて考慮すると、誰もがそれを実装します。少し異なるため、シュリンクラップソフトウェアを使用すると、特定の電話またはサーバーで問題が発生する可能性があります。
私の場合、Microsoft Speech ServerでSIPターミネーターと通信するようにしようとしていました。MicrosoftはSIP仕様(特にまた、一部のVOIPゲートウェイは、監視された転送のREFERをサポートしていないため、多くのアプリケーションに必要です。
他の回答にはいくつかのリンクが用意されています:私のアドバイスは、SIPで避けられない非互換性に遭遇したときに必要に応じて微調整できるように、自分でロールバックするか、オープンソースの何かを使用することです=実装。
http://www.konnetic.com は比較的新しい追加です。完全に管理されています。 SIPおよびSDP。他の多くの企業のように、標準の低品質の果物を選択していません。Microsoftと結びついているのはMicrosoft Lyncですサーバ。
まともな出発点はこれかもしれません CodeProjectの記事 。ただし、メディアストリームを処理するとは思わない。
Voice Elements を試してください。
これは.NETテレフォニーツールであり、独自のSIPStack。C#または任意の.NET言語を使用します。
Konneticは、.NET開発用に完全に管理されたSIPコンポーネントを提供します。
。NET SIP SDKはおそらく最も包括的なものです。
それ以外の場合、MicrosoftのLyncサーバーには、非常に優れたマネージドSIPライブラリ、www.Microsoft.com/en-us/lync/default.aspxから入手可能)が付属しています。
おそらく、lumisoftを試してみたいと思うでしょう。完全にC#でビルドします。完全にオープンソースで無料。 lumisoft
ここで何を探しているのかわかりません。クライアント側のVOIPアプリケーションまたはサーバー側を探していますか?後者の場合、FreeSwitchをチェックアウトできます。彼らが持っている機能の1つは、C#を許可するMonoで拡張コードを書く機能です。 mod_monoサポートを探します。
私が見つけた最高のものは VoIPビデオSIP SDK 高品質のビデオも提供します
LumiSoft.Net は非常に優れたSIP C#のスタックです。SIP
、RTP
、SDP
、DNS
などのすべての基本ライブラリと堅牢なライブラリを備えています。 SIPプロキシサーバーまたはSIPクライアントは非常に簡単です。
過去に、MSのLive Communications Serverを使用しました(2003年に考えられていました)。関連するSDKはかなり悪かった。
現在、新しいバージョンであるOffice Communications Serverがあります。私はSDKで開発したことはありませんが、かなりクールなデモを見ました。
RadwareのSIPスタックを使用したかなり大規模で安定したVOIPシステムを(直接使用したのではなく、レビューしたばかりです)見ました。それに関するセキュリティ問題...
私がレビューしたシステムはC#でした。
LanScape: http://www.lanscapecorp.com/
LanScape VOIP Media Engine™を含むすべてのLanScape VOIP製品は、MicrosoftWindows®2000のすべてのバージョンとWindows Vistaの最新バージョンを含むXPを含む)をサポートするように「ゼロから」設計されています。 。
また、C#に優しいことを個人的に知っています。
これは私には興味深いようです... http://developers.inova.si/sipobjects/Default.aspx?tabid=92 -オープンソースではありませんが、。 Avaya中心なので、目的に合わない場合があります。
こちらもご覧ください: http://www.codeplex.com/mysipswitch