WebAPI/PresentationAPI:Protocol Draft: Difference between revisions

→‎Start Presentation: update details
m (→‎Terminate Presentation: update step sequence number)
(→‎Start Presentation: update details)
Line 79: Line 79:


=== Start Presentation  ===
=== Start Presentation  ===
* STEP 1: find device (mDNS/DNS-SD: _presentation-ctrl._tcp)
* STEP 1: controlling page initiate presentation via request.start()
** STEP 1a: query device capability (send query message: supported media type, supported URL format)
* STEP 1a: controlling user agent initiate device selection
* STEP 2: setup control channel to remote device (send connect message: device name, protocol version, supported challenge method)
* STEP 2: setup control channel to server
** STEP 2a: device challenge / device pairing (send challenge message: ) (send resolve message: ) (send auth message: encrypted auth token)
* STEP 3: send connect command with device name, protocol version, supported challenge method
* STEP 3: launch app / page (send launch message: url, session Id)
** STEP 3a: server initiate device challenge / device pairing procedure
* STEP 4: setup communication channel (send offer message: SDP for DataChannel) (send answer message: SDP for DataChannel)
* STEP 3: client send launch command with url, presentation Id (launch command should be encrypted and carried by encrypted-ctrl-msg)
** STEP 4a: establish DataChannel via SDP
* STEP 4: server launch corresponding presented content and send launch-ack command
* STEP 5: close control channel (send close message: )
* STEP 4: client setup communication channel via data channel establishment procedure
* STEP 5: client close control channel
[[File:Draft Protocol Start Presentation.png]]
[[File:Draft Protocol Start Presentation.png]]
=== Establish Data Channel ===
=== Establish Data Channel ===
* STEP 1: client creates data channel and generates SDP as offer
* STEP 1: client creates data channel and generates SDP as offer
Confirmed users
216

edits