Клиент SIPML 5 и SipServlets не работают с использованием WSS

У меня Tomcat работает по HTTPS. Я попытался развернуть приложение WebSocket SIPML5 в свой кот. Когда я попытался подключить Sip Servlets с помощью ws: ws://192.168.XY:5082

И Sip Servlets Config выглядит так:

<Connector port="5082" 
         ipAddress = "192.168.X.Y"
         protocol="org.mobicents.servlet.sip.startup.SipProtocolHandler"
         signalingTransport="ws"/>

Я получил сообщение об ошибке: SIPml-api.js:4 Смешанный контент: страница по адресу https://192.168.x1.x2:8443/CallCenterBK/CallCenterBK.jsp?sip=1'была загружена через HTTPS, но попытка подключения к небезопасной конечной точке WebSocket 'ws://192.168.XY:5082/'. Этот запрос был заблокирован; эта конечная точка должна быть доступна через WSS.

Когда я изменю свой клиент SIPML 5 на wss: wss://192.168.XY:5082

И мой конфиг sip сервлетов выглядит так:

<Connector port="5082" 
         ipAddress = "192.168.X.Y"
         protocol="org.mobicents.servlet.sip.startup.SipProtocolHandler"
         signalingTransport="wss"/>

Я получил другую ошибку: Сбой соединения WebSocket с 'wss://192.168.XY:5082 /': Ошибка при установлении соединения: net::ERR_CONNECTION_CLOSED

И когда я установил для клиента sipml 5: wss: //192.168.XY:5082 и конфиг изменился на:

<Connector port="5082" 
         ipAddress = "192.168.X.Y"
         protocol="org.mobicents.servlet.sip.startup.SipProtocolHandler"
         signalingTransport="ws"/>

Я получил ошибку: Соединение WebSocket с 'wss://192.168.1.3:5082/' не удалось: Ошибка в установлении соединения: net::ERR_TIMED_OUT

Что я сделал неправильно?

Любая идея будет оценена.

2 ответа

Вы настроили соединитель HTTP с информацией о сертификате, вам нужно сделать то же самое для соединителя WSS. К сожалению, конфигурация для этого находится на уровне стека SIP, поэтому вам нужно отредактировать ваш standalone/configuration/mss-sip-stack.properties и добавить

gov.nist.javax.sip.TLS_CLIENT_AUTH_TYPE=Disabled
javax.net.ssl.keyStore=$TRUSTSTORE_FILE
javax.net.ssl.keyStorePassword=$TRUSTSTORE_PASSWORD
javax.net.ssl.trustStorePassword=$TRUSTSTORE_PASSWORD
javax.net.ssl.trustStore=$TRUSTSTORE_FILE
javax.net.ssl.keyStoreType=JKS

SIPML5 точно работает с wss. Проблема на вашей стороне сервера.

  1. Убедитесь, что порт 5082 прослушивает (telnet)
  2. Убедитесь, что вы установили действительный сертификат SSL на ваш сервер
  3. Убедитесь, что 5082 является защищенным (wss) портом (на большинстве серверов ws незащищенные и wss secure прослушивают разные порты)
Другие вопросы по тегам