-
- Downloads
swarm: add call support
This patch introduces the ability to start calls and extends the usage of rendezvous points to swarm with multiple participants. When starting a call in a swarm with multiple participats, one device will work as the host of the conference, and the caller will immediately start the call alone. Other peers will receive a commit and a notification to be able to join the active call. To join a call, users needs to call rdv:uri/device/convId/confId to be added (if authorized) to the conf. There are some majors differences in the process. First, every conversation will be able to decide a default host for conferences. This still needs some design and will be introduced in another patch. For now, the caller is the host. Then, because all members of the call may not be interested to join a call, or they may want to get several calls at the same time, the system must be able to manage more than one active calls (e.g. a company with multiple projects can do several standups at the same time). Finally, in the conversation, two commits will be generated to be able to know what active calls are available. The first is announcing that a conference started, the second announces that the conference stopped (the host closed the call). However, this introduces a difficulty. The host may crash and not commit the end of the call in time. In this case, hostedCalls are stored in a file and the conversation is updated during the init of the daemon. Change-Id: I081a4920edb3773bbed884ae50f34e476ad42094 Documentation: https://docs.jami.net/technical/swarm.html#call-in-swarm GitLab: #312
Showing
- bin/dbus/cx.ring.Ring.ConfigurationManager.xml 31 additions, 0 deletionsbin/dbus/cx.ring.Ring.ConfigurationManager.xml
- bin/dbus/dbusclient.cpp 2 additions, 0 deletionsbin/dbus/dbusclient.cpp
- bin/dbus/dbusconfigurationmanager.cpp 24 additions, 11 deletionsbin/dbus/dbusconfigurationmanager.cpp
- bin/dbus/dbusconfigurationmanager.h 4 additions, 2 deletionsbin/dbus/dbusconfigurationmanager.h
- bin/jni/configurationmanager.i 5 additions, 0 deletionsbin/jni/configurationmanager.i
- bin/jni/conversation.i 1 addition, 0 deletionsbin/jni/conversation.i
- bin/jni/jni_interface.i 2 additions, 0 deletionsbin/jni/jni_interface.i
- bin/nodejs/callback.h 42 additions, 2 deletionsbin/nodejs/callback.h
- bin/nodejs/configurationmanager.i 5 additions, 0 deletionsbin/nodejs/configurationmanager.i
- bin/nodejs/conversation.i 1 addition, 0 deletionsbin/nodejs/conversation.i
- bin/nodejs/nodejs_interface.i 2 additions, 0 deletionsbin/nodejs/nodejs_interface.i
- configure.ac 1 addition, 1 deletionconfigure.ac
- meson.build 1 addition, 1 deletionmeson.build
- src/call.cpp 11 additions, 4 deletionssrc/call.cpp
- src/call.h 13 additions, 0 deletionssrc/call.h
- src/client/conversation_interface.cpp 9 additions, 0 deletionssrc/client/conversation_interface.cpp
- src/client/ring_signal.cpp 2 additions, 0 deletionssrc/client/ring_signal.cpp
- src/conference.cpp 47 additions, 46 deletionssrc/conference.cpp
- src/conference.h 24 additions, 1 deletionsrc/conference.h
- src/jami/configurationmanager_interface.h 56 additions, 42 deletionssrc/jami/configurationmanager_interface.h
Loading
Please register or sign in to comment