使用JBoss AS 7.2.0.Final" Janus"的Websocket服务器和Restcomm Sip-Servlet

时间:2016-07-14 16:07:45

标签: websocket jboss7.x restcomm mobicents sip-servlet

我试图将Websocket服务器集成到我在JBoss AS 7.2.0.Final" Janus"上使用Restcomm制作的Sip-Servlet应用程序中。我按照this链接中的指南步骤进行操作。

我尝试使用已经用于连接不同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服务器的正确路径? 谢谢你的建议。

1 个答案:

答案 0 :(得分:0)

Restcomm SIP Servlets在端口5082上为WSS使用单独的WebSockets连接器,在WSS上使用5083。此特定WebSocket连接器仅支持SIP Over Websockets,并与底层SIP Stack紧密集成。

所以这取决于你的应用程序的意图。如果您打算使用5082处理SIP Over WebSockets流量是正确的事情,否则如果仅使用8080来处理常规WebSockets流量则需要使用。

您可能还想在https://mobicents.ci.cloudbees.com/job/RestcommSipServlets-4.X-Release/的Wildfly 10早期版本上尝试使用Restcomm SIP Servlet。它传递TCK,并且可以为HTTP端提供更新的WebSockets实现。