1. 21 Aug, 2019 1 commit
    • Sébastien Blin's avatar
      sip_transport: avoid PJ_ENOTSUITABLE when ipv4<->ipv6 · a427a151
      Sébastien Blin authored
      This is a bit a dirty fix, but the ICE transport can use several
      sockets or even an IPv4 socket on a side and an IPv6 on the other
      side. But, if it's the case, the header sent contains an IPv6
      address and sip_transport will return PJ_ENOTSUITABLE because
      TLS6 != TLS4.
      
      In this patch, we just ignore the V6 extension.
      
      Change-Id: I3ded796dd6ee95a08ec54656dc2ad8107f0e62e3
      Gitlab: #134
      a427a151
  2. 12 Aug, 2019 1 commit
    • Sébastien Blin's avatar
      pjproject: fix crash if turn_alloc fails · 1a3ab76f
      Sébastien Blin authored
      Because the candidate is destroyed if turn_alloc fails, the
      candidate should be committed before turn_alloc and turn_create.
      
      Change-Id: I84f7a206ef42c2a21049d0bea135f5f60c92c0ad
      1a3ab76f
  3. 25 Jul, 2019 1 commit
    • Sébastien Blin's avatar
      file transfer: use ICE code in more configurations · c413dc43
      Sébastien Blin authored
      + Public ips was not registered as a candidate. With this patch,
      negotiations via UPnP and TURN are made during the ICE negotiation.
      So, the fallback with the old code should not be used anymore for
      new versions.
      + Both peers negotiate the link at the same time. The speed of the
      negotiation is improved.
      + Fix PJ_EBUSY detection when using a TURN socket to transfer a
      file.
      
      Change-Id: I74fb313b9628d762a1ab0da05e3a18ea3691cb3d
      c413dc43
  4. 16 Jul, 2019 1 commit
    • Sébastien Blin's avatar
      turn: fix first packet detection · dc78a1c8
      Sébastien Blin authored
      This patch fix the file transfer (invalid state in
      TlsSession::waitForReady).
      
      Also, add peer connection with on_connection_status instead of
      on_connection_attempt (because the connection can fail)
      
      Change-Id: Iae97cb4b4a206024aea64d10e99d9c2150e7c04c
      Gitlab: #626
      dc78a1c8
  5. 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
  6. 21 Jun, 2019 1 commit
  7. 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
  8. 12 Jun, 2019 1 commit
  9. 30 May, 2019 1 commit
    • Sébastien Blin's avatar
      contrib: bump pjproject · ebb5e5c1
      Sébastien Blin authored
      Now that RFC6062 is merged upstream, we can remove the patch from
      our stack. The API changed a bit, so this patch also updates
      turn_transport.cpp to follow changes
      
      Change-Id: If6e0bae8280d586b2e5fcb0babe83df8127789b6
      ebb5e5c1
  10. 29 Apr, 2019 1 commit
    • Sébastien Blin's avatar
      ice: support RFC 6544 ICE over TCP · ee2fe1a4
      Sébastien Blin authored
      This patch is the first one used to perform ICE over TCP. Leads to
      major changes:
      
      + IceTransport has now a tcpEnable parameters to use TCP instead
      of UDP. Also, this patch makes ICE aggressive nomination available.
      + File transfer is now usable without TURN in a local network. For
      now, UPnP is not supported, this will come in a near future. Now,
      it can use a direct connection between two pairs.
      
      If the negotiation between peer fails, the TURN is used as a
      fallback. Moreover, to avoid breaking compability when a peer wants
      to connect, it will send the SDP message followed by TURN ips (like
      the current version).
      
      Change-Id: I0425c7da34ff2bc272c376261847195be768d522
      ee2fe1a4
  11. 09 Apr, 2019 1 commit
  12. 08 Apr, 2019 1 commit
    • Sébastien Blin's avatar
      pjproject: bump to latest commit · 24c74f15
      Sébastien Blin authored
      Bump pjproject to prepare the patch for RFC6544. Also the patch
      used to support gnutls is merged upstream so we don't need it
      anymore.
      
      Change-Id: I7d83d7693dbadd4650623baa29f1721710040a08
      24c74f15
  13. 30 Jul, 2018 1 commit
  14. 23 Jun, 2018 1 commit
  15. 20 Jun, 2018 1 commit
  16. 09 Feb, 2018 1 commit
    • atraczyk's avatar
      build: update visual studio project and fix some build issues · 616d4785
      atraczyk authored
      - adds rfc6062 patch for pjsip 2.5.5 for uwp
      - updates files built by the vs project (adds some related to file
        transfer, removes those that are deprecated)
      - corrects native build problems
      - simplifies project layout
      - links the minimal client with libdl(temp fix)
      
      Change-Id: Ib82b0470f568cb79dc1f4353cb5a5ef20de93033
      616d4785
  17. 21 Jul, 2017 1 commit
    • atraczyk's avatar
      contrib(UWP): revert to pjproject 2.5.5 · af900f47
      atraczyk authored
      pjproject 2.6 randomly crashes due to access violations. Until the
      problem can be fixed, we can use v2.5.5
      
      Change-Id: Icdaf565a0bbf45cab6046ddb3114e29ebedff694
      af900f47
  18. 22 Jun, 2017 1 commit
  19. 01 Feb, 2017 1 commit
    • atraczyk's avatar
      build: change to archive downloads only on UWP build · 3ae6811c
      atraczyk authored
      - Changes fetch scripts urls to archived tarballs if possible to
        facilitate caching of the contrib source on the UWP Jenkins
        build machine.
      
      Change-Id: I51eac783eea964bfe08727baf1ad7b9e08a5096d
      Tuleap: #790
      3ae6811c
  20. 19 Jan, 2017 1 commit
  21. 11 Jan, 2017 1 commit
  22. 02 Jan, 2017 1 commit