Skip to content

Commit 5891481

Browse files
UML diagram for post
1 parent 823d0fc commit 5891481

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

flow-uml.txt

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
@startuml
2+
participant "index.html" as Client
3+
participant "OpenAI" as API
4+
5+
6+
== Session Start ==
7+
Client -> Client: User clicks "Start Session"
8+
Client -> API: Fetch Token
9+
API -> Client: Token
10+
Client -> Client: Acquire local audio (getUserMedia())
11+
Client -> Client: Create RTCPeerConnection & DataChannel
12+
Client -> Client: setLocalDescription()
13+
Client -> API: HTTP POST (offer.sdp, API key, etc.)
14+
API -> Client: SDP Answer
15+
Client -> Client: setRemoteDescription(answer)
16+
Client->API: addTrack(): send local audio
17+
API->Client: Remote audio (pcm16)
18+
Client -> Client: ontrack() - attach remote audio stream to <audio>
19+
Client -> Client: DataChannel onopen event fires
20+
Client -> Client: Send "session.update" & "start instructions" via DataChannel
21+
22+
== During Session ==
23+
API -> Client: DataChannel messages\n(audio transcript delta,\nfinal transcript, function call responses)
24+
Client -> API: DataChannel system message updates
25+
26+
== Session End ==
27+
Client -> Client: User clicks "End Session"
28+
Client -> API: Send "final goodbye" message via DataChannel
29+
Client -> Client: Stop local audio & (after delay) Close RTCPeerConnection
30+
Client -> Client: Log "Session ended."
31+
@endumlml

0 commit comments

Comments
 (0)