Wowza squid proxy problem

Im using 1.7.2 Wowza, its setup in a internal lan with squid proxy enabled. Users have reported that the video stops after some time. RTMP doesnt work at all, RTMPT does work, but as I said the videos stop after a few minutes, any general troubleshooting tips that I may apply?:confused:

Putting squid in front of Wowza is probably not a good idea. RTMPT is not like other protocols. Each chunk is unique for each client. It is most likely causing the problem.

Charlie

At this time we do not have the resources to investigate this configuration. You are welcome to try other proxying solutions to see if one works for you but we do not have the resources to debug any issue encountered due to proxying.

Charlie

This should generate debug logs. Not sure if it is going to help.

Charlie

We just don’t have the resources to provide more assistance on this matter.

Charlie

Yes, that turns on DEBUG logging.

Richard

Hi Charlie,

I am from the same company so I am adding info about exactly the same problem.

In fact, when playing live streaming via RTMPT and having squid in between the player and wowza I have discovered that squid at some random point encounters a “Zero sized Response” error while trying to proxy an RTMPT idle request. This means that it has tryed and re-tryed to forward the request to wowza but received no data from it.

Squid describes this error here:

http://man.chinaunix.net/newsoft/squid/Squid_FAQ/FAQ-11.html#ss11.51

So, because of this error, for this RTMPT idle request, squid returns a 503 Service Unavailable to the player, and the player in return closes the RTMPT connection and stops streaming.

Also, in wowza logs I have found many similarly named errors, can these be related to why squid receives no data when making request to wowza?

Part of the log included below…

I think squid may well be responsible for this but I would like to understand why it happends and maybe try to configure squid in some way to avoid this.

Please advise me on how to provide a more detailed debug info for this problem.

Wowza LOG:

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.1 – - - - - - Zero sized function (client): type:20 size:0 index:275

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.1 – - - - - - Zero sized function (client): type:20 size:0 index:617

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.1 – - - - - - Zero sized function (client): type:20 size:0 index:790

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.1 – - - - - - Zero sized function (client): type:20 size:0 index:963

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.1 – - - - - - Zero sized function (client): type:20 size:0 index:1130

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.1 – - - - - - Zero sized function (client): type:20 size:0 index:1131

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.1 – - - - - - Zero sized function (client): type:20 size:0 index:1132

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.1 – - - - - - Zero sized function (client): type:20 size:0 index:1133

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.101 – - - - - - Zero sized function (client): type:20 size:0 index:1134

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.101 – - - - - - Zero sized function (client): type:20 size:0 index:1135

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.101 – - - - - - Zero sized function (client): type:20 size:0 index:1136

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.101 – - - - - - Zero sized function (client): type:20 size:0 index:1137

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.101 – - - - - - Zero sized function (client): type:20 size:0 index:1138

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.101 – - - - - - Zero sized function (client): type:20 size:0 index:1139

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.101 – - - - - - Zero sized function (client): type:20 size:0 index:1140

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.101 – - - - - - Zero sized function (client): type:20 size:0 index:1141

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.101 – - - - - - Zero sized function (client): type:20 size:0 index:1142

ERROR server comment 2010-03-17 09:19:46 - - - - - 4905545.101 – - - - - - Zero sized function (client): type:20 size:0 index:1143

Thanx

best regards

Haris

Hi again,

We are in no position to change the proxy, because this the proxy of our client. I would like to investigate a little bit more myself…

Please tell me if I have enabled all possible DEBUG info for RTMPT?

Here is my log4j.properties:

log4j.rootCategory=DEBUG, stdout, serverAccess, serverError

The logging context is

#log4j.logger.[vhost].[application].[appInstance]

Field list

#date,time,tz,x-event,x-category,x-severity,x-status,x-ctx,x-comment,x-vhost,x-app,x-appinst,x-duration,s-ip,s-po

rt,s-uri,c-ip,c-proto,c-referrer,c-user-agent,c-client-id,cs-bytes,sc-bytes,x-stream-id,x-spos,cs-stream-bytes,sc

-stream-bytes,x-sname,x-sname-query,x-file-name,x-file-ext,x-file-size,x-file-length,x-suri,x-suri-stem,x-suri-qu

ery,cs-uri-stem,cs-uri-query

Category list

#server,vhost,application,session,stream,rtsp

Event list

#connect-pending,connect,disconnect,publish,unpublish,play,pause,setbuffertime,create,destroy,setstreamtype,unpau

se,seek,stop,record,recordstop,server-start,server-stop,vhost-start,vhost-stop,app-start,app-stop,comment,announc

e

To force UTF-8 encoding of log values add the following property to the appender definition (where [appender] i

s the name of the appender such as “stdout” or “R”)

#log4j.appender.[appender].encoding=UTF-8

Console appender

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=com.wowza.wms.logging.ECLFPatternLayout

log4j.appender.stdout.layout.Fields=x-severity,x-category,x-event,x-ctx,x-comment

log4j.appender.stdout.layout.OutputHeader=false

log4j.appender.stdout.layout.QuoteFields=false

log4j.appender.stdout.layout.Delimeter=space

Access appender

log4j.appender.serverAccess=org.apache.log4j.DailyRollingFileAppender

log4j.appender.serverAccess.DatePattern=’.'yyyy-MM-dd

log4j.appender.serverAccess.File=${com.wowza.wms.ConfigHome}/logs/stats.log

log4j.appender.serverAccess.layout=com.wowza.wms.logging.ECLFPatternLayout

log4j.appender.serverAccess.layout.Fields=c-ip,date,time,x-sname,x-status,c-proto,sc-stream-bytes

log4j.appender.serverAccess.layout.OutputHeader=true

log4j.appender.serverAccess.layout.QuoteFields=false

log4j.appender.serverAccess.layout.Delimeter=tab

log4j.appender.serverAccess.layout.CategoryInclude=stream

log4j.appender.serverAccess.layout.EventInclude=destroy

Error appender

log4j.appender.serverError=org.apache.log4j.DailyRollingFileAppender

log4j.appender.serverError.DatePattern=’.'yyyy-MM-dd

log4j.appender.serverError.File=${com.wowza.wms.ConfigHome}/logs/wowzamediaserverpro_error.log

log4j.appender.serverError.layout=com.wowza.wms.logging.ECLFPatternLayout

log4j.appender.serverError.layout.Fields=x-severity,x-category,x-event;date,time,c-client-id,c-ip,c-port,cs-bytes

,sc-bytes,x-duration,x-sname,x-stream-id,sc-stream-bytes,cs-stream-bytes,x-file-size,x-file-length,x-ctx,x-commen

t

log4j.appender.serverError.layout.OutputHeader=true

log4j.appender.serverError.layout.QuoteFields=false

log4j.appender.serverError.layout.Delimeter=tab

log4j.appender.serverError.Threshold=DEBUG

Statistics appender (to use this appender add “serverStats” to the list of appenders in the first line of this

file)

log4j.appender.serverStats=org.apache.log4j.DailyRollingFileAppender

log4j.appender.serverStats.DatePattern=’.'yyyy-MM-dd

log4j.appender.serverStats.File=${com.wowza.wms.ConfigHome}/logs/wowzamediaserverpro_stats.log

log4j.appender.serverStats.layout=com.wowza.wms.logging.ECLFPatternLayout

log4j.appender.serverStats.layout.Fields=x-severity,x-category,x-event;date,time,c-client-id,c-ip,c-port,cs-bytes

,sc-bytes,x-duration,x-sname,x-stream-id,sc-stream-bytes,cs-stream-bytes,x-file-size,x-file-length,x-ctx,x-commen

t

log4j.appender.serverStats.layout.OutputHeader=true

log4j.appender.serverStats.layout.QuoteFields=false

log4j.appender.serverStats.layout.Delimeter=tab

log4j.appender.serverStats.layout.CategoryInclude=session,stream

log4j.appender.serverStats.layout.EventExclude=comment

In fact, it does not help. There is not much information of this in the log.

Does wowza log anywhere the single RTMPT HTTP requests (idle, send, close …)?

The problem was that, after a while, when streaming via rtmpt, for some reason, squid timed out connecting during one of the many rtmpt requests and probably by default behaviour returned “HTTP Error 503 Service unavailable” back to the flash player. Flash player then reacted by simply stopping the stream.

With the newest stable version of squid the problem does not appear anymore.

regards

Haris