0

HTTP に基づく Java クライアント/サーバー アプリケーションがあります。ここで、いくつかの SIP 機能を追加したいと考えています。サーバーは、認証されたユーザーからの SIP メッセージのみを受け入れることができますが、認証は HTTP ベースです。

HTTP 経由で認証されたユーザーに対してのみ SIP メッセージを許可する方法はありますか?

コンテナー: JBoss 7 上の mobicents 2

PS: 宣言型セキュリティを使用しているため、コンテナーはユーザー ID を認識している必要があります。

アップデート

私が必要としているのは、一種の認証追跡システムです。これは、sip メッセージの Cookie のようなものです。つまり、HTTP 経由で既に認証されていることをコンテナーに通知するすべての sip メッセージに追加するトークンです。

@SipApplicationKey方法としては、SipApplicationSession への参加に使用するよりも、カスタム SIP ヘッダーを使用してトークンを渡すことができます。この場合の問題は、HttpSession からキーを生成できないことです。さらに、jsr289 は、SipApplicationSession が複数の HttpSession を持つことができるため、複数の認証済みユーザーを持つことができると述べているため、SipApplicationSession に参加することで問題が解決するかどうかはわかりません。

4

1 に答える 1

0

SipApplicationSessionSipSessionバックツーバック UA を作成するために 2 つ (またはそれ以上) を結合するためのものです。

私は似たようなことをする必要があり、この方法で実装することに取り組んでいます。最大の問題は、 を に関連付ける方法SipSessionですHttpSession。これを行った場合はSipSession、関連する から の認証済みユーザーを簡単に取得できますHttpSession

このために、SIP メッセージで追加のヘッダーを送信します。それSESSIONIDを呼び出してみましょう。値は「httpSession.getId()」になります。次に、SIP メッセージを処理するときに、HTTP セッションをスキャンして、SIP セッションを対応する ID を持つセッションに関連付けることができます。

于 2014-12-23T11:34:09.323 に答える