Mercurial > libervia-backend
view doc/libervia-cli/event_invitee.rst @ 4231:e11b13418ba6
plugin XEP-0353, XEP-0234, jingle: WebRTC data channel signaling implementation:
Implement XEP-0343: Signaling WebRTC Data Channels in Jingle. The current version of the
XEP (0.3.1) has no implementation and contains some flaws. After discussing this on xsf@,
Daniel (from Conversations) mentioned that they had a sprint with Larma (from Dino) to
work on another version and provided me with this link:
https://gist.github.com/iNPUTmice/6c56f3e948cca517c5fb129016d99e74 . I have used it for my
implementation.
This implementation reuses work done on Jingle A/V call (notably XEP-0176 and XEP-0167
plugins), with adaptations. When used, XEP-0234 will not handle the file itself as it
normally does. This is because WebRTC has several implementations (browser for web
interface, GStreamer for others), and file/data must be handled directly by the frontend.
This is particularly important for web frontends, as the file is not sent from the backend
but from the end-user's browser device.
Among the changes, there are:
- XEP-0343 implementation.
- `file_send` bridge method now use serialised dict as output.
- New `BaseTransportHandler.is_usable` method which get content data and returns a boolean
(default to `True`) to tell if this transport can actually be used in this context (when
we are initiator). Used in webRTC case to see if call data are available.
- Support of `application` media type, and everything necessary to handle data channels.
- Better confirmation message, with file name, size and description when available.
- When file is accepted in preflight, it is specified in following `action_new` signal for
actual file transfer. This way, frontend can avoid the display or 2 confirmation
messages.
- XEP-0166: when not specified, default `content` name is now its index number instead of
a UUID. This follows the behaviour of browsers.
- XEP-0353: better handling of events such as call taken by another device.
- various other updates.
rel 441
author | Goffi <goffi@goffi.org> |
---|---|
date | Sat, 06 Apr 2024 12:57:23 +0200 |
parents | 3c3275a6dc8f |
children |
line wrap: on
line source
.. _libervia-cli_event_invitee: ======================================== event/invitee: event invitees management ======================================== ``invitee`` groups commands to invite somebody to an event, get or set data about an invitee, and list all invitees. You can send an invitation by e-mail to people without XMPP account. .. _libervia-cli_event_invitee_get: get === Retrieve the RSVP status of one or several guest(s). You may specify the guest(s) to retrieve by using their bare JIDs with ``-j JIDS, --jid JIDS`` as many times as necessary. By default, all guests RSVPs are retrieved. If no response is known yet, no data is returned. example ------- Get RSVP of Louise:: $ li event invitee get -u "xmpp:pubsub.example.net?;node=urn%3Axmpp%3Aevents%3A0%2Fparty;item=picnic_abd1" -j louise@example.org .. _libervia-cli_event_invitee_set: set === Set your own RSVP data. Use ``-f KEY VALUE, --field KEY VALUE`` to specify the data to set. ``KEY`` can any field name used in the RSVP form, where usually ``attending`` is used (with the possible values of ``yes``, ``no``, and ``maybe``). example ------- Indicate that you'll come to a picnic:: $ li event invitee set -s pubsub.example.net -n urn:xmpp:events:0/party -i picnic_abd1 -f attending yes list ==== Get and format the RSVP of your invitees. Note that as for libervia-cli_event_invitee_get_ and libervia-cli_event_invitee_set_ you must use invitees node and not the event node. By default, only people who have answered are shown. You may use ``-m, --missing`` to show other people which were invited, but have not answered yet. When using this option, you can also use ``-R, --no-rsvp`` to only show people which have not answered yet. You'll also have a small summary indicating how many people who can expect at your event. example ------- Get the full list of invitees (including those who didn't answered yet) with the RSVP formatted:: $ li event invitee list -u "xmpp:pierre@example.net?;node=generic%2F876a2b99-1c90-41fa-b823-c4a467140770" -m invite ------ Invite somebody to an event. The invitation is done by e-mail, a guest account will be created. Contrary to other ``invitee`` commands, in this one you'll use the event node directly. This command is really similar to :ref:`libervia-cli_invitation_create` E-mail address is specified using ``-e EMAIL, --email EMAIL`` and you'll need to give an URL template (using ``-U URL_TEMPLATE, --url-template URL_TEMPLATE``)leading to your website page handling the invitation (for Libervia default invitation page is ``<your_server>/g/<uuid>``). You can use ``{uuid}`` as a placeholder which will be replaced by event's id. You'll probably want to specify the name of the invitee, using ``-N NAME, --name NAME`` and your own name (as the host inviting), using ``-H HOST_NAME, --host-name HOST_NAME``. The language spoken by your guest can be specified using ``-l LANG, --lang LANG``, it is mainly useful if you have many invitee speaking different languages. example ------- Pierre is inviting Louise (whose e-mail address is ``louise_email@example.net``) to an event he's organising:: $ li event invitee invite -e louise_email@example.et -N "Louise" -H "Pierre" -l fr -U "https://www.example.org/g/{uuid}" -u "xmpp:pierre@example.org?;node=generic%2F61400ea7-a2a2-4ce0-9b68-3735b602f671"