Results 1 to 8 of 8

Thread: HTTP Cupertino session Reject

  1. #1

    Default HTTP Cupertino session Reject

    I have the following issue logged recently on a server.
    Using Wowza 3.6.2.12 (same problem with Wowza 3.6.2.01).
    There is a code for checking if a client can connect to the stream, similar to this

    public void onHTTPCupertinoStreamingSessionCreate(HTTPStreamerSessionCupertino httpSession) 
    	{		
    		String status = Check.onConnect(httpSession.getAppInstance().getApplication().getName(), httpSession.getIpAddress());//Handeled in class, if exception Rejected
    
    		if(!status.equals("Rejected")) 
    		{
    			//it is allowed
    		}
    		else
    		{
    				httpSession.rejectSession();
    				
    				WMSLoggerFactory.getLogger(null).error("DEBUG onHTTPCupertinoStreamingSessionCreate Rejected Status: " + status +
    						" app: " + httpSession.getAppInstance().getApplication().getName() + " IP: " + httpSession.getIpAddress() + " Referrer: " + httpSession.getReferrer());
    		}
    This works ok, until a connection is rejected. Here what is inside the log

    DEBUG onHTTPCupertinoStreamingSessionCreate Rejected Status: Rejected, app: live IP: xx.xx.xx.xx Referrer: something
    This means that the session is rejected and logged, but after this is logged in the logs I get "infinite" log entries like this

    WARN	server	comment	2013-10-02	00:33:17	-	-	-	-	-	38080.186	-	-	-	-	-	-	-	-	HTTPStreamerAdapterCupertinoStreamer.onPlaylist[live/_definst_/myStream/chunklist_w1329948076.m3u8]: Session not accepted[1329948076]
    this is logged on every 2 sec until the server stopped and was restarted.

    Maybe it is nothing because is a warning but few days ago only 4 sessions like this had cause increase in the production servers cpu and ram and crached the wowza server.
    Why is this behavior logged , what to change to avoid problems?
    Need answer fast because it is close to peak time and I want to avoid restarting the server.

    Regards,

  2. #2
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    What player are you using? I do not see that happening in my test when I do httpSession.rejectSession() where the device browser is using a simple HTML5 page with video tag and playlist.m3u8 url. I see one of those log lines per rejected session, e.g. "Session not accepted[1837545612]"

    The number is a session id. If each of those is different, then they are different sessions. Perhaps you are using a player that keeps trying to connect.

    Richard

  3. #3

    Default

    I didn't logged the user agent to know exactly because it is production server the session is made by some user (90% chance it's a Roku).

    The warning lines are all the same in the log, if a session 1329948076 is rejected then it is logged in every 2 sec, if another session is rejected then that one plus the previous is logged and the logs are flooded.
    Also I don't know if you noticed in the log it says that a chunklist is being rejected, this is not very clear to me. If I reject a HTTP session will that session be able to get the chunklist with a session like it is logged live/_definst_/myStream/chunklist_w1329948076.m3u8?

  4. #4

    Default

    Hi,
    I am faced the same problem, some players continue requests even after the session rejected or redirected. I understand that it is the question to the player implementation but Wowza Media Server do not close the session in the right way in this case, I mean onHTTPStreamerSessionDestroy does not fired in this case and for me this is quite important thing.
    I have tried to close the session with

    httpSession.rejectSession();
    but this player (PotPlayer) still trying to get the ts files and update playlist


    WARN server comment - HTTPStreamerAdapterCupertinoStreamer.onMediaFile[vod/_definst_/mp4:sample.mp4/media_w1051553829_51.ts]: Session not accepted.
    WARN server comment - HTTPStreamerAdapterCupertinoStreamer.onMediaFile[vod/_definst_/mp4:sample.mp4/media_w1051553829_52.ts]: Session not accepted.
    WARN server comment - HTTPStreamerAdapterCupertinoStreamer.onMediaFile[vod/_definst_/mp4:sample.mp4/media_w1051553829_53.ts]: Session not accepted.
    WARN server comment - HTTPStreamerAdapterCupertinoStreamer.onMediaFile[vod/_definst_/mp4:sample.mp4/media_w1051553829_54.ts]: Session not accepted.
    WARN server comment - HTTPStreamerAdapterCupertinoStreamer.onPlaylist[vod/_definst_/mp4:sample.mp4/chunklist_w1051553829.m3u8]: Session not accepted[1051553829]
    WARN server comment - HTTPStreamerAdapterCupertinoStreamer.onPlaylist[vod/_definst_/mp4:sample.mp4/chunklist_w1051553829.m3u8]: Session not accepted[1051553829]
    WARN server comment - HTTPStreamerAdapterCupertinoStreamer.onPlaylist[vod/_definst_/mp4:sample.mp4/chunklist_w1051553829.m3u8]: Session not accepted[1051553829]
    WARN server comment - HTTPStreamerAdapterCupertinoStreamer.onPlaylist[vod/_definst_/mp4:sample.mp4/chunklist_w1051553829.m3u8]: Session not accepted[1051553829]
    Here you can download the PotPlayer:
    http://daumpotplayer.com/download/

    This issues has been reproduced with this version of PotPlayer
    http://daumpotplayer.com/wp-content/....40688-x64.exe

    using Wowza Media Server 3.6.3 under Windows 8.1 64bit.

    Denis

  5. #5
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    Denis,

    It looks like Wowza is doing its part. Wowza cannot stop the player from trying. It looks like the player has received the playlist.m3u8 file, possibly a .smil file. So I presume you did httpSession.rejectSession() later than onHTTPSessionCreate.

    I'm hesitant to download and run this .exe file. Other players do not require an executable to install.

    Try onHTTPSessionDestroy to handle rejected sessions:

    public void onHTTPSessionDestroy(IHTTPStreamerSession httpSession)
    	{
    	}
    Richard

  6. #6
    Join Date
    Apr 2012
    Posts
    22

    Default

    Hi there,
    I notice that there appears httpSession.rejectSession() is not firing. I m trying to evaluate inside onHTTPSessionCreate and explicitly calling httpSession.rejectSession and it does not works.
    Any suggestion.

  7. #7
    Join Date
    May 2013
    Posts
    680

    Default

    Do you have any logs to provide surrounding the onHTTPSessionCreate event and your rejection call? Do you see the destroy in the logs?

  8. #8
    Join Date
    Oct 2011
    Posts
    18

    Default

    Is this the same reason that keep very high cupertino connections?
    When I execute a getConnectionCounts command from the JMXCommandLine, I always get lots of Cupertino Connections!!
    There's a way to solve it without restart the server.

    Daniele

Similar Threads

  1. How to access the headers sent by client in cupertino streaming session?
    By sprocket in forum Server-side Modules and Code Samples Discussion
    Replies: 5
    Last Post: 06-08-2013, 05:37 AM
  2. how to customize, how long before cupertino session is automatically destroyed ?
    By rabelle.donovon in forum Video On Demand Streaming Discussion
    Replies: 16
    Last Post: 04-22-2012, 06:05 AM
  3. Calculating average Video bit rate for a cupertino streaming session
    By rabelle.donovon in forum Video On Demand Streaming Discussion
    Replies: 1
    Last Post: 04-10-2012, 08:56 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •