WebAPI/PresentationAPI:Protocol Draft
< WebAPI
Jump to navigation
Jump to search
This is a draft of protocol proposal for 2-UAs Presentation Scenario
Requirement
- Device Discovery
- Device information: unique name, user-friendly name, address for ctrl server
- Device capability: resolution, supported media type, supported apps, supported IO capability
- Protocol information: protocol version
- Service Launching
- Service information: app/page URL
- Session information: session Id, bootstrap info for communication
- Controlling message: launch, reconnect, terminate
- User settings: preferred locale
- Communication
- establish dedicate transportation channel
- Security
- device challenge: OOB channel, passkey
- data encryption: key derived from challenge, key exchange for communication channel
Architecture
Protocol Details
Launch
- STEP 1: find device (mDNS/DNS-SD: _presentation-ctrl._tcp)
- STEP 1a: query device capability (send query message: supported media type, supported URL format)
- STEP 2: setup control channel to remote device (send connect message: device name, protocol version, supported challenge method)
- STEP 2a: device challenge / device pairing (send challenge message: ) (send resolve message: )
- STEP 3: launch app / page (send launch message: url, session Id)
- STEP 4: setup communication channel (send offer message: SDP for DataChannel) (send answer message: SDP for DataChannel)
- STEP 4a: establish DataChannel via SDP
- STEP 5: close control channel (send close message: )
Terminate
- STEP 1: setup control channel to remote device
- STEP 1a: complete challenge with stored information
- STEP 2: terminate app / page via session Id
- STEP 3: close control channel
Reconnect
- STEP 1: setup control channel to remote device
- STEP 1a: complete challenge with stored information
- STEP 2: reconnect app / page via session Id
- STEP 3: setup communication channel
- STEP 4: close control channel