2016-07-21 5 views
1

私はSip Servletを勉強しています。私には分かりません。SipApplicationSessionとservletContextの相違点

  1. SipSession

    mobicentsのようなアプリケーションサーバでは

    、私はセッションの2種類を持っている可能性があり、要求/応答にリンクされているセッションがあります。

  2. SipApplicationSession:は、SipSessionと(最終的に)HttpSessionを囲むセッションです。これは、WebとSIPサーブレットの間の通信に使用する必要があります。

2つ目の理由は何ですか?私が電話した場合:

getServletContext.setAttribute("something", somethingObject); 

これは2つのサーブレットと共有されていますか、間違っていますか?

ServletContextは、サーブレットをアプリケーションにラップするもので、サーブレット間で通信できます。

なぜSipApplicationSessionを使用しますか?

ありがとうございます。

答えて

1

あなたはSIPSessionとSIPApplicationSessionの背後にあるコンセプトを正しく理解しています。

SIPApplicationSessionをN SIPセッション(アプリケーションが収束SIPとHTTPのいずれかであり、それらを使用する場合はHTTPSession)を保持するメタセッションと考えてください。 B2BUA(アプリケーションにWebを組み込む場合はWebSession)を構築する場合、このセッション内の属性はSIPセッション全体で共有できますが、SIPセッションとHTTPセッションの有効期間には常に時間的に制限があります。

しかし、ServletContextはアプリケーションの存続期間であり、SIP呼び出しやWeb要求とは完全に独立しているため、それより長く存続することを意図した属性だけを置いて、永続化または保存したくないデータベース。

+1

まず、あなたのお手伝いをさせていただきます。 私はあなたの答えを理解しています、それは私が想定したようなものでした。 したがって、私はSipFactory.createRequest(SipApplicationSession ...)を呼び出すと、Webインターフェイス(HttpServletなど)がある3PCCのようなB2BUAのシナリオでは、そのSipSessionに属し、このSipSessionはSipApplicationSessionに属します。 – xcsob

+1

何らかの理由で「ハングアップ」ボタンが押され、HttpServletへのリクエストがあった場合、これはSipApplicationSessionへの参照を取得し、SipApplicationSession内の各SipSessionに対して、byeリクエストを作成します。 ありがとう:) – xcsob

+0

あなたはそれを正しく持っています。将来の読者を導くうえで役立ったら、答えをアップアップしてください。 – jeand

関連する問題