2016-07-14 93 views
1

我試圖整合在我和Restcomm在JBoss AS 7.2.0.Final 「劍鋒」 造SIP的Servlet應用一個WebSocket伺服器。我正在按照this鏈接中的指南步驟操作。WebSocket伺服器與JBoss AS 7.2.0.Final 「劍鋒」 和Restcomm SIP-的Servlet

我想它與我已經習慣用不同的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-Servlet應用的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服務器的正確路徑? 謝謝你的建議。

回答

0

Restcomm SIP Servlet的使用在端口5082和用於WSS的WebSockets爲WS 5083單獨的連接器。這個特定的WebSocket連接器旨在僅支持SIP over Websockets,並且與底層的SIP Stack緊密集成。

所以這取決於你是什麼應用程序的意圖。如果您打算使用5082處理SIP over WebSockets流量,那麼如果僅處理使用8080的常規WebSocket流量,則是正確的選擇。

您可能還需要在Wildfly 10個早期版本從https://mobicents.ci.cloudbees.com/job/RestcommSipServlets-4.X-Release/使用Restcomm SIP小嚐試。它通過了TCK,並且可能有一個HTTP方面最新的WebSockets實現。

+0

Hello Jean, 我的意圖是在node.js服務器和Sip-Servlet之間創建一個通信通道,而不是在這種情況下用於Sip over WebSockets,所以我將使用端口8080.但是我怎麼知道什麼是WebSocket Server端點的正確路徑? – MrDjToto

+0

如果您不打算爲此目的使用SIP Servlet,我會建議創建一個常規的HTTPServlet並嘗試使用它的WebSockets端點,因爲我不認爲SIPServlet目前支持將WebSockets端點注入到它們中。 – jeand