History | Log In     View a printable version of the current page. Get help!  
Issue Details (XML | Word)

Key: APPSERVER-124
Type: New Feature New Feature
Status: Closed Closed
Resolution: Fixed
Priority: Minor Minor
Assignee: Joachim Bauch
Reporter: Thijs Triemstra
Votes: 6
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
App Server

Run all protocols on all ports

Created: 10/May/07 06:15 PM   Updated: 28/May/08 11:07 PM
Component/s: None
Affects Version/s: v0.6
Fix Version/s: v0.7.1

File Attachments: 1. Text File stunnel.log (3 kb)

Environment:
java version "1.5.0_07"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-164)
Java HotSpot(TM) Client VM (build 1.5.0_07-87, mixed mode, sharing)

Version: 0.7.0


 Description  « Hide
A user on the mailinglist wrote:

"Hello,

I'm still stucked with the ports problem described below.

Daniela advised me to an adobe article (thank you Daniela)

http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_16631

In the adobe article is mentioned that flash media server tries out differnt ports (443 and 80) automatically, which leads to 96 % success in practice.

For me it seems that Red5 is not doing this automatically.

In the article is described how to set the port manually. With Red5 this works only for port 8088, which is the standard tunneling port for Red5.

Since a wide number of firewalls have blocked that port, I still need to know how to use port 80 or 443.

Can anyone help me?

I guess most of the Red5 user have this problem, but I never found it discussed in this newsletter before?.

Best Regards

Falk"

So in the current setup Red5 can only listen to one port (configured in red5.properties) but there should be a way to make Red5 listen on multiple ports per protocol (RTMP/RTMPT). With FMS you can specify multiple ip's and ports to listen to and I think this functionality is missing in Red5 and that prevents me from listening to 3 different port (1935, 443, 80) on a single ip-address and not being able to listen to multiple ip addresses.

Here's a port tester that shows a single FMS app listening on multiple ports: http://www.adobe.com/go/tn_16466
ps. I'm working on a Red5 Flex port tester app that does the same.

 All   Comments   Change History      Sort Order:
Joachim Bauch [10/May/07 08:28 PM]
The fallback from RTMP to RTPMT is done by the client, not the server. And of course you can setup Red5 to run on port 1935 (RTMP) and 80 (RTMPT). Just edit conf/red5.properties and restart the server.

What you probably want is a possibility to run all protocols on any port - this is an enhancement and not that easy as we have different networking libraries for RTMP and RTMPT (HTTP).

Joachim Bauch [10/May/07 08:29 PM]
Update properties to reflect what user on the list meant.

Thijs Triemstra [10/May/07 08:45 PM]
"What you probably want is a possibility to run all protocols on any port -"

Exactly :)

Falk Kaehny [10/May/07 09:03 PM]
Hello Joachim,

thanks for taking care on this issue.

I tried to change the Port of RTMPT from 8088 to 80 then I get a exception on start-up of the server:

[WARN] 2214 WrapperSimpleAppMain:< org.mortbay.log.invoke0 > failed SelectChannelConnectort @ 0.0.0.0:80

'Java.net.BindException:Address already in use: bind at sun.nio.ch.Net.bind<Native Method>

What I need is a red5.properties configuration setting that the server starts without exception, and I can use the command:

nc.connect( "rtmpt://mysite.com:80/myapp");

Do you have an idea?

Best regards

Falk

Joachim Bauch [10/May/07 09:07 PM]
The message means, that you have another server running on Port 80 so Red5 can't bind to the port. Stop the other server (probably a web server) and restart Red5.

David Schulberg [11/May/07 09:48 AM]
I have been led to stunnel as the way to get a Flash application to communicate securely with Red5 server.

Red5 doesn't directly support ssl connectivity but using rtmps protocol (rtmp tunnelled via https) clients should be able to connect to Red5 if stunnel handles the encrypted traffic on port 443 and passes unencrypted communications back and forth to the Red5 on a port it expects to receive rtmp communication..

(refer http://www.adobe.com/devnet/flashcom/articles/firewalls_proxy04.html)

The log file I get when I attempt to talk rtmps I have attached (stunnel.log) to this issue.

Great to see some action on this one.
David S


David Schulberg [11/May/07 09:54 AM]
Log file attached shows what happens when attempting to connect through stunnel where I accept connections on 443 and pass them through to red5 on 1935.

Wondering what difference it makes to the scheme of things if have rtmps.port setting in red5.properties file.

Joachim Bauch [11/May/07 09:57 AM]
You will have to forward the stunneled port to the RTMPT port. RTMPS is actually RTMPT over HTTPS.

David Schulberg [11/May/07 10:36 AM]
If I take a simple app that connects to rtmp://localhost/oflaDemo I thought I could just change the connection to rtmpt://localhost/oflaDemo to use rtmpt?
I tried this but it doesn't work.

Joachim Bauch [11/May/07 10:39 AM]
This will work if you have RTMPT running on port 80. By default it's using port 8088 (i.e. rtmpt://localhost:8088/oflaDemo) to not conflict with a webserver that could be running on 80.
Besides, please use the mailing list at http://osflash.org/mailman/listinfo/red5_osflash.org to ask questions about using / configuring Red5.

Ben Wade [10/Aug/07 02:11 PM]
Joachim,

I have a flash developer that is having this same problem where he can't connect to red5 servers because his rtmp port keeps dropping him. He says he'd be willing to be a point of reference tester for this feature add. I know this is a difficult project, but can we try to get this feature resurrected from the dead? I think this will help out red5's stability and compatibility temendously.

Ben Wade

Ben Wade [10/Aug/07 02:15 PM]
Sorry I forgot to mention that we've already tried all the other rtmpt on port 80 stuff and nothing works. There needs to be a way to literally run all protocols on all ports automatically like that of FMS.

Regards,
Ben Wade

Paul Gregoire [28/May/08 11:07 PM]
RTMPS - Supported starting with r2819
RTMPT - Can be enabled on any port which Jetty or Tomcat are setup to listen on, you simply add the RTMPTServlet to your web applications web.xml file.