2016-07-14 5 views
1

JBoss AS 7.2.0のRestcommで作られたSip-ServletアプリケーションにWebsocket Serverを統合しようとしています。 。私はthisリンクのガイドの手順に従っています。JBoss AS 7.2.0.Final "Janus"とRestcomm Sip-Servletを持つWebsocketサーバ

私は既に別のWSサーバーとの接続に使用していたノードサーバーと接続しようとしています。ノードのここでのコード:

var networkNode = new ws('ws://192.168.1.220:5082/websocket/helloName'); 

networkNode.on('open', function open() { 
    console.log('connected'); 
}); 

注ガイドは8080ポートを使用するように言うが、その: 1.私はポート8080件のNode.jsを使用している場合は、私に「接続エラーなどのメッセージを与える:エラー:予期しないサーバーの応答を( 404) " 2.ポート5082を使用している場合、「接続済み」と表示されますが、Jboss端末にログメッセージが表示されません。

ここに私のSIP-サーブレットアプリケーションのJavaコードの一部:

package org.mobicents.servlet.sip.example; 
//other imports... 
import javax.websocket.CloseReason; 
import javax.websocket.OnClose; 
import javax.websocket.OnMessage; 
import javax.websocket.OnOpen; 
import javax.websocket.Session; 
import javax.websocket.server.ServerEndpoint; 

@ServerEndpoint("/websocket/helloName") 

//here I have some attributes. 

public class SimpleSipServlet extends SipServlet implements SipErrorListener, 
     Servlet { 

    ... 


    @OnOpen 
    public void helloOnOpen(Session session) { 
     logger.info("WebSocket opened: " + session.getId(); 
     } 


//And so on... 

は私のロジック/コードで何か問題はありますか? 私は間違ったリスナーを指していると思いますよね? WebSocket Serverの正しいパスを知るにはどうすればよいですか? アドバイスをいただきありがとうございます。

答えて

0

Restcomm SIPサーブレットは、WS用のポート5082とWSS用の5083のWebSocketに別々のコネクタを使用します。この特定のWebSocketコネクタはSIP over Websocketだけをサポートすることを目的としており、基盤となるSIPスタックと緊密に統合されています。

したがって、アプリケーションの意図は何かによって異なります。 5082を使用してSIP over WebSocketsトラフィックを処理する予定がある場合は、通常のWebSocketsトラフィックを処理するだけの場合は8080を使用するトラフィックを使用してください。

また、Wildflow 10の初期バージョンでRestcomm SIPサーブレットをhttps://mobicents.ci.cloudbees.com/job/RestcommSipServlets-4.X-Release/から使用してみてください。それはTCKに合格し、HTTP側の最新のWebSocket実装を持つかもしれません。

+0

Hello Jean この場合、Sip over WebSocketsではなくnode.jsサーバーとSip-Servletとの間に通信チャネルを作成したいので、ポート8080を使用します。 WebSocket Serverエンドポイントの右パス? – MrDjToto

+0

この目的のためにSIP Servletを使用しない場合は、通常のHTTPServletを作成して、WebSocketsエンドポイントを使用するようにしてください。 – jeand

関連する問題