comparison libervia/backend/plugins/plugin_xep_0343.py @ 4291:39ac821ebbdb

plugin XEP-0167: handle conferences: - SDP can now be answered by component instead of frontend. This is useful for A/V conferences component to handle A/V call jingle sessions. - new `call_update` and method, and `content-add` action preparation. This is not yet used by A/V conference, but it's a preparation for a potential future use. - Add NS_AV_CONFERENCES to features as required by the newly proposed A/V Conferences protoXEP. rel 447
author Goffi <goffi@goffi.org>
date Mon, 29 Jul 2024 03:31:09 +0200
parents 0d7bb4df2343
children
comparison
equal deleted inserted replaced
4290:4837ec911c43 4291:39ac821ebbdb
311 # frontend answers with its SDP. 311 # frontend answers with its SDP.
312 session["answer_sdp_d"] = answer_sdp_d = defer.Deferred() 312 session["answer_sdp_d"] = answer_sdp_d = defer.Deferred()
313 # we should have the answer long before 2 min 313 # we should have the answer long before 2 min
314 answer_sdp_d.addTimeout(2 * 60, reactor) 314 answer_sdp_d.addTimeout(2 * 60, reactor)
315 315
316 self._rtp.send_answer_sdp(client, session) 316 await self._rtp.send_answer_sdp(client, session)
317 317
318 answer_sdp = await answer_sdp_d 318 answer_sdp = await answer_sdp_d
319 parsed_answer = mapping.parse_sdp(answer_sdp, session["role"]) 319 parsed_answer = mapping.parse_sdp(answer_sdp, session["role"])
320 session["metadata"].update(parsed_answer["metadata"]) 320 session["metadata"].update(parsed_answer["metadata"])
321 self._rtp.propagate_data(session, parsed_answer) 321 self._rtp.propagate_data(session, parsed_answer)