Skip to main content
November 1, 2006
Question

PLEASE, PLEASE - QUICK FMS QUESTION ON REMOTE CONNECTIONS

  • November 1, 2006
  • 4 replies
  • 504 views
I've been on the phone with Adobe for 3.4 hours now. I've been transfered from Dan in Customer Serivce (45 min wait) to Garry ? in Enterprise Customer Serivce to someone in presales, and now I'm just not writing down names any more as I'm just getting exhausted. My question should be simple enough - my company is considering using Media Server, and I've been asksed to show a quick and dirty demo of how our product would look in a shared user environment. According to the Adobe site, the Flash Media Server trial is fully functioning, only limited by a 10 user max. I assume this means that i can place a copy on our web server, and our bosses downtown can use the internet to view this site, correct? I have a very, very simple Flash Comm 1.5 example called shared ball on our server. Anyone inside our network can visit our company site and see the ball move as other users move it. When someone outside of our network looks, the ball stays still. We've updated the router to do port mapping for port 1935, sending any 1935 data to the web server that houses the app. I've checked everything I can, and it just doesn't want to run outside. Inside it's beautiful, outside it just doesn't work. We found an old version of Flash Comm 1.5, and tried installing it after we uninstalled FMS 2.0, and Flash Comm 1.5 had the same issue: no one outside of our buidling could see the site. The connection url's are all correct, we're now using rtmp://www.ourdomain.com/tutorial_sampleball/ (room 1 I think) - and I've checked these user groups and followed all of the advice I could find, but it stil won't work. Please, any advice??? I'm stil on hold as I write this post - I'm hoping that I might get a response from this post before I get someone to answer :grin :-)
    This topic has been closed for replies.

    4 replies

    November 3, 2006
    In rereading the posts here I noticed that you haven't mentioned trying a tunneling connection. Try using rtmpt :// instead of rtmp://
    November 3, 2006
    Contact the network admnistrator responsible for security on the network, and tell him/her exactly what you need, which is permission for keep alive connections on 1935, 443, and 80, and permission to send/recieve rtmp packets.

    I am available for consultation, but since this isn't really an FMS or server issue, it's probably not a job for me. I'm an application developer... but it seems you need a network admnistrator at the moment.
    November 2, 2006
    >>How would I reference the rtmp calls in my .as? If my IIS www server is on www.domain.com with an ip of 11.11.111.1111, the swf file and html file would be accessed via www.domain.com/test.html, and I have a secondary external ip of 11.11.111.112 being routed to the same server running FMS, in my .as, I would literally write code to call rtmp://11.11.111.112? If so, then I'm saved. Any advice you have would be appreciated.<<

    You would use WAN IP you're using for FMS. It doesn't matter where the .swf is served from.
    November 2, 2006
    Thank you again for your response. I've actually attempted to contact you via phone to verify your rates as I have some projects that might be best worked on by an expert. You'll see me dialing in with a phone number that ends in 0908 on caller ID.

    For now, this is just perplexing. I've installed FMS on a seperate server. It's running on port 80, and has it's own domain name. The domain points to an outside IP which serves as the gateway IP on the router. The router takes all port 80 traffic from the new external ip and routes it to the new second box. Inisde the Flash movie, I'm calling rtmp://www.newdomain.com:80/testapp. I've tested it, and had 3 others outside test it. We're all getting good results. When I have the execs try it in the corp offices, they still don't see any functionality, and I don't see them in the admin console. Adaptor.xml has been updated to show :80. Is there anything else I'm forgetting? They can view the page, it just doesn't register them on the admin server, and of course, none of the shared screen assetts are moving, and no shared text is updating when it should. What else could this be? Everyone else outside of the buildling can see it perfectly, and I can see outsiders using the admin tool. Is the server / router receiving on port 80, but responding on 1935 somehow? Not sure what else this could be. Any help would be appreciated.
    November 3, 2006
    Since you've had other people from the outside world able to connect, I'm thinking it's a security issue on the network at the corp offices. If they have really tight security, their network proxy might be sniffing packets to make sure they are satisfied with them. The IT people there may also be preventing keep alive connections without specific permission.

    When a client connects to FMS, all of the traffic happens on the port used for the connection. If you connect on 80, FMS responds on 80. There's no mixing of ports going on in the background there.
    November 2, 2006
    It sounds to me like one of two things:

    1. A firewall issue, either on your end or the client end. Is your firewall configured to allow inbound kepp-alive connections to FMS on port 1935 and/or 80?

    2. An rtmp path issue. Is the .swf being served from the same local machine as FMS? If not, you'll need to adjust your rtmp string to point to the correct location. Most of the samples use localhost as the domain, but if the .swf is not on the same server as FMS, then the host needs to change.
    November 2, 2006
    Thank you for the replay. I've found out that everything actually is set up properly, and using other external computers we were able to see the server, so in digging we foudn out that the executives at our other office could still not see the site as port 1935, or whatever the default port is for FMS, is being blocked on their network. They are now concerned, as this is such a huge project, that if they can't see the site, that a lot of their potential clients might not be able to see it either I have read in a few places - including another post from you, that you can change the default port number in Adapter.xml. If I understand this correctly, you can run this server on port 80 as long as it's on a seperate IP from the web server? Is this just as simple as requesting another external IP address, and porting it's port 80 traffic to this seconday internal IP address? Is there anything else that would have to be done to get this to work? How would I reference the rtmp calls in my .as? If my IIS www server is on www.domain.com with an ip of 11.11.111.1111, the swf file and html file would be accessed via www.domain.com/test.html, and I have a secondary external ip of 11.11.111.112 being routed to the same server running FMS, in my .as, I would literally write code to call rtmp://11.11.111.112? If so, then I'm saved. Any advice you have would be appreciated.
    November 2, 2006
    Ideally, FMS will have it's own IP, and it will bind to ports 1935, 80, 443, and whatever other ports you want to use.

    When it comes to client side firewalls, there tow matters to consider. The first is port access, which binding FMS to port 80 will typically correct. The second matter is protocol. Some very strict firewalls will only allow http packets to move across port 80. To get around this, you can use the rtmpt protocol (referred to as http tunneling) which wraps the rtmp packets in http headers. Using tunneling will get you through just about any firewall, but rtmpt is a little slower than rtmp.

    To handle the connection, there are a couple of approches you can take. A popular choice is a connection "shotgun" which attempts rtmp connections on 1935, 80 and 443, and rtmpt connections on 80 and 443. Whichever connects first winds, and the other connection requests are cancelled. This all happens in your client side actionscript.

    I prefer to do take a one-at-a-time approach, trying each connection individually and assiging a 5 second timeout on the results.