Skip to content

Commit 5427089

Browse files
authored
Update Calls openapi spec (#19585)
1 parent a9d3bbf commit 5427089

File tree

1 file changed

+115
-19
lines changed

1 file changed

+115
-19
lines changed

public/calls/static/calls-api-2024-05-21.yaml

Lines changed: 115 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ paths:
2222
type: string
2323
required: true
2424
description: WebRTC application ID
25+
- in: query
26+
name: thirdparty
27+
schema:
28+
type: boolean
29+
description: Session is intended to connect to an ICE-lite peer like a third party SFU/server
2530
responses:
2631
"201":
2732
description: Created
@@ -75,6 +80,61 @@ paths:
7580
- location: remote
7681
sessionId: 2a45361d5fd7cc14eface0587c276c94
7782
trackName: 2e037563-a35d-4bf6-a9ee-2d474cbb9a58
83+
push_track_with_bidirectional_stream:
84+
description: Share a track through a bidirectional transceiver
85+
value:
86+
sessionDescription:
87+
sdp: |
88+
v=0
89+
o=- 0 0 IN IP4 127.0.0.1
90+
s=-
91+
c=IN IP4 127.0.0.1
92+
t=0 0
93+
m=audio 4000 RTP/AVP 111
94+
a=rtpmap:111 OPUS/48000/2
95+
m=video 4002 RTP/AVP 96
96+
a=rtpmap:96 VP8/90000
97+
...
98+
type: offer
99+
tracks:
100+
- location: local
101+
mid: "0"
102+
trackName: mic-1
103+
bidirectionalMediaStream: true
104+
kind: "audio"
105+
push_track_without_an_offer:
106+
description: SFU can generate an offer to push a local track
107+
value:
108+
tracks:
109+
- location: local
110+
trackName: mic-1
111+
kind: "audio"
112+
push_tracks_with_autodiscover:
113+
description: SFU detects any new track in the offered SDP
114+
value:
115+
autoDiscover: true
116+
sessionDescription:
117+
sdp: |
118+
v=0
119+
o=- 0 0 IN IP4 127.0.0.1
120+
s=-
121+
c=IN IP4 127.0.0.1
122+
t=0 0
123+
m=audio 4000 RTP/AVP 111
124+
a=rtpmap:111 OPUS/48000/2
125+
m=video 4002 RTP/AVP 96
126+
a=rtpmap:96 VP8/90000
127+
...
128+
type: offer
129+
pull_track_with_bidirectional_stream:
130+
description: Pull a track through an existing bidirectional transceiver identified by a mid
131+
value:
132+
tracks:
133+
- location: remote
134+
mid: "#mic-1"
135+
sessionId: 2a45361d5fd7cc14eface0587c276c94
136+
trackName: generated-audio
137+
kind: "audio"
78138
security:
79139
- secret: []
80140
parameters:
@@ -151,9 +211,7 @@ paths:
151211
content:
152212
application/json:
153213
schema:
154-
properties:
155-
sessionDescription:
156-
$ref: "#/components/schemas/SessionDescription"
214+
$ref: "#/components/schemas/RenegotiateRequest"
157215
example:
158216
sessionDescription:
159217
sdp: |
@@ -193,7 +251,7 @@ paths:
193251
content:
194252
application/json:
195253
schema:
196-
$ref: "#/components/schemas/SessionDescription"
254+
$ref: "#/components/schemas/RenegotiateResponse"
197255
example: {}
198256
/apps/{appId}/sessions/{sessionId}/tracks/close:
199257
put:
@@ -336,13 +394,19 @@ components:
336394
description: If you want to share a track, it should be local. If you want to play a track shared by a remote agent, it should be remote
337395
mid:
338396
type: string
339-
description: mid associated to track's transceiver. It should be set with local tracks only
397+
description: mid associated to track's transceiver. It also can be prefixed with \# to reference an existing transceiver by its trackName
340398
sessionId:
341399
type: string
342400
description: Session ID of the track owner. It should be set for remote tracks only
343401
trackName:
344402
type: string
345403
description: Given name for the track
404+
bidirectionalMediaStream:
405+
type: boolean
406+
description: Make the associated transceiver bidirectional. This option works only when the SFU generates the offer
407+
kind:
408+
type: string
409+
description: Give a hint to the SFU about the transceiver kind. This is required when the SFU generates the offer
346410
CloseTrackObject:
347411
type: object
348412
properties:
@@ -358,9 +422,16 @@ components:
358422
type: array
359423
items:
360424
$ref: "#/components/schemas/TrackObject"
425+
autoDiscover:
426+
type: boolean
427+
description: Assign a random track name to any new track in the offered SDP
361428
TracksResponse:
362429
type: object
363430
properties:
431+
errorCode:
432+
type: string
433+
errorDescription:
434+
type: string
364435
requiresImmediateRenegotiation:
365436
type: boolean
366437
sessionDescription:
@@ -371,21 +442,24 @@ components:
371442
allOf:
372443
- $ref: "#/components/schemas/TrackObject"
373444
- properties:
374-
error:
375-
type: object
376-
properties:
377-
errorCode:
378-
type: string
379-
errorDescription:
380-
type: string
445+
errorCode:
446+
type: string
447+
errorDescription:
448+
type: string
381449
NewSessionRequest:
382450
type: object
383451
properties:
384452
sessionDescription:
385453
$ref: "#/components/schemas/SessionDescription"
386454
NewSessionResponse:
455+
required:
456+
- sessionId
387457
type: object
388458
properties:
459+
errorCode:
460+
type: string
461+
errorDescription:
462+
type: string
389463
sessionDescription:
390464
type: object
391465
properties:
@@ -413,6 +487,10 @@ components:
413487
CloseTracksResponse:
414488
type: object
415489
properties:
490+
errorCode:
491+
type: string
492+
errorDescription:
493+
type: string
416494
sessionDescription:
417495
$ref: "#/components/schemas/SessionDescription"
418496
tracks:
@@ -421,18 +499,19 @@ components:
421499
allOf:
422500
- $ref: "#/components/schemas/CloseTrackObject"
423501
- properties:
424-
error:
425-
type: object
426-
properties:
427-
errorCode:
428-
type: string
429-
errorDescription:
430-
type: string
502+
errorCode:
503+
type: string
504+
errorDescription:
505+
type: string
431506
requiresImmediateRenegotiation:
432507
type: boolean
433508
GetSessionStateResponse:
434509
type: object
435510
properties:
511+
errorCode:
512+
type: string
513+
errorDescription:
514+
type: string
436515
tracks:
437516
type: array
438517
items:
@@ -445,3 +524,20 @@ components:
445524
- active
446525
- inactive
447526
- waiting
527+
RenegotiateRequest:
528+
type: object
529+
properties:
530+
sessionDescription:
531+
$ref: "#/components/schemas/SessionDescription"
532+
RenegotiateResponse:
533+
type: object
534+
properties:
535+
errorCode:
536+
type: string
537+
errorDescription:
538+
type: string
539+
sessionDescription:
540+
$ref: "#/components/schemas/SessionDescription"
541+
542+
543+

0 commit comments

Comments
 (0)