16 Replies Latest reply on Apr 1, 2009 5:54 PM by onoke

    VideoPhoneLabs example not working

    Jyve
      Dear dev-team, could you also give more information about why the example-application (VideoPhoneLabs.swf) does not work, when I upload all the assets (not reg.cgi, while I want to use the Stratus-service) to a server ( http://work.joeyvandijk.nl/stratus/VideoPhoneLabs.html).
      I am connected to the Stratus-webservice, but I get an idManagerError but does not know how I can solve this.

      I think it has to do with my id, but when I login to adobe.com and try to retrieve an ID I get the same which I am using at above example. So, I think my ID is not blocked or something. And I know that the Stratus-webservice is not down while your online version of the VideoPhoneLabs is working.

      I see in my error:
      Error #2048: Schending van beveiligingssandbox: http://work.joeyvandijk.nl/stratus/VideoPhoneLabs.swf kan geen gegevens laden van rtmfp://stratus.adobe.com/bc25bb58c9cf187e4178b40e-c16df88ec798/?identity=80b46c214f4c830 f28186fa40febc0a4a8c323393958ea99a0075b228d870e50&username=joeyvandijk
      which says that it cannot load data from the Stratus-service due to a SecurityError.

      So, I cannot run it locally OR on a webserver. Do you have some tips what could be the cause?

      Thnx in advance!

      :D
        • 1. Re: VideoPhoneLabs example not working
          Michael Thornburgh Adobe Employee
          the VideoPhoneLabs example requires a connection to Stratus (using your developer key) *AND* a web service running somewhere to store and look up peer IDs. we run a web service on our servers to service our online version of VideoPhoneLabs, which is the "reg.cgi" script that comes with the "Video Phone application source code" running on one of our computers.

          in order to host VideoPhoneLabs yourself, you must also host a compatible web service. the web service we run for our online version of VideoPhoneLabs is not available for use by other applications. just like with your developer key, you must edit the VideoPhoneLabs.mxml file to set the variable "WebServiceUrl" to your registration web service (for example, a copy of reg.cgi running on your own web server somewhere).

          -mike

          • 2. Re: VideoPhoneLabs example not working
            Jyve Level 1
            Great, thnx, it did work now with a webservice, hope that after the beta-phase of Stratus this extra part can be combined inside the webservice or at the same server.

            thnx for you help!
            • 3. Re: VideoPhoneLabs example not working
              onoke
              Hi,
              I am trying the VideoPhoneLabs app, but still do not work. Please give some advices.
              I have done the procedure according to ReadMe.txt, then reg.cgi copied into my local web server. After that i got some error message as following when i accessed to it from another pc.

              [In the debugger window of FP10]
              TypeError: Error #1009: null <ono: sorry for japanese, i deleted them>
              at VideoPhoneLabs/onDisconnect()[C:\Users\ono\Documents\Flex Builder 3\VideoPhoneLabs\src\VideoPhoneLabs.mxml:548]
              at VideoPhoneLabs/idManagerEvent()[C:\Users\ono\Documents\Flex Builder 3\VideoPhoneLabs\src\VideoPhoneLabs.mxml:484]
              at flash.events::EventDispatcher/dispatchEventFunction()
              at flash.events::EventDispatcher/dispatchEvent()
              at HttpIdManager/httpFault()[C:\Users\ono\Documents\Flex Builder 3\VideoPhoneLabs\src\HttpIdManager.as:120]
              at flash.events::EventDispatcher/dispatchEventFunction()
              at flash.events::EventDispatcher/dispatchEvent()
              at mx.rpc::AbstractInvoker/ http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()[C:\autobuild\3.2.0\framewor ks\projects\rpc\src\mx\rpc\AbstractInvoker.as:170
              at mx.rpc.http::HTTPService/ http://www.adobe.com/2006/flex/mx/internal::processResult()[C:\autobuild\3.2.0\frameworks\ projects\rpc\src\mx\rpc\http\HTTPService.as:852
              at mx.rpc::AbstractInvoker/ http://www.adobe.com/2006/flex/mx/internal::resultHandler()[C:\autobuild\3.2.0\frameworks\ projects\rpc\src\mx\rpc\AbstractInvoker.as:188
              at mx.rpc::Responder/result()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\Responde r.as:43]
              at mx.rpc::AsyncRequest/acknowledge()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\ AsyncRequest.as:74]
              at DirectHTTPMessageResponder/completeHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\s rc\mx\messaging\channels\DirectHTTPChannel.as:403]
              at flash.events::EventDispatcher/dispatchEventFunction()
              at flash.events::EventDispatcher/dispatchEvent()
              at flash.net::URLLoader/onComplete()

              [In the apps STATUS window]
              Connecting to rtmfp://stratus.adobe.com
              NetConnection event: NetConnection.Connect.Success
              Connected, my ID: c0e8c83410b0dbf0b66644b8e2418abb67a0d3a31ba42d55af961c140db0bf70
              ID event: idManagerError
              Error description: HTTP error: (mx.messaging.messages::AcknowledgeMessage)#0
              body = "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
              <html>
              <head>
              <title>Index of /VideoPhoneLabs</title>
              </head>
              <body>
              <h1>Index of /VideoPhoneLabs</h1>
              <table><tr><th><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr><tr><th colspan="5"><hr></th></tr>
              <tr><td valign="top"><img src="/icons/back.gif" alt="[DIR]"></td><td><a href="/">Parent Directory</a></td><td> </td><td align="right"> - </td></tr>
              <tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]"></td><td><a href="AC_OETags.js">AC_OETags.js</a></td><td align="right">24-Mar-2009 17:35 </td><td align="right">8.4K</td></tr>
              <tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="VideoPhoneLabs.html">VideoPhoneLabs.html</a></td><td align="right">24-Mar-2009 17:35 </td><td align="right">4.2K</td></tr>
              <tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]"></td><td><a href="VideoPhoneLabs.swf">VideoPhoneLabs.swf</a></td><td align="right">24-Mar-2009 17:35 </td><td align="right">735K</td></tr>
              <tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]"></td><td><a href="playerProductInstall.swf">playerProductInstall.swf</a></td><td align="right">24-Mar-2009 17:35 </td><td align="right">657 </td></tr>
              <tr><th colspan="5"><hr></th></tr>
              </table>
              <address>Apache/2.2.9 (Fedora) Server at 192.168.1.101 Port 80</address>
              </body></html>
              "
              clientId = "DirectHTTPChannel0"
              correlationId = "D8807C92-CB35-13AA-386C-3B10784B610C"
              destination = ""
              headers = (Object)#1
              DSStatusCode = 200
              messageId = "C3AF012E-AC2B-464D-C982-3B1078DAB158"
              timestamp = 0
              timeToLive = 0
              Disconnecting.
              Hanging up call
              NetConnection event: NetConnection.Connect.Closed
              ID event: idManagerError
              Error description: HTTP error: (mx.messaging.messages::AcknowledgeMessage)#0
              body = "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
              <html>
              <head>
              <title>Index of /VideoPhoneLabs</title>
              </head>
              <body>
              <h1>Index of /VideoPhoneLabs</h1>
              <table><tr><th><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr><tr><th colspan="5"><hr></th></tr>
              <tr><td valign="top"><img src="/icons/back.gif" alt="[DIR]"></td><td><a href="/">Parent Directory</a></td><td> </td><td align="right"> - </td></tr>
              <tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]"></td><td><a href="AC_OETags.js">AC_OETags.js</a></td><td align="right">24-Mar-2009 17:35 </td><td align="right">8.4K</td></tr>
              <tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="VideoPhoneLabs.html">VideoPhoneLabs.html</a></td><td align="right">24-Mar-2009 17:35 </td><td align="right">4.2K</td></tr>
              <tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]"></td><td><a href="VideoPhoneLabs.swf">VideoPhoneLabs.swf</a></td><td align="right">24-Mar-2009 17:35 </td><td align="right">735K</td></tr>
              <tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]"></td><td><a href="playerProductInstall.swf">playerProductInstall.swf</a></td><td align="right">24-Mar-2009 17:35 </td><td align="right">657 </td></tr>
              <tr><th colspan="5"><hr></th></tr>
              </table>
              <address>Apache/2.2.9 (Fedora) Server at 192.168.1.101 Port 80</address>
              </body></html>
              "
              clientId = "DirectHTTPChannel0"
              correlationId = "7863A499-3906-0CC3-1AED-3B1078EAAFFE"
              destination = ""
              headers = (Object)#1
              DSStatusCode = 200
              messageId = "716811AE-4A81-3468-4DAA-3B107945F936"
              timestamp = 0
              timeToLive = 0
              Disconnecting.
              Hanging up call


              Thank you for any advices.

              Ono Keiji
              • 4. Re: VideoPhoneLabs example not working
                Michael Thornburgh Adobe Employee
                you should check any error logging on your web server for the reg.cgi script. i would guess that one of the following is the case:

                1) the script isn't executing, but is just being returned as a text file

                2) the script doesn't have execute permission on your server

                3) the script's database isn't set up properly or is not accessible to the script when run with the web server's permissions

                4) some requirements of the script, like the correct version of Python or SQLite, are not met

                -mike
                • 5. Re: VideoPhoneLabs example not working
                  onoke Level 1
                  Hummm,
                  I looked at httpd logs, and there was 'not exist .../history'.
                  Actually history and history.js were called by html, but those were not included int the sample archives.
                  Dose this cause of issue ?

                  Ono Keiji
                  • 6. Re: VideoPhoneLabs example not working
                    Michael Thornburgh Adobe Employee
                    i don't believe that's your cause. i believe the cause is one of the four cases i listed above.

                    you can use a web browser to access the web service you installed directly, to test that it's working correctly. try:

                    http://your.web.server/cgi-bin/reg.cgi?username=foo&identity=1234

                    which should return an XML result with <update>true</update>, then try

                    http://your.web.server/cgi-bin/reg.cgi?friends=foo

                    which should return an XML result with one friend record showing the identity you stored with the first query. if either doesn't work, then your installation of reg.cgi is incorrect.

                    -mike
                    • 7. Re: VideoPhoneLabs example not working
                      onoke Level 1
                      I wonder i make misunderstand of these parameters.
                      For my confirm, what is the 'username' and 'identity'?
                      Are they adobe account or have to set for this sample app ?
                      There is nothing to them in ReadMe.txt.

                      Ono Keiji
                      • 8. Re: VideoPhoneLabs example not working
                        onoke Level 1
                        Adding above.
                        When tried with reg.cgi?username=***&identity=***, the return was

                        <?xml version="1.0" encoding="utf-8"?>
                        <result>
                        <update>false</update>
                        </result>

                        It would seem that they were working.

                        Ono Keiji
                        • 9. Re: VideoPhoneLabs example not working
                          Michael Thornburgh Adobe Employee
                          result.update=false means that a Python exception is occurring in the "insert or replace" SQL command. that suggests that the problem is either reason #3 or #4 of the ones i listed above. probably reg.cgi doesn't have write permission for the SQLite3 database when run from the web server. SQLite3 requires that the database file and the directory it's located in be writable. alternatively, you may have too-old versions of either Python or the Python "sqlite3" module.

                          -mike

                          • 10. Re: VideoPhoneLabs example not working
                            onoke Level 1
                            Which version are you recommend ?
                            My system is
                            python -> 2.5.1
                            sqlite -> 3.6.11

                            I changed also the permission for the database to 666.
                            Sorry for my basic, but i was newbie both python and sqlite.

                            Ono Keiji
                            • 11. Re: VideoPhoneLabs example not working
                              Michael Thornburgh Adobe Employee
                              those versions of python and sqlite3 should be fine. so probably the problem is with permissions. the database file AND the directory it's in must be writable by programs running with the web server's permissions. that probably means world-everything permissions in that directory (which, btw, isn't very safe -- you can tighten that up by restricting it to the web server's group or user id). but just to try, the database file should be 0666, and the directory it's in should be 0777. SQLite3 makes temporary entries in the directory with the database file to effect its locking and transaction measures.

                              -mike

                              • 12. Re: VideoPhoneLabs example not working
                                onoke Level 1
                                Thank you mike. The issue of reg.cgi has resolved, i got 'true' message.
                                As you said, it was cause of db directory permission.

                                But the VideoPhoneLabs app has not worked yet.
                                The error message, that were the debugger window and stratus window, was as same as before.
                                Something wrong. :(

                                Ono Keiji
                                • 13. Re: VideoPhoneLabs example not working
                                  Michael Thornburgh Adobe Employee
                                  if the error is the same as before ("HTTP error"), the next step is to double-check the web service URL in the mxml file, and to check your web server log to look for any access that appears to come from the SWF. the most likely answer is the web service URL isn't quite right, so the app can't actually connect to the web server.

                                  -mike

                                  • 14. Re: VideoPhoneLabs example not working
                                    onoke Level 1
                                    I put ' http://<myserver>/VideoPhoneLabs' input 'the web service URL' in the mxml file. And i had accessed to ' http://<myserver>/VideoPhoneLabs/VideoPhoneLabs.html'.
                                    Dose this correct as you said 'web service url' ?
                                    And the below is the access log data of my server.

                                    192.168.1.150 - - [31/Mar/2009:12:11:58 +0900] "GET /VideoPhoneLabs?identity=244f35fe0ee214dbb71f8204e0be16b9aca80a01393c4ae6d2b0e0714e76d1fc &username=onoke HTTP/1.1" 301 415 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8"
                                    192.168.1.150 - - [31/Mar/2009:12:11:58 +0900] "GET /VideoPhoneLabs/?identity=244f35fe0ee214dbb71f8204e0be16b9aca80a01393c4ae6d2b0e0714e76d1f c&username=onoke HTTP/1.1" 200 1521 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8"
                                    192.168.1.150 - - [31/Mar/2009:12:11:58 +0900] "GET /VideoPhoneLabs?identity=0&username=onoke HTTP/1.1" 301 352 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8"
                                    192.168.1.150 - - [31/Mar/2009:12:11:58 +0900] "GET /VideoPhoneLabs/?identity=0&username=onoke HTTP/1.1" 200 1521 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8"

                                    I could not understand why the identity query had changed each time.

                                    Ono Keiji
                                    • 15. Re: VideoPhoneLabs example not working
                                      Michael Thornburgh Adobe Employee
                                      that is not correct. the web service URL should be the same as the one you tested manually -- the one to reach reg.cgi. it appears that you are just giving the URL to the directory where you have the HTML file. you're getting 301 Permanently Moved message to add the trailing "/", and then probably retrieving the auto-generated index of the contents of that directory as an HTML document, rather than running the cgi script to get back the XML document.

                                      also, the "identity" is your peerID (the NetConnection's nearID), which is unique every time you make a new NetConnection.

                                      -mike
                                      • 16. Re: VideoPhoneLabs example not working
                                        onoke Level 1
                                        Thank you mike, i got work. :^)
                                        This is cool sample.
                                        If you may allow me, i have a question about this.
                                        What is the mean of the number of the 'Video Quality'.
                                        Resolution, flame rate, band wide or all ?

                                        Ono Keiji