web-dev-qa-db-ja.com

C#SIP Stack / Library

C#で書かれた、またはC#ラッパーを提供する優れたSIPライブラリを探しています。必ずしも無料である必要はありません。誰かが良いものを使用しましたか?

明確にするために、私はVoIPプロトコルSIPについて話している。

私は本当にこれでグーグル検索以上のものを探しています。誰かが戻ってきて、「私たちは______を使用しているので、うまくいく」と言いたいです。

さらに明確にするために、SIPパケットを手動で作成することなくSIPプロキシサーバーを実装するのに役立つライブラリを探しています。アスタリスク、freeswitch、またはその他のpbxソフトウェアは探していません。

SIPパケットを待ってそれらに応答するサービスをC#で作成しようとしています。詳細のほとんどを処理するライブラリが必要です。

63
bobwienholt

私は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 を使用しています。それは非常に構成可能であり、互換性のための高い成功率を持っています。

22
JayG

私見、最高のスタックの1つは、 [〜#〜] pjsip [〜#〜] です。非常に移植性の高いCで書かれており、多くのラッパーがあります。ここに 。NETラッパー があり、これは非常にうまく機能します。

8
E Dominique
8
Xaisoft

私の sipsorcery プロジェクトは別のオプションです。これには、C#で完全に記述されたSIPスタックが含まれます。

6
sipwiz

SIP.Net を使用し、問題なく動作します。
これを使用してSIPパケットを待機し、SIPフローを非常に単純にします。
オブジェクトモデルが詳細すぎる場合があるため、製品自体は非常に柔軟です(そのような柔軟性が必要な場合)。ただし、簡単にするために、より高いレベルのラッパー(ファサードの一種)を作成しました。それらは非常に反応が良いですが、ドキュメントは十分に詳細なIMOではありません。
チェックすることもできます nsip (リンクだけです、私は自分で試していません)

5
Ron Klein

しばらく前にこれが必要でしたが、自分のB2BUAを書くことになりました(SIP音声を処理し、会話の両側のエンドポイントとして機能するプロキシ)。

SIP仕様(およびRTP)の問題は、それが非常に複雑であるということです。特に、長年にわたって追加されたオプションの追加をすべて考慮すると、誰もがそれを実装します。少し異なるため、シュリンクラップソフトウェアを使用すると、特定の電話またはサーバーで問題が発生する可能性があります。

私の場合、Microsoft Speech ServerでSIPターミネーターと通信するようにしようとしていました。MicrosoftはSIP仕様(特にまた、一部のVOIPゲートウェイは、監視された転送のREFERをサポートしていないため、多くのアプリケーションに必要です。

他の回答にはいくつかのリンクが用意されています:私のアドバイスは、SIPで避けられない非互換性に遭遇したときに必要に応じて微調整できるように、自分でロールバックするか、オープンソースの何かを使用することです=実装。

4
Eric Z Beard

http://www.konnetic.com は比較的新しい追加です。完全に管理されています。 SIPおよびSDP。他の多くの企業のように、標準の低品質の果物を選択していません。Microsoftと結びついているのはMicrosoft Lyncですサーバ。

3
jwri

まともな出発点はこれかもしれません CodeProjectの記事 。ただし、メディアストリームを処理するとは思わない。

3
Sean Bright

Voice Elements を試してください。

これは.NETテレフォニーツールであり、独自のSIPStack。C#または任意の.NET言語を使用します。

2

Konneticは、.NET開発用に完全に管理されたSIPコンポーネントを提供します。

。NET SIP SDKはおそらく最も包括的なものです。

それ以外の場合、MicrosoftのLyncサーバーには、非常に優れたマネージドSIPライブラリ、www.Microsoft.com/en-us/lync/default.aspxから入手可能)が付属しています。

2
jnielsen

おそらく、lumisoftを試してみたいと思うでしょう。完全にC#でビルドします。完全にオープンソースで無料。 lumisoft

2
hannes

ここで何を探しているのかわかりません。クライアント側のVOIPアプリケーションまたはサーバー側を探していますか?後者の場合、FreeSwitchをチェックアウトできます。彼らが持っている機能の1つは、C#を許可するMonoで拡張コードを書く機能です。 mod_monoサポートを探します。

FreeSwitch

2

私が見つけた最高のものは VoIPビデオSIP SDK 高品質のビデオも提供します

1
user2343734

LumiSoft.Net は非常に優れたSIP C#のスタックです。SIPRTPSDPDNSなどのすべての基本ライブラリと堅牢なライブラリを備えています。 SIPプロキシサーバーまたはSIPクライアントは非常に簡単です。

1

過去に、MSのLive Communications Serverを使用しました(2003年に考えられていました)。関連するSDKはかなり悪かった。

現在、新しいバージョンであるOffice Communications Serverがあります。私はSDKで開発したことはありませんが、かなりクールなデモを見ました。

1
LB40

RadwareのSIPスタックを使用したかなり大規模で安定したVOIPシステムを(直接使用したのではなく、レビューしたばかりです)見ました。それに関するセキュリティ問題...

私がレビューしたシステムはC#でした。

1
AviD

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

0
ankushnarula