jami-daemon issueshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues2023-04-17T14:09:50Zhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/620MediaDemuxer: can lock on disconnect2023-04-17T14:09:50ZSébastien BlinMediaDemuxer: can lock on disconnect# Scenario
+ Plug a camera
+ Show it in media settings
+ Unplug
# Expected scenario
+ The UI should not freeze
# Current result
sometimes, the UI is freezing, blocking on destroying the video input.
# Backtrace
```
Thread 1 (Threa...# Scenario
+ Plug a camera
+ Show it in media settings
+ Unplug
# Expected scenario
+ The UI should not freeze
# Current result
sometimes, the UI is freezing, blocking on destroying the video input.
# Backtrace
```
Thread 1 (Thread 0x7fffe2a99d40 (LWP 2929030) "jami-qt"):
#0 0x00007fffeda179d7 in __pthread_clockjoin_ex () at /lib64/libpthread.so.0
#1 0x00007fffedffd687 in std::thread::join() () at /lib64/libstdc++.so.6
#2 0x00007fffec773cbb in jami::video::VideoInput::~VideoInput() () at /home/amarok/Projects/jami/daemon/src/.libs/libring.so.0
#3 0x00007fffec4cae2a in DRing::stopCamera() () at /home/amarok/Projects/jami/daemon/src/.libs/libring.so.0
#4 0x00007ffff7d17752 in VideoManagerInterface::stopCamera() (this=<optimized out>) at /home/amarok/Projects/jami/lrc/src/qtwrapper/videomanager_wrap.h:184
#5 0x00007ffff7d1cad0 in lrc::api::AVModel::setDeviceSettings(lrc::api::video::Settings&) (this=0x1496890, settings=...) at /home/amarok/Projects/jami/lrc/src/avmodel.cpp:293
#6 0x000000000049d42d in SettingsAdapter::set_Video_Settings_Rate_And_Resolution(QString const&, double, QString const&) (this=0xffb380, deviceId=..., rate=30, resolution=...) at /home/amarok/Projects/jami/client-qt/src/settingsadapter.cpp:193
#7 0x0000000000434c41 in SettingsAdapter::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=_o@entry=0xffb380, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=17, _a=_a@entry=0x7fffffff2710) at /home/amarok/Projects/jami/client-qt/build-local/jami-qt_autogen/UVLADIE3JM/moc_settingsadapter.cpp:708
#8 0x00000000004385ee in SettingsAdapter::qt_metacall(QMetaObject::Call, int, void**) (this=0xffb380, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0x7fffffff2710) at /home/amarok/Projects/jami/client-qt/build-local/jami-qt_autogen/UVLADIE3JM/moc_settingsadapter.cpp:969
#9 0x00007fffeeb08cf5 in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const () at /lib64/libQt5Qml.so.5
#10 0x00007fffeea11149 in CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) () at /lib64/libQt5Qml.so.5
#11 0x00007fffeea123f7 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () at /lib64/libQt5Qml.so.5
#12 0x00007fffeea38cce in QV4::Runtime::CallPropertyLookup::call(QV4::ExecutionEngine*, QV4::Value const&, unsigned int, QV4::Value*, int) () at /lib64/libQt5Qml.so.5
#13 0x00007fff4014bb4e in ()
#14 0x00007fffffff2d40 in ()
#15 0x0000000000000010 in ()
#16 0x00007fff4014b000 in ()
#17 0x00007fff4014bb8b in ()
#18 0x000000000088d800 in ()
#19 0x00007fffeea2ceba in QV4::Moth::VME::exec(QV4::CppStackFrame*, QV4::ExecutionEngine*) [clone .part.0] () at /lib64/libQt5Qml.so.5
#20 0x00007fffee9d7d48 in QV4::ArrowFunction::virtualCall(QV4::FunctionObject const*, QV4::Value const*, QV4::Value const*, int) () at /lib64/libQt5Qml.so.5
#21 0x00007fffeea3cc46 in QV4::Runtime::CallQmlContextPropertyLookup::call(QV4::ExecutionEngine*, unsigned int, QV4::Value*, int) () at /lib64/libQt5Qml.so.5
#22 0x00007fff40148084 in ()
#23 0x00007fffffff3010 in ()
#24 0x0000000000000000 in ()
Thread 224 (Thread 0x7ffcceffd640 (LWP 2929321) "jami-qt"):
#0 0x00007fffedcf35db in ioctl () at /lib64/libc.so.6
#1 0x00007fffec9c4759 in mmap_read_frame (pkt=0x7ffc6401f2c0, ctx=0x7ffc64002200) at libavdevice/v4l2.c:505
#2 v4l2_read_packet (ctx=0x7ffc64002200, pkt=0x7ffc6401f2c0) at libavdevice/v4l2.c:992
#3 0x00007fffeca222c2 in ff_read_packet (s=s@entry=0x7ffc64002200, pkt=pkt@entry=0x7ffc6401f2c0) at libavformat/utils.c:843
#4 0x00007fffeca22c3b in read_frame_internal (s=s@entry=0x7ffc64002200, pkt=0x7ffc6401f2c0) at libavformat/utils.c:1546
#5 0x00007fffeca23938 in av_read_frame (s=0x7ffc64002200, pkt=0x7ffc6401f2c0) at libavformat/utils.c:1750
#6 0x00007fffec413fa7 in jami::MediaDemuxer::decode() () at /home/amarok/Projects/jami/daemon/src/.libs/libring.so.0
#7 0x00007fffec76f6a9 in jami::video::VideoInput::captureFrame() () at /home/amarok/Projects/jami/daemon/src/.libs/libring.so.0
#8 0x00007fffec774bcb in jami::video::VideoInput::process() () at /home/amarok/Projects/jami/daemon/src/.libs/libring.so.0
#9 0x00007fffec32602d in jami::ThreadLoop::mainloop(std::thread::id&, std::function<bool ()>, std::function<void ()>, std::function<void ()>) () at /home/amarok/Projects/jami/daemon/src/.libs/libring.so.0
#10 0x00007fffec326758 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (jami::ThreadLoop::*)(std::thread::id&, std::function<bool ()>, std::function<void ()>, std::function<void ()>), jami::ThreadLoop*, std::reference_wrapper<std::thread::id>, std::function<bool ()>, std::function<void ()>, std::function<void ()> > > >::_M_run() () at /home/amarok/Projects/jami/daemon/src/.libs/libring.so.0
#11 0x00007fffedffd444 in execute_native_thread_routine () at /lib64/libstdc++.so.6
#12 0x00007fffeda163f9 in start_thread () at /lib64/libpthread.so.0
#13 0x00007fffedcfcb53 in clone () at /lib64/libc.so.6
```
av_read_frame can block forever, causing the VideoInput to wait.Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/555UPNP_E_BAD_HTTPMSG2021-05-26T14:29:43ZJürgen LütersUPNP_E_BAD_HTTPMSG**Problem:**
dring: PUPnP: Error downloading device XML document from http://[fe80::eadf:70ff:fe5b:17d6]:49000/fboxdesc.xml-> UPNP_E_BAD_HTTPMSG
PUPnP: IGD ctrlUrl http://[fe80::eadf:70ff:fe5b:17d6]:49000/igdupnp/control/WANIPConn1
*...**Problem:**
dring: PUPnP: Error downloading device XML document from http://[fe80::eadf:70ff:fe5b:17d6]:49000/fboxdesc.xml-> UPNP_E_BAD_HTTPMSG
PUPnP: IGD ctrlUrl http://[fe80::eadf:70ff:fe5b:17d6]:49000/igdupnp/control/WANIPConn1
**Komponents**
Router FRITZ!Box 7430 FRITZ!OS: 07.21
OS Debian bullseye
Jami: jami-qt 202105130112
The problems are reported several times in syslog.
**Tests done**
Not working
curl http://[fe80::eadf:70ff:fe5b:17d6]:49000/fboxdesc.xml
**Working**
curl http://[fe80::eadf:70ff:fe5b:17d6%eno1]:49000/fboxdesc.xml
curl http://[fe80::eadf:70ff:fe5b:17d6%2]:49000/fboxdesc.xml
So it seems that the interface as name (eno1) or as a position (2) has to be provided if a link local address is queried.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/544build: remove autotools support, move to Meson + CMake only2022-10-12T14:05:18ZAdrien Béraudbuild: remove autotools support, move to Meson + CMake only* Make CMake support multiplatform instead of Windows-only
* Update all packaging jobs to use Meson or CMake
* Remove Autotools from daemon* Make CMake support multiplatform instead of Windows-only
* Update all packaging jobs to use Meson or CMake
* Remove Autotools from daemonAmin BandaliAndreas TraczykAmin Bandalihttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/507Unable to kick local participant from rendez-vous2024-01-26T12:42:50ZPierre LespagnolUnable to kick local participant from rendez-vous# Scenario
- Bob join RDV-Bob (2 accounts same device)
- Bob join RDV-Alice
- Alice join RDV-Alice (2 accounts same device)
- Bob kick Alice from conference
# Expected result
- Alice is kicked from RDV-Alice
# Current result
- Alice is...# Scenario
- Bob join RDV-Bob (2 accounts same device)
- Bob join RDV-Alice
- Alice join RDV-Alice (2 accounts same device)
- Bob kick Alice from conference
# Expected result
- Alice is kicked from RDV-Alice
# Current result
- Alice is not kicked
# Logs
```
Invalid conference state in detach participant: current "ACTIVE_DETACHED" - expected "ACTIVE_ATTACHED"
```Pierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/506plugins: set handlers activation order2021-04-01T12:53:01ZAline Gondim Santosplugins: set handlers activation orderUser should be able to change the order each handler is called from the observable notify.User should be able to change the order each handler is called from the observable notify.BacklogAline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/492libnatpmp is always used from contribs2023-05-05T19:02:06ZMaxim Cournoyerlibnatpmp is always used from contribsThe contrib build system relies on pkg-config to detect system libraries, as done here:
```
ifeq ($(call need_pkg,'libnatpmp'),)
PKGS_FOUND += natpmp
endif
```
This never marks natpmp as found, because libnatpmp doesn't install any pkg...The contrib build system relies on pkg-config to detect system libraries, as done here:
```
ifeq ($(call need_pkg,'libnatpmp'),)
PKGS_FOUND += natpmp
endif
```
This never marks natpmp as found, because libnatpmp doesn't install any pkg-config file (.pc), thus cannot be found via pkg-config.
Possible solution: Rather than reinvent the wheel in this contrib build system, perhaps we could use Autoconf as the configuration driver of the contribs build system, which is quite capable in this regard. It could return a list of targets needed from the contribs build system to be built, and add them as dependencies.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/476No SIP registration due to bad network detection2021-03-15T14:53:10ZEnrico ScholzNo SIP registration due to bad network detectionjami 20210308.1.7cc33bd does not do any SIP registration here. E.g. with tcpdump I see DNS queries (and responses) for the SIP server but no further communication to the SIP server itself.
Running the daemon with `--debug` shows
```
*...jami 20210308.1.7cc33bd does not do any SIP registration here. E.g. with tcpdump I see DNS queries (and responses) for the SIP server but no further communication to the SIP server itself.
Running the daemon with `--debug` shows
```
** (jami-gnome:822803): DEBUG: 14:24:26.718: NetworkManager client initialized, version: (null)
daemon running: no
nnetworking enabled: no
```
<details>
<summary>Full Log</summary>
<pre>
$ ring.cx --debug
(jami-gnome:822803): GLib-DEBUG: 14:24:25.931: setenv()/putenv() are not thread-safe and should not be used after threads are created
** (jami-gnome:822803): DEBUG: 14:24:25.931: debug enabled
** Message: 14:24:25.933: Jami GNOME client version: development
** Message: 14:24:25.933: git ref: unknown
** (jami-gnome:822803): DEBUG: 14:24:25.933: enabling autostart
** (jami-gnome:822803): DEBUG: 14:24:25.933: checking /usr/share/jami-gnome/jami-gnome.desktop
(jami-gnome:822803): dconf-DEBUG: 14:24:25.933: watch_established: "/net/jami/JamiGnome/" (establishing: 1)
** (jami-gnome:822803): DEBUG: 14:24:25.934: '/home/ensc/.config/autostart/jami-gnome.desktop' is already a symlink to '/usr/share/jami-gnome/jami-gnome.desktop'
(jami-gnome:822803): dbind-WARNING **: 14:24:25.945: AT-SPI: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.NameHasNoOwner: Could not activate remote peer.
** (jami-gnome:822803): DEBUG: 14:24:26.098: installed translations for de
** (jami-gnome:822803): DEBUG: 14:24:26.098: installed translations for de_DE
(jami-gnome:822803): GLib-GIO-DEBUG: 14:24:26.106: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
(jami-gnome:822803): GLib-DEBUG: 14:24:26.178: unsetenv() is not thread-safe and should not be used after threads are created
(jami-gnome:822803): Gtk-DEBUG: 14:24:26.178: Connecting to session manager
(jami-gnome:822803): Gtk-DEBUG: 14:24:26.178: Failed to get the GNOME session proxy: The name org.gnome.SessionManager is not owned
Can't open file: "/home/ensc/.local/share/jami/606bab6fe62f6e4c/profile.vcf"
** (jami-gnome:822803): DEBUG: 14:24:26.254: notify server name: naughty, vendor: awesome, version: 3.5, spec: 1.0
(jami-gnome:822803): Gtk-WARNING **: 14:24:26.255: Child name 'calls' not found in GtkStack
(jami-gnome:822803): Gtk-CRITICAL **: 14:24:26.256: gtk_container_remove: assertion 'GTK_IS_WIDGET (widget)' failed
(jami-gnome:822803): Gtk-CRITICAL **: 14:24:26.256: gtk_container_add: assertion 'GTK_IS_WIDGET (widget)' failed
(jami-gnome:822803): Gtk-CRITICAL **: 14:24:26.256: gtk_widget_show: assertion 'GTK_IS_WIDGET (widget)' failed
(jami-gnome:822803): Gtk-CRITICAL **: 14:24:26.256: gtk_container_remove: assertion 'GTK_IS_WIDGET (widget)' failed
(jami-gnome:822803): Gtk-CRITICAL **: 14:24:26.257: gtk_container_add: assertion 'GTK_IS_WIDGET (widget)' failed
(jami-gnome:822803): Gtk-CRITICAL **: 14:24:26.257: gtk_widget_show: assertion 'GTK_IS_WIDGET (widget)' failed
(jami-gnome:822803): dconf-DEBUG: 14:24:26.257: watch_fast: "/net/jami/JamiGnome/" (establishing: 0, active: 1)
invoking IsSupported() failed for remote volume monitor with dbus name org.gtk.vfs.GoaVolumeMonitor:: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not activate remote peer. (g-dbus-error-quark, 3)
(jami-gnome:822803): dconf-DEBUG: 14:24:26.413: watch_fast: "/org/gtk/settings/file-chooser/" (establishing: 0, active: 0)
(jami-gnome:822803): dconf-DEBUG: 14:24:26.414: watch_established: "/org/gtk/settings/file-chooser/" (establishing: 1)
(jami-gnome:822803): dconf-DEBUG: 14:24:26.565: watch_fast: "/net/jami/JamiGnome/" (establishing: 0, active: 2)
(jami-gnome:822803): Gtk-CRITICAL **: 14:24:26.585: gtk_scrolled_window_add: assertion 'child_widget == NULL' failed
(jami-gnome:822803): dconf-DEBUG: 14:24:26.623: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.623: change_notify: /net/jami/JamiGnome/show-main-window
(process:822825): GLib-GIO-DEBUG: 14:24:26.661: Failed to initialize portal (GNetworkMonitorPortal) for gio-network-monitor: Not using portals
(process:822825): GLib-GIO-DEBUG: 14:24:26.663: Failed to initialize networkmanager (GNetworkMonitorNM) for gio-network-monitor: NetworkManager not running
(process:822825): GLib-GIO-DEBUG: 14:24:26.663: _g_io_module_get_default: Found default implementation netlink (GNetworkMonitorNetlink) for ?gio-network-monitor?
(WebKitWebProcess:822824): dbind-WARNING **: 14:24:26.672: AT-SPI: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.NameHasNoOwner: Could not activate remote peer.
(jami-gnome:822803): dconf-DEBUG: 14:24:26.701: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.702: change_notify: /net/jami/JamiGnome/window-width
(jami-gnome:822803): dconf-DEBUG: 14:24:26.702: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.702: change_notify: /net/jami/JamiGnome/window-height
(jami-gnome:822803): dconf-DEBUG: 14:24:26.708: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.708: change_notify: /net/jami/JamiGnome/window-width
(jami-gnome:822803): dconf-DEBUG: 14:24:26.708: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.708: change_notify: /net/jami/JamiGnome/window-height
(jami-gnome:822803): dconf-DEBUG: 14:24:26.718: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.718: change_notify: /net/jami/JamiGnome/window-maximized
** (jami-gnome:822803): DEBUG: 14:24:26.718: NetworkManager client initialized, version: (null)
daemon running: no
nnetworking enabled: no
** (jami-gnome:822803): WARNING **: 14:24:26.718: no primary network connection detected, check network settings
(process:822825): GLib-GIO-DEBUG: 14:24:26.740: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ?gio-vfs?
(jami-gnome:822803): dconf-DEBUG: 14:24:26.756: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.756: change_notify: /net/jami/JamiGnome/window-width
(jami-gnome:822803): dconf-DEBUG: 14:24:26.756: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.756: change_notify: /net/jami/JamiGnome/window-height
(jami-gnome:822803): dconf-DEBUG: 14:24:26.776: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.776: change_notify: /net/jami/JamiGnome/window-width
(jami-gnome:822803): dconf-DEBUG: 14:24:26.776: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.776: change_notify: /net/jami/JamiGnome/window-height
(jami-gnome:822803): dconf-DEBUG: 14:24:26.792: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.792: change_notify: /net/jami/JamiGnome/window-width
(jami-gnome:822803): dconf-DEBUG: 14:24:26.792: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.792: change_notify: /net/jami/JamiGnome/window-height
(WebKitWebProcess:822824): GLib-GIO-DEBUG: 14:24:26.796: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
(jami-gnome:822803): dconf-DEBUG: 14:24:26.810: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.810: change_notify: /net/jami/JamiGnome/window-width
(jami-gnome:822803): dconf-DEBUG: 14:24:26.810: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.810: change_notify: /net/jami/JamiGnome/window-height
(jami-gnome:822803): dconf-DEBUG: 14:24:26.828: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.828: change_notify: /net/jami/JamiGnome/window-width
(jami-gnome:822803): dconf-DEBUG: 14:24:26.828: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.828: change_notify: /net/jami/JamiGnome/window-height
(jami-gnome:822803): dconf-DEBUG: 14:24:26.847: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.847: change_notify: /net/jami/JamiGnome/window-width
(jami-gnome:822803): dconf-DEBUG: 14:24:26.848: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.848: change_notify: /net/jami/JamiGnome/window-height
(jami-gnome:822803): dconf-DEBUG: 14:24:26.865: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.865: change_notify: /net/jami/JamiGnome/window-width
(jami-gnome:822803): dconf-DEBUG: 14:24:26.865: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.865: change_notify: /net/jami/JamiGnome/window-height
(jami-gnome:822803): Gdk-CRITICAL **: 14:24:26.880: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed
(jami-gnome:822803): dconf-DEBUG: 14:24:26.882: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.882: change_notify: /net/jami/JamiGnome/window-width
(jami-gnome:822803): dconf-DEBUG: 14:24:26.882: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.882: change_notify: /net/jami/JamiGnome/window-height
(jami-gnome:822803): dconf-DEBUG: 14:24:26.899: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.899: change_notify: /net/jami/JamiGnome/window-width
(jami-gnome:822803): dconf-DEBUG: 14:24:26.899: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.899: change_notify: /net/jami/JamiGnome/window-height
(jami-gnome:822803): dconf-DEBUG: 14:24:26.917: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.917: change_notify: /net/jami/JamiGnome/window-width
(jami-gnome:822803): dconf-DEBUG: 14:24:26.917: change_fast
(jami-gnome:822803): dconf-DEBUG: 14:24:26.917: change_notify: /net/jami/JamiGnome/window-height
</pre>
</details>
I am not using Gnome and network is managed manually (no NetworkManager)https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/463Replace Portaudio with WASAPI to support communication device enumeration and...2021-03-22T19:50:52ZAndreas TraczykReplace Portaudio with WASAPI to support communication device enumeration and output loopbackAndreas TraczykAndreas Traczykhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/400Use PKCS #11 API for access to cryptographic keys2024-02-15T21:21:00ZVladimir StoiakinUse PKCS #11 API for access to cryptographic keysHi!
It would be nice if Jami can store account's cryptographic keys on devices specially designed for this purpose, like smartcards or tokens.
GnuTLS already have support for [this](https://www.gnutls.org/reference/gnutls-pkcs11.html)....Hi!
It would be nice if Jami can store account's cryptographic keys on devices specially designed for this purpose, like smartcards or tokens.
GnuTLS already have support for [this](https://www.gnutls.org/reference/gnutls-pkcs11.html).
Related to ring-project#719.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/383Checking for working udev doesn't work.2021-01-23T19:32:14ZFuchtelJockelChecking for working udev doesn't work.This doesn't catch the nonfunctional udev installation that flatpaks ship with.
```cpp
udev_ = udev_new();
if (!udev_)
goto udev_failed;
udev_mon_ = udev_monitor_new_from_netlink(udev_, "udev");
if (!udev_mon_)
...This doesn't catch the nonfunctional udev installation that flatpaks ship with.
```cpp
udev_ = udev_new();
if (!udev_)
goto udev_failed;
udev_mon_ = udev_monitor_new_from_netlink(udev_, "udev");
if (!udev_mon_)
goto udev_failed;
if (udev_monitor_filter_add_match_subsystem_devtype(udev_mon_, "video4linux", NULL))
goto udev_failed;
/* Enumerate existing devices */
devenum = udev_enumerate_new(udev_);
if (devenum == NULL)
goto udev_failed;
if (udev_enumerate_add_match_subsystem(devenum, "video4linux")) {
udev_enumerate_unref(devenum);
goto udev_failed;
}
```
Currently the flatpak version works using a patch but maybe this could be added as a build option or some of the checks are broken?
```
diff --git a/src/media/video/v4l2/video_device_monitor_impl.cpp b/src/media/video/v4l2/video_device_monitor_impl.cpp
index c6a4a2e9f..faa8f4179 100644
--- a/src/media/video/v4l2/video_device_monitor_impl.cpp
+++ b/src/media/video/v4l2/video_device_monitor_impl.cpp
@@ -126,7 +126,9 @@ VideoDeviceMonitorImpl::VideoDeviceMonitorImpl(VideoDeviceMonitor* monitor)
udev_enumerate_unref(devenum);
goto udev_failed;
}
-
+
+ goto udev_failed;
+
udev_monitor_enable_receiving(udev_mon_);
/* Note that we enumerate _after_ monitoring is enabled so that we do not
* loose device events occuring while we are enumerating. We could still
```https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/333TlsSession: use setOnRecv_ for reliable transport2022-07-11T17:46:31ZSébastien BlinTlsSession: use setOnRecv_ for reliable transportlike we do for unreliable transportslike we do for unreliable transportsLaterSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/301No relay (Turn) candidate in SDP with IOS when being connected in LTE/4G2021-02-17T16:19:15ZCyrille BéraudNo relay (Turn) candidate in SDP with IOS when being connected in LTE/4GSee attached file for log (with an Android comparison)[sdpios-andoid.log](/uploads/891e408417fd3059abed50184563f396/sdpios-andoid.log)
To reproduce:
Be connected on LTE/4G, make a call.
btw, why all the addresses are twice as candidate?See attached file for log (with an Android comparison)[sdpios-andoid.log](/uploads/891e408417fd3059abed50184563f396/sdpios-andoid.log)
To reproduce:
Be connected on LTE/4G, make a call.
btw, why all the addresses are twice as candidate?BacklogMohamed ChibaniKateryna KostiukSébastien BlinMohamed Chibanihttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/242Video encoding - Dynamically change the resolution of the encoded frames2022-01-18T22:20:21ZMohamed ChibaniVideo encoding - Dynamically change the resolution of the encoded framesBacklogMohamed ChibaniMohamed Chibanihttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/185Call Forward* { on Busy ; No Answer ; Always } for Jami accounts2024-02-09T20:01:33ZovariCall Forward* { on Busy ; No Answer ; Always } for Jami accounts[Improving SIP Support for Ring](https://ring.cx/en/news#improving-sip-support-for-ring) shared news about the `Call Transfer` feature.
Please add the following:
* `Call Forward on Busy`: Forward all calls if you are on the phone to a n...[Improving SIP Support for Ring](https://ring.cx/en/news#improving-sip-support-for-ring) shared news about the `Call Transfer` feature.
Please add the following:
* `Call Forward on Busy`: Forward all calls if you are on the phone to a number of your choice. Standard call rates may apply.
* `Call Forward No Answer`: Forward all unanswered calls to a number of your choice. Standard call rates may apply.
* `Call Forward Always`: Forward all calls to your SIP (VoIP) phone number to another number of your choice. Standard call rates may apply.
![image](/uploads/4df8d0a3947eff09dd5747925ac97034/image.png)
The idea for this feature (which also shows icons in the image above) came from https://www.exetel.com.au/phone/voip-features
[**Difference Between Call Forward and Call Transfer**](https://learningnetwork.cisco.com/thread/85291)
<b><i>Call Forwarding</i></b>
Call forwarding allows you to send all your incoming calls to another landline or cell phone number. Call forwarding overrides the ability to answer the phone forwarded from the original line. This service requires a subscription through your phone service provider and may incur an additional monthly fee.
<b><i>Call Transfer</i></b>
Call transfer allows you to send a call from one phone to another telephone without the need to disconnect the phone call. This feature is usually activated by the push of a button followed by dialing an extension.
Thank youhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/174Moving from one wifi to another during a call freeze the video2024-01-06T10:28:00ZSébastien BlinMoving from one wifi to another during a call freeze the videoAudio is still working, but not the control channel nor video channel
If possible, the video should come back, be renegotiated or the call closed. (timeout between media packets?)Audio is still working, but not the control channel nor video channel
If possible, the video should come back, be renegotiated or the call closed. (timeout between media packets?)https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/115Socket_pair: Buffer should be resizable2019-05-24T14:44:18ZSébastien BlinSocket_pair: Buffer should be resizableFor now, SRTPProtoContext have the attribute `encryptbuf` limited to `RTP_MAX_PACKET_LENGTH = 2048;`. This is good for UDP, but not TCP compliant.For now, SRTPProtoContext have the attribute `encryptbuf` limited to `RTP_MAX_PACKET_LENGTH = 2048;`. This is good for UDP, but not TCP compliant.Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/109SIP account TLS/SRTP configuration is old fashioned/confusing2022-11-11T16:13:35ZMaxim CournoyerSIP account TLS/SRTP configuration is old fashioned/confusingTested on: Android 20190103 (f-droid)
Recently, voip.ms (finally) added support for calls encryption using TLS for signaling and SRTP for media. I was thrilled to try it with Jami, but couldn't get it to work:
1. Add SIP account basic ...Tested on: Android 20190103 (f-droid)
Recently, voip.ms (finally) added support for calls encryption using TLS for signaling and SRTP for media. I was thrilled to try it with Jami, but couldn't get it to work:
1. Add SIP account basic detail (alias, hostname, username & password), registered OK.
2. Went to Security tab (android client), and enable TLS transport. As voip.ms is using a trusted SSL certificate, I wouldn't expect to have to do anything else, but:
a) the greyed out options below suggest that only the client certificate is going to be verified (I don't care about my cert, but I do want to authenticate the SIP server). So I checked the "Verify Server" box, and unchecked "Verify Client" and "TLS Require Client Certificate".
b) I have no idea why there's a "Server Name" field; this should at least defaults to my SIP hostname, if required?
c) There are other options which are nice for a self signed certs setup I guess, but overly complicated for the more straightforward CA signed use case. Perhaps they could be hidden under an "advanced" section?
d) I put my hostname in Server Name, just in case, and left the other options empty/default.
Expected result: SIP account is re-registered using TLS.
Actual result: TLS seems to fail silently, option is reverted to disabled when visiting the security menu.Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/100Call Quality Test Tool button2020-10-01T19:27:14ZovariCall Quality Test Tool buttonSuggestions:<br>
1. Add a `Call Quality Test Tool`button (circled in red at the top right in the image below) as the last button after `Place video call`, `Place audio call`, `Add contact` button in the chatview
2. Add a `Call Quality Te...Suggestions:<br>
1. Add a `Call Quality Test Tool`button (circled in red at the top right in the image below) as the last button after `Place video call`, `Place audio call`, `Add contact` button in the chatview
2. Add a `Call Quality Test Tool` option in the Conversations right-click menu
This will enable testing the Audio (in two sections in the image below, i.e. Microphone, Speaker), Camera (called Webcam in the image below), Device (called Computer in image below), Connection.
3. If the device is not powerful enough for video call is could have an X, instead of a tick.
4. If the connection is not fast enough for audio and high quality video calls, advise the Jami user to only make an audio call without video
5. Add a `Check call quality guide` button to advise testing both ends of the connection using speedtest.net (or similar) then compare your upload/download results with the table below…
| Call type | Voice Calling |
| - | - |
| Voice Calling | 100kbps / 100kbps |
| Video calling / Screen sharing | 300kbps / 300kbps |
| Video calling (high-quality) | 500kbps / 500kbps |
| Video calling (HD) | 1.5Mbps / 1.5Mbps |
Please update the table with the correct speeds required for Jami.
6. Add a `Test now` button (circled in red at the bottom right in the image below)which would test the connection between the 2 Jami connections.
https://www.learnbycam.com/onlinelearningblogposting.aspx/120/Fast-Connection-But-Skype-Still-Slow-A-Solution
![Test connection](/uploads/834ca8805962758c0351c1c74b8b7def/image.png)
What do you think?
Thank youhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/87UPnP enable ipv6 and bump contrib2021-05-26T13:41:57ZSébastien BlinUPnP enable ipv6 and bump contribAll is in the title, currently upnp doesn't work with IPv6. Try to bump the contrib and re-enable ipv6 support.All is in the title, currently upnp doesn't work with IPv6. Try to bump the contrib and re-enable ipv6 support.