Loop/Try Loop

From MozillaWiki
Jump to navigation Jump to search
Last updated: 2014/10/20

Loop is a two way audio video application that uses webRTC to communicate.

Here's a diagram of how it works: Loop diagram.png

Clients

User Experience

  • generally this is a 1 to 1 audio/video. The call endpoint creator will be in Firefox/App hosted environment and the receiver of the call link will be running in the standalone-client which is embedded in the page. A circle of connections can be created between multiple users but this isn't a recommended configuration.
  • Currently working: Desktop to desktop, phone to phone

Firefox OS Loop Client

src: https://github.com/mozilla-b2g/firefoxos-loop-client

Installing Loop Client on device

  1. flash fxos 2.0 to your phone
  2. make sure phone has settings > adb and devtools access and remote debugging turned on.
  3. tether phone to computer
  4. git clone https://github.com/mozilla-b2g/firefoxos-loop-client.git
  5. open Fx nightly to about:app-manager [more info]
  6. click connect to device with device id (random 8 character id)
  7. phone should display allow to connect dialog, click yes
  8. In Apps tab, click add packaged app
  9. browse dialog to the firefoxos-loop-client repo location
  10. click 'update' button
  11. loop should be installed on phone
  12. open loop client - follow menu to use

Desktop Firefox Loop Client

  1. Get Firefox Nightly
  2. click on the telephone icon in the navigation bar
  3. copy URL and open it on another device (another person or device)
  4. click allow when prompted to use cam/mic

Standalone Loop Client and Client Tests

There's a web page that creates the webRTC peer-2-peer call. You can test that here in any browser:

full instructions are here:

Client Debugging

FxOS

  • push these gecko prefs:
user_pref("identity.fxaccounts.loglevel", "Debug");
user_pref("services.mobileid.loglevel", "Debug");

you should see traces like such in logcat:

I/Gecko   (11667): 1406135778375	MobileId	DEBUG	getMobileIdAssertion

Desktop

  • about:webrtc
  • Browser Console with loop.debug.loglevel = Debug
  • Terminal output with identity.fxaccounts.loglevel = Debug and services.hawk.loglevel = Debug
  • Web Console for link clicker UI

MSISDN

Standalone Loop Client

Snapshot of mozilla-central src:

Servers

There are four servers involved:

  • Loop-server (call)
  • MSISDN gateway
  • Firefox Accounts via OAuth
  • TokBox TURN server

How to run Tests


Server Debugging