chai-sip

インストール

$ npm install chai-sip --save

導入

チャイプラグインは、CI/CDパイプライン用にNodeで記述されたSIPサーバーテストの開発を簡略化します。SIP要求の送信と応答に基づいたアサートをサポートしています。

また、RTPメディアの送信が必要なテストケースもサポートしています。送信されたSIP招待要求の200 OKに対して受信したSDPの宛先にオーディオを送信するためです。

現バージョンは次の機能をサポートしています。

  • 次のパラメータを使用してSIP招待要求を送信します。
    • SIP要求URI
    • カスタムヘッダーと値
    • Content-Type
    • リクエスト本文
  • 次のパラメータを使用してSIPRec招待要求を送信するための高度なAPI。
    • SIP要求URI
    • カスタムヘッダーと値
    • Content-Type
    • リクエスト本文
  • 次のパラメータを使用してSIPメッセージ要求を送信します。
    • SIP要求URI
    • カスタムヘッダーと値
    • Content-Type
    • リクエスト本文
  • 予備レスポンスからSIPキャンセル要求を構築します。
  • 着信SIP要求を待機します。
  • 確立されたダイアログ内でSIPバイ要求を送信するための高度なAPI。
  • 最終SIP応答時にコールバックします。
  • 予備SIP応答時にコールバックします。
  • SIPダイジェスト認証を使用したプロキシアクセスのサポート。
  • UDP、TCP、TLSの各トランスポートを使用したSIPをサポートしています。
  • 複数のプロキシホップとレコードルートを使用したデプロイメントをサポートしています。

SIP要求の送受信に加えて、次の新しいアサート機能を提供します。

  • to.be.method() - 受信SIP要求メソッドのタイプをアサートします。たとえば、request.to.be.method("INVITE")
  • to.be.status() - 受信SIP応答ステータスコードをアサートします。たとえば、response.to.be.status(200)

ヘッダー、Content-Type、本文がリクエスト関数に渡されない場合、プラグインは基本的なテストシナリオに役立つ既定のヘッダーと本文を生成します。

このプラグインではsip.jsを使用しています。構成オプションとSIP要求、応答モデル、ヘッダー構成の詳細については、ドキュメントを参照してください。

テストで問題を解決し、実行中の処理に関する詳細情報を取得する必要がある場合は、LOG_LEVEL 環境変数を verbose の値に設定します。たとえば、次のようになります。

$ export LOG_LEVEL=verbose

はじめに

このリポジトリー内の例を参照してください。

このプロジェクトは iotcomms.io によってスポンサーされています。