General VoIP outline
This commit is contained in:
parent
65348aa578
commit
2ae66c661a
1 changed files with 41 additions and 18 deletions
|
@ -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…
Add table
Add a link
Reference in a new issue