Skip to content

Commit 2b9a4b7

Browse files
committed
Update Calls openapi spec
1 parent 9b4a1ea commit 2b9a4b7

File tree

1 file changed

+98
-19
lines changed

1 file changed

+98
-19
lines changed

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

Lines changed: 98 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,44 @@ 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+
pull_track_with_bidirectional_stream:
113+
description: Pull a track through an existing bidirectional transceiver identified by a mid
114+
value:
115+
tracks:
116+
- location: remote
117+
mid: "#mic-1"
118+
sessionId: 2a45361d5fd7cc14eface0587c276c94
119+
trackName: generated-audio
120+
kind: "audio"
78121
security:
79122
- secret: []
80123
parameters:
@@ -151,9 +194,7 @@ paths:
151194
content:
152195
application/json:
153196
schema:
154-
properties:
155-
sessionDescription:
156-
$ref: "#/components/schemas/SessionDescription"
197+
$ref: "#/components/schemas/RenegotiateRequest"
157198
example:
158199
sessionDescription:
159200
sdp: |
@@ -193,7 +234,7 @@ paths:
193234
content:
194235
application/json:
195236
schema:
196-
$ref: "#/components/schemas/SessionDescription"
237+
$ref: "#/components/schemas/RenegotiateResponse"
197238
example: {}
198239
/apps/{appId}/sessions/{sessionId}/tracks/close:
199240
put:
@@ -336,13 +377,19 @@ components:
336377
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
337378
mid:
338379
type: string
339-
description: mid associated to track's transceiver. It should be set with local tracks only
380+
description: mid associated to track's transceiver. It also can be prefixed with \# to reference an existing transceiver by its trackName
340381
sessionId:
341382
type: string
342383
description: Session ID of the track owner. It should be set for remote tracks only
343384
trackName:
344385
type: string
345386
description: Given name for the track
387+
bidirectionalMediaStream:
388+
type: boolean
389+
description: Make the associated transceiver bidirectional. This option works only when the SFU generates the offer
390+
kind:
391+
type: string
392+
description: Give a hint to the SFU about the transceiver kind. This is required when the SFU generates the offer
346393
CloseTrackObject:
347394
type: object
348395
properties:
@@ -358,9 +405,16 @@ components:
358405
type: array
359406
items:
360407
$ref: "#/components/schemas/TrackObject"
408+
autoDiscover:
409+
type: boolean
410+
description: Assign a random track name to any new track in the offered SDP
361411
TracksResponse:
362412
type: object
363413
properties:
414+
errorCode:
415+
type: string
416+
errorDescription:
417+
type: string
364418
requiresImmediateRenegotiation:
365419
type: boolean
366420
sessionDescription:
@@ -371,21 +425,24 @@ components:
371425
allOf:
372426
- $ref: "#/components/schemas/TrackObject"
373427
- properties:
374-
error:
375-
type: object
376-
properties:
377-
errorCode:
378-
type: string
379-
errorDescription:
380-
type: string
428+
errorCode:
429+
type: string
430+
errorDescription:
431+
type: string
381432
NewSessionRequest:
382433
type: object
383434
properties:
384435
sessionDescription:
385436
$ref: "#/components/schemas/SessionDescription"
386437
NewSessionResponse:
438+
required:
439+
- sessionId
387440
type: object
388441
properties:
442+
errorCode:
443+
type: string
444+
errorDescription:
445+
type: string
389446
sessionDescription:
390447
type: object
391448
properties:
@@ -413,6 +470,10 @@ components:
413470
CloseTracksResponse:
414471
type: object
415472
properties:
473+
errorCode:
474+
type: string
475+
errorDescription:
476+
type: string
416477
sessionDescription:
417478
$ref: "#/components/schemas/SessionDescription"
418479
tracks:
@@ -421,18 +482,19 @@ components:
421482
allOf:
422483
- $ref: "#/components/schemas/CloseTrackObject"
423484
- properties:
424-
error:
425-
type: object
426-
properties:
427-
errorCode:
428-
type: string
429-
errorDescription:
430-
type: string
485+
errorCode:
486+
type: string
487+
errorDescription:
488+
type: string
431489
requiresImmediateRenegotiation:
432490
type: boolean
433491
GetSessionStateResponse:
434492
type: object
435493
properties:
494+
errorCode:
495+
type: string
496+
errorDescription:
497+
type: string
436498
tracks:
437499
type: array
438500
items:
@@ -445,3 +507,20 @@ components:
445507
- active
446508
- inactive
447509
- waiting
510+
RenegotiateRequest:
511+
type: object
512+
properties:
513+
sessionDescription:
514+
$ref: "#/components/schemas/SessionDescription"
515+
RenegotiateResponse:
516+
type: object
517+
properties:
518+
errorCode:
519+
type: string
520+
errorDescription:
521+
type: string
522+
sessionDescription:
523+
$ref: "#/components/schemas/SessionDescription"
524+
525+
526+

0 commit comments

Comments
 (0)