• Sébastien Blin's avatar
    sip: negotiate both UDP and TCP for the control channel · 4bade6fa
    Sébastien Blin authored
    NOTE: SIP over TCP is disabled for now on Windows, waiting for
    TLS 1.3 support. To re-enable it, check the #ifdef _WIN32 in
    ice_transport.cpp
    
    Our pjsip version supports the RFC6544. With this patch, when
    starting a call, the daemon is using two ICE sessions for the SIP
    channel. One is negotiating a UDP socket, and the other a TCP socket
    and transmits both SDP on the DHT.
    
    If both negotiations succeed, TCP is prefered and will be used
    to transmit SIP messages and the VCard. This should solve the 30
    seconds timeout on bad networks.
    
    Note that the media channel is still using UDP to transmit audio
    and video.
    
    MAJOR CHANGE: the SIP channel use TLS on top of TCP, no DTLS,
    so the transport is considered as reliable.
    
    Also lot of changes in rfc6544.patch to link to rfc6062. The patch
    needs to be cleaned, cf TODO notes
    
    Also this seems to fix the ICE shutdown at the end of the call
    (after the IDLE Timeout)
    
    Change-Id: I01210da3abfcc448071268b4e1e38abdd58f9f05
    Gitlab: #103
    Gitlab: #108
    4bade6fa
Name
Last commit
Last update
..
argon2 Loading commit data...
asio Loading commit data...
dbus-cpp Loading commit data...
ffmpeg Loading commit data...
ffnvcodec Loading commit data...
gcrypt Loading commit data...
gmp Loading commit data...
gnutls Loading commit data...
gpg-error Loading commit data...
gsm Loading commit data...
iconv Loading commit data...
jack Loading commit data...
jsoncpp Loading commit data...
libressl Loading commit data...
msgpack Loading commit data...
natpmp Loading commit data...
nettle Loading commit data...
opendht Loading commit data...
opus Loading commit data...
pjproject Loading commit data...
portaudio Loading commit data...
pthreads Loading commit data...
restbed Loading commit data...
secp256k1 Loading commit data...
speex Loading commit data...
speexdsp Loading commit data...
upnp Loading commit data...
uuid Loading commit data...
vpx Loading commit data...
x264 Loading commit data...
yaml-cpp Loading commit data...
zlib Loading commit data...
README Loading commit data...
change_prefix.sh Loading commit data...
fetch_all.bat Loading commit data...
get-arch.sh Loading commit data...
main.mak Loading commit data...
pkg-static.sh Loading commit data...