2015-05-20 2 views
1

Я новичок в технологии WebRtc, и мне нужно реализовать обмен аудио/видео и данными с помощью моего собственного сервера tomcat для сигнализации.WebRTC on tomcat

У меня уже реализована реализация fork mobicents от github (https://github.com/Mobicents/sip-servlets), но это огромный проект, который работает неправильно, и у меня нет знаний, чтобы его исправить/настроить.

Буду рад некоторым инструкциям по реализации серверной части в java или, возможно, небольшому рабочему краткому примеру. Конечно, я искал учебники в Интернете, но я не нашел ничего понятного.

редактировать:

В настоящее время я пытаюсь запустить mobicents демо WebSockets-SIP-сервлет. Я получить некоторые ошибки в консоли в браузере, такие как:

* PrivateJainSipClientConnector:processSipRegisterResponse(): SIP registration failed:500 [object Object] 
* GET http://localhost:8080/websockets-sip-servlet/Room/undefined 404 (Not Found) 
* POST https://api.xirsys.com/getIceServers 400 (Bad Request) 

Я скачал Tomcat 8 релиз от https://mobicents.ci.cloudbees.com/job/MobicentsSipServlets-Release/lastSuccessfulBuild/artifact/.

и трассировки стека из TOMCAT журналов:

2015-05-20 14:56:15,891 ERROR [org.mobicents.servlet.sip.core.dispatchers.DispatchTask] (SIP-TCP-Core-PipelineThreadpool-2) Unexpected exception while processing message REGISTER sip:telestax.com SIP/2.0 
[...] 
org.mobicents.servlet.sip.core.DispatcherException: An unexpected servlet exception occured while routing an initial request 
at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher$InitialDispatchTask.dispatch(InitialRequestDispatcher.java:744) 
at org.mobicents.servlet.sip.core.dispatchers.DispatchTask.dispatchAndHandleExceptions(DispatchTask.java:61) 
at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher.dispatchInsideContainer(InitialRequestDispatcher.java:454) 
at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher.dispatchMessage(InitialRequestDispatcher.java:309) 
at org.mobicents.servlet.sip.core.SipApplicationDispatcherImpl.processRequest(SipApplicationDispatcherImpl.java:825) 
at gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:230) 
at gov.nist.javax.sip.SipProviderImpl.handleEvent(SipProviderImpl.java:185) 
at gov.nist.javax.sip.DialogFilter.processRequest(DialogFilter.java:1324) 
at gov.nist.javax.sip.stack.SIPServerTransactionImpl.processRequest(SIPServerTransactionImpl.java:807) 
at gov.nist.javax.sip.stack.ConnectionOrientedMessageChannel.processMessage(ConnectionOrientedMessageChannel.java:452) 
at gov.nist.javax.sip.stack.NioWebSocketMessageChannel.processMessage(NioWebSocketMessageChannel.java:287) 
at gov.nist.javax.sip.parser.NioPipelineParser$Dispatch.run(NioPipelineParser.java:174) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 
Caused by: javax.servlet.ServletException: the sip servlet with the name WebSocketB2BUASipServlet doesn't exist in the sip application WebsocketSample 
at org.mobicents.servlet.sip.core.session.SipSessionImpl.setHandler(SipSessionImpl.java:1317) 
at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher$InitialDispatchTask.dispatch(InitialRequestDispatcher.java:741) 
... 14 more 


2015-05-20 14:56:15,904 ERROR [org.mobicents.servlet.sip.core.SipApplicationDispatcherImpl] (SIP-TCP-Core-PipelineThreadpool-2) Unexpected exception while processing request REGISTER sip:telestax.com SIP/2.0 
[...] 
java.lang.IllegalStateException: Cannot create a response for request REGISTER sip:telestax.com SIP/2.0 

transaction is null, a final error response has probably already been sent 
at org.mobicents.servlet.sip.message.SipServletRequestImpl.createResponse(SipServletRequestImpl.java:309) 
at org.mobicents.servlet.sip.message.SipServletRequestImpl.createResponse(SipServletRequestImpl.java:290) 
at org.mobicents.servlet.sip.core.dispatchers.MessageDispatcher.sendErrorResponse(MessageDispatcher.java:126) 
at org.mobicents.servlet.sip.core.dispatchers.DispatchTask.dispatchAndHandleExceptions(DispatchTask.java:69) 
at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher.dispatchInsideContainer(InitialRequestDispatcher.java:454) 
at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher.dispatchMessage(InitialRequestDispatcher.java:309) 
at org.mobicents.servlet.sip.core.SipApplicationDispatcherImpl.processRequest(SipApplicationDispatcherImpl.java:825) 
at gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:230) 
at gov.nist.javax.sip.SipProviderImpl.handleEvent(SipProviderImpl.java:185) 
at gov.nist.javax.sip.DialogFilter.processRequest(DialogFilter.java:1324) 
at gov.nist.javax.sip.stack.SIPServerTransactionImpl.processRequest(SIPServerTransactionImpl.java:807) 
at gov.nist.javax.sip.stack.ConnectionOrientedMessageChannel.processMessage(ConnectionOrientedMessageChannel.java:452) 
at gov.nist.javax.sip.stack.NioWebSocketMessageChannel.processMessage(NioWebSocketMessageChannel.java:287) 
at gov.nist.javax.sip.parser.NioPipelineParser$Dispatch.run(NioPipelineParser.java:174) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 

это не полный StackTrace

ответ

0

Можете ли вы объяснить, что вы пытаетесь достичь именно так, что легче вести вас? Во-первых, было бы проще загрузить двоичный код, чем работать с исходным кодом. Поэтому попробуйте использовать более новую версию от https://mobicents.ci.cloudbees.com/job/MobicentsSipServlets-Release/lastSuccessfulBuild/artifact/

Mobicents SIP Servlets и Restcomm использует WebRTComm как клиентскую библиотеку Javascript. Эта библиотека позволяет вам использовать простой API, абстрагирующий сложности WebRTC и использовать SIP Over WebSockets в качестве протокола сигнализации для обмена сообщениями чата или настройки и разрывания аудио и видео вызовов.

RestComm приходит по умолчанию с клиентом WebRTC, который вы можете использовать и настраивать в соответствии с вашими потребностями, см. http://www.telestax.com/livechat-and-video-call-with-restcomm/ или вы можете загрузить более новую версию, мы работаем над https://github.com/Mobicents/olympus и помогаем ей в этом.

+0

Я добавил некоторую информацию, которую вы просите в моем первом сообщении – Araneo

+0

, похоже, это проблема с Tomcat 8, давайте расследуем. Можете ли вы использовать версию Tomcat 7 или JBoss AS 7? – jeand

+0

В Tomcat7 Я получил одну ошибку в консоли браузера: не удалось загрузить ресурс: сервер ответил статусом 400 (неверный запрос) (https://api.xirsys.com/getIceServers) Кажется, что WebRTC запускается, я видеть комнату, участников и частей чата, но я не могу добавить участников. (Я вижу, что в консоли не указано «Неподключить ReferenceError: addParticipant») – Araneo