-
Notifications
You must be signed in to change notification settings - Fork 3
/
sequence-diagram-no-relays.plantuml
61 lines (56 loc) · 1.67 KB
/
sequence-diagram-no-relays.plantuml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
@startuml
autonumber
title Typical FTL Orchestration Service Flow
actor nyStreamer as "NYC Streamer"
participant nyc as "Janus NYC Ingest"
participant orchestrator as "FTL Orchestration Service"
participant sea as "Janus SEA Edge"
actor seaViewer as "SEA Viewer"
== FTL Instance Registration ==
nyc --> orchestrator: Intro Request
note left
Ingest server registers
with the Orchestration Service
end note
nyc <-- orchestrator: Intro Response
sea --> orchestrator: Intro Request
note right
Edge server registers
with the Orchestration Service
end note
sea <-- orchestrator: Intro Response
== Streamer Starts Streaming ==
nyStreamer -> nyc: New stream starts for channel 1
note left
Streamer begins streaming
end note
nyc --> orchestrator: Stream Publish Request
nyc <-- orchestrator: Stream Publish Response
== Viewer Starts Viewing ==
seaViewer -> sea: Request to watch channel 1
note right
Viewer starts watching
end note
sea --> orchestrator: Subscribe Channel Request
note right
A new stream key for this channel is
generated and sent with this request
end note
sea <-- orchestrator: Subscribe Channel Response
nyc <-- orchestrator: Stream Relaying Request
sea <-- nyc: Channel 1 stream relayed via FTL
note left
The stream key for FTL relay is sent
with the Start Relay message
end note
sea --> seaViewer: Channel 1 stream is delivered via WebRTC
== Streamer Stops Streaming ==
nyStreamer -> nyc: Stream stops for channel 1
note left
Streamer stops streaming
end note
nyc --> orchestrator: Stream Unpublish request
nyc <-- orchestrator: Stream Unpublish response
nyc --X sea: Channel 1 stream relay is ended
sea --> seaViewer: Channel 1 stream ended
@enduml