Mercurial > libervia-backend
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) |