Why does jami use TCP for swarm?

Why does jami use TCP for swarm? Isn’t UDP-based protocol easier to traverse NAT / firewall?
Thanks.
Below is log.

[1681578707.774|22157|ice_transport.cpp       :333 ] [ice:0x7113cb0780] Creating IceTransport session for "38423ac0b66bf5ad"
[1681578707.774|22157|ice_transport.cpp       :411 ] [ice:0x7113cb0780] Initializing the session - comp count 1 - as a slave
[1681578707.774|22157|ice_transport.cpp       :449 ] [ice:0x7113cb0780] Add host candidates
[1681578707.774|22157|ice_transport.cpp       :910 ] [ice:0x7113cb0780] added host stun config for TCP transport
[1681578707.774|22157|ice_transport.cpp       :910 ] [ice:0x7113cb0780] added host stun config for TCP transport
[1681578707.774|22157|ice_transport.cpp       :910 ] [ice:0x7113cb0780] added host stun config for TCP transport
[1681578707.775|22157|ice_transport.cpp       :995 ] [ice:0x7113cb0780] Add srflx reflexive candidates [10.28.109.8:9 : 117.136.*.*:9] for comp 1
[1681578707.775|22157|ice_transport.cpp       :471 ] [ice:0x7113cb0780] Added generic srflx candidates:
[1681578707.775|22157|ice_transport.cpp       :323 ] [ice (TCP)] added turn server '51.79.146.53', port 3478
[1681578708.176|22172|ice_transport.cpp       :712 ] [ice:0x7113cb0780] TCP initialization success
[1681578708.177|22172|ice_transport.cpp       :789 ] [ice:0x7113cb0780] as slave
[1681578708.178|22172|ice_transport.cpp       :883 ] [ice:0x7113cb0780] (local) ufrag=3aca1417, pwd=4271bb7d250ebd4e2fd2f57d
[1681578708.178|12691|connectionmanager.cpp   :315 ] Added local ICE candidate Ha1c6d08 1 TCP 2130706431 10.28.109.8 60325 typ host tcptype passive
[1681578708.179|12691|connectionmanager.cpp   :315 ] Added local ICE candidate Ha1c6d08 1 TCP 2130706175 10.28.109.8 9 typ host tcptype active
[1681578708.179|12691|connectionmanager.cpp   :315 ] Added local ICE candidate Hac1ffffd 1 TCP 2130705919 172.31.*.* 60325 typ host tcptype passive
[1681578708.180|12691|connectionmanager.cpp   :315 ] Added local ICE candidate Hac1ffffd 1 TCP 2130705663 172.31.*.* 9 typ host tcptype active
[1681578708.180|12691|connectionmanager.cpp   :315 ] Added local ICE candidate Hea112954 1 TCP 2130706431 2409:8954:3e20:****:****:****:****:**** 48813 typ host tcptype passive
[1681578708.181|12691|connectionmanager.cpp   :315 ] Added local ICE candidate Hea112954 1 TCP 2130706175 2409:8954:3e20:****:****:****:****:**** 9 typ host tcptype active
[1681578708.181|12691|connectionmanager.cpp   :315 ] Added local ICE candidate Hf74bcce4 1 TCP 2130705919 fd65:b829:3898:****:****:****:****:**** 48813 typ host tcptype passive
[1681578708.182|12691|connectionmanager.cpp   :315 ] Added local ICE candidate Hf74bcce4 1 TCP 2130705663 fd65:b829:3898:****:****:****:****:**** 9 typ host tcptype active
[1681578708.182|12691|connectionmanager.cpp   :315 ] Added local ICE candidate H7fd35ff9 1 TCP 2130705407 2409:8154:3ee8:****:****:****:****:**** 48813 typ host tcptype passive
[1681578708.183|12691|connectionmanager.cpp   :315 ] Added local ICE candidate H7fd35ff9 1 TCP 2130705151 2409:8154:3ee8:****:****:****:****:**** 9 typ host tcptype active
[1681578708.183|12691|connectionmanager.cpp   :315 ] Added local ICE candidate Hdd9febf8 1 TCP 2130704895 2409:8154:3e20:****:****:****:****:**** 48813 typ host tcptype passive
[1681578708.183|12691|connectionmanager.cpp   :315 ] Added local ICE candidate Hdd9febf8 1 TCP 2130704639 2409:8154:3e20:****:****:****:****:**** 9 typ host tcptype active
[1681578708.184|12691|connectionmanager.cpp   :315 ] Added local ICE candidate Sa1c6d08 1 TCP 1694498303 117.136.*.* 9 typ srflx tcptype active
[1681578708.184|12691|connectionmanager.cpp   :315 ] Added local ICE candidate R334f9235 1 TCP 16777215 51.79.146.53 17528 typ relay tcptype passive
[1681578708.185|12691|connectionmanager.cpp   :329 ] [Account 38423ac0b66bf5ad] Request connection to ****
[1681578710.446|22157|connectionmanager.cpp   :338 ] [Account 38423ac0b66bf5ad] Send connection request to ****. Put encrypted ok
[1681578718.379|22157|connectionmanager.cpp   :732 ] Received request answer from ****
[1681578718.379|22157|connectionmanager.cpp   :703 ] [Account 38423ac0b66bf5ad]  New response received from ****
[1681578718.379|8771|ice_transport.cpp       :1781] [ice:0x7113cb0780] Add remote candidate: Hc0a8013e 1 TCP 2130706431 192.168.1.0 36173 typ host tcptype passive
[1681578718.380|8771|ice_transport.cpp       :1781] [ice:0x7113cb0780] Add remote candidate: Hc0a8013e 1 TCP 2130706175 192.168.1.0 9 typ host tcptype active
[1681578718.380|8771|ice_transport.cpp       :1781] [ice:0x7113cb0780] Add remote candidate: Ha4df3d91 1 TCP 2130706431 2409:8a55:3e75:****:****:****:****:**** 37007 typ host tcptype passive
[1681578718.380|8771|ice_transport.cpp       :1781] [ice:0x7113cb0780] Add remote candidate: Ha4df3d91 1 TCP 2130706175 2409:8a55:3e75:****:****:****:****:**** 9 typ host tcptype active
[1681578718.380|8771|ice_transport.cpp       :1781] [ice:0x7113cb0780] Add remote candidate: H2d870967 1 TCP 2130705919 2409:8a55:3e75:****:****:****:****:**** 37007 typ host tcptype passive
[1681578718.380|8771|ice_transport.cpp       :1781] [ice:0x7113cb0780] Add remote candidate: H2d870967 1 TCP 2130705663 2409:8a55:3e75:****:****:****:****:**** 9 typ host tcptype active
[1681578718.381|8771|ice_transport.cpp       :1781] [ice:0x7113cb0780] Add remote candidate: Sc0a8013e 1 TCP 1694498303 120.239.*.* 9 typ srflx tcptype active
[1681578718.381|8771|ice_transport.cpp       :1267] [ice:0x7113cb0780] negotiation starting (7 remote candidates)
[1681578719.970|22172|ice_transport.cpp       :712 ] [ice:0x7113cb0780] TCP negotiation success
[1681578719.980|22172|ice_transport.cpp       :738 ] [ice:0x7113cb0780] TCP connection pairs ([comp id] local [type] <-> remote [type]):
 [2] [2409:8954:3e20:****:****:****:****:****]:579 [prflx]  <-> [2409:8a55:3e75:****:****:****:****:****]:370 [host] 

[1681578719.990|9813|connectionmanager.cpp   :417 ] [Account 38423ac0b66bf5ad] Start TLS session - Initied by connectDevice(). Launched by channel: git://****/253636512bf67b16f05a22dac069e68202a0c07f - device:**** - vid: 52111818820436
[1681578719.101|22233|tls_session.cpp         :1053] [TLS] Start server session
[1681578719.180|22233|tls_session.cpp         :528 ] [TLS] User identity loaded
[1681578719.181|22233|tls_session.cpp         :1148] [TLS] handshake
[1681578719.807|22233|tls_session.cpp         :1189] [TLS] session established: (TLS1.3)-(ECDHE-SECP384R1)-(RSA-PSS-RSAE-SHA384)-(AES-256-GCM)
[1681578719.808|22233|connectionmanager.cpp   :804 ] Connection to **** is ready - Initied by connectDevice(). Initied by channel: git://****/253636512bf67b16f05a22dac069e68202a0c07f - vid: 52111818820436
[1681578719.808|22233|connectionmanager.cpp   :815 ] Send request on TLS socket for channel git://****/253636512bf67b16f05a22dac069e68202a0c07f to ****
[1681578719.810|12690|jamiaccount.cpp         :1982] [Account 38423ac0b66bf5ad] New channel asked with name sip
[1681578719.810|12688|multiplexed_socket.cpp  :366 ] Enable beacon support for ****
[1681578719.811|12690|channeled_transport.cpp :48  ] ChanneledSIPTransport@0x70fb10b000 {tr=0x70fb10b088}
[1681578719.812|12690|siptransport.cpp        :82  ] SipTransport@0x7130f3b298 tr=0x70fb10b088 rc=1
[1681578719.812|12690|jamiaccount.cpp         :3870] [Account 38423ac0b66bf5ad] New SIP channel opened with ****
[1681578719.814|12690|conversation_module.cpp :397 ] [Account 38423ac0b66bf5ad] fetch commits for peer **** on device ****
[1681578719.831|12690|conversation_module.cpp :427 ] [Account 38423ac0b66bf5ad] Already fetching 253636512bf67b16f05a22dac069e68202a0c07f
[1681578720.304|9882|conversation.cpp        :1213] Sync 253636512bf67b16f05a22dac069e68202a0c07f with ****
[1681578720.304|12691|jamiaccount.cpp         :1982] [Account 38423ac0b66bf5ad] New channel asked with name git://****/253636512bf67b16f05a22dac069e68202a0c07f
[1681578720.307|8770|connectionmanager.cpp   :531 ] Peer already connected to ****. Add a new channel
[1681578720.309|12691|jamiaccount.cpp         :2046] [Account 38423ac0b66bf5ad] Git server requested for conversation 253636512bf67b16f05a22dac069e68202a0c07f, device ****, channel 46937
[1681578720.804|22235|gitserver.cpp           :151 ] Upload pack command detected.
[1681578721.837|8807|conversationrepository.cpp:2771] Validate commit 07c0fa6ea535a81cf026f725b500c380d4f30950
[1681578721.839|8807|conversationrepository.cpp:3102] Merge analysis result: Fast-forward
[1681578721.844|8807|conversation.cpp        :1092] Successfully merge history with ****

Isn’t UDP-based protocol easier to traverse NAT / firewall?

No, it is defenitely not.