You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@openmeetings.apache.org by "Coscend@OM" <OM...@Coscend.com> on 2016/09/13 06:58:48 UTC

RTMP Connection Delay

Dear OpenMeetings Users,

 

In OM 3.1.2, while logging in the FIRST time as well as while entering a
room the FIRST time after login, there is a noticeable delay during
handshake (HTTP to RTMP).  This was not observed in OM 3.0.7 in the same
environment.  Could you advise us the cause of the delay in 3.1.2?

(See ID: 3 in log below) 

 

Upon exiting the room and reentering the room, there is no delay at all.
(See ID: 4 in log below).

 

Could this be caused by empty field in config.xml:
<rtmphostlocal></rtmphostlocal>?  Is this value stored somewhere in cache
after the first login so that the second time it is faster?  If so, where is
it stored?

 

 

=============

OpenMeetings.log

=============

ID: 3

Response-Code: 200

Content-Type: application/json

Headers: {Content-Type=[application/json], Date=[Sat, 10 Sep 2016 05:20:43
GMT]}

Payload: {"fileExplorerObject":{"userHomeSize":0,"roomHomeSize":0}}

--------------------------------------

DEBUG 09-10 00:20:43.780 ScopeApplicationAdapter.java 258296 1160
org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
[RTMPConnectionExecutor-2] - -----------  setRoomValues

DEBUG 09-10 00:20:43.797 ConferenceLogDao.java 258313 52
org.apache.openmeetings.db.dao.log.ConferenceLogDao
[RTMPConnectionExecutor-2] - [addConferenceLog]:
org.apache.openmeetings.db.entity.log.ConferenceLog@74ca6007

.

ERROR 09-10 00:21:29.713 WicketEndpoint.java 304229 77
org.apache.wicket.protocol.ws.javax.WicketEndpoint
[http-nio-[IP]-[port]-exec-6] - An error occurred in web socket connection
with id : 1

java.io.IOException: Broken pipe

       at sun.nio.ch.FileDispatcherImpl.write0(Native Method)

       at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)

       at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)

       at sun.nio.ch.IOUtil.write(IOUtil.java:65)

       at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:492)

       at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:124)

       at
org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:183)

       at
org.apache.coyote.http11.upgrade.NioServletOutputStream.doWriteInternal(NioS
ervletOutputStream.java:94)

       at
org.apache.coyote.http11.upgrade.NioServletOutputStream.doWrite(NioServletOu
tputStream.java:61)

       at
org.apache.coyote.http11.upgrade.AbstractServletOutputStream.writeInternal(A
bstractServletOutputStream.java:165)

       at
org.apache.coyote.http11.upgrade.AbstractServletOutputStream.write(AbstractS
ervletOutputStream.java:132)

       at
org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.onWritePossibl
e(WsRemoteEndpointImplServer.java:98)

       at
org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doWrite(WsRemo
teEndpointImplServer.java:79)

       at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(WsRemo
teEndpointImplBase.java:453)

       at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessage(WsRemoteEn
dpointImplBase.java:341)

       at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessageBlock(WsRem
oteEndpointImplBase.java:273)

       at
org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:588)

       at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:490)

       at
org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.onError(WsHttpUpgrad
eHandler.java:149)

       at
org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.access$300(WsHttpUpg
radeHandler.java:47)

       at
org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener.onErr
or(WsHttpUpgradeHandler.java:206)

       at
org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener.onDat
aAvailable(WsHttpUpgradeHandler.java:189)

       at
org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAvailable(
AbstractServletInputStream.java:198)

       at
org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(AbstractP
rocessor.java:96)

       at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Abstrac
tProtocol.java:647)

       at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.jav
a:1520)

       at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:
1476)

       at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:11
45)

       at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6
15)

       at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.ja
va:61)

       at java.lang.Thread.run(Thread.java:745)

DEBUG 09-10 00:21:29.715 MainPage.java 304231 223
org.apache.openmeetings.web.pages.MainPage [http-nio-[IP]-[port]-exec-6] -
WebSocketBehavior::onClose

ERROR 09-10 00:21:29.888 WicketEndpoint.java 304404 77
org.apache.wicket.protocol.ws.javax.WicketEndpoint
[http-nio-[IP]-[port]-exec-6] - An error occurred in web socket connection
with id : 1

java.io.IOException: Connection reset by peer

       at sun.nio.ch.FileDispatcherImpl.read0(Native Method)

       at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)

       at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)

       at sun.nio.ch.IOUtil.read(IOUtil.java:197)

       at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:384)

       at org.apache.tomcat.util.net.NioChannel.read(NioChannel.java:137)

       at
org.apache.coyote.http11.upgrade.NioServletInputStream.fillReadBuffer(NioSer
vletInputStream.java:136)

       at
org.apache.coyote.http11.upgrade.NioServletInputStream.doRead(NioServletInpu
tStream.java:80)

       at
org.apache.coyote.http11.upgrade.AbstractServletInputStream.read(AbstractSer
vletInputStream.java:124)

       at
org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServ
er.java:60)

       at
org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener.onDat
aAvailable(WsHttpUpgradeHandler.java:185)

       at
org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAvailable(
AbstractServletInputStream.java:198)

       at
org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(AbstractP
rocessor.java:96)

       at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Abstrac
tProtocol.java:647)

       at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.jav
a:1520)

       at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:
1476)

       at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:11
45)

       at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6
15)

       at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.ja
va:61)

       at java.lang.Thread.run(Thread.java:745)

DEBUG 09-10 00:21:31.949 SessiondataDao.java 306465 263
org.apache.openmeetings.db.dao.server.SessiondataDao
[org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1] -
****** clearSessionTable: 

DEBUG 09-10 00:21:31.952 SessiondataDao.java 306468 265
org.apache.openmeetings.db.dao.server.SessiondataDao
[org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1] -
clearSessionTable: 0

DEBUG 09-10 00:21:31.953 MeetingReminderJob.java 306469 35
org.apache.openmeetings.service.quartz.scheduler.MeetingReminderJob
[org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2] -
MeetingReminderJob.execute

DEBUG 09-10 00:21:34.554 MeetingReminderJob.java 309070 35
org.apache.openmeetings.service.quartz.scheduler.MeetingReminderJob
[org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2] -
MeetingReminderJob.execute

DEBUG 09-10 00:21:34.555 SessiondataDao.java 309071 263
org.apache.openmeetings.db.dao.server.SessiondataDao
[org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1] -
****** clearSessionTable: 

DEBUG 09-10 00:21:34.559 SessiondataDao.java 309075 265
org.apache.openmeetings.db.dao.server.SessiondataDao
[org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1] -
clearSessionTable: 0

[WARN] [NioProcessor-4] org.apache.mina.core.service.IoProcessor - Create a
new selector. Selected is 0, delta = 0

[WARN] [RTMPConnectionScheduler-2] org.red5.server.net.rtmp.RTMPConnection -
Closing connection - inactivity timeout: session=[V6BEIJ0K2XRTE],
lastPongReceived=[60008 ms ago], lastPingSent=[5001 ms ago],
lastDataRx=[70009 ms ago]

[WARN] [RTMPConnectionScheduler-2] org.red5.server.net.rtmp.RTMPConnection -
Client on session=[V6BEIJ0K2XRTE] has not responded to our ping for [60008
ms] and we haven't received data for [70009 ms]

java.lang.InterruptedException

       at
java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(
AbstractQueuedSynchronizer.java:1325)

       at java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:414)

       at
org.red5.server.adapter.ApplicationAdapter.disconnect(ApplicationAdapter.jav
a:91)

       at org.red5.server.scope.Scope.disconnect(Scope.java:352)

       at org.red5.server.BaseConnection.close(BaseConnection.java:402)

       at
org.red5.server.net.rtmp.RTMPConnection.close(RTMPConnection.java:990)

       at
org.red5.server.net.rtmpt.BaseRTMPTConnection.close(BaseRTMPTConnection.java
:131)

       at
org.red5.server.net.rtmpt.RTMPTConnection.close(RTMPTConnection.java:128)

       at
org.red5.server.net.rtmpt.RTMPTConnection.onInactive(RTMPTConnection.java:10
8)

       at
org.red5.server.net.rtmp.RTMPConnection$KeepAliveTask.run(RTMPConnection.jav
a:1897)

       at
org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(D
elegatingErrorHandlingRunnable.java:54)

       at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)

       at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)

       at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$
301(ScheduledThreadPoolExecutor.java:178)

       at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Sch
eduledThreadPoolExecutor.java:293)

       at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:11
45)

       at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6
15)

       at java.lang.Thread.run(Thread.java:745)

DEBUG 09-10 00:21:53.516 MultiThreadedApplicationAdapter.java 328032 507
org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
[RTMPConnectionScheduler-2] - leave: Client: V6BEIJ0K2XRTE << Scope [name=5,
path=/default/test.om, type=ROOM, autoStart=true,
creationTime=1473484696211, depth=2, enabled=true, running=true]

autoStart=true, creationTime=1473484696211, depth=2, enabled=true,
running=true]

.

DEBUG 09-10 00:21:53.557 MultiThreadedApplicationAdapter.java 328073 711
org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
[RTMPConnectionScheduler-2] - appLeave: Client: V6BEIJ0K2XRTE << Scope
[name=test.om, path=/default, type=APPLICATION, autoStart=true,
creationTime=1473484588481, depth=1, enabled=true, running=true]

[ERROR] [RTMPConnectionExecutor-4] org.red5.server.service.ServiceInvoker -
Error executing call: Service: null Method: play Num Params: 2 0: undefined
1: NaN

java.lang.IllegalArgumentException: argument type mismatch

       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

       at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57
)

       at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:43)

       at java.lang.reflect.Method.invoke(Method.java:606)

       at
org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:189)

       at
org.red5.server.net.rtmp.RTMPHandler.invokeCall(RTMPHandler.java:214)

       at
org.red5.server.net.rtmp.RTMPHandler.onCommand(RTMPHandler.java:276)

       at
org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHandler.jav
a:116)

       at
org.red5.server.net.rtmp.ReceivedMessageTask.call(ReceivedMessageTask.java:7
2)

       at
org.red5.server.net.rtmp.ReceivedMessageTask.call(ReceivedMessageTask.java:3
8)

       at java.util.concurrent.FutureTask.run(FutureTask.java:262)

       at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)

       at java.util.concurrent.FutureTask.run(FutureTask.java:262)

       at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:11
45)

       at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6
15)

       at java.lang.Thread.run(Thread.java:745)

[WARN] [RTMPConnectionExecutor-4] org.red5.server.net.rtmp.Channel -
Non-existant stream for channel id: 8, session: DUNX6UQ7J3LP6 discarding:
Invoke #0: Service: null Method: play Num Params: 2 0: undefined 1: NaN

 

 

ID: 4

Response-Code: 200

Content-Type: application/json

Headers: {Content-Type=[application/json], Date=[Sat, 10 Sep 2016 05:27:51
GMT]}

Payload: {"fileExplorerObject":{"userHomeSize":0,"roomHomeSize":0}}

--------------------------------------

DEBUG 09-10 00:27:51.330 ScopeApplicationAdapter.java 685846 1160
org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
[RTMPConnectionExecutor-1] - -----------  setRoomValues

DEBUG 09-10 00:27:51.351 ConferenceLogDao.java 685867 52
org.apache.openmeetings.db.dao.log.ConferenceLogDao
[RTMPConnectionExecutor-1] - [addConferenceLog]:
org.apache.openmeetings.db.entity.log.ConferenceLog@2b48c62a

DEBUG 09-10 00:27:51.417 RecordingService.java 685933 377
org.apache.openmeetings.core.remote.RecordingService
[RTMPConnectionExecutor-3] - getCurrentRoomClient -2- 1

 

 

 

Thank you.

 

Sincerely,

 

Hemant K. Sabat

 

Coscend Communications Solutions

Web site:  <http://www.coscend.com/> www.Coscend.com 

------------------------------------------------------------------

CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail
Messages from Coscend Communications Solutions' posted at:
<http://www.coscend.com/Terms_and_Conditions.html>
http://www.Coscend.com/Terms_and_Conditions.html 

 

 


Re: RTMP Connection Delay

Posted by Maxim Solodovnik <so...@gmail.com>.
It is not OM behavior
It is Flash/Browser/OS behavior

OM
connects to 1935, if fails
connects to 5080, if fails
connects to 5080, if fails
give up

On Wed, Sep 14, 2016 at 12:08 AM, Coscend@OM <OM...@coscend.com> wrote:
> Dear Maxim,
>
> Would you happen to know why the SECOND time entering room is very fast, under the same firewall settings?  Just wanted to learn the handshake process.
>
> Thank you.
>
> Sincerely,
>
> Hemant K. Sabat
>
> Coscend Communications Solutions
> Web site: www.Coscend.com
> ------------------------------------------------------------------
> CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail Messages from Coscend Communications Solutions' posted at: http://www.Coscend.com/Terms_and_Conditions.html
>
>
> -----Original Message-----
> From: Maxim Solodovnik [mailto:solomax666@gmail.com]
> Sent: Tuesday, September 13, 2016 11:58 AM
> To: Openmeetings user-list <us...@openmeetings.apache.org>; OM.Insights@Coscend.com
> Subject: Re: RTMP Connection Delay
>
> delay is caused by your FW settings
> set REJECT (instead of DENY) for 1935 and it will speed-up everything
>
> On Tue, Sep 13, 2016 at 11:48 PM, Coscend@OM <OM...@coscend.com> wrote:
>> Dear Maxim,
>>
>> Yes, we are using reverse proxy.
>> Reverse proxy open:  5080
>> OS Firewall open: 1935, 5080.
>>
>> FIRST time entering room takes 1 MINUTE during handshake.
>> Exit room.
>> SECOND time entering room takes only 1 SECOND.
>>
>> Only in 3.1.2.  In 3.0.7, no delay.
>>
>>
>> Could this delay be caused by empty field in config.xml: <rtmphostlocal></rtmphostlocal>?
>> Is this value stored somewhere in cache after the first login so that the second time it is faster?  If so, where is it stored?
>>
>>
>> Thank you.
>>
>> Sincerely,
>>
>> Hemant K. Sabat
>>
>> Coscend Communications Solutions
>> Web site: www.Coscend.com
>> ------------------------------------------------------------------
>> CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail
>> Messages from Coscend Communications Solutions' posted at:
>> http://www.Coscend.com/Terms_and_Conditions.html
>>
>>
>>
>> -----Original Message-----
>> From: Maxim Solodovnik [mailto:solomax666@gmail.com]
>> Sent: Tuesday, September 13, 2016 2:10 AM
>> To: Openmeetings user-list <us...@openmeetings.apache.org>;
>> OM.Insights@Coscend.com
>> Subject: Re: RTMP Connection Delay
>>
>> Are you behind the proxy? apache/nginx with port 1935 closed?
>>
>> On Tue, Sep 13, 2016 at 1:58 PM, Coscend@OM <OM...@coscend.com> wrote:
>>> Dear OpenMeetings Users,
>>>
>>>
>>>
>>> In OM 3.1.2, while logging in the FIRST time as well as while
>>> entering a room the FIRST time after login, there is a noticeable
>>> delay during handshake (HTTP to RTMP).  This was not observed in OM
>>> 3.0.7 in the same environment.  Could you advise us the cause of the delay in 3.1.2?
>>>
>>> (See ID: 3 in log below)
>>>
>>>
>>>
>>> Upon exiting the room and reentering the room, there is no delay at all.
>>> (See ID: 4 in log below).
>>>
>>>
>>>
>>> Could this be caused by empty field in config.xml:
>>> <rtmphostlocal></rtmphostlocal>?  Is this value stored somewhere in
>>> cache after the first login so that the second time it is faster?  If
>>> so, where is it stored?
>>>
>>>
>>>
>>>
>>>
>>> =============
>>>
>>> OpenMeetings.log
>>>
>>> =============
>>>
>>> ID: 3
>>>
>>> Response-Code: 200
>>>
>>> Content-Type: application/json
>>>
>>> Headers: {Content-Type=[application/json], Date=[Sat, 10 Sep 2016
>>> 05:20:43 GMT]}
>>>
>>> Payload: {"fileExplorerObject":{"userHomeSize":0,"roomHomeSize":0}}
>>>
>>> --------------------------------------
>>>
>>> DEBUG 09-10 00:20:43.780 ScopeApplicationAdapter.java 258296 1160
>>> org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
>>> [RTMPConnectionExecutor-2] - -----------  setRoomValues
>>>
>>> DEBUG 09-10 00:20:43.797 ConferenceLogDao.java 258313 52
>>> org.apache.openmeetings.db.dao.log.ConferenceLogDao
>>> [RTMPConnectionExecutor-2] - [addConferenceLog]:
>>> org.apache.openmeetings.db.entity.log.ConferenceLog@74ca6007
>>>
>>> …
>>>
>>> ERROR 09-10 00:21:29.713 WicketEndpoint.java 304229 77
>>> org.apache.wicket.protocol.ws.javax.WicketEndpoint
>>> [http-nio-[IP]-[port]-exec-6] - An error occurred in web socket
>>> connection with id : 1
>>>
>>> java.io.IOException: Broken pipe
>>>
>>>        at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
>>>
>>>        at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
>>>
>>>        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
>>>
>>>        at sun.nio.ch.IOUtil.write(IOUtil.java:65)
>>>
>>>        at
>>> sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:492)
>>>
>>>        at
>>> org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:124)
>>>
>>>        at
>>> org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:
>>> 183)
>>>
>>>        at
>>> org.apache.coyote.http11.upgrade.NioServletOutputStream.doWriteIntern
>>> a
>>> l(NioServletOutputStream.java:94)
>>>
>>>        at
>>> org.apache.coyote.http11.upgrade.NioServletOutputStream.doWrite(NioSe
>>> r
>>> vletOutputStream.java:61)
>>>
>>>        at
>>> org.apache.coyote.http11.upgrade.AbstractServletOutputStream.writeInt
>>> e
>>> rnal(AbstractServletOutputStream.java:165)
>>>
>>>        at
>>> org.apache.coyote.http11.upgrade.AbstractServletOutputStream.write(Ab
>>> s
>>> tractServletOutputStream.java:132)
>>>
>>>        at
>>> org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.onWrite
>>> P
>>> ossible(WsRemoteEndpointImplServer.java:98)
>>>
>>>        at
>>> org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doWrite
>>> (
>>> WsRemoteEndpointImplServer.java:79)
>>>
>>>        at
>>> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart
>>> (
>>> WsRemoteEndpointImplBase.java:453)
>>>
>>>        at
>>> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessage(WsR
>>> e
>>> moteEndpointImplBase.java:341)
>>>
>>>        at
>>> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessageBloc
>>> k
>>> (WsRemoteEndpointImplBase.java:273)
>>>
>>>        at
>>> org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:
>>> 588)
>>>
>>>        at
>>> org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:490)
>>>
>>>        at
>>> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.onError(WsHtt
>>> p
>>> UpgradeHandler.java:149)
>>>
>>>        at
>>> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.access$300(Ws
>>> H
>>> ttpUpgradeHandler.java:47)
>>>
>>>        at
>>> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListene
>>> r
>>> .onError(WsHttpUpgradeHandler.java:206)
>>>
>>>        at
>>> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListene
>>> r
>>> .onDataAvailable(WsHttpUpgradeHandler.java:189)
>>>
>>>        at
>>> org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAva
>>> i
>>> lable(AbstractServletInputStream.java:198)
>>>
>>>        at
>>> org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(Ab
>>> s
>>> tractProcessor.java:96)
>>>
>>>        at
>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
>>> A
>>> bstractProtocol.java:647)
>>>
>>>        at
>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpo
>>> i
>>> nt.java:1520)
>>>
>>>        at
>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoin
>>> t
>>> .java:1476)
>>>
>>>        at
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
>>> j
>>> ava:1145)
>>>
>>>        at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>> java:615)
>>>
>>>        at
>>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskTh
>>> r
>>> ead.java:61)
>>>
>>>        at java.lang.Thread.run(Thread.java:745)
>>>
>>> DEBUG 09-10 00:21:29.715 MainPage.java 304231 223
>>> org.apache.openmeetings.web.pages.MainPage
>>> [http-nio-[IP]-[port]-exec-6] - WebSocketBehavior::onClose
>>>
>>> ERROR 09-10 00:21:29.888 WicketEndpoint.java 304404 77
>>> org.apache.wicket.protocol.ws.javax.WicketEndpoint
>>> [http-nio-[IP]-[port]-exec-6] - An error occurred in web socket
>>> connection with id : 1
>>>
>>> java.io.IOException: Connection reset by peer
>>>
>>>        at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
>>>
>>>        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
>>>
>>>        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
>>>
>>>        at sun.nio.ch.IOUtil.read(IOUtil.java:197)
>>>
>>>        at
>>> sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:384)
>>>
>>>        at
>>> org.apache.tomcat.util.net.NioChannel.read(NioChannel.java:137)
>>>
>>>        at
>>> org.apache.coyote.http11.upgrade.NioServletInputStream.fillReadBuffer
>>> (
>>> NioServletInputStream.java:136)
>>>
>>>        at
>>> org.apache.coyote.http11.upgrade.NioServletInputStream.doRead(NioServ
>>> l
>>> etInputStream.java:80)
>>>
>>>        at
>>> org.apache.coyote.http11.upgrade.AbstractServletInputStream.read(Abst
>>> r
>>> actServletInputStream.java:124)
>>>
>>>        at
>>> org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFr
>>> a
>>> meServer.java:60)
>>>
>>>        at
>>> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListene
>>> r
>>> .onDataAvailable(WsHttpUpgradeHandler.java:185)
>>>
>>>        at
>>> org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAva
>>> i
>>> lable(AbstractServletInputStream.java:198)
>>>
>>>        at
>>> org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(Ab
>>> s
>>> tractProcessor.java:96)
>>>
>>>        at
>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
>>> A
>>> bstractProtocol.java:647)
>>>
>>>        at
>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpo
>>> i
>>> nt.java:1520)
>>>
>>>        at
>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoin
>>> t
>>> .java:1476)
>>>
>>>        at
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
>>> j
>>> ava:1145)
>>>
>>>        at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>> java:615)
>>>
>>>        at
>>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskTh
>>> r
>>> ead.java:61)
>>>
>>>        at java.lang.Thread.run(Thread.java:745)
>>>
>>> DEBUG 09-10 00:21:31.949 SessiondataDao.java 306465 263
>>> org.apache.openmeetings.db.dao.server.SessiondataDao
>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-
>>> 1
>>> ] -
>>> ****** clearSessionTable:
>>>
>>> DEBUG 09-10 00:21:31.952 SessiondataDao.java 306468 265
>>> org.apache.openmeetings.db.dao.server.SessiondataDao
>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-
>>> 1
>>> ] -
>>> clearSessionTable: 0
>>>
>>> DEBUG 09-10 00:21:31.953 MeetingReminderJob.java 306469 35
>>> org.apache.openmeetings.service.quartz.scheduler.MeetingReminderJob
>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-
>>> 2
>>> ] - MeetingReminderJob.execute
>>>
>>> DEBUG 09-10 00:21:34.554 MeetingReminderJob.java 309070 35
>>> org.apache.openmeetings.service.quartz.scheduler.MeetingReminderJob
>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-
>>> 2
>>> ] - MeetingReminderJob.execute
>>>
>>> DEBUG 09-10 00:21:34.555 SessiondataDao.java 309071 263
>>> org.apache.openmeetings.db.dao.server.SessiondataDao
>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-
>>> 1
>>> ] -
>>> ****** clearSessionTable:
>>>
>>> DEBUG 09-10 00:21:34.559 SessiondataDao.java 309075 265
>>> org.apache.openmeetings.db.dao.server.SessiondataDao
>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-
>>> 1
>>> ] -
>>> clearSessionTable: 0
>>>
>>> [WARN] [NioProcessor-4] org.apache.mina.core.service.IoProcessor -
>>> Create a new selector. Selected is 0, delta = 0
>>>
>>> [WARN] [RTMPConnectionScheduler-2]
>>> org.red5.server.net.rtmp.RTMPConnection - Closing connection -
>>> inactivity timeout: session=[V6BEIJ0K2XRTE],
>>> lastPongReceived=[60008 ms ago], lastPingSent=[5001 ms ago],
>>> lastDataRx=[70009 ms ago]
>>>
>>> [WARN] [RTMPConnectionScheduler-2]
>>> org.red5.server.net.rtmp.RTMPConnection - Client on
>>> session=[V6BEIJ0K2XRTE] has not responded to our ping for [60008 ms]
>>> and we haven't received data for [70009 ms]
>>>
>>> java.lang.InterruptedException
>>>
>>>        at
>>> java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireShare
>>> d
>>> Nanos(AbstractQueuedSynchronizer.java:1325)
>>>
>>>        at
>>> java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:414)
>>>
>>>        at
>>> org.red5.server.adapter.ApplicationAdapter.disconnect(ApplicationAdap
>>> t
>>> er.java:91)
>>>
>>>        at org.red5.server.scope.Scope.disconnect(Scope.java:352)
>>>
>>>        at
>>> org.red5.server.BaseConnection.close(BaseConnection.java:402)
>>>
>>>        at
>>> org.red5.server.net.rtmp.RTMPConnection.close(RTMPConnection.java:990
>>> )
>>>
>>>        at
>>> org.red5.server.net.rtmpt.BaseRTMPTConnection.close(BaseRTMPTConnecti
>>> o
>>> n.java:131)
>>>
>>>        at
>>> org.red5.server.net.rtmpt.RTMPTConnection.close(RTMPTConnection.java:
>>> 1
>>> 28)
>>>
>>>        at
>>> org.red5.server.net.rtmpt.RTMPTConnection.onInactive(RTMPTConnection.
>>> j
>>> ava:108)
>>>
>>>        at
>>> org.red5.server.net.rtmp.RTMPConnection$KeepAliveTask.run(RTMPConnect
>>> i
>>> on.java:1897)
>>>
>>>        at
>>> org.springframework.scheduling.support.DelegatingErrorHandlingRunnabl
>>> e
>>> .run(DelegatingErrorHandlingRunnable.java:54)
>>>
>>>        at
>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:47
>>> 1
>>> )
>>>
>>>        at
>>> java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
>>>
>>>        at
>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
>>> a
>>> ccess$301(ScheduledThreadPoolExecutor.java:178)
>>>
>>>        at
>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
>>> r
>>> un(ScheduledThreadPoolExecutor.java:293)
>>>
>>>        at
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
>>> j
>>> ava:1145)
>>>
>>>        at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>> java:615)
>>>
>>>        at java.lang.Thread.run(Thread.java:745)
>>>
>>> DEBUG 09-10 00:21:53.516 MultiThreadedApplicationAdapter.java 328032
>>> 507 org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
>>> [RTMPConnectionScheduler-2] - leave: Client: V6BEIJ0K2XRTE << Scope
>>> [name=5, path=/default/test.om, type=ROOM, autoStart=true,
>>> creationTime=1473484696211, depth=2, enabled=true, running=true]
>>>
>>> autoStart=true, creationTime=1473484696211, depth=2, enabled=true,
>>> running=true]
>>>
>>> …
>>>
>>> DEBUG 09-10 00:21:53.557 MultiThreadedApplicationAdapter.java 328073
>>> 711 org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
>>> [RTMPConnectionScheduler-2] - appLeave: Client: V6BEIJ0K2XRTE <<
>>> Scope [name=test.om, path=/default, type=APPLICATION, autoStart=true,
>>> creationTime=1473484588481, depth=1, enabled=true, running=true]
>>>
>>> [ERROR] [RTMPConnectionExecutor-4]
>>> org.red5.server.service.ServiceInvoker - Error executing call:
>>> Service: null Method: play Num Params: 2 0: undefined
>>> 1: NaN
>>>
>>> java.lang.IllegalArgumentException: argument type mismatch
>>>
>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>
>>>        at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
>>> j
>>> ava:57)
>>>
>>>        at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
>>> s
>>> orImpl.java:43)
>>>
>>>        at java.lang.reflect.Method.invoke(Method.java:606)
>>>
>>>        at
>>> org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:189
>>> )
>>>
>>>        at
>>> org.red5.server.net.rtmp.RTMPHandler.invokeCall(RTMPHandler.java:214)
>>>
>>>        at
>>> org.red5.server.net.rtmp.RTMPHandler.onCommand(RTMPHandler.java:276)
>>>
>>>        at
>>> org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHand
>>> l
>>> er.java:116)
>>>
>>>        at
>>> org.red5.server.net.rtmp.ReceivedMessageTask.call(ReceivedMessageTask.
>>> java:72)
>>>
>>>        at
>>> org.red5.server.net.rtmp.ReceivedMessageTask.call(ReceivedMessageTask.
>>> java:38)
>>>
>>>        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>>>
>>>        at
>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:47
>>> 1
>>> )
>>>
>>>        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>>>
>>>        at
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
>>> j
>>> ava:1145)
>>>
>>>        at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>> java:615)
>>>
>>>        at java.lang.Thread.run(Thread.java:745)
>>>
>>> [WARN] [RTMPConnectionExecutor-4] org.red5.server.net.rtmp.Channel -
>>> Non-existant stream for channel id: 8, session: DUNX6UQ7J3LP6 discarding:
>>> Invoke #0: Service: null Method: play Num Params: 2 0: undefined 1:
>>> NaN
>>>
>>>
>>>
>>>
>>>
>>> ID: 4
>>>
>>> Response-Code: 200
>>>
>>> Content-Type: application/json
>>>
>>> Headers: {Content-Type=[application/json], Date=[Sat, 10 Sep 2016
>>> 05:27:51 GMT]}
>>>
>>> Payload: {"fileExplorerObject":{"userHomeSize":0,"roomHomeSize":0}}
>>>
>>> --------------------------------------
>>>
>>> DEBUG 09-10 00:27:51.330 ScopeApplicationAdapter.java 685846 1160
>>> org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
>>> [RTMPConnectionExecutor-1] - -----------  setRoomValues
>>>
>>> DEBUG 09-10 00:27:51.351 ConferenceLogDao.java 685867 52
>>> org.apache.openmeetings.db.dao.log.ConferenceLogDao
>>> [RTMPConnectionExecutor-1] - [addConferenceLog]:
>>> org.apache.openmeetings.db.entity.log.ConferenceLog@2b48c62a
>>>
>>> DEBUG 09-10 00:27:51.417 RecordingService.java 685933 377
>>> org.apache.openmeetings.core.remote.RecordingService
>>> [RTMPConnectionExecutor-3] - getCurrentRoomClient -2- 1
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Thank you.
>>>
>>>
>>>
>>> Sincerely,
>>>
>>>
>>>
>>> Hemant K. Sabat
>>>
>>>
>>>
>>> Coscend Communications Solutions
>>>
>>> Web site: www.Coscend.com
>>>
>>> ------------------------------------------------------------------
>>>
>>> CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail
>>> Messages from Coscend Communications Solutions' posted at:
>>> http://www.Coscend.com/Terms_and_Conditions.html
>>
>>
>
>
>
> --
> WBR
> Maxim aka solomax
>
>
>
> -----
> No virus found in this message.
> Checked by AVG - www.avg.com
> Version: 2016.0.7752 / Virus Database: 4649/13010 - Release Date: 09/13/16
>
>



-- 
WBR
Maxim aka solomax

RE: RTMP Connection Delay

Posted by "Coscend@OM" <OM...@Coscend.com>.
Dear Maxim,

Would you happen to know why the SECOND time entering room is very fast, under the same firewall settings?  Just wanted to learn the handshake process.

Thank you.

Sincerely,

Hemant K. Sabat

Coscend Communications Solutions
Web site: www.Coscend.com 
------------------------------------------------------------------
CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail Messages from Coscend Communications Solutions' posted at: http://www.Coscend.com/Terms_and_Conditions.html 


-----Original Message-----
From: Maxim Solodovnik [mailto:solomax666@gmail.com] 
Sent: Tuesday, September 13, 2016 11:58 AM
To: Openmeetings user-list <us...@openmeetings.apache.org>; OM.Insights@Coscend.com
Subject: Re: RTMP Connection Delay

delay is caused by your FW settings
set REJECT (instead of DENY) for 1935 and it will speed-up everything

On Tue, Sep 13, 2016 at 11:48 PM, Coscend@OM <OM...@coscend.com> wrote:
> Dear Maxim,
>
> Yes, we are using reverse proxy.
> Reverse proxy open:  5080
> OS Firewall open: 1935, 5080.
>
> FIRST time entering room takes 1 MINUTE during handshake.
> Exit room.
> SECOND time entering room takes only 1 SECOND.
>
> Only in 3.1.2.  In 3.0.7, no delay.
>
>
> Could this delay be caused by empty field in config.xml: <rtmphostlocal></rtmphostlocal>?
> Is this value stored somewhere in cache after the first login so that the second time it is faster?  If so, where is it stored?
>
>
> Thank you.
>
> Sincerely,
>
> Hemant K. Sabat
>
> Coscend Communications Solutions
> Web site: www.Coscend.com
> ------------------------------------------------------------------
> CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail 
> Messages from Coscend Communications Solutions' posted at: 
> http://www.Coscend.com/Terms_and_Conditions.html
>
>
>
> -----Original Message-----
> From: Maxim Solodovnik [mailto:solomax666@gmail.com]
> Sent: Tuesday, September 13, 2016 2:10 AM
> To: Openmeetings user-list <us...@openmeetings.apache.org>; 
> OM.Insights@Coscend.com
> Subject: Re: RTMP Connection Delay
>
> Are you behind the proxy? apache/nginx with port 1935 closed?
>
> On Tue, Sep 13, 2016 at 1:58 PM, Coscend@OM <OM...@coscend.com> wrote:
>> Dear OpenMeetings Users,
>>
>>
>>
>> In OM 3.1.2, while logging in the FIRST time as well as while 
>> entering a room the FIRST time after login, there is a noticeable 
>> delay during handshake (HTTP to RTMP).  This was not observed in OM 
>> 3.0.7 in the same environment.  Could you advise us the cause of the delay in 3.1.2?
>>
>> (See ID: 3 in log below)
>>
>>
>>
>> Upon exiting the room and reentering the room, there is no delay at all.
>> (See ID: 4 in log below).
>>
>>
>>
>> Could this be caused by empty field in config.xml:
>> <rtmphostlocal></rtmphostlocal>?  Is this value stored somewhere in 
>> cache after the first login so that the second time it is faster?  If 
>> so, where is it stored?
>>
>>
>>
>>
>>
>> =============
>>
>> OpenMeetings.log
>>
>> =============
>>
>> ID: 3
>>
>> Response-Code: 200
>>
>> Content-Type: application/json
>>
>> Headers: {Content-Type=[application/json], Date=[Sat, 10 Sep 2016
>> 05:20:43 GMT]}
>>
>> Payload: {"fileExplorerObject":{"userHomeSize":0,"roomHomeSize":0}}
>>
>> --------------------------------------
>>
>> DEBUG 09-10 00:20:43.780 ScopeApplicationAdapter.java 258296 1160 
>> org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
>> [RTMPConnectionExecutor-2] - -----------  setRoomValues
>>
>> DEBUG 09-10 00:20:43.797 ConferenceLogDao.java 258313 52 
>> org.apache.openmeetings.db.dao.log.ConferenceLogDao
>> [RTMPConnectionExecutor-2] - [addConferenceLog]:
>> org.apache.openmeetings.db.entity.log.ConferenceLog@74ca6007
>>
>> …
>>
>> ERROR 09-10 00:21:29.713 WicketEndpoint.java 304229 77 
>> org.apache.wicket.protocol.ws.javax.WicketEndpoint
>> [http-nio-[IP]-[port]-exec-6] - An error occurred in web socket 
>> connection with id : 1
>>
>> java.io.IOException: Broken pipe
>>
>>        at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
>>
>>        at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
>>
>>        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
>>
>>        at sun.nio.ch.IOUtil.write(IOUtil.java:65)
>>
>>        at
>> sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:492)
>>
>>        at
>> org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:124)
>>
>>        at
>> org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:
>> 183)
>>
>>        at
>> org.apache.coyote.http11.upgrade.NioServletOutputStream.doWriteIntern
>> a
>> l(NioServletOutputStream.java:94)
>>
>>        at
>> org.apache.coyote.http11.upgrade.NioServletOutputStream.doWrite(NioSe
>> r
>> vletOutputStream.java:61)
>>
>>        at
>> org.apache.coyote.http11.upgrade.AbstractServletOutputStream.writeInt
>> e
>> rnal(AbstractServletOutputStream.java:165)
>>
>>        at
>> org.apache.coyote.http11.upgrade.AbstractServletOutputStream.write(Ab
>> s
>> tractServletOutputStream.java:132)
>>
>>        at
>> org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.onWrite
>> P
>> ossible(WsRemoteEndpointImplServer.java:98)
>>
>>        at
>> org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doWrite
>> (
>> WsRemoteEndpointImplServer.java:79)
>>
>>        at
>> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart
>> (
>> WsRemoteEndpointImplBase.java:453)
>>
>>        at
>> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessage(WsR
>> e
>> moteEndpointImplBase.java:341)
>>
>>        at
>> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessageBloc
>> k
>> (WsRemoteEndpointImplBase.java:273)
>>
>>        at
>> org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:
>> 588)
>>
>>        at
>> org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:490)
>>
>>        at
>> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.onError(WsHtt
>> p
>> UpgradeHandler.java:149)
>>
>>        at
>> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.access$300(Ws
>> H
>> ttpUpgradeHandler.java:47)
>>
>>        at
>> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListene
>> r
>> .onError(WsHttpUpgradeHandler.java:206)
>>
>>        at
>> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListene
>> r
>> .onDataAvailable(WsHttpUpgradeHandler.java:189)
>>
>>        at
>> org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAva
>> i
>> lable(AbstractServletInputStream.java:198)
>>
>>        at
>> org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(Ab
>> s
>> tractProcessor.java:96)
>>
>>        at
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
>> A
>> bstractProtocol.java:647)
>>
>>        at
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpo
>> i
>> nt.java:1520)
>>
>>        at
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoin
>> t
>> .java:1476)
>>
>>        at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
>> j
>> ava:1145)
>>
>>        at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>> java:615)
>>
>>        at
>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskTh
>> r
>> ead.java:61)
>>
>>        at java.lang.Thread.run(Thread.java:745)
>>
>> DEBUG 09-10 00:21:29.715 MainPage.java 304231 223 
>> org.apache.openmeetings.web.pages.MainPage
>> [http-nio-[IP]-[port]-exec-6] - WebSocketBehavior::onClose
>>
>> ERROR 09-10 00:21:29.888 WicketEndpoint.java 304404 77 
>> org.apache.wicket.protocol.ws.javax.WicketEndpoint
>> [http-nio-[IP]-[port]-exec-6] - An error occurred in web socket 
>> connection with id : 1
>>
>> java.io.IOException: Connection reset by peer
>>
>>        at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
>>
>>        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
>>
>>        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
>>
>>        at sun.nio.ch.IOUtil.read(IOUtil.java:197)
>>
>>        at
>> sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:384)
>>
>>        at
>> org.apache.tomcat.util.net.NioChannel.read(NioChannel.java:137)
>>
>>        at
>> org.apache.coyote.http11.upgrade.NioServletInputStream.fillReadBuffer
>> (
>> NioServletInputStream.java:136)
>>
>>        at
>> org.apache.coyote.http11.upgrade.NioServletInputStream.doRead(NioServ
>> l
>> etInputStream.java:80)
>>
>>        at
>> org.apache.coyote.http11.upgrade.AbstractServletInputStream.read(Abst
>> r
>> actServletInputStream.java:124)
>>
>>        at
>> org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFr
>> a
>> meServer.java:60)
>>
>>        at
>> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListene
>> r
>> .onDataAvailable(WsHttpUpgradeHandler.java:185)
>>
>>        at
>> org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAva
>> i
>> lable(AbstractServletInputStream.java:198)
>>
>>        at
>> org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(Ab
>> s
>> tractProcessor.java:96)
>>
>>        at
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
>> A
>> bstractProtocol.java:647)
>>
>>        at
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpo
>> i
>> nt.java:1520)
>>
>>        at
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoin
>> t
>> .java:1476)
>>
>>        at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
>> j
>> ava:1145)
>>
>>        at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>> java:615)
>>
>>        at
>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskTh
>> r
>> ead.java:61)
>>
>>        at java.lang.Thread.run(Thread.java:745)
>>
>> DEBUG 09-10 00:21:31.949 SessiondataDao.java 306465 263 
>> org.apache.openmeetings.db.dao.server.SessiondataDao
>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-
>> 1
>> ] -
>> ****** clearSessionTable:
>>
>> DEBUG 09-10 00:21:31.952 SessiondataDao.java 306468 265 
>> org.apache.openmeetings.db.dao.server.SessiondataDao
>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-
>> 1
>> ] -
>> clearSessionTable: 0
>>
>> DEBUG 09-10 00:21:31.953 MeetingReminderJob.java 306469 35 
>> org.apache.openmeetings.service.quartz.scheduler.MeetingReminderJob
>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-
>> 2
>> ] - MeetingReminderJob.execute
>>
>> DEBUG 09-10 00:21:34.554 MeetingReminderJob.java 309070 35 
>> org.apache.openmeetings.service.quartz.scheduler.MeetingReminderJob
>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-
>> 2
>> ] - MeetingReminderJob.execute
>>
>> DEBUG 09-10 00:21:34.555 SessiondataDao.java 309071 263 
>> org.apache.openmeetings.db.dao.server.SessiondataDao
>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-
>> 1
>> ] -
>> ****** clearSessionTable:
>>
>> DEBUG 09-10 00:21:34.559 SessiondataDao.java 309075 265 
>> org.apache.openmeetings.db.dao.server.SessiondataDao
>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-
>> 1
>> ] -
>> clearSessionTable: 0
>>
>> [WARN] [NioProcessor-4] org.apache.mina.core.service.IoProcessor - 
>> Create a new selector. Selected is 0, delta = 0
>>
>> [WARN] [RTMPConnectionScheduler-2]
>> org.red5.server.net.rtmp.RTMPConnection - Closing connection - 
>> inactivity timeout: session=[V6BEIJ0K2XRTE],
>> lastPongReceived=[60008 ms ago], lastPingSent=[5001 ms ago],
>> lastDataRx=[70009 ms ago]
>>
>> [WARN] [RTMPConnectionScheduler-2]
>> org.red5.server.net.rtmp.RTMPConnection - Client on 
>> session=[V6BEIJ0K2XRTE] has not responded to our ping for [60008 ms] 
>> and we haven't received data for [70009 ms]
>>
>> java.lang.InterruptedException
>>
>>        at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireShare
>> d
>> Nanos(AbstractQueuedSynchronizer.java:1325)
>>
>>        at
>> java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:414)
>>
>>        at
>> org.red5.server.adapter.ApplicationAdapter.disconnect(ApplicationAdap
>> t
>> er.java:91)
>>
>>        at org.red5.server.scope.Scope.disconnect(Scope.java:352)
>>
>>        at
>> org.red5.server.BaseConnection.close(BaseConnection.java:402)
>>
>>        at
>> org.red5.server.net.rtmp.RTMPConnection.close(RTMPConnection.java:990
>> )
>>
>>        at
>> org.red5.server.net.rtmpt.BaseRTMPTConnection.close(BaseRTMPTConnecti
>> o
>> n.java:131)
>>
>>        at
>> org.red5.server.net.rtmpt.RTMPTConnection.close(RTMPTConnection.java:
>> 1
>> 28)
>>
>>        at
>> org.red5.server.net.rtmpt.RTMPTConnection.onInactive(RTMPTConnection.
>> j
>> ava:108)
>>
>>        at
>> org.red5.server.net.rtmp.RTMPConnection$KeepAliveTask.run(RTMPConnect
>> i
>> on.java:1897)
>>
>>        at
>> org.springframework.scheduling.support.DelegatingErrorHandlingRunnabl
>> e
>> .run(DelegatingErrorHandlingRunnable.java:54)
>>
>>        at
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:47
>> 1
>> )
>>
>>        at
>> java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
>>
>>        at
>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
>> a
>> ccess$301(ScheduledThreadPoolExecutor.java:178)
>>
>>        at
>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
>> r
>> un(ScheduledThreadPoolExecutor.java:293)
>>
>>        at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
>> j
>> ava:1145)
>>
>>        at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>> java:615)
>>
>>        at java.lang.Thread.run(Thread.java:745)
>>
>> DEBUG 09-10 00:21:53.516 MultiThreadedApplicationAdapter.java 328032
>> 507 org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
>> [RTMPConnectionScheduler-2] - leave: Client: V6BEIJ0K2XRTE << Scope 
>> [name=5, path=/default/test.om, type=ROOM, autoStart=true, 
>> creationTime=1473484696211, depth=2, enabled=true, running=true]
>>
>> autoStart=true, creationTime=1473484696211, depth=2, enabled=true, 
>> running=true]
>>
>> …
>>
>> DEBUG 09-10 00:21:53.557 MultiThreadedApplicationAdapter.java 328073
>> 711 org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
>> [RTMPConnectionScheduler-2] - appLeave: Client: V6BEIJ0K2XRTE << 
>> Scope [name=test.om, path=/default, type=APPLICATION, autoStart=true, 
>> creationTime=1473484588481, depth=1, enabled=true, running=true]
>>
>> [ERROR] [RTMPConnectionExecutor-4]
>> org.red5.server.service.ServiceInvoker - Error executing call:
>> Service: null Method: play Num Params: 2 0: undefined
>> 1: NaN
>>
>> java.lang.IllegalArgumentException: argument type mismatch
>>
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>
>>        at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
>> j
>> ava:57)
>>
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
>> s
>> orImpl.java:43)
>>
>>        at java.lang.reflect.Method.invoke(Method.java:606)
>>
>>        at
>> org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:189
>> )
>>
>>        at
>> org.red5.server.net.rtmp.RTMPHandler.invokeCall(RTMPHandler.java:214)
>>
>>        at
>> org.red5.server.net.rtmp.RTMPHandler.onCommand(RTMPHandler.java:276)
>>
>>        at
>> org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHand
>> l
>> er.java:116)
>>
>>        at
>> org.red5.server.net.rtmp.ReceivedMessageTask.call(ReceivedMessageTask.
>> java:72)
>>
>>        at
>> org.red5.server.net.rtmp.ReceivedMessageTask.call(ReceivedMessageTask.
>> java:38)
>>
>>        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>>
>>        at
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:47
>> 1
>> )
>>
>>        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>>
>>        at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
>> j
>> ava:1145)
>>
>>        at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>> java:615)
>>
>>        at java.lang.Thread.run(Thread.java:745)
>>
>> [WARN] [RTMPConnectionExecutor-4] org.red5.server.net.rtmp.Channel - 
>> Non-existant stream for channel id: 8, session: DUNX6UQ7J3LP6 discarding:
>> Invoke #0: Service: null Method: play Num Params: 2 0: undefined 1:
>> NaN
>>
>>
>>
>>
>>
>> ID: 4
>>
>> Response-Code: 200
>>
>> Content-Type: application/json
>>
>> Headers: {Content-Type=[application/json], Date=[Sat, 10 Sep 2016
>> 05:27:51 GMT]}
>>
>> Payload: {"fileExplorerObject":{"userHomeSize":0,"roomHomeSize":0}}
>>
>> --------------------------------------
>>
>> DEBUG 09-10 00:27:51.330 ScopeApplicationAdapter.java 685846 1160 
>> org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
>> [RTMPConnectionExecutor-1] - -----------  setRoomValues
>>
>> DEBUG 09-10 00:27:51.351 ConferenceLogDao.java 685867 52 
>> org.apache.openmeetings.db.dao.log.ConferenceLogDao
>> [RTMPConnectionExecutor-1] - [addConferenceLog]:
>> org.apache.openmeetings.db.entity.log.ConferenceLog@2b48c62a
>>
>> DEBUG 09-10 00:27:51.417 RecordingService.java 685933 377 
>> org.apache.openmeetings.core.remote.RecordingService
>> [RTMPConnectionExecutor-3] - getCurrentRoomClient -2- 1
>>
>>
>>
>>
>>
>>
>>
>> Thank you.
>>
>>
>>
>> Sincerely,
>>
>>
>>
>> Hemant K. Sabat
>>
>>
>>
>> Coscend Communications Solutions
>>
>> Web site: www.Coscend.com
>>
>> ------------------------------------------------------------------
>>
>> CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail 
>> Messages from Coscend Communications Solutions' posted at:
>> http://www.Coscend.com/Terms_and_Conditions.html
>
>



--
WBR
Maxim aka solomax



-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2016.0.7752 / Virus Database: 4649/13010 - Release Date: 09/13/16



Re: RTMP Connection Delay

Posted by Maxim Solodovnik <so...@gmail.com>.
delay is caused by your FW settings
set REJECT (instead of DENY) for 1935 and it will speed-up everything

On Tue, Sep 13, 2016 at 11:48 PM, Coscend@OM <OM...@coscend.com> wrote:
> Dear Maxim,
>
> Yes, we are using reverse proxy.
> Reverse proxy open:  5080
> OS Firewall open: 1935, 5080.
>
> FIRST time entering room takes 1 MINUTE during handshake.
> Exit room.
> SECOND time entering room takes only 1 SECOND.
>
> Only in 3.1.2.  In 3.0.7, no delay.
>
>
> Could this delay be caused by empty field in config.xml: <rtmphostlocal></rtmphostlocal>?
> Is this value stored somewhere in cache after the first login so that the second time it is faster?  If so, where is it stored?
>
>
> Thank you.
>
> Sincerely,
>
> Hemant K. Sabat
>
> Coscend Communications Solutions
> Web site: www.Coscend.com
> ------------------------------------------------------------------
> CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail Messages from Coscend Communications Solutions' posted at: http://www.Coscend.com/Terms_and_Conditions.html
>
>
>
> -----Original Message-----
> From: Maxim Solodovnik [mailto:solomax666@gmail.com]
> Sent: Tuesday, September 13, 2016 2:10 AM
> To: Openmeetings user-list <us...@openmeetings.apache.org>; OM.Insights@Coscend.com
> Subject: Re: RTMP Connection Delay
>
> Are you behind the proxy? apache/nginx with port 1935 closed?
>
> On Tue, Sep 13, 2016 at 1:58 PM, Coscend@OM <OM...@coscend.com> wrote:
>> Dear OpenMeetings Users,
>>
>>
>>
>> In OM 3.1.2, while logging in the FIRST time as well as while entering
>> a room the FIRST time after login, there is a noticeable delay during
>> handshake (HTTP to RTMP).  This was not observed in OM 3.0.7 in the
>> same environment.  Could you advise us the cause of the delay in 3.1.2?
>>
>> (See ID: 3 in log below)
>>
>>
>>
>> Upon exiting the room and reentering the room, there is no delay at all.
>> (See ID: 4 in log below).
>>
>>
>>
>> Could this be caused by empty field in config.xml:
>> <rtmphostlocal></rtmphostlocal>?  Is this value stored somewhere in
>> cache after the first login so that the second time it is faster?  If
>> so, where is it stored?
>>
>>
>>
>>
>>
>> =============
>>
>> OpenMeetings.log
>>
>> =============
>>
>> ID: 3
>>
>> Response-Code: 200
>>
>> Content-Type: application/json
>>
>> Headers: {Content-Type=[application/json], Date=[Sat, 10 Sep 2016
>> 05:20:43 GMT]}
>>
>> Payload: {"fileExplorerObject":{"userHomeSize":0,"roomHomeSize":0}}
>>
>> --------------------------------------
>>
>> DEBUG 09-10 00:20:43.780 ScopeApplicationAdapter.java 258296 1160
>> org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
>> [RTMPConnectionExecutor-2] - -----------  setRoomValues
>>
>> DEBUG 09-10 00:20:43.797 ConferenceLogDao.java 258313 52
>> org.apache.openmeetings.db.dao.log.ConferenceLogDao
>> [RTMPConnectionExecutor-2] - [addConferenceLog]:
>> org.apache.openmeetings.db.entity.log.ConferenceLog@74ca6007
>>
>> …
>>
>> ERROR 09-10 00:21:29.713 WicketEndpoint.java 304229 77
>> org.apache.wicket.protocol.ws.javax.WicketEndpoint
>> [http-nio-[IP]-[port]-exec-6] - An error occurred in web socket
>> connection with id : 1
>>
>> java.io.IOException: Broken pipe
>>
>>        at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
>>
>>        at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
>>
>>        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
>>
>>        at sun.nio.ch.IOUtil.write(IOUtil.java:65)
>>
>>        at
>> sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:492)
>>
>>        at
>> org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:124)
>>
>>        at
>> org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:
>> 183)
>>
>>        at
>> org.apache.coyote.http11.upgrade.NioServletOutputStream.doWriteInterna
>> l(NioServletOutputStream.java:94)
>>
>>        at
>> org.apache.coyote.http11.upgrade.NioServletOutputStream.doWrite(NioSer
>> vletOutputStream.java:61)
>>
>>        at
>> org.apache.coyote.http11.upgrade.AbstractServletOutputStream.writeInte
>> rnal(AbstractServletOutputStream.java:165)
>>
>>        at
>> org.apache.coyote.http11.upgrade.AbstractServletOutputStream.write(Abs
>> tractServletOutputStream.java:132)
>>
>>        at
>> org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.onWriteP
>> ossible(WsRemoteEndpointImplServer.java:98)
>>
>>        at
>> org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doWrite(
>> WsRemoteEndpointImplServer.java:79)
>>
>>        at
>> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(
>> WsRemoteEndpointImplBase.java:453)
>>
>>        at
>> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessage(WsRe
>> moteEndpointImplBase.java:341)
>>
>>        at
>> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessageBlock
>> (WsRemoteEndpointImplBase.java:273)
>>
>>        at
>> org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:
>> 588)
>>
>>        at
>> org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:490)
>>
>>        at
>> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.onError(WsHttp
>> UpgradeHandler.java:149)
>>
>>        at
>> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.access$300(WsH
>> ttpUpgradeHandler.java:47)
>>
>>        at
>> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener
>> .onError(WsHttpUpgradeHandler.java:206)
>>
>>        at
>> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener
>> .onDataAvailable(WsHttpUpgradeHandler.java:189)
>>
>>        at
>> org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAvai
>> lable(AbstractServletInputStream.java:198)
>>
>>        at
>> org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(Abs
>> tractProcessor.java:96)
>>
>>        at
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
>> bstractProtocol.java:647)
>>
>>        at
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoi
>> nt.java:1520)
>>
>>        at
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint
>> .java:1476)
>>
>>        at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
>> ava:1145)
>>
>>        at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>> java:615)
>>
>>        at
>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
>> ead.java:61)
>>
>>        at java.lang.Thread.run(Thread.java:745)
>>
>> DEBUG 09-10 00:21:29.715 MainPage.java 304231 223
>> org.apache.openmeetings.web.pages.MainPage
>> [http-nio-[IP]-[port]-exec-6] - WebSocketBehavior::onClose
>>
>> ERROR 09-10 00:21:29.888 WicketEndpoint.java 304404 77
>> org.apache.wicket.protocol.ws.javax.WicketEndpoint
>> [http-nio-[IP]-[port]-exec-6] - An error occurred in web socket
>> connection with id : 1
>>
>> java.io.IOException: Connection reset by peer
>>
>>        at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
>>
>>        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
>>
>>        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
>>
>>        at sun.nio.ch.IOUtil.read(IOUtil.java:197)
>>
>>        at
>> sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:384)
>>
>>        at
>> org.apache.tomcat.util.net.NioChannel.read(NioChannel.java:137)
>>
>>        at
>> org.apache.coyote.http11.upgrade.NioServletInputStream.fillReadBuffer(
>> NioServletInputStream.java:136)
>>
>>        at
>> org.apache.coyote.http11.upgrade.NioServletInputStream.doRead(NioServl
>> etInputStream.java:80)
>>
>>        at
>> org.apache.coyote.http11.upgrade.AbstractServletInputStream.read(Abstr
>> actServletInputStream.java:124)
>>
>>        at
>> org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFra
>> meServer.java:60)
>>
>>        at
>> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener
>> .onDataAvailable(WsHttpUpgradeHandler.java:185)
>>
>>        at
>> org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAvai
>> lable(AbstractServletInputStream.java:198)
>>
>>        at
>> org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(Abs
>> tractProcessor.java:96)
>>
>>        at
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
>> bstractProtocol.java:647)
>>
>>        at
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoi
>> nt.java:1520)
>>
>>        at
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint
>> .java:1476)
>>
>>        at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
>> ava:1145)
>>
>>        at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>> java:615)
>>
>>        at
>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
>> ead.java:61)
>>
>>        at java.lang.Thread.run(Thread.java:745)
>>
>> DEBUG 09-10 00:21:31.949 SessiondataDao.java 306465 263
>> org.apache.openmeetings.db.dao.server.SessiondataDao
>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1
>> ] -
>> ****** clearSessionTable:
>>
>> DEBUG 09-10 00:21:31.952 SessiondataDao.java 306468 265
>> org.apache.openmeetings.db.dao.server.SessiondataDao
>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1
>> ] -
>> clearSessionTable: 0
>>
>> DEBUG 09-10 00:21:31.953 MeetingReminderJob.java 306469 35
>> org.apache.openmeetings.service.quartz.scheduler.MeetingReminderJob
>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2
>> ] - MeetingReminderJob.execute
>>
>> DEBUG 09-10 00:21:34.554 MeetingReminderJob.java 309070 35
>> org.apache.openmeetings.service.quartz.scheduler.MeetingReminderJob
>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2
>> ] - MeetingReminderJob.execute
>>
>> DEBUG 09-10 00:21:34.555 SessiondataDao.java 309071 263
>> org.apache.openmeetings.db.dao.server.SessiondataDao
>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1
>> ] -
>> ****** clearSessionTable:
>>
>> DEBUG 09-10 00:21:34.559 SessiondataDao.java 309075 265
>> org.apache.openmeetings.db.dao.server.SessiondataDao
>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1
>> ] -
>> clearSessionTable: 0
>>
>> [WARN] [NioProcessor-4] org.apache.mina.core.service.IoProcessor -
>> Create a new selector. Selected is 0, delta = 0
>>
>> [WARN] [RTMPConnectionScheduler-2]
>> org.red5.server.net.rtmp.RTMPConnection - Closing connection -
>> inactivity timeout: session=[V6BEIJ0K2XRTE],
>> lastPongReceived=[60008 ms ago], lastPingSent=[5001 ms ago],
>> lastDataRx=[70009 ms ago]
>>
>> [WARN] [RTMPConnectionScheduler-2]
>> org.red5.server.net.rtmp.RTMPConnection - Client on
>> session=[V6BEIJ0K2XRTE] has not responded to our ping for [60008 ms]
>> and we haven't received data for [70009 ms]
>>
>> java.lang.InterruptedException
>>
>>        at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireShared
>> Nanos(AbstractQueuedSynchronizer.java:1325)
>>
>>        at
>> java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:414)
>>
>>        at
>> org.red5.server.adapter.ApplicationAdapter.disconnect(ApplicationAdapt
>> er.java:91)
>>
>>        at org.red5.server.scope.Scope.disconnect(Scope.java:352)
>>
>>        at
>> org.red5.server.BaseConnection.close(BaseConnection.java:402)
>>
>>        at
>> org.red5.server.net.rtmp.RTMPConnection.close(RTMPConnection.java:990)
>>
>>        at
>> org.red5.server.net.rtmpt.BaseRTMPTConnection.close(BaseRTMPTConnectio
>> n.java:131)
>>
>>        at
>> org.red5.server.net.rtmpt.RTMPTConnection.close(RTMPTConnection.java:1
>> 28)
>>
>>        at
>> org.red5.server.net.rtmpt.RTMPTConnection.onInactive(RTMPTConnection.j
>> ava:108)
>>
>>        at
>> org.red5.server.net.rtmp.RTMPConnection$KeepAliveTask.run(RTMPConnecti
>> on.java:1897)
>>
>>        at
>> org.springframework.scheduling.support.DelegatingErrorHandlingRunnable
>> .run(DelegatingErrorHandlingRunnable.java:54)
>>
>>        at
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471
>> )
>>
>>        at
>> java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
>>
>>        at
>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.a
>> ccess$301(ScheduledThreadPoolExecutor.java:178)
>>
>>        at
>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.r
>> un(ScheduledThreadPoolExecutor.java:293)
>>
>>        at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
>> ava:1145)
>>
>>        at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>> java:615)
>>
>>        at java.lang.Thread.run(Thread.java:745)
>>
>> DEBUG 09-10 00:21:53.516 MultiThreadedApplicationAdapter.java 328032
>> 507 org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
>> [RTMPConnectionScheduler-2] - leave: Client: V6BEIJ0K2XRTE << Scope
>> [name=5, path=/default/test.om, type=ROOM, autoStart=true,
>> creationTime=1473484696211, depth=2, enabled=true, running=true]
>>
>> autoStart=true, creationTime=1473484696211, depth=2, enabled=true,
>> running=true]
>>
>> …
>>
>> DEBUG 09-10 00:21:53.557 MultiThreadedApplicationAdapter.java 328073
>> 711 org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
>> [RTMPConnectionScheduler-2] - appLeave: Client: V6BEIJ0K2XRTE << Scope
>> [name=test.om, path=/default, type=APPLICATION, autoStart=true,
>> creationTime=1473484588481, depth=1, enabled=true, running=true]
>>
>> [ERROR] [RTMPConnectionExecutor-4]
>> org.red5.server.service.ServiceInvoker - Error executing call:
>> Service: null Method: play Num Params: 2 0: undefined
>> 1: NaN
>>
>> java.lang.IllegalArgumentException: argument type mismatch
>>
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>
>>        at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
>> ava:57)
>>
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
>> orImpl.java:43)
>>
>>        at java.lang.reflect.Method.invoke(Method.java:606)
>>
>>        at
>> org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:189)
>>
>>        at
>> org.red5.server.net.rtmp.RTMPHandler.invokeCall(RTMPHandler.java:214)
>>
>>        at
>> org.red5.server.net.rtmp.RTMPHandler.onCommand(RTMPHandler.java:276)
>>
>>        at
>> org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHandl
>> er.java:116)
>>
>>        at
>> org.red5.server.net.rtmp.ReceivedMessageTask.call(ReceivedMessageTask.
>> java:72)
>>
>>        at
>> org.red5.server.net.rtmp.ReceivedMessageTask.call(ReceivedMessageTask.
>> java:38)
>>
>>        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>>
>>        at
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471
>> )
>>
>>        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>>
>>        at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
>> ava:1145)
>>
>>        at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>> java:615)
>>
>>        at java.lang.Thread.run(Thread.java:745)
>>
>> [WARN] [RTMPConnectionExecutor-4] org.red5.server.net.rtmp.Channel -
>> Non-existant stream for channel id: 8, session: DUNX6UQ7J3LP6 discarding:
>> Invoke #0: Service: null Method: play Num Params: 2 0: undefined 1:
>> NaN
>>
>>
>>
>>
>>
>> ID: 4
>>
>> Response-Code: 200
>>
>> Content-Type: application/json
>>
>> Headers: {Content-Type=[application/json], Date=[Sat, 10 Sep 2016
>> 05:27:51 GMT]}
>>
>> Payload: {"fileExplorerObject":{"userHomeSize":0,"roomHomeSize":0}}
>>
>> --------------------------------------
>>
>> DEBUG 09-10 00:27:51.330 ScopeApplicationAdapter.java 685846 1160
>> org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
>> [RTMPConnectionExecutor-1] - -----------  setRoomValues
>>
>> DEBUG 09-10 00:27:51.351 ConferenceLogDao.java 685867 52
>> org.apache.openmeetings.db.dao.log.ConferenceLogDao
>> [RTMPConnectionExecutor-1] - [addConferenceLog]:
>> org.apache.openmeetings.db.entity.log.ConferenceLog@2b48c62a
>>
>> DEBUG 09-10 00:27:51.417 RecordingService.java 685933 377
>> org.apache.openmeetings.core.remote.RecordingService
>> [RTMPConnectionExecutor-3] - getCurrentRoomClient -2- 1
>>
>>
>>
>>
>>
>>
>>
>> Thank you.
>>
>>
>>
>> Sincerely,
>>
>>
>>
>> Hemant K. Sabat
>>
>>
>>
>> Coscend Communications Solutions
>>
>> Web site: www.Coscend.com
>>
>> ------------------------------------------------------------------
>>
>> CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail
>> Messages from Coscend Communications Solutions' posted at:
>> http://www.Coscend.com/Terms_and_Conditions.html
>
>



-- 
WBR
Maxim aka solomax

RE: RTMP Connection Delay

Posted by "Coscend@OM" <OM...@Coscend.com>.
Dear Maxim,

Yes, we are using reverse proxy.
Reverse proxy open:  5080
OS Firewall open: 1935, 5080.

FIRST time entering room takes 1 MINUTE during handshake.
Exit room.
SECOND time entering room takes only 1 SECOND.

Only in 3.1.2.  In 3.0.7, no delay.


Could this delay be caused by empty field in config.xml: <rtmphostlocal></rtmphostlocal>?  
Is this value stored somewhere in cache after the first login so that the second time it is faster?  If so, where is it stored?


Thank you.

Sincerely,

Hemant K. Sabat

Coscend Communications Solutions
Web site: www.Coscend.com 
------------------------------------------------------------------
CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail Messages from Coscend Communications Solutions' posted at: http://www.Coscend.com/Terms_and_Conditions.html 



-----Original Message-----
From: Maxim Solodovnik [mailto:solomax666@gmail.com] 
Sent: Tuesday, September 13, 2016 2:10 AM
To: Openmeetings user-list <us...@openmeetings.apache.org>; OM.Insights@Coscend.com
Subject: Re: RTMP Connection Delay

Are you behind the proxy? apache/nginx with port 1935 closed?

On Tue, Sep 13, 2016 at 1:58 PM, Coscend@OM <OM...@coscend.com> wrote:
> Dear OpenMeetings Users,
>
>
>
> In OM 3.1.2, while logging in the FIRST time as well as while entering 
> a room the FIRST time after login, there is a noticeable delay during 
> handshake (HTTP to RTMP).  This was not observed in OM 3.0.7 in the 
> same environment.  Could you advise us the cause of the delay in 3.1.2?
>
> (See ID: 3 in log below)
>
>
>
> Upon exiting the room and reentering the room, there is no delay at all.
> (See ID: 4 in log below).
>
>
>
> Could this be caused by empty field in config.xml:
> <rtmphostlocal></rtmphostlocal>?  Is this value stored somewhere in 
> cache after the first login so that the second time it is faster?  If 
> so, where is it stored?
>
>
>
>
>
> =============
>
> OpenMeetings.log
>
> =============
>
> ID: 3
>
> Response-Code: 200
>
> Content-Type: application/json
>
> Headers: {Content-Type=[application/json], Date=[Sat, 10 Sep 2016 
> 05:20:43 GMT]}
>
> Payload: {"fileExplorerObject":{"userHomeSize":0,"roomHomeSize":0}}
>
> --------------------------------------
>
> DEBUG 09-10 00:20:43.780 ScopeApplicationAdapter.java 258296 1160 
> org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
> [RTMPConnectionExecutor-2] - -----------  setRoomValues
>
> DEBUG 09-10 00:20:43.797 ConferenceLogDao.java 258313 52 
> org.apache.openmeetings.db.dao.log.ConferenceLogDao
> [RTMPConnectionExecutor-2] - [addConferenceLog]:
> org.apache.openmeetings.db.entity.log.ConferenceLog@74ca6007
>
> …
>
> ERROR 09-10 00:21:29.713 WicketEndpoint.java 304229 77 
> org.apache.wicket.protocol.ws.javax.WicketEndpoint
> [http-nio-[IP]-[port]-exec-6] - An error occurred in web socket 
> connection with id : 1
>
> java.io.IOException: Broken pipe
>
>        at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
>
>        at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
>
>        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
>
>        at sun.nio.ch.IOUtil.write(IOUtil.java:65)
>
>        at 
> sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:492)
>
>        at 
> org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:124)
>
>        at
> org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:
> 183)
>
>        at
> org.apache.coyote.http11.upgrade.NioServletOutputStream.doWriteInterna
> l(NioServletOutputStream.java:94)
>
>        at
> org.apache.coyote.http11.upgrade.NioServletOutputStream.doWrite(NioSer
> vletOutputStream.java:61)
>
>        at
> org.apache.coyote.http11.upgrade.AbstractServletOutputStream.writeInte
> rnal(AbstractServletOutputStream.java:165)
>
>        at
> org.apache.coyote.http11.upgrade.AbstractServletOutputStream.write(Abs
> tractServletOutputStream.java:132)
>
>        at
> org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.onWriteP
> ossible(WsRemoteEndpointImplServer.java:98)
>
>        at
> org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doWrite(
> WsRemoteEndpointImplServer.java:79)
>
>        at
> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(
> WsRemoteEndpointImplBase.java:453)
>
>        at
> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessage(WsRe
> moteEndpointImplBase.java:341)
>
>        at
> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessageBlock
> (WsRemoteEndpointImplBase.java:273)
>
>        at
> org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:
> 588)
>
>        at 
> org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:490)
>
>        at
> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.onError(WsHttp
> UpgradeHandler.java:149)
>
>        at
> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.access$300(WsH
> ttpUpgradeHandler.java:47)
>
>        at
> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener
> .onError(WsHttpUpgradeHandler.java:206)
>
>        at
> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener
> .onDataAvailable(WsHttpUpgradeHandler.java:189)
>
>        at
> org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAvai
> lable(AbstractServletInputStream.java:198)
>
>        at
> org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(Abs
> tractProcessor.java:96)
>
>        at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> bstractProtocol.java:647)
>
>        at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoi
> nt.java:1520)
>
>        at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint
> .java:1476)
>
>        at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> ava:1145)
>
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:615)
>
>        at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
> ead.java:61)
>
>        at java.lang.Thread.run(Thread.java:745)
>
> DEBUG 09-10 00:21:29.715 MainPage.java 304231 223 
> org.apache.openmeetings.web.pages.MainPage 
> [http-nio-[IP]-[port]-exec-6] - WebSocketBehavior::onClose
>
> ERROR 09-10 00:21:29.888 WicketEndpoint.java 304404 77 
> org.apache.wicket.protocol.ws.javax.WicketEndpoint
> [http-nio-[IP]-[port]-exec-6] - An error occurred in web socket 
> connection with id : 1
>
> java.io.IOException: Connection reset by peer
>
>        at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
>
>        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
>
>        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
>
>        at sun.nio.ch.IOUtil.read(IOUtil.java:197)
>
>        at 
> sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:384)
>
>        at 
> org.apache.tomcat.util.net.NioChannel.read(NioChannel.java:137)
>
>        at
> org.apache.coyote.http11.upgrade.NioServletInputStream.fillReadBuffer(
> NioServletInputStream.java:136)
>
>        at
> org.apache.coyote.http11.upgrade.NioServletInputStream.doRead(NioServl
> etInputStream.java:80)
>
>        at
> org.apache.coyote.http11.upgrade.AbstractServletInputStream.read(Abstr
> actServletInputStream.java:124)
>
>        at
> org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFra
> meServer.java:60)
>
>        at
> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener
> .onDataAvailable(WsHttpUpgradeHandler.java:185)
>
>        at
> org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAvai
> lable(AbstractServletInputStream.java:198)
>
>        at
> org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(Abs
> tractProcessor.java:96)
>
>        at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> bstractProtocol.java:647)
>
>        at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoi
> nt.java:1520)
>
>        at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint
> .java:1476)
>
>        at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> ava:1145)
>
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:615)
>
>        at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
> ead.java:61)
>
>        at java.lang.Thread.run(Thread.java:745)
>
> DEBUG 09-10 00:21:31.949 SessiondataDao.java 306465 263 
> org.apache.openmeetings.db.dao.server.SessiondataDao
> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1
> ] -
> ****** clearSessionTable:
>
> DEBUG 09-10 00:21:31.952 SessiondataDao.java 306468 265 
> org.apache.openmeetings.db.dao.server.SessiondataDao
> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1
> ] -
> clearSessionTable: 0
>
> DEBUG 09-10 00:21:31.953 MeetingReminderJob.java 306469 35 
> org.apache.openmeetings.service.quartz.scheduler.MeetingReminderJob
> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2
> ] - MeetingReminderJob.execute
>
> DEBUG 09-10 00:21:34.554 MeetingReminderJob.java 309070 35 
> org.apache.openmeetings.service.quartz.scheduler.MeetingReminderJob
> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2
> ] - MeetingReminderJob.execute
>
> DEBUG 09-10 00:21:34.555 SessiondataDao.java 309071 263 
> org.apache.openmeetings.db.dao.server.SessiondataDao
> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1
> ] -
> ****** clearSessionTable:
>
> DEBUG 09-10 00:21:34.559 SessiondataDao.java 309075 265 
> org.apache.openmeetings.db.dao.server.SessiondataDao
> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1
> ] -
> clearSessionTable: 0
>
> [WARN] [NioProcessor-4] org.apache.mina.core.service.IoProcessor - 
> Create a new selector. Selected is 0, delta = 0
>
> [WARN] [RTMPConnectionScheduler-2] 
> org.red5.server.net.rtmp.RTMPConnection - Closing connection - 
> inactivity timeout: session=[V6BEIJ0K2XRTE],
> lastPongReceived=[60008 ms ago], lastPingSent=[5001 ms ago],
> lastDataRx=[70009 ms ago]
>
> [WARN] [RTMPConnectionScheduler-2] 
> org.red5.server.net.rtmp.RTMPConnection - Client on 
> session=[V6BEIJ0K2XRTE] has not responded to our ping for [60008 ms] 
> and we haven't received data for [70009 ms]
>
> java.lang.InterruptedException
>
>        at
> java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireShared
> Nanos(AbstractQueuedSynchronizer.java:1325)
>
>        at 
> java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:414)
>
>        at
> org.red5.server.adapter.ApplicationAdapter.disconnect(ApplicationAdapt
> er.java:91)
>
>        at org.red5.server.scope.Scope.disconnect(Scope.java:352)
>
>        at 
> org.red5.server.BaseConnection.close(BaseConnection.java:402)
>
>        at
> org.red5.server.net.rtmp.RTMPConnection.close(RTMPConnection.java:990)
>
>        at
> org.red5.server.net.rtmpt.BaseRTMPTConnection.close(BaseRTMPTConnectio
> n.java:131)
>
>        at
> org.red5.server.net.rtmpt.RTMPTConnection.close(RTMPTConnection.java:1
> 28)
>
>        at
> org.red5.server.net.rtmpt.RTMPTConnection.onInactive(RTMPTConnection.j
> ava:108)
>
>        at
> org.red5.server.net.rtmp.RTMPConnection$KeepAliveTask.run(RTMPConnecti
> on.java:1897)
>
>        at
> org.springframework.scheduling.support.DelegatingErrorHandlingRunnable
> .run(DelegatingErrorHandlingRunnable.java:54)
>
>        at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471
> )
>
>        at 
> java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
>
>        at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.a
> ccess$301(ScheduledThreadPoolExecutor.java:178)
>
>        at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.r
> un(ScheduledThreadPoolExecutor.java:293)
>
>        at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> ava:1145)
>
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:615)
>
>        at java.lang.Thread.run(Thread.java:745)
>
> DEBUG 09-10 00:21:53.516 MultiThreadedApplicationAdapter.java 328032 
> 507 org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
> [RTMPConnectionScheduler-2] - leave: Client: V6BEIJ0K2XRTE << Scope 
> [name=5, path=/default/test.om, type=ROOM, autoStart=true, 
> creationTime=1473484696211, depth=2, enabled=true, running=true]
>
> autoStart=true, creationTime=1473484696211, depth=2, enabled=true, 
> running=true]
>
> …
>
> DEBUG 09-10 00:21:53.557 MultiThreadedApplicationAdapter.java 328073 
> 711 org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
> [RTMPConnectionScheduler-2] - appLeave: Client: V6BEIJ0K2XRTE << Scope 
> [name=test.om, path=/default, type=APPLICATION, autoStart=true, 
> creationTime=1473484588481, depth=1, enabled=true, running=true]
>
> [ERROR] [RTMPConnectionExecutor-4] 
> org.red5.server.service.ServiceInvoker - Error executing call: 
> Service: null Method: play Num Params: 2 0: undefined
> 1: NaN
>
> java.lang.IllegalArgumentException: argument type mismatch
>
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
> ava:57)
>
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl.java:43)
>
>        at java.lang.reflect.Method.invoke(Method.java:606)
>
>        at
> org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:189)
>
>        at
> org.red5.server.net.rtmp.RTMPHandler.invokeCall(RTMPHandler.java:214)
>
>        at
> org.red5.server.net.rtmp.RTMPHandler.onCommand(RTMPHandler.java:276)
>
>        at
> org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHandl
> er.java:116)
>
>        at
> org.red5.server.net.rtmp.ReceivedMessageTask.call(ReceivedMessageTask.
> java:72)
>
>        at
> org.red5.server.net.rtmp.ReceivedMessageTask.call(ReceivedMessageTask.
> java:38)
>
>        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>
>        at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471
> )
>
>        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>
>        at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> ava:1145)
>
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:615)
>
>        at java.lang.Thread.run(Thread.java:745)
>
> [WARN] [RTMPConnectionExecutor-4] org.red5.server.net.rtmp.Channel - 
> Non-existant stream for channel id: 8, session: DUNX6UQ7J3LP6 discarding:
> Invoke #0: Service: null Method: play Num Params: 2 0: undefined 1: 
> NaN
>
>
>
>
>
> ID: 4
>
> Response-Code: 200
>
> Content-Type: application/json
>
> Headers: {Content-Type=[application/json], Date=[Sat, 10 Sep 2016 
> 05:27:51 GMT]}
>
> Payload: {"fileExplorerObject":{"userHomeSize":0,"roomHomeSize":0}}
>
> --------------------------------------
>
> DEBUG 09-10 00:27:51.330 ScopeApplicationAdapter.java 685846 1160 
> org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
> [RTMPConnectionExecutor-1] - -----------  setRoomValues
>
> DEBUG 09-10 00:27:51.351 ConferenceLogDao.java 685867 52 
> org.apache.openmeetings.db.dao.log.ConferenceLogDao
> [RTMPConnectionExecutor-1] - [addConferenceLog]:
> org.apache.openmeetings.db.entity.log.ConferenceLog@2b48c62a
>
> DEBUG 09-10 00:27:51.417 RecordingService.java 685933 377 
> org.apache.openmeetings.core.remote.RecordingService
> [RTMPConnectionExecutor-3] - getCurrentRoomClient -2- 1
>
>
>
>
>
>
>
> Thank you.
>
>
>
> Sincerely,
>
>
>
> Hemant K. Sabat
>
>
>
> Coscend Communications Solutions
>
> Web site: www.Coscend.com
>
> ------------------------------------------------------------------
>
> CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail 
> Messages from Coscend Communications Solutions' posted at:
> http://www.Coscend.com/Terms_and_Conditions.html



Re: RTMP Connection Delay

Posted by Maxim Solodovnik <so...@gmail.com>.
Are you behind the proxy? apache/nginx with port 1935 closed?

On Tue, Sep 13, 2016 at 1:58 PM, Coscend@OM <OM...@coscend.com> wrote:
> Dear OpenMeetings Users,
>
>
>
> In OM 3.1.2, while logging in the FIRST time as well as while entering a
> room the FIRST time after login, there is a noticeable delay during
> handshake (HTTP to RTMP).  This was not observed in OM 3.0.7 in the same
> environment.  Could you advise us the cause of the delay in 3.1.2?
>
> (See ID: 3 in log below)
>
>
>
> Upon exiting the room and reentering the room, there is no delay at all.
> (See ID: 4 in log below).
>
>
>
> Could this be caused by empty field in config.xml:
> <rtmphostlocal></rtmphostlocal>?  Is this value stored somewhere in cache
> after the first login so that the second time it is faster?  If so, where is
> it stored?
>
>
>
>
>
> =============
>
> OpenMeetings.log
>
> =============
>
> ID: 3
>
> Response-Code: 200
>
> Content-Type: application/json
>
> Headers: {Content-Type=[application/json], Date=[Sat, 10 Sep 2016 05:20:43
> GMT]}
>
> Payload: {"fileExplorerObject":{"userHomeSize":0,"roomHomeSize":0}}
>
> --------------------------------------
>
> DEBUG 09-10 00:20:43.780 ScopeApplicationAdapter.java 258296 1160
> org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
> [RTMPConnectionExecutor-2] - -----------  setRoomValues
>
> DEBUG 09-10 00:20:43.797 ConferenceLogDao.java 258313 52
> org.apache.openmeetings.db.dao.log.ConferenceLogDao
> [RTMPConnectionExecutor-2] - [addConferenceLog]:
> org.apache.openmeetings.db.entity.log.ConferenceLog@74ca6007
>
> …
>
> ERROR 09-10 00:21:29.713 WicketEndpoint.java 304229 77
> org.apache.wicket.protocol.ws.javax.WicketEndpoint
> [http-nio-[IP]-[port]-exec-6] - An error occurred in web socket connection
> with id : 1
>
> java.io.IOException: Broken pipe
>
>        at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
>
>        at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
>
>        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
>
>        at sun.nio.ch.IOUtil.write(IOUtil.java:65)
>
>        at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:492)
>
>        at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:124)
>
>        at
> org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:183)
>
>        at
> org.apache.coyote.http11.upgrade.NioServletOutputStream.doWriteInternal(NioServletOutputStream.java:94)
>
>        at
> org.apache.coyote.http11.upgrade.NioServletOutputStream.doWrite(NioServletOutputStream.java:61)
>
>        at
> org.apache.coyote.http11.upgrade.AbstractServletOutputStream.writeInternal(AbstractServletOutputStream.java:165)
>
>        at
> org.apache.coyote.http11.upgrade.AbstractServletOutputStream.write(AbstractServletOutputStream.java:132)
>
>        at
> org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.onWritePossible(WsRemoteEndpointImplServer.java:98)
>
>        at
> org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doWrite(WsRemoteEndpointImplServer.java:79)
>
>        at
> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(WsRemoteEndpointImplBase.java:453)
>
>        at
> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessage(WsRemoteEndpointImplBase.java:341)
>
>        at
> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessageBlock(WsRemoteEndpointImplBase.java:273)
>
>        at
> org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:588)
>
>        at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:490)
>
>        at
> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.onError(WsHttpUpgradeHandler.java:149)
>
>        at
> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.access$300(WsHttpUpgradeHandler.java:47)
>
>        at
> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener.onError(WsHttpUpgradeHandler.java:206)
>
>        at
> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener.onDataAvailable(WsHttpUpgradeHandler.java:189)
>
>        at
> org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAvailable(AbstractServletInputStream.java:198)
>
>        at
> org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(AbstractProcessor.java:96)
>
>        at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:647)
>
>        at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
>
>        at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
>
>        at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>
>        at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>
>        at java.lang.Thread.run(Thread.java:745)
>
> DEBUG 09-10 00:21:29.715 MainPage.java 304231 223
> org.apache.openmeetings.web.pages.MainPage [http-nio-[IP]-[port]-exec-6] -
> WebSocketBehavior::onClose
>
> ERROR 09-10 00:21:29.888 WicketEndpoint.java 304404 77
> org.apache.wicket.protocol.ws.javax.WicketEndpoint
> [http-nio-[IP]-[port]-exec-6] - An error occurred in web socket connection
> with id : 1
>
> java.io.IOException: Connection reset by peer
>
>        at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
>
>        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
>
>        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
>
>        at sun.nio.ch.IOUtil.read(IOUtil.java:197)
>
>        at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:384)
>
>        at org.apache.tomcat.util.net.NioChannel.read(NioChannel.java:137)
>
>        at
> org.apache.coyote.http11.upgrade.NioServletInputStream.fillReadBuffer(NioServletInputStream.java:136)
>
>        at
> org.apache.coyote.http11.upgrade.NioServletInputStream.doRead(NioServletInputStream.java:80)
>
>        at
> org.apache.coyote.http11.upgrade.AbstractServletInputStream.read(AbstractServletInputStream.java:124)
>
>        at
> org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:60)
>
>        at
> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener.onDataAvailable(WsHttpUpgradeHandler.java:185)
>
>        at
> org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAvailable(AbstractServletInputStream.java:198)
>
>        at
> org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(AbstractProcessor.java:96)
>
>        at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:647)
>
>        at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
>
>        at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
>
>        at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>
>        at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>
>        at java.lang.Thread.run(Thread.java:745)
>
> DEBUG 09-10 00:21:31.949 SessiondataDao.java 306465 263
> org.apache.openmeetings.db.dao.server.SessiondataDao
> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1] -
> ****** clearSessionTable:
>
> DEBUG 09-10 00:21:31.952 SessiondataDao.java 306468 265
> org.apache.openmeetings.db.dao.server.SessiondataDao
> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1] -
> clearSessionTable: 0
>
> DEBUG 09-10 00:21:31.953 MeetingReminderJob.java 306469 35
> org.apache.openmeetings.service.quartz.scheduler.MeetingReminderJob
> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2] -
> MeetingReminderJob.execute
>
> DEBUG 09-10 00:21:34.554 MeetingReminderJob.java 309070 35
> org.apache.openmeetings.service.quartz.scheduler.MeetingReminderJob
> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2] -
> MeetingReminderJob.execute
>
> DEBUG 09-10 00:21:34.555 SessiondataDao.java 309071 263
> org.apache.openmeetings.db.dao.server.SessiondataDao
> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1] -
> ****** clearSessionTable:
>
> DEBUG 09-10 00:21:34.559 SessiondataDao.java 309075 265
> org.apache.openmeetings.db.dao.server.SessiondataDao
> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1] -
> clearSessionTable: 0
>
> [WARN] [NioProcessor-4] org.apache.mina.core.service.IoProcessor - Create a
> new selector. Selected is 0, delta = 0
>
> [WARN] [RTMPConnectionScheduler-2] org.red5.server.net.rtmp.RTMPConnection -
> Closing connection - inactivity timeout: session=[V6BEIJ0K2XRTE],
> lastPongReceived=[60008 ms ago], lastPingSent=[5001 ms ago],
> lastDataRx=[70009 ms ago]
>
> [WARN] [RTMPConnectionScheduler-2] org.red5.server.net.rtmp.RTMPConnection -
> Client on session=[V6BEIJ0K2XRTE] has not responded to our ping for [60008
> ms] and we haven't received data for [70009 ms]
>
> java.lang.InterruptedException
>
>        at
> java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1325)
>
>        at java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:414)
>
>        at
> org.red5.server.adapter.ApplicationAdapter.disconnect(ApplicationAdapter.java:91)
>
>        at org.red5.server.scope.Scope.disconnect(Scope.java:352)
>
>        at org.red5.server.BaseConnection.close(BaseConnection.java:402)
>
>        at
> org.red5.server.net.rtmp.RTMPConnection.close(RTMPConnection.java:990)
>
>        at
> org.red5.server.net.rtmpt.BaseRTMPTConnection.close(BaseRTMPTConnection.java:131)
>
>        at
> org.red5.server.net.rtmpt.RTMPTConnection.close(RTMPTConnection.java:128)
>
>        at
> org.red5.server.net.rtmpt.RTMPTConnection.onInactive(RTMPTConnection.java:108)
>
>        at
> org.red5.server.net.rtmp.RTMPConnection$KeepAliveTask.run(RTMPConnection.java:1897)
>
>        at
> org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
>
>        at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>
>        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
>
>        at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
>
>        at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>
>        at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>
>        at java.lang.Thread.run(Thread.java:745)
>
> DEBUG 09-10 00:21:53.516 MultiThreadedApplicationAdapter.java 328032 507
> org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
> [RTMPConnectionScheduler-2] - leave: Client: V6BEIJ0K2XRTE << Scope [name=5,
> path=/default/test.om, type=ROOM, autoStart=true,
> creationTime=1473484696211, depth=2, enabled=true, running=true]
>
> autoStart=true, creationTime=1473484696211, depth=2, enabled=true,
> running=true]
>
> …
>
> DEBUG 09-10 00:21:53.557 MultiThreadedApplicationAdapter.java 328073 711
> org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
> [RTMPConnectionScheduler-2] - appLeave: Client: V6BEIJ0K2XRTE << Scope
> [name=test.om, path=/default, type=APPLICATION, autoStart=true,
> creationTime=1473484588481, depth=1, enabled=true, running=true]
>
> [ERROR] [RTMPConnectionExecutor-4] org.red5.server.service.ServiceInvoker -
> Error executing call: Service: null Method: play Num Params: 2 0: undefined
> 1: NaN
>
> java.lang.IllegalArgumentException: argument type mismatch
>
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>
>        at java.lang.reflect.Method.invoke(Method.java:606)
>
>        at
> org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:189)
>
>        at
> org.red5.server.net.rtmp.RTMPHandler.invokeCall(RTMPHandler.java:214)
>
>        at
> org.red5.server.net.rtmp.RTMPHandler.onCommand(RTMPHandler.java:276)
>
>        at
> org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHandler.java:116)
>
>        at
> org.red5.server.net.rtmp.ReceivedMessageTask.call(ReceivedMessageTask.java:72)
>
>        at
> org.red5.server.net.rtmp.ReceivedMessageTask.call(ReceivedMessageTask.java:38)
>
>        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>
>        at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>
>        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>
>        at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>
>        at java.lang.Thread.run(Thread.java:745)
>
> [WARN] [RTMPConnectionExecutor-4] org.red5.server.net.rtmp.Channel -
> Non-existant stream for channel id: 8, session: DUNX6UQ7J3LP6 discarding:
> Invoke #0: Service: null Method: play Num Params: 2 0: undefined 1: NaN
>
>
>
>
>
> ID: 4
>
> Response-Code: 200
>
> Content-Type: application/json
>
> Headers: {Content-Type=[application/json], Date=[Sat, 10 Sep 2016 05:27:51
> GMT]}
>
> Payload: {"fileExplorerObject":{"userHomeSize":0,"roomHomeSize":0}}
>
> --------------------------------------
>
> DEBUG 09-10 00:27:51.330 ScopeApplicationAdapter.java 685846 1160
> org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter
> [RTMPConnectionExecutor-1] - -----------  setRoomValues
>
> DEBUG 09-10 00:27:51.351 ConferenceLogDao.java 685867 52
> org.apache.openmeetings.db.dao.log.ConferenceLogDao
> [RTMPConnectionExecutor-1] - [addConferenceLog]:
> org.apache.openmeetings.db.entity.log.ConferenceLog@2b48c62a
>
> DEBUG 09-10 00:27:51.417 RecordingService.java 685933 377
> org.apache.openmeetings.core.remote.RecordingService
> [RTMPConnectionExecutor-3] - getCurrentRoomClient -2- 1
>
>
>
>
>
>
>
> Thank you.
>
>
>
> Sincerely,
>
>
>
> Hemant K. Sabat
>
>
>
> Coscend Communications Solutions
>
> Web site: www.Coscend.com
>
> ------------------------------------------------------------------
>
> CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail
> Messages from Coscend Communications Solutions' posted at:
> http://www.Coscend.com/Terms_and_Conditions.html
>
>
>
>



-- 
WBR
Maxim aka solomax