18

SIP通話をテストするツールを探しています。SIPデバイスAからSIPデバイスBに電話をかけ、結果を報告するプラットフォーム...

何か案が?シミュレーションプラットフォームが理想的です。

thnx、cateof

4

4 に答える 4

27

多くの解決策があります。他のものより壊れているものもあります。これは、適切な自動テストソリューションのベースを探しているときに見つけたものの簡単な要約です。

一度に1つのダイアログだけが必要な場合は問題ありません。ここで機能しないのは、2つのコールレッグを同期し、同じシナリオで登録、コール、プレゼンスを行う必要がある複雑なソリューションです。このようにすると、会話要素ごとに個別に複数のsippシナリオを実行することになります。Sippは、メディア転送についてもまったくスケーリングしません。マルチスレッドであるにもかかわらず、何かが同時に実行するのhtopを妨げています。たとえば、sippが100%の境界線を越えることはないことがわかります。約50のメディア呼び出しにより、オーディオがカットされ、マシンのすべてのCPUが使用され始めます。

何が起こっているのかを追跡できなくなることがあります。実際には呼び出しに属していない一部のパケットは、テストに失敗する可能性があります。ヘッダーの大文字と小文字を区別する比較など、いくつかのばかげたバグがあります。

Rubyで独自のシナリオを作成する必要があるRubyベースのソリューション。独自のSIPスタックと多くのテストがあります。それは一般的に優れており、多くの複雑なシナリオをうまく処理しますが、その設計はひどいものです。バグを追跡するのは難しく、1週間後、基本的なことを実行するためだけに必要な10個を超えるパッチがありました。後で、いくつかのシナリオが異なる方法で記述されていることを知りましたが、SIPR開発者は実際には応答性が低く、それを見つけるのに多くの時間がかかりました。難しい問題の場合、多くのエージェントのアクションを同期します。イベントベースでありながらシングルスレッドバージョンを使用するためです...「これはどのような順序で発生する可能性があり、私はそれを処理しますか?実際のテストを書くのではなく、正しく」。

商用ソリューション。基本的な機能が評価版から欠落していて、うまくいくかどうかわからないことにそれほど多くのお金を費やすのは難しいので、それを適切にテストしたことはありません...

Jain-SIPスタックを再利用するJavaベースのソリューション。それはほとんどすべてのシナリオを実行でき、かなり良いです。SIPrと同じ問題につながる、すべてを非ブロッキング/アクションベースにしようとしますが、この場合、並列/スレッド化するのは簡単です。独自のバグがあるため、すべてがバニラパッケージでうまく機能するわけではありませんが、ほとんどのものはパッチ可能です。開発者は他のプロジェクトで忙しいようですので、長い間更新されていません。転送、プレゼンス、ダイアログ情報、カスタムメッセージ、RTP処理などが必要な場合は、それらをサポートするために独自の変更を作成する必要があります。パフォーマンステストには適していません。

私のようなJavaが嫌いな人は、Jython、JRuby、またはその他のJVM言語から簡単に使用できます。

結局、私はSIPunitを最も壊れていない/邪悪な/使用できないソリューションとして選びました。それは決して完璧ではありませんが...ほとんどの場合は機能します。この知識をすべて使ってプロジェクトをもう一度行う場合は、おそらくSIPp構成を再利用して、適切なスレッドを使用する独自の適切なソリューションを作成しようとしますが、それは1人で少なくとも半年のプロジェクトです。生産には十分です。

于 2010-08-21T13:14:03.853 に答える
9

SourceForgeでSIPpをチェックしてください。UASモード(サーバー)がおそらくあなたにとって興味深いものであり、INVITE、BYEなどを許可しているように見えるテストのための多くの異なるシナリオがあります。

于 2010-03-04T15:05:50.583 に答える
2

SIPInspectorを試してください。これは、さまざまなSIPシグナリングシナリオを再作成するためのJAVAベースのユーティリティです。RTPを再生し、システムのストレステストも実行できます。JAVAで記述されているため、移植性が高く、さまざまなオペレーティングシステムで動作します。SIPpよりもはるかに使いやすい。

于 2011-02-10T15:10:26.243 に答える
-2

通話が成功した場合とは別に、何をテストしますか?デバイスAからデバイスBに電話をかけて、接続を介して会話できるかどうかを確認することはできませんか?送信されているパケットを確認したい場合は、wiresharkを調べてください。

于 2010-03-04T14:52:39.990 に答える