1. 04 Aug, 2019 1 commit
  2. 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
  3. 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
  4. 01 May, 2019 1 commit
  5. 08 Apr, 2019 1 commit
  6. 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
  7. 02 Jan, 2019 1 commit
  8. 30 Jul, 2018 1 commit
  9. 10 Apr, 2018 1 commit
    • Sébastien Blin's avatar
      datatransfer: avoid mismatch family errors using RFC 6156 · 1302c1d9
      Sébastien Blin authored
      RFC 6156 propose to use REQUESTED-ADDRESS-FAMILY to be able to
      communicate beetween a IPv6 network and a IPv4 network. Because
      this parameter is negociated during the allocation we should use
      two control channels to be able to communicate with all address
      families.
      
      Change-Id: Ie1659b20c4c7170697e4ad2949a519b0e87e35ae
      1302c1d9
  10. 16 Mar, 2018 1 commit
  11. 02 Mar, 2018 1 commit
  12. 30 Jan, 2018 1 commit
  13. 23 Jan, 2018 1 commit
  14. 10 Jan, 2018 1 commit
    • 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
  15. 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
  16. 21 Nov, 2017 1 commit
    • Guillaume Roguez's avatar
      TurnTransport: better IO api and fixes · bbfcd574
      Guillaume Roguez authored
      * API additions:
        - peerAddresses
        - readlinefrom
        - writelineto
      * API changes:
        - recvfrom: char*/length version
        - sendto: per-peer call, not longer a map
      * Add more API documentation
      * Max TURN buffer size changed to 4096 bytes
      * Better IO buffer management with peers
      * Fix auth data (was temporary buffer pushing garbage values to server)
      * Turn tests modified for API changes
      
      Change-Id: I0bffe114301e8cb1e2f2e37d7a0eb5ba67f38c61
      Reviewed-by: default avatarOlivier Soldano <olivier.soldano@savoirfairelinux.com>
      bbfcd574
  17. 20 Nov, 2017 1 commit
  18. 04 Oct, 2017 1 commit
    • Guillaume Roguez's avatar
      add pjnath TurnTransport class · f1819432
      Guillaume Roguez authored
      TurnTransport class is a C++ wrapper on PJNATH turn socket API.
      Bring an easy to use socket connected to a TURN server.
      Support TCP (even with peer) and UDP connection types.
      
      Requires rfc6062 support into pjproject 2.6, given by patch:
      88c820ee / contrib: implement rfc6062 in pjnath
      
      Include fonctional tests working with turn.ring.cx.
      Run tests as usual with "make check" command.
      
      Change-Id: Idf14c2ea192cab2fccf99b142492086284920a6b
      Reviewed-by: default avatarOlivier Soldano <olivier.soldano@savoirfairelinux.com>
      f1819432