問題タブ [sip-servlet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - SIP サーブレット FORM 認証
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 に参加することで問題が解決するかどうかはわかりません。
java - Java SIP サーブレット、REFER メッセージの送信方法
SIP サーブレットを使用して次のフローを実装する必要があります。
1) 私の SIP サーブレットは INVITE メッセージをキャッチする必要があります 2) SIP TO ヘッダーを見て、それが何らかのパターンで一致する場合は、カムバック REFER メッセージが必要です。
Google で調べたところ、次のマニュアル (Basic Transfer) が見つかりました: www.dialogic.com/webhelp/IMG1010/10.5.1/WebHelp/sip_rfr_calltrans.htm
私が正しく理解したように、このフローは次のようになります: 1) userA は INVITE メッセージを SIP App に送信します 2) SIP App は 200 OK を返信する必要があります 3) UserA は ACK メッセージを送信します 4) SIP App は REFER メッセージを UserA に送信します 5) UserA は返信する必要があります202Accepted および NOTIFY より
私の環境:
1) mss-2.0.0.FINAL-jboss-as-7.1.2.Final as SIP PROXY Server 127.0.0.1:5080
2) user3@127.0.0.1:5060 --- MicroSIP ( http://www.microsip.org/ )
3) user2@127.0.0.1:5090 --- Zoiper_Free_2.41
DAR ファイル:
INVITE:("org.call.forwarding.CallForward","DAR:From","ORIGINATING","","NO_ROUTE", "0")
REGISTER:("org.call.forwarding.CallForward","DAR:From", "ORIGINATING", "", "NO_ROUTE", "0")
SUBSCRIBE:("org.call.forwarding.CallForward","DAR:From","ORIGINATING","","NO_ROUTE", "0")
オプション:("org.call.forwarding.CallForward","DAR:From","ORIGINATING", "", "NO_ROUTE", "0")
NOTIFY:("org.call.forwarding.CallForward", "DAR:From", "ORIGINATING", "", "NO_ROUTE", "0")
REFER:("org.call.forwarding.CallForward", "DAR:From", "ORIGINATING", "", "NO_ROUTE", "0")
user3@127.0.0.1 から rejectr@127.0.0.1 に電話します
したがって、私のソースコードは以下のようになります: 1) INVITE パッケージをキャッチし、200 OK 応答を行います:
そして私の応答: 怒鳴るような 200 OK Respnose:
次に、ACK パッケージを処理して REFER パッケージを生成しようとしています。
そして私のREFERパッケージ:
次に、ログ ファイルに TRYING メッセージが表示されます。
約 30 秒後、Microsip に「受け入れられません」というメッセージが表示されます。
誰でも説明できますか: この男の何が問題なのか??? また、私の脳を吹き飛ばすもう 1 つのポイント: 場合によっては、200 OK メッセージを送信した後 (INVITE を処理したとき)、ACK の前に BYE メッセージをすぐに受信します...なぜそれが起こるのでしょうか?
java - From Header Parameter Tag in SipSessionKey is `null`
私は、MobicentsSIPSession
によって生成されたアプリケーションに、その属性の 1 つが として含まれているアプリケーションに取り組んでいます。ソースコードを掘り下げた後、メソッドから返される値は.null
SipSession#getId()
SessionKey
はSessionKey
内部的に 4 つの異なるパラメーターを使用して、キーの文字列表現を生成します。その中で、属性の 1 つは次のとおりfromTag
です。SipSessionKey
ここのソースコードを見ることができます。いまいち理解できない、それが一体何なのかfromTag
。From
送信されているリクエストを見たとき、 のヘッダーに間違いなく vlaue がありSipRequest
ます。From
ヘッダーの形式は次のとおりです。
それでおしまい。そこには何がfromTag
ありますか?なぜ私はそれを取得していnull
ますか?
java - リセット機能を備えた Java のストップウォッチ
クライアントから 2 種類のメッセージを受信する SIP サーブレットを実装しました。以下のコードに示すように、メッセージの URI を読み取るときに、優先度の高いメッセージと優先度の低いメッセージのいずれかを受信できます。以下のコードで宣言されている「カウント」整数をインクリメントする基本的なストップウォッチを実装する必要があります。そのようなストップウォッチを作成してリセットするにはどうすればよいですか?.
jboss7.x - Sip サーブレット - 制御がチェーン内の次のサーブレットに渡されない
Mobicents Sip Servlets 3.0.0-SNAPSHOT を使用しています。DAR で 2 つのサーブレットを構成しています。1 つは第三者の登録が試行されているかどうかを確認するためのもので、もう 1 つは実際の登録を実行するためのものです。REGISTER が到着すると、最初のサーブレット (BlockerApp) に渡されることがわかりました。ただし、そのサーブレットが完了して次のサーブレットにプロキシするとき、2 番目のサーブレット (RegApp) は呼び出されません。代わりに、最初のサーブレットが再度呼び出され、ルーティング ディレクティブが NEW に設定されます。
何か案は?何か不足していますか?
DAR 構成:
REGISTER=("RegApp","DAR\:From","ORIGINATING","","NO_ROUTE","1"),("BlockerApp","DAR\:From","ORIGINATING",""," NO_ROUTE","0")
最初のサーブレット:
2 番目のサーブレット:
ログ:
glassfish - SIP サーブレット コンテナ
GlassFish 4.0 サーバーは SIP サーブレット コンテナーとして機能しますか? 私はグーグルで検索しましたが、答えが見つかりませんでした。それは明らかかもしれませんが、私はそれを理解できませんでした。Java EE は初めてです。
使用する従来のプロトタイプの実装があります。Java SIP サーブレットを使用します。これは Netbeans プロジェクトです。セットアップに関するドキュメントはありません。そのため、どのサーバーを使用すればよいかわかりません。
Netbeans IDE 8.0 と Java EE 7 および GlassFish サーバー 4.0 をインストールしました。Oracle の SIP Servlet Tutorialに従って、SIP サーブレットの使い方を学び始めようと思いました。そのチュートリアルでは、「必須ソフトウェア」セクションで「通信サーバー」が推奨されています。これをダウンロードするために Google で検索したところ、無料ではないOracle Communications Converged Application Serverが見つかりました。
java - Java SIP Servlets を使用して SIP/VOIP サーバー側アプリケーションを開発する方法
パフォーマンス、スケーラビリティ、可用性、保守性などの面で要求が高い SIP/VOIP サーバー側アプリケーションを開発するために Java SIP サーブレットを使用する方法は? .
これとは別に、サーバー側の sip アプリケーションの開発速度を向上させることができる再利用可能なフレームワーク/ライブラリはありますか?
これについて何か助けていただければ幸いです。
sip - JAIN API と JAIN SLEE API の違い
SIP について読んでいて、SIP ベースのアプリケーションを開発するための Java API JAIN SIP があることがわかりました。すると、JAIN SLEE と SIP サーブレットがあることもわかりました。
JSLEE と SIP サーブレットは、それぞれ JAIN と SIP サーブレットに基づいたアプリケーションをデプロイするためのコンテナーだと思います。
説明してください。また、どちらから学習を始めるのが良いか教えてください。
ありがとう