Overview

We are in the process of updating these pages. Please refer to the new Corelink Documentation at https://corelink-docs.hsrn.nyu.edu

Workflow

Control Stream example with sender logging in first

Client 1->Corelink:Login Corelink->Client 1:Token Client 1->Corelink:Create Audio Sender Stream Corelink->Client 1:Sender Stream ID Client 2->Corelink:Login Corelink->Client 2:Token Client 2->Corelink:Create Audio Receiver Stream Corelink->Client 2:Audio Sender Stream IDs Corelink->Client 1:New Audio Stream Receiver ID

Control Stream example with receiver logging in first

Client 1->Corelink:Login Corelink->Client 1:Token Client 1->Corelink:Create Audio Receiver Stream Corelink->Client 1: Empty Audio Sender Stream IDs Client 2->Corelink:Login Corelink->Client 2:Token Client 2->Corelink:Create Audio Sender Stream Corelink->Client 2:Audio Receiver Stream IDs Corelink->Client 1:New Audio Sender ID Client 1->Corelink:Subscribe to New Audio Sender Stream

Control messages and data packets into separate streams. 5 stream types are available:

  • TCP control stream that uses JSON messages to communicate

  • WS control stream that uses JSON messages to communicate

  • TCP stream for data

  • UDP stream for data

  • WS stream for data

The workflow to use the streams:

Login (user must be available in the user database, we might expand in the future to LDAP, oAuth2 etc. For now the standard user is Testuser with Testpassword.

The login allows users to:

  • Access rooms with correct access permissions
  • Create rooms (user who created a room is owner and can manage) For now testuser can manage the holodeck room
  • List streams for a specific room
  • Add streams or subscribe to streams that are available

A user can log in several times and use different tokens

Tokens expire after a timeout

Get available rooms: for now the room ‘Holodeck’ will be always available

Register stream in available room

List available streams

Subscribe to available stream