@@ -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