General VoIP outline

pull/977/head
Kegsay 10 years ago
parent 65348aa578
commit 2ae66c661a

@ -336,23 +336,46 @@ Example using ``updates`` and ``in_reply_to``
VoIP
----
WIPWIPWIPWIPWIPWIPWIPWIPWIPWIPWIPWIP
This addresses one-to-one calling with multiple devices. This uses the ``updates`` key to
handle signalling.
Event updates
~~~~~~~~~~~~~
- Call is placed by caller. Event generated with offer.
- 1-N callees may pick up or reject this offer.
- Callees update the event (with sdp answer if they are accepting the call)
- Caller acknowledges *one* of the callees (either one which picked up or rejected) by updating the event.
- Callees who weren't chosen then give up (Answered elsewhere, Rejected elsewhere, etc)
- Update with ICE candidates as they appear.
- ... in call ...
- Send hangup update when hanging up.
Placing a call
~~~~~~~~~~~~~~
::
caller callee
|-----m.call.invite--->|
| |
|<----m.call.answer----|
| device_id=foo |
| |
|------m.call.ack----->|
| device_id=foo |
| |
|<--m.call.candidate---|
|---m.call.candidate-->|
| |
[...] [...]
| |
|<----m.call.hangup----|
| device_id=foo |
Expiry
~~~~~~
- WIP: Of invites
- WIP: Of calls themselves (as they may never send a ``m.call.hangup``
Placing a call (initial)
~~~~~~~~~~~~~~~~~~~~~~~~
Inputs:
- WIP
Outputs:
- WIP
What data flows does it address:
- WIP
Placing a call (candidates)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Inputs:
- WIP
Outputs:
- WIP
What data flows does it address:
- WIP

Loading…
Cancel
Save