0 Replies Latest reply on Jan 3, 2008 8:38 AM by ulimativ

    Flex RTMP MEssaging and Firewall issues

    ulimativ
      Hi.
      I have some problems using the RTMP push messaging of flex when accessing the application from a environment with enhanced security.

      Everything works fine when there are no firewall restrictions but as soon as there are ports blocked in the environment the fallback to RTMPT does not work.
      I also set up the samples from the testdrive and also sample6 which uses RTMP does not work as it was configured from Adobe. ( It is accessible under http://85.10.194.111/samples/testdrive/sample6/FeedClient.mxml ; feed start under: http://85.10.194.111/samples/testdrive/sample6/startfeed.jsp )

      I have the following questions:

      1.) Does FDS support the HTTP tunneling the same way as the Flash Media Server ( http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_16631&sliceId=2) does? I read two different things on the net:
      • Release notes of Lifecycle data services:
      RTMP tunneling (RTMPT), which allows the use of the RTMP protocol in Data Services applications to traverse firewalls and proxies that currently prevent direct RTMP client connections to the server. ( http://help.adobe.com/en_US/livecycle/es/lcds_releasenotes.html)
      • Documentation of Flex: If you have a firewall in place, you must open the port that you assign to the RTMP endpoint to allow RTMP traffic. You cannot use HTTP tunneling for RTMP traffic. ( http://livedocs.adobe.com/flex/2/docs/wwhelp/wwhimpl/js/html/wwhelp.htm?href=00001101.html )

      2.) If 1 is possible: What exactly we have to configure in the services-config.xml and on the server for enabling the RTMPT fallback. Our current configuration of the application is:
      <channel-definition id="my-rtmp" class="mx.messaging.channels.RTMPChannel">
      <endpoint uri="rtmp://{server.name}" class="flex.messaging.endpoints.RTMPEndpoint"/>
      <properties>
      <bind-port>1935</bind-port>
      <idle-timeout-minutes>20</idle-timeout-minutes>
      </properties>
      </channel-definition>
      But actually I already tested already various configurations with no success. For the URI we tried rtmpt://{server.name}; rtmp://{server.name}:2038 and also hardcoded IPs.
      We tried it with and without bind-port property in all combinations.
      Can somebody tell me the correct configuration that in your opinion should work and also if we have to redirect the RTMP traffic in case of RTMPT to the bind port on a network level of the server.
      We also monitored the TCP traffic and it seems if the flash player does not try to connect through port 80. Is there anything else on the flex side we have to take care of? We used the standard consumer tag for using the messaging service: <mx:Consumer id="consumer" destination="feed" message="messageHandler(event.message)"/>.

      The destination in messaging-config is the following:
      <destination id="feed">
      <properties>
      <network>
      <session-timeout>0</session-timeout>
      </network>
      <server>
      <max-cache-size>1000</max-cache-size>
      <message-time-to-live>0</message-time-to-live>
      <durable>false</durable>
      </server>
      </properties>
      <channels>
      <channel ref="my-rtmp"/>
      </channels>
      </destination>


      3.) Do somebody have a running example available on the internet that uses RTMPT for seeing a Flex application using RTMPT and I can try accessing it with our environment security environment?

      Could this all be due that we are using the evaluation license for development? We will also buy Flex Data Services licenses soon, but at the moment for development we use the 1 CPU free license for development?

      If you need more information about my config please tell me.

      BR
      Uli