5 Replies Latest reply on Oct 19, 2010 6:58 PM by The Linchew

    Question about using the sample of Cirrus.

    The Linchew

      I have tried some the sample of Cirrus, and found out some problem.

       

      Situation 1:

      ->One Computer connect to the LAN, Another one use Wireless to connect to the same LAN.

       

      The Sample works, but cost a while to connect both client. (About 30 sec)

       

      Situation 2:

      ->One Computer connect to the LAN, Another one use 3.5G.

       

      The Sample dosen't work. Both Client can not connect to each other. And keep showing message like "NetConnection event: NetConnection.Connect.NetworkChange".

      The Sample screen shows that "ID event: lookupSuccess", and the displayed ID matches with another client.

       

      Situation 3:

      ->Both Computers connect to 3.5G.

       

      The Sample dosen't work. Both Client can not to each other.

      The result is like Situation 2.

       

       

      Is there any solution/suggestion to solve these problem? And Why is that the situation 1 takes so long to make two client connect to each other?

        • 1. Re: Question about using the sample of Cirrus.
          ratnawe Level 1

          It seems that this is related to the known NAT problem discussed here for example.

           

          Questions of this type pile up a lot these days. In my opinion it's time for Adobe to make a real product out of the beta. Developers and decision makers need clarity whether to rely on Cirrus (aka Stratus) or not. I personally am a fan of RTMFP and the Cirrus service and I think that it would also make a great commercial product if the price would be free for non-commercial use and then be tiered gently for commercial use. Giving it away for free or letting developers set up an equivalent service by open-sourcing the server-side code (BlazeDS integration?) and then still having FMS as a commercial solution would also be a great (if not the best ) idea since this would further strengthen the platform in a swift kind of way, IMHO.

           

          The Linchew, if you find this post helpful, please mark it as such

          1 person found this helpful
          • 2. Re: Question about using the sample of Cirrus.
            Michael Thornburgh Adobe Employee

            i believe "NetConnection.Connect.NetworkChange" means that the near end (your computer) detected that at least one of its IP addresses changed or a physical interface change state from online to offline or vice versa.  if Cirrus observes your address changing, it'll send a "NetConnection.AddressChange.Notify" event to you.

             

            i have observed my own mobile carrier (T-Mobile in the United States) appears to implement symmetric NAT with extremely aggressive translation timeouts for UDP communications.  symmetric NAT is the most annoying flavor of NAT and the least conducive to end-to-end communication.

             

            regarding your scenario #1: that's very interesting.  RTMFP isn't doing anything different during those 30 seconds; it is doing the same thing to try to establish communication on a simple back-off schedule.  the most likely explanation for the long delay before communication is established is aggressive NAT translation timeouts or translation changes coming into phase with the session startup packets and session keepalive traffic syncing up with the current translation.  this setup is probably the "double-NAT" situation.  i expect that communication would proceed immediately if the wireless LAN computer tried to connect to the wired computer instead of the other way around.

             

            for scenarios #2 and #3, your mobile carrier probably does symmetric NAT, and very likely your LAN is also behind some kind of NAT (either symmetric or port-restricted cone NAT or port-restriced firewall); symmetric->symmetric or symmetric->port-restricted won't work.

             

            NAT disrupts the end-to-end nature of the Internet.  RTMFP can establish communication in nearly all NAT combinations where end-to-end communication is possible, and doesn't work in the combinations where it's not possible.  symmetric NATs are by nature defective* and should be repaired or replaced.

             

            * please see the work of the IETF BEHAVE working group.

            1 person found this helpful
            • 3. Re: Question about using the sample of Cirrus.
              The Linchew Level 1

              Thanks for your response.

               

              I have tried some other scenarios, and found out some strange things.

               

              **The following Scenario is using the Sample of Cirrus**

               

              #Scenario 4:

               

              Equipment A: A Notebook ---Connect--->Shared Network by a Mobile Carrier(3.5G).

              Equipment B: A Mobile Carrier (Directly connect to 3.5G)

               

              **Note that two Mobile Carrier are not the same.

               

              Result:

              A and B can connect to both.

               

               

              #Scenario 5:

               

              Equipment A: A Notebook ---Connect--->Shared Network by a Mobile Carrier(3.5G).

              Equipment B: A Notebook ---Connect--->Shared Network by a Mobile Carrier(3.5G).

               

              **Note that two Mobile Carriers and Notebooks are not the same.

               

              Result:

              A can't connect with B.

               

               

              I have the some question in the following:

              1. Is there any solution/suggestion to get two Client (in Symmetric NAT/Firewall) to start p2p connection?

              2. Can I set up a TURN PROXY so that client in symmetric NAT/Firewall can connect?

              3. Why we can use computer(in our scenario) to successfully use chatroulette.com service, but can not work correctly in this sample?

               

              -Linchew

              • 4. Re: Question about using the sample of Cirrus.
                Michael Thornburgh Adobe Employee

                1. P2P communication is usually impossible when the two peers are behind different symmetric NATs, or where one is behind a symmetric NAT and the other is behind a port-restricted cone NAT or port-restricting firewall.

                 

                2. Flash Player supports IETF BEHAVE TURN Draft 8 (not the final TURN RFC) with no authentication.  if you have such a TURN server, you can set it in your mms.cfg file as the RTMFPTURNProxy setting.

                 

                3. that service has a client-server-client relay fallback mode for when P2P communication is not possible.  some percentage of communications won't be able to go P2P (for NAT and firewall reasons), and so to give a 100% success rate user experience, that service has to provide server and bandwidth infrastructure to handle the relay traffic.  the VideoPhoneLabs sample is P2P only.

                • 5. Re: Question about using the sample of Cirrus.
                  The Linchew Level 1

                  Thanks again for your response.