CloudServices/Loop: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 5: Line 5:
=Overview=
=Overview=


XXX
The loop project aims to provide a WebRTC application firefox users can use from within Firefox.
The server part handles registration of the clients, generation of temporary links and communication with the WebRTC infrastructure provider.


=Definitions=
=Definitions=


XXX
- Simple Push URL: an URL the server can ping in order to wake up the client.
- FxA assertion: a Firefox Account assertion (read token) containing a way to identify the user on the server
- Provider tokens: In order to initiate a call between two parties, the provider issues tokens, session ids and client need to have an API key.


=APIs=
=APIs=


  A "*" means this URI requires authentication (you should pass a valid BrowserID assertion).
A "*" means this URI requires authentication (Ideally you should pass a valid BrowserID assertion, current implementation does that with a session cookie).
 


'''POST /registration'''
'''POST /registration'''
Line 35: Line 37:


List incoming calls for the authenticated user. (No parameter required.)
List incoming calls for the authenticated user. (No parameter required.)
=User Flow=
Let's say Bob wants to be called by Alice.
The workflow is as follows:
1. Bob registers with SimplePush, he gets a simple push url back and listens to the WebSocket connection;
2. Bob asks the server to generate a call url for him;
3. Bob gives this URL to Alice;
4. Alice clicks on the link, server validates the URL and displays a WebApp with a message "do you want to call Bob"?
5. Alice decides to call Bob, server validates the URL
6. Server gets provider tokens;
7. Server stores the callee token and session id in database;
8. Server pings the Simple Push Server to wake up Bob's client;
9. Server returns caller token, session id and API Key to Alice's client
10. Bob client wakes up, go on the server to look at the list of incoming calls;
11. Server returns the list of calls (containing provider information) to Bob's client.
12. Connection can be done between Alice and Bob!
Confirmed users
120

edits

Navigation menu