├── webrtc-setup-uml.txt ├── LICENSE ├── flow-uml.txt ├── README.md ├── beta-api.html └── index.html /webrtc-setup-uml.txt: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | participant "Browser" as Client 4 | participant "OpenAI" as API 5 | 6 | Client -> Client: Acquire local audio (getUserMedia()) 7 | Client -> Client: Create RTCPeerConnection 8 | Client -> Client: Create DataChannel 9 | Client -> API: addTrack(): attach local audio to RTCPeerConnection 10 | Client -> Client: setLocalDescription() 11 | Client -> API: HTTP POST ({localDescription.sdp, session}, API key) 12 | API -> Client: SDP Answer 13 | Client -> Client: setRemoteDescription(answer) 14 | Client -> API: WebRTC: local audio stream 15 | Client -> API: WebRTC: local video stream 16 | API -> Client: WebRTC: remote audio stream 17 | Client -> Client: ontrack() attaches remote audio stream to