savoirfairelinux issueshttps://git.jami.net/groups/savoirfairelinux/-/issues2022-04-07T20:19:51Zhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/435Conference: have a distant renderer for each participant2022-04-07T20:19:51ZAline Gondim SantosConference: have a distant renderer for each participantSébastien BlinMing Rui ZhangAndreas TraczykSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/562Conference: create sink for each peer2021-09-08T14:06:10ZAline Gondim SantosConference: create sink for each peerAline Gondim SantosMohamed ChibaniAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/434Black screen remains when leaving conference2021-06-01T20:03:17ZSébastien BlinBlack screen remains when leaving conference# Scenario
+ Alice calls bob
+ Alice adds Carla (conference)
+ Alice kick Carla
# Current result
Bob is selected, but screen remains black. Reselecting the conv is working
# Expected
Alice should see Bob# Scenario
+ Alice calls bob
+ Alice adds Carla (conference)
+ Alice kick Carla
# Current result
Bob is selected, but screen remains black. Reselecting the conv is working
# Expected
Alice should see BobAndreas TraczykAndreas Traczykhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/561Jami/Daemon version - unify versioning across platforms2024-01-09T19:32:04ZMohamed ChibaniJami/Daemon version - unify versioning across platformsThe production version is used for informational purposes, and also as a SIP User-Agent identifier which will be relied on to know the peer Daemon version.\
The generated product version format must be uniform across all platforms.\
\
**...The production version is used for informational purposes, and also as a SIP User-Agent identifier which will be relied on to know the peer Daemon version.\
The generated product version format must be uniform across all platforms.\
\
**Expected format**
For official releases: Jami Daemon Major.Minor.Patch (platform). Example "Jami Deamon 10.0.1 (linux)"\
Others: Jami Daemon Major.Minor.Patch-commitID (example "Jami Deamon 10.0.1-cae2ba1653 (linux)"\
\
This format is not respected across all platforms (at least on Windows)BacklogMohamed ChibaniMohamed Chibanihttps://git.jami.net/savoirfairelinux/jami-project/-/issues/1254create a poll (text chat)2022-11-28T13:58:48ZElyscreate a poll (text chat)It would be great if you were able to create a poll.
example: https://youtu.be/JkwUSyW0ipo?t=39 and https://youtu.be/ZFUjDiYc0gQ?t=72
(all supported operating systems)It would be great if you were able to create a poll.
example: https://youtu.be/JkwUSyW0ipo?t=39 and https://youtu.be/ZFUjDiYc0gQ?t=72
(all supported operating systems)https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/946Resend2021-08-20T20:56:30ZShawn DunResendInvitation keeps being resentInvitation keeps being resenthttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/560Jenkins: fix ut_media_negotiation2021-05-31T17:55:12ZSébastien BlinJenkins: fix ut_media_negotiationhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/559Jenkins: fix ut_call2021-06-07T19:28:17ZSébastien BlinJenkins: fix ut_callSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/558daemon: add tests for conferences2021-07-09T20:22:44ZSébastien Blindaemon: add tests for conferencesTo start to test layouts, mute, etcTo start to test layouts, mute, etcBackloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/557Fuzzing SIP over TLS2023-12-27T18:02:51ZSébastien BlinFuzzing SIP over TLS# Fuzzing SIP over TLS
Currently, I've made a lexer for SIP communication that allows one to construct an object and to manipulate a SIP message.
### Scenarios
#### Shuffle randomly the SIP message
This results in the call been hang ...# Fuzzing SIP over TLS
Currently, I've made a lexer for SIP communication that allows one to construct an object and to manipulate a SIP message.
### Scenarios
#### Shuffle randomly the SIP message
This results in the call been hang after some delay. We probably want to generate random fields instead.
#### Keep changing the SIP version
Version is changed randomly between SIP/1.0 and SIP/2.0.
#### TODO - Change the status code
### Bad SDP body
If the body content of a SDP request is invalid, an assertion failed. The null pointer seems to not be a problem because it's checked, however the caller should probably not call the function in the first place. Will investigate further.
In sdp.cpp:
```c++
583 assert(remoteSession_);
```
```
#0 0x00007ffff39fdd22 in raise () at /usr/lib/libc.so.6
#1 0x00007ffff39e7862 in abort () at /usr/lib/libc.so.6
#2 0x00007ffff39e7747 in _nl_load_domain.cold () at /usr/lib/libc.so.6
#3 0x00007ffff39f6616 in () at /usr/lib/libc.so.6
#4 0x000055555a84fa0e in jami::Sdp::processIncomingOffer(std::vector<jami::MediaAttribute, std::allocator<jami::MediaAttribute> > const&) (this=0x6110015f0080, mediaList=std::vector of length 1, capacity 1 = {...}) at sdp.cpp:583
#5 0x0000555559bc894e in jami::transaction_request_cb(pjsip_rx_data*) (rdata=0x625007721b08) at sipvoiplink.cpp:451
#6 0x000055555aeaf623 in pjsip_endpt_process_rx_data ()
#7 0x000055555aeaf856 in endpt_on_rx_msg ()
#8 0x000055555aeb685e in pjsip_tpmgr_receive_packet ()
#9 0x000055555a079ce0 in jami::tls::ChanneledSIPTransport::handleEvents() (this=0x625007721900) at /usr/include/c++/11.1.0/bits/channeled_transport.cpp:237
#10 0x000055555a070967 in operator()() const (__closure=0x603002aed2b0) at /usr/include/c++/11.1.0/bits/channeled_transport.cpp:150
#11 0x000055555a0809bd in std::__invoke_impl<void, jami::tls::ChanneledSIPTransport::ChanneledSIPTransport(pjsip_endpoint*, int, const std::shared_ptr<jami::ChannelSocket>&, const jami::IpAddr&, const jami::IpAddr&, jami::onShutdownCb&&)::<lambda(const uint8_t*, size_t)>::<lambda()>&>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/11.1.0/bits/invoke.h:61
#12 0x000055555a07ea22 in std::__invoke_r<void, jami::tls::ChanneledSIPTransport::ChanneledSIPTransport(pjsip_endpoint*, int, const std::shared_ptr<jami::ChannelSocket>&, const jami::IpAddr&, const jami::IpAddr&, jami::onShutdownCb&&)::<lambda(const uint8_t*, size_t)>::<lambda()>&>(struct {...} &) (__fn=...) at /usr/include/c++/11.1.0/bits/invoke.h:111
#13 0x000055555a07d701 in std::_Function_handler<void(), jami::tls::ChanneledSIPTransport::ChanneledSIPTransport(pjsip_endpoint*, int, const std::shared_ptr<jami::ChannelSocket>&, const jami::IpAddr&, const jami::IpAddr&, jami::onShutdownCb&&)::<lambda(const uint8_t*, size_t)>::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/11.1.0/bits/std_function.h:291
#14 0x00005555596e546d in std::function<void ()>::operator()() const (this=0x603002aed2b0) at /usr/include/c++/11.1.0/bits/std_function.h:560
#15 0x0000555559a89730 in jami::ScheduledExecutor::loop() (this=0x625007723e10) at scheduled_executor.cpp:137
#16 0x0000555559a85e1e in operator()() const (__closure=0x603000073a88) at scheduled_executor.cpp:32
#17 0x0000555559a8f8be in std::__invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/11.1.0/bits/invoke.h:61
#18 0x0000555559a8f779 in std::__invoke<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/11.1.0/bits/invoke.h:96
#19 0x0000555559a8f64e in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x603000073a88) at /usr/include/c++/11.1.0/bits/std_thread.h:253
#20 0x0000555559a8f584 in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::operator()(void) (this=0x603000073a88) at /usr/include/c++/11.1.0/bits/std_thread.h:260
#21 0x0000555559a8f53c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > > >::_M_run(void) (this=0x603000073a80) at /usr/include/c++/11.1.0/bits/std_thread.h:211
#22 0x00007ffff47333c4 in std::execute_native_thread_routine(void*) (__p=0x603000073a80) at /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82
#23 0x00007ffff667a259 in start_thread () at /usr/lib/libpthread.so.0
#24 0x00007ffff3abf5e3 in clone () at /usr/lib/libc.so.6
```
#### Payload attack (SDP Huge value of Content-Length)
Alice duplicates the body of its SDP request N times. N grows at a rate of 2^M.
After some threshold, connection between peer can not be establish if iniated from Alice. Bob can still call Alice.
### Payload attack (SIP MESSAGE)
Alice spam bob with very huge message text.
The TLS connections seems to stop working and Bob receive the message text (short version) over the DHt instead.
### Sending none supported content-type (text/html, text/javascript, etc.)
The content-type is simply ignored. Call can be made.
#### TODO - Sending SIP request over none SIP channel (can be applied to other protocols as well)BacklogOlivier DionOlivier Dionhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/556SIP Account - Handle and test send/receive of empty offers (no SDP)2021-09-02T15:12:07ZMohamed ChibaniSIP Account - Handle and test send/receive of empty offers (no SDP)Handle send and receive of INVITEs with no media offer (no SDP). Empty offers are already supported in incoming incoming INVITEs. We need to be able to send empty offers as well and handle the media offer sent in the 200 OK answer.
Unit ...Handle send and receive of INVITEs with no media offer (no SDP). Empty offers are already supported in incoming incoming INVITEs. We need to be able to send empty offers as well and handle the media offer sent in the 200 OK answer.
Unit tests must be added to validate handling of empty INVITEs in incoming and outgoing calls.Mohamed ChibaniMohamed Chibanihttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/554ICE/TCP - unexpected "Channel bind failed" on a TCP connection2021-08-25T14:27:28ZMohamed ChibaniICE/TCP - unexpected "Channel bind failed" on a TCP connectionPJNATH sometimes reports the following error:
```
[1621974703.225|50404|manager.cpp :253 ] 16:31:43.225 tcprel0x7f3b581c6390 .ChannelBind failed: 403/Channel bind cannot be used with TCP relay
```
It's unknown yet if this erro...PJNATH sometimes reports the following error:
```
[1621974703.225|50404|manager.cpp :253 ] 16:31:43.225 tcprel0x7f3b581c6390 .ChannelBind failed: 403/Channel bind cannot be used with TCP relay
```
It's unknown yet if this error has impact on the establishment of ICE connection.Mohamed ChibaniSébastien BlinMohamed Chibanihttps://git.jami.net/savoirfairelinux/jami-client-ios/-/issues/139Build from M12023-05-17T17:27:47ZSébastien BlinBuild from M1BacklogKateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-client-macos/-/issues/291port to the M12022-05-30T13:09:37ZSébastien Blinport to the M1hardware acceleration doesn't work + buildhardware acceleration doesn't work + buildBacklogKateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-client-ios/-/issues/138update transifex file2023-12-18T16:44:45ZKateryna Kostiukupdate transifex fileCurrently file named osxLocalizable.strings, that is confusing.Currently file named osxLocalizable.strings, that is confusing.https://git.jami.net/savoirfairelinux/jami-project/-/issues/1253[SIP account] Missed outgoing call on linux2022-10-21T11:49:10Zsanosis[SIP account] Missed outgoing call on linuxArch Linux (current)
jami-daemon 20210308-1
jami-gnome 20210308-1
libjamiclient 20210301-1
Fresh install, configured SIP account, incoming voip/sip calls do come in, outgoing get "Missed outgoing call, dring logs:
<pre>
[1621939772.972|...Arch Linux (current)
jami-daemon 20210308-1
jami-gnome 20210308-1
libjamiclient 20210301-1
Fresh install, configured SIP account, incoming voip/sip calls do come in, outgoing get "Missed outgoing call, dring logs:
<pre>
[1621939772.972| 6435|manager.cpp :589 ] ----- Switch current call id to '8737611592733429' -----
[1621939772.973| 6436|sipcall.cpp :1102 ] [call:8737611592733429] fill SDP with ICE transport 0x55ffb70965e0
[1621939772.973| 6436|sdp.cpp :708 ] addIceCandidates failed: cannot access media#1 (may be deactivated)
[1621939772.973| 6436|sdp.cpp :708 ] addIceCandidates failed: cannot access media#1 (may be deactivated)
[1621939772.973| 6436|sipaccount.cpp :366 ] contact header: <sip:xxx> / "SIP" <sip:xxxx> -> <sip:xxx>
[1621939772.973| 6436|sipcall.cpp :442 ] [call:8737611592733429] Set new invite session [0x7fcab40029e8]
[1621939772.973| 6436|sip_utils.cpp :100 ] Adding route sip.spikon.pl
[1621939772.973| 6436|sip_utils.cpp :209 ] Add header to SIP message: "User-Agent: Jami Daemon 9.9.0-8d428f4484-dirty (linux)"
[1621939772.973| 6436|sipvoiplink.cpp :858 ] [call:8737611592733429] INVITE@0x7fcab40029e8 state changed to 1 (CALLING): cause=0, tsx@0x7fcab4009018 status 0 (Default status message)
[1621939772.973| 6436|call.cpp :234 ] [call:8737611592733429] state change 0/1, cnx 0/2, code 0
[1621939772.973| 6436|call.cpp :264 ] [call:8737611592733429] emit client call state change CONNECTING, code 0
[1621939772.982| 6439|sipvoiplink.cpp :858 ] [call:8737611592733429] INVITE@0x7fcab40029e8 state changed to 6 (DISCONNCTD): cause=513, tsx@0x7fcab4009018 status 513 (Message Too Large)
[1621939772.982| 6439|call.cpp :234 ] [call:8737611592733429] state change 1/5, cnx 2/0, code 513
[1621939772.982| 6439|call.cpp :264 ] [call:8737611592733429] emit client call state change FAILURE, code 513
[1621939772.982| 6439|sipcall.cpp :440 ] [call:8737611592733429] Delete current invite session
[1621939772.982| 6436|manager.cpp :2117 ] [call:8737611592733429] Failed
[1621939772.982| 6436|manager.cpp :1682 ] [call:8737611592733429] Remove local audio
[1621939772.982| 6436|ringbufferpool.cpp:262 ] Unbind call 8737611592733429 from all bound calls
[1621939772.982| 6436|sipcall.cpp :985 ] [call:8737611592733429] removeCall()
[1621939772.982| 6436|call_factory.cpp :70 ] Removing call 8737611592733429
[1621939772.982| 6436|call_factory.cpp :73 ] Remaining 0 call
[1621939772.982| 6436|call.cpp :234 ] [call:8737611592733429] state change 5/6, cnx 0/0, code 0
[1621939772.982| 6436|call.cpp :264 ] [call:8737611592733429] emit client call state change OVER, code 0
[1621939772.982| 6436|ice_transport.cpp :449 ] [ice:0x55ffb715b210] destroying
[1621939772.982| 6436|sip_utils.cpp :252 ] Registered thread 0x7fcae20e3080 (0x21923)
[1621939773.974| 6436|ringbuffer.cpp :60 ] Destroy RingBuffer 8737611592733429
</pre>
I also get errors:
<pre>[1621939920.637| 6440|message_engine.cpp:298 ] [Account fa06aee956d470eb] Couldn't save messages to /home/x/.cache/fa06aee956d470eb/messages: basic_ios::clear: iostream error</pre>https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/433Jami ID not shown in full in Profile information2022-04-29T16:11:52ZMaxim CournoyerJami ID not shown in full in Profile informationPlease specify the following:
- OS: Guix System
- Jami version: 20210326.1.cfba013
- What build you are using: `jami-qt` in Guix
## Steps to reproduce
- Can you reproduce the bug: at will
- Steps:
1. Right click on a Jami account in t...Please specify the following:
- OS: Guix System
- Jami version: 20210326.1.cfba013
- What build you are using: `jami-qt` in Guix
## Steps to reproduce
- Can you reproduce the bug: at will
- Steps:
1. Right click on a Jami account in the contacts list
2. Select "Profile"
- Actual result:
The Jami identifier contains ellipses, such as `3e97d022fd38207c7…0f5babf2fb0b73bd5`. This makes it impossible to simply copy/paste this identifier information to share it.
- Expected result:
The identifier should be shown in full, without ellipses (as with the GNOME client).https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/945Please enable `Choose color` to be translatable2021-06-12T15:08:14ZovariPlease enable `Choose color` to be translatablePlease enable `Choose color` to be translatable, as shown in the image below
![Choose_color](/uploads/7b72bf2bec3d0faecc630c42993c2036/Choose_color.png)
Thank youPlease enable `Choose color` to be translatable, as shown in the image below
![Choose_color](/uploads/7b72bf2bec3d0faecc630c42993c2036/Choose_color.png)
Thank youhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/432Please enable `Contact details` to be translatable in the right-click menu item2021-05-26T07:52:20ZovariPlease enable `Contact details` to be translatable in the right-click menu itemPlease enable `Contact details` to be translatable. This menu if shown when right-clicking on a contact list. All the items shown in the image below are in Hungarian, except for the last item which is shown in English.
![qt-client_Conta...Please enable `Contact details` to be translatable. This menu if shown when right-clicking on a contact list. All the items shown in the image below are in Hungarian, except for the last item which is shown in English.
![qt-client_Contact_details](/uploads/7d39477171aca473c82707632f8a025a/qt-client_Contact_details.png)
Thank youhttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/944Please enable `secs` to be translated2023-04-18T21:20:34ZovariPlease enable `secs` to be translatedIn the image below, the `22 secs` is in English. Please enable the `secs` to be shown in `Hungarian` if the locale is Hungarian.
![22_secs](/uploads/ce630da6cd01c268d35acbb3beab212b/22_secs.png)
Thank youIn the image below, the `22 secs` is in English. Please enable the `secs` to be shown in `Hungarian` if the locale is Hungarian.
![22_secs](/uploads/ce630da6cd01c268d35acbb3beab212b/22_secs.png)
Thank youPierre NicolasPierre Nicolas