Is there any option to make it "not-changed"

On Thu, Aug 1, 2013 at 6:29 PM, Maxim Solodovnik <[email protected]>wrote:

> In wicket login I'm passing publicSID, not sure how good is :(
> it seems like publicSID is changed on reconnect. Is there any option to
> make it
>
>
> On Thu, Aug 1, 2013 at 6:10 PM, [email protected] <
> [email protected]> wrote:
>
>> Hi Maxim,
>>
>> have you seen the section in "Test 3".
>> I have faced the same behaviour in a couple of the test.
>>
>> The issue was that the ScreenController is called with the wrong
>> publicSID. The reason for that is unkown but probably the method
>> "getpublicSID" was never successfully called when you enter the room, as
>> the Client is using the publicSID of the RTMP connection that was connected
>> to the scope "hibernate".
>>
>> I have even included the strings in my test feedback.
>>
>> So its not really as if the room_id is empty, the client is simply using
>> the wrong parameters to call the method.
>>
>> Hope that gets clearer now. I have committed a small patch:
>> http://svn.apache.org/r1509157
>>
>> That does output the entire Client session object in the log statement,
>> so you can see what publicSID and sessionId was used,
>> => Its simply the wrong one!
>>
>> Sebastian
>>
>>
>> 2013/8/1 Maxim Solodovnik <[email protected]>
>>
>>> >> One interesting thing to test might be to try the RTMPT standalone
>>> version, just to compare to see if its a basic session handling issue or
>>> just an issue if you use the Servlet version.
>>>
>>> It seems to be good idea! Thanks!
>>> Somehow I always able to enter the room or to the OM, but room_id in
>>> Client is always null :(
>>>
>>>
>>> On Thu, Aug 1, 2013 at 4:49 PM, [email protected] <
>>> [email protected]> wrote:
>>>
>>>> Sorry I misunderstood you.
>>>>
>>>> I am testing rtmpt by manipulating the config.xml and setting the
>>>> rtmpport to a nonsense value to force it using RTMPT.
>>>>
>>>> *Test 1: Using the flash standalone version. When I enter the
>>>> conference room using RTMPT it does not login the user correctly at all.
>>>> You can see error log messages.*
>>>>
>>>> but you can also see it in the client UI:
>>>> There user list does not show the user. There is something broken
>>>> during the login commands.
>>>> I can debug the issue further to track down which calls fail but
>>>> somehow the user never really is logged in, so I guess the room Id is never
>>>> set to his session object.
>>>>
>>>> If you look at the connection console: (
>>>> http://localhost:5080/openmeetings/#admin/connection):
>>>> You can see that the RTMPT connected user is not even listed in the
>>>> list of active connections.
>>>>
>>>> So I suspect that the entire connection mechanism in Red5 using RTMPT
>>>> is broken, at least with the red5 revision that I am testing (Red5 Server
>>>> 1.0.2 $Rev: 4697) .That should be the latest one.
>>>>
>>>> *Test 2: Using the flash standalone version. This time the RTMPT
>>>> serlvet somehow lets me inside the room,*
>>>> anyhow looking at:
>>>> http://localhost:5080/openmeetings/#admin/connection)
>>>> I can still see 3 connections, one to scope hibernate and two in the
>>>> room, but actually it should be just two in the room and the one to type
>>>> hibernate should be closed when I disconnected to enter the conference 
>>>> room.
>>>>
>>>> After a while the hibernate connection somehow is "gone" (without me
>>>> doing anything). It seems like the Servlet does not really do actively
>>>> monitor things in "real time" it simply does some kind of timeout. Or is
>>>> broken.
>>>>
>>>> However the room_id is correctly set, when I request the Screensharing
>>>> client it contains:
>>>> <argument>openmeetings/7</argument>
>>>>
>>>> And the RTMPT version will start up. However if I click start sharing
>>>> or start recording it will throw:
>>>> ERROR 08-01 21:22:41.456 RTMPProtocolEncoder.java 19233 111
>>>> org.red5.server.net.rtmp.codec.RTMPProtocolEncoder [Thread-19] - Error
>>>> encoding
>>>>
>>>> java.lang.NullPointerException: null
>>>>     at
>>>> org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.dropMessage(RTMPProtocolEncoder.java:225)
>>>> ~[red5-server.jar:na]
>>>>     at
>>>> org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.encodePacket(RTMPProtocolEncoder.java:133)
>>>> ~[red5-server.jar:na]
>>>>     at
>>>> org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.encode(RTMPProtocolEncoder.java:109)
>>>> ~[red5-server.jar:na]
>>>>     at
>>>> org.red5.client.net.rtmpt.BaseRTMPTConnection.write(BaseRTMPTConnection.java:240)
>>>> ~[red5-client-1.0.2-RC1.jar:1.0.2-RC1]
>>>>     at org.red5.server.net.rtmp.Channel.write(Channel.java:138)
>>>> ~[red5-server.jar:na]
>>>>     at org.red5.server.net.rtmp.Channel.write(Channel.java:107)
>>>> ~[red5-server.jar:na]
>>>>     at
>>>> org.red5.server.stream.consumer.ConnectionConsumer.pushMessage(ConnectionConsumer.java:183)
>>>> ~[red5-server.jar:na]
>>>>     at
>>>> org.red5.client.net.rtmp.BaseRTMPClientHandler.publishStreamData(BaseRTMPClientHandler.java:565)
>>>> ~[red5-client-1.0.2-RC1.jar:1.0.2-RC1]
>>>>     at
>>>> org.apache.openmeetings.screen.webstart.CaptureScreen.pushVideo(CaptureScreen.java:130)
>>>> ~[openmeetings-screenshare-3.0.0-SNAPSHOT.jar:na]
>>>>     at
>>>> org.apache.openmeetings.screen.webstart.CaptureScreen.run(CaptureScreen.java:87)
>>>> ~[openmeetings-screenshare-3.0.0-SNAPSHOT.jar:na]
>>>>
>>>> *
>>>> *
>>>> *Test 3: Using the HTML5 version and then entering the room.*
>>>>
>>>> It seems to log me in fine using RTMPT, when I look at:
>>>> http://localhost:5080/openmeetings/#admin/connection
>>>> The room_id is correctly set in the RoomClient
>>>>
>>>> But when I click on the button to request the JNLP file I get:
>>>> ERROR 08-01 21:27:22.060 ScreenController.java 1263660 224
>>>> org.apache.openmeetings.servlet.outputhandler.ScreenController
>>>> [http-bio-0.0.0.0-5080-exec-11] - [ScreenController]
>>>> java.lang.Exception: Client has no room
>>>>
>>>> I could repeat this use case / test and reproduce the issue. However I
>>>> sometimes run again in scenario 1 again where simply the user is not even
>>>> shown in the list of users after I login.
>>>>
>>>> I debugged the Exception a bit, and found out:
>>>>
>>>> The Servlet is using the wrong Client Session Object! If you look at
>>>> the modified debug statement that I produced:
>>>> java.lang.Exception: Client has no room
>>>> org.apache.openmeetings.persistence.beans.room.Client@7825114aStreamId: 
>>>> 3B5TYPGH9LIZJ PublicSID: 00f4343597d130cd68762da623e2b127 UserId:
>>>> 1 RoomId: null isScreenClient: false flvRecordingId: null
>>>> screenPublishStarted: false flvRecordingMetaDataId: null isRecording: false
>>>> isAVClient: false broadCastID: -2 avsettings:  server: null
>>>>
>>>> => And then look at the
>>>> http://localhost:5080/openmeetings/#admin/connection
>>>>
>>>> StreamId: 3B5TYPGH9LIZJ is simply not the Client object that is in the
>>>> room, it is another one!
>>>> So we basically request the screensharing client with the wrong
>>>> publicSID. But where this is coming from, I don't know.
>>>>
>>>> This does simply work fine using RTMP instead of RTMPT.
>>>> Or in other words, somehow the RTMPT connection has major issues with
>>>> handling the connection.
>>>>
>>>> ----------------------
>>>>
>>>> I am a bit reluctant to debug that further, I made now 3 tests and
>>>> receive randomly results where either the login into the room is
>>>> incomplete, sessions on the server are not correctly closed or somehow the
>>>> client does not seem to process certain calls. That just does not seem to
>>>> be worth now to debug this to the very end and is seems to be quite
>>>> unstable.
>>>>
>>>> From my point of view, the RTMPT Servlet has some major issue in the
>>>> connection establishing and session handling.
>>>> Sessions get mixed up, calls might be dropped, and the session stay
>>>> open way longer then needed.
>>>>
>>>> One interesting thing to test might be to try the RTMPT standalone
>>>> version, just to compare to see if its a basic session handling issue or
>>>> just an issue if you use the Servlet version.
>>>>
>>>>
>>>> --------------------
>>>>
>>>> Additional logging/error/warnings statements in the red5/server log.
>>>> But I guess you experienced the same.
>>>>
>>>> Thousand of this type:
>>>> [DEBUG] [http-bio-0.0.0.0-5080-exec-3]
>>>> org.red5.server.net.rtmpt.RTMPTConnection - Pending messages out: 0
>>>>
>>>> And:
>>>> [WARN] [http-bio-0.0.0.0-5080-exec-10]
>>>> org.red5.server.net.rtmp.RTMPConnManager - Connection not found for
>>>> Q1KMWA85XXNZQ
>>>> [WARN] [http-bio-0.0.0.0-5080-exec-10]
>>>> org.red5.server.net.rtmpt.RTMPTServlet - Null connection for session id:
>>>> Q1KMWA85XXNZQ
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> 2013/8/1 Maxim Solodovnik <[email protected]>
>>>>
>>>>> Hello Sebastian,
>>>>>
>>>>> RTMPT configuration was changed according to the Paul's comments: [1]
>>>>> Since then there is no need in additional port for RTMPT (OM HTTP port
>>>>> is always used, and can be redirected via Apache or changed to be 80 in
>>>>> red5.properties)
>>>>>
>>>>> RTMP client is broken in red5: [2]
>>>>> RTMPT is working if started from the debugger (with the Exceptions you
>>>>> have described, already reported to Paul)
>>>>>
>>>>> The issue I ask you to take a look at is:
>>>>> In case user enters the room using RTMPT *.jnlp file is failed to be
>>>>> created since room_id == null
>>>>>
>>>>> [1]
>>>>> https://groups.google.com/d/topic/red5interest/14I7Ya2WjgQ/discussion
>>>>> [2]
>>>>> https://groups.google.com/d/topic/red5interest/2_JuBOY8WhU/discussion
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Aug 1, 2013 at 2:34 PM, [email protected] <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> I can see in the source code that the RTMPT port is no more
>>>>>> configurable.
>>>>>> Actually setting rtmpt to port 443 was a common way to solve 99% of
>>>>>> all Firewall issues.
>>>>>> How would you do that now? You have to set the http port to 443 ?
>>>>>>
>>>>>> And I don't know how stable the RTMPT Servlet is. There have been
>>>>>> issue with it in the past.
>>>>>> What was the reason for that change ?
>>>>>>
>>>>>> And screenharing over RTMPT does not work for me at all. Same as
>>>>>> RTMP.But the behaviour is slightly different.
>>>>>> RTMP version throws handshake error.
>>>>>>
>>>>>> RTMPT does not but it has other exceptions. In the console of the
>>>>>> RTMPT JavaWebStart application you can find lots of exceptions throws 
>>>>>> like
>>>>>> this:
>>>>>>
>>>>>> ERROR 08-01 19:28:26.894 RTMPProtocolEncoder.java 34725 111
>>>>>> org.red5.server.net.rtmp.codec.RTMPProtocolEncoder [Thread-19] - Error
>>>>>> encoding
>>>>>> java.lang.NullPointerException: null
>>>>>>     at
>>>>>> org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.dropMessage(RTMPProtocolEncoder.java:225)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at
>>>>>> org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.encodePacket(RTMPProtocolEncoder.java:133)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at
>>>>>> org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.encode(RTMPProtocolEncoder.java:109)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at
>>>>>> org.red5.client.net.rtmpt.BaseRTMPTConnection.write(BaseRTMPTConnection.java:240)
>>>>>> ~[red5-client-1.0.2-RC1.jar:1.0.2-RC1]
>>>>>>     at org.red5.server.net.rtmp.Channel.write(Channel.java:138)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at org.red5.server.net.rtmp.Channel.write(Channel.java:107)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at
>>>>>> org.red5.server.stream.consumer.ConnectionConsumer.pushMessage(ConnectionConsumer.java:183)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at
>>>>>> org.red5.client.net.rtmp.BaseRTMPClientHandler.publishStreamData(BaseRTMPClientHandler.java:565)
>>>>>> ~[red5-client-1.0.2-RC1.jar:1.0.2-RC1]
>>>>>>     at
>>>>>> org.apache.openmeetings.screen.webstart.CaptureScreen.pushVideo(CaptureScreen.java:130)
>>>>>> ~[openmeetings-screenshare-3.0.0-SNAPSHOT.jar:na]
>>>>>>     at
>>>>>> org.apache.openmeetings.screen.webstart.CaptureScreen.run(CaptureScreen.java:87)
>>>>>> ~[openmeetings-screenshare-3.0.0-SNAPSHOT.jar:na]
>>>>>> ERROR 08-01 19:28:29.412 RTMPProtocolEncoder.java 37243 111
>>>>>> org.red5.server.net.rtmp.codec.RTMPProtocolEncoder [Thread-19] - Error
>>>>>> encoding
>>>>>> java.lang.NullPointerException: null
>>>>>>     at
>>>>>> org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.encodeCommand(RTMPProtocolEncoder.java:763)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at
>>>>>> org.red5.server.net.rtmpt.codec.RTMPTProtocolEncoder.encodeCommand(RTMPTProtocolEncoder.java:49)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at
>>>>>> org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.encodeCommand(RTMPProtocolEncoder.java:731)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at
>>>>>> org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.encodeInvoke(RTMPProtocolEncoder.java:719)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at
>>>>>> org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.encodeMessage(RTMPProtocolEncoder.java:499)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at
>>>>>> org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.encodePacket(RTMPProtocolEncoder.java:134)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at
>>>>>> org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.encode(RTMPProtocolEncoder.java:109)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at
>>>>>> org.red5.client.net.rtmpt.BaseRTMPTConnection.write(BaseRTMPTConnection.java:240)
>>>>>> ~[red5-client-1.0.2-RC1.jar:1.0.2-RC1]
>>>>>>     at org.red5.server.net.rtmp.Channel.write(Channel.java:138)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at org.red5.server.net.rtmp.Channel.write(Channel.java:107)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at
>>>>>> org.red5.server.net.rtmp.RTMPConnection.invoke(RTMPConnection.java:953)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at
>>>>>> org.red5.server.net.rtmp.RTMPConnection.invoke(RTMPConnection.java:922)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at
>>>>>> org.red5.server.net.rtmp.RTMPConnection.invoke(RTMPConnection.java:977)
>>>>>> ~[red5-server.jar:na]
>>>>>>     at
>>>>>> org.red5.client.net.rtmp.BaseRTMPClientHandler.invoke(BaseRTMPClientHandler.java:487)
>>>>>> ~[red5-client-1.0.2-RC1.jar:1.0.2-RC1]
>>>>>>     at
>>>>>> org.apache.openmeetings.screen.webstart.CoreScreenShare.sendCursorStatus(CoreScreenShare.java:178)
>>>>>> ~[openmeetings-screenshare-3.0.0-SNAPSHOT.jar:na]
>>>>>>     at
>>>>>> org.apache.openmeetings.screen.webstart.CaptureScreen.run(CaptureScreen.java:94)
>>>>>> ~[openmeetings-screenshare-3.0.0-SNAPSHOT.jar:na]
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/8/1 Maxim Solodovnik <[email protected]>
>>>>>>
>>>>>>> Hello Sebastian,
>>>>>>>
>>>>>>> I'm currently trying to test RTMPT screensharing (the only one
>>>>>>> working right now somehow) and found weird issue: If client trying to 
>>>>>>> start
>>>>>>> screensharing and is connected via RTMPT he/she has room_id == null in
>>>>>>> Client.
>>>>>>>
>>>>>>> if RTMP is used room_id is set to the proper value.
>>>>>>> The behavior above is observed in both: "SWF login then open the
>>>>>>> room" and "Wicket enter the room".
>>>>>>>
>>>>>>> Can you please take a look at this issue?
>>>>>>> Thanks in advance!
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> WBR
>>>>>>> Maxim aka solomax
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Sebastian Wagner
>>>>>> https://twitter.com/#!/dead_lock
>>>>>> http://www.webbase-design.de
>>>>>> http://www.wagner-sebastian.com
>>>>>> [email protected]
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> WBR
>>>>> Maxim aka solomax
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Sebastian Wagner
>>>> https://twitter.com/#!/dead_lock
>>>> http://www.webbase-design.de
>>>> http://www.wagner-sebastian.com
>>>> [email protected]
>>>>
>>>
>>>
>>>
>>> --
>>> WBR
>>> Maxim aka solomax
>>>
>>
>>
>>
>> --
>> Sebastian Wagner
>> https://twitter.com/#!/dead_lock
>> http://www.webbase-design.de
>> http://www.wagner-sebastian.com
>> [email protected]
>>
>
>
>
> --
> WBR
> Maxim aka solomax
>



-- 
WBR
Maxim aka solomax

Reply via email to