1. 21 Aug, 2019 2 commits
  2. 04 Aug, 2019 1 commit
  3. 12 Jul, 2019 1 commit
    • 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
  4. 21 Jun, 2019 1 commit
  5. 20 Jun, 2019 1 commit
    • Sébastien Blin's avatar
      sip: negotiate both UDP and TCP for the control channel · e83a1006
      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: I55c5f51377fd8787bc951d6d282eec46f8eaf977
      Gitlab: #103
      Gitlab: #108
      e83a1006
  6. 29 Apr, 2019 1 commit
  7. 16 Apr, 2019 1 commit
  8. 08 Apr, 2019 2 commits
  9. 02 Apr, 2019 1 commit
    • Adrien Béraud's avatar
      sources: rename to jami · 2130f067
      Adrien Béraud authored
      * rename namespace from ring to jami
      * rename logs methods from RING_* to JAMI_*
      * rename RING_VIDEO to ENABLE_VIDEO
      
      Change-Id: Ic98498652d7059fafe58a96220d565bcdfa53658
      2130f067
  10. 21 Feb, 2019 2 commits
  11. 04 Jan, 2019 1 commit
    • Philippe Gorley's avatar
      rename Ring to Jami · 8b9940eb
      Philippe Gorley authored
      Removes refrences to project name in logs and comments where it doesn't
      matter whether or not the name is specified.
      
      Change-Id: I17f99390226929ee620bc479b203825389bb3d4d
      8b9940eb
  12. 02 Jan, 2019 1 commit
  13. 31 Dec, 2018 1 commit
  14. 29 Aug, 2018 1 commit
  15. 23 Aug, 2018 1 commit
  16. 22 Aug, 2018 1 commit
  17. 30 Jul, 2018 1 commit
  18. 26 Jul, 2018 1 commit
  19. 13 Jun, 2018 1 commit
  20. 23 Mar, 2018 1 commit
  21. 18 Mar, 2018 1 commit
    • Olivier SOLDANO's avatar
      deactivate path mtu discovery · bfe6121c
      Olivier SOLDANO authored
      until futher work on system level sockets that make us able
      to control packet fragmentation, PMTUD is counter productive.
      
      Change-Id: I7755d7af126742d8259868685fb7682a8bce383d
      bfe6121c
  22. 02 Mar, 2018 1 commit
  23. 15 Feb, 2018 1 commit
    • Olivier SOLDANO's avatar
      fix infinite loop in PMTUD · 5ebe2918
      Olivier SOLDANO authored
      When the TLS session was closed during path mtu discovery,
      the EINTR signal was captured by the retry loop, causing
      it to loop indefinitelly as the state of the session was
      TlsSessionState::SHUTDOWN ; each retry triggering another EINTR
      from TlsSessionImpl::waitForRawData, making gnutls_heartbeat_ping
      to return GNUTLS_E_INTERRUPTED on the pong wait).
      the guard to this loop was modified to take into account the state
      of the session on GNUTLS_E_ITERRUPTED.
      
      Another do/while loop was guarded by the same condition in
      TlsSessionImpl::send, the same countermeasures have been
      put in place.
      
      Change-Id: Ib2ab8975c8044d9bac0abdcace94d79b5eeb75b9
      Reviewed-by: Philippe Gorley's avatarPhilippe Gorley <philippe.gorley@savoirfairelinux.com>
      5ebe2918
  24. 07 Feb, 2018 1 commit
  25. 30 Jan, 2018 3 commits
  26. 23 Jan, 2018 1 commit
  27. 18 Jan, 2018 1 commit
  28. 10 Jan, 2018 2 commits
    • Guillaume Roguez's avatar
      tls_session: fix build warning · be41c1c5
      Guillaume Roguez authored
      "override" keyword missing for a method in TlsSession class declaration.
      
      Change-Id: Ie8e98da6bd9a20246464593460b058200ee1c08b
      Reviewed-by: default avatarOlivier Soldano <olivier.soldano@savoirfairelinux.com>
      be41c1c5
    • Guillaume Roguez's avatar
      data transfer: fix data transfer destruction · 73dea6d8
      Guillaume Roguez authored
      fix crash occuring during data transfer destruction due to nullptr access
      when the turn transport is destroyed.
      
      list of changes:
      * fix Turn/PJSIP callbacks registration (was a NPA due to unique_ptr dtor implementation)
      * add a shutdown method to GenericSocket.
      * implement shutdown into TlsSession and TurnTransport.
      * use shutdown to unlock PeerConnection blocked into a read.
      * do not call blocking methods that raises CtrlMsg into the eventloop.
      * destroy clients/servers before turn socket .
      * fix Turn pool cache destruction causing bad mem free.
      
      Change-Id: I9995ce9419e8af965def9328a5de4a8973a4334f
      Reviewed-by: default avatarAnthony Léonard <anthony.leonard@savoirfairelinux.com>
      73dea6d8
  29. 03 Jan, 2018 1 commit
    • Guillaume Roguez's avatar
      make TlsSession great again · bdafdfb4
      Guillaume Roguez authored
      Or at least independant of underlaying transport...
      
      To make TlsSession able to handle both TLS and DTLS
      this patch removes the ICE dependency and replace is
      by the generic network ABC class 'GenericTransport'.
      As a first step this class is declared in tls_session.h.
      Side effects of this change are:
      
      * refactoring of PMTUD procedure: 'MTU' for gnutls has the meaning
        on 'payload-for-gnutls' so this information is now drived by
        the generic transport and not hardcoded anymore.
        The minimal value of probing remains hardcoded, as is a minimum
        given by RFC's documentation and it's based on an IPv4 packet
        associated with UDP protocol.
      
      * getMtu() is now maxPayload() and represent correctly what
        the application must have.
      
      * TlsSession implements itself GenericTransport: we can chain
        GenericTransport instances to construct an overlayed transport
        protocol.
      
      * TlsSession is now considered as non thread-safe for its public API.
        Caller must bring itself this property.
        This permit to remove a redundant mutex in send() operation.
        Note: and it's the case in the only user (SipsIceTransport),
        that why the mutex is redundant in 100% of cases.
      
      Notice the benefit of this genericity refactoring let us
      write a unit-test for this TlsSession class without having
      an heavy ICE transport to mock-up.
      
      Also ICE transport gained of this by adding a new IceSocketTransport
      to replace IceSocket in a near future (need async IO in GenericSocket,
      but not required for the moment).
      
      Change-Id: I6f4591ed6c76fa9cb5519c6e9296f8fc3a6798aa
      Reviewed-by: default avatarOlivier Soldano <olivier.soldano@savoirfairelinux.com>
      bdafdfb4
  30. 07 Dec, 2017 1 commit
  31. 05 Dec, 2017 1 commit
  32. 28 Nov, 2017 1 commit
  33. 21 Nov, 2017 2 commits