1. 12 Dec, 2016 1 commit
    • atraczyk's avatar
      logger: strip paths correctly · afb5652b
      atraczyk authored
      - adds wlogger which takes a the filename of the file calling the
        logger as a parameter, then strips the path
      
      - changes colors so that when debugging the daemon as a win32
        application, the console text is brighter and easier to see
      
      Change-Id: I62bec1af71f9aae0ff259c7b1ac0d9a7462a9de5
      Tuleap: #790
      afb5652b
  2. 09 Dec, 2016 2 commits
    • atraczyk's avatar
      audio: fix unmuting of audio after audio has been muted · 168253ed
      atraczyk authored
      Saves the previous mute state in AudioRtpSession and AudioSender,
      so that when the audio encoder is re-instantiated, it can be set
      to a previously set state (if any).
      
      Change-Id: I25809499fd5afca1b6ae0f03c685a10ba95f94ac
      Tuleap: #1298
      168253ed
    • Adrien Béraud's avatar
      thread pool: add getShared · cd409b81
      Adrien Béraud authored
      std::shared_future can't be used for non-copyable types,
      and std::future can't be captured in std::function context
      because it's also non-copyable.
      
      A solution is to used a shared_ptr of future, that can
      be copied around and the future result can be moved out.
      Reviewed-by: default avatarAlexandre Viau <alexandre.viau@savoirfairelinux.com>
      Change-Id: I58a96dbeace446776b40fec2a10818a544f0b833
      cd409b81
  3. 08 Dec, 2016 1 commit
  4. 06 Dec, 2016 3 commits
    • Adrien Béraud's avatar
      Revert "ringaccount: factor peer authorization check" · 8afce906
      Adrien Béraud authored
      This reverts commit 60222051.
      
      Causes issues with peer verification
      
      Change-Id: Ib7d7d46b1a42ed952ec887b11f9e19b626274bd0
      8afce906
    • Guillaume Roguez's avatar
      contrib: add dtls transport type to pjsip · 88be4bd9
      Guillaume Roguez authored
      A DTLS type is needed for our DHT account.
      This type of transport is based on UDP + TLS.
      This kind of transport behaviour don't exist on
      current PJSIP v2.5.5 release.
      This patch adds this transport type, both for IPv4 and IPv6.
      
      Our PJSIP bridge class is modifier to support this new type
      for DHT account.
      
      Change-Id: I247fcb7c89fe23c99c580705c5f4a1d172b9c917
      Reviewed-by: Andreas Traczyk's avatarAndreas Traczyk <andreas.traczyk@savoirfairelinux.com>
      88be4bd9
    • Adrien Béraud's avatar
      ringaccount: factor peer authorization check · 60222051
      Adrien Béraud authored
      Previous implementation was duplicating authorization
      checks between incoming call and message.
      Add two methods to factorize the checks:
      * foundPeerDevice will check the validity of the peer certificate chain
      * onPeerMessage will check the validity of the peer certificate chain,
        perform authorization checks using the account trust store (async),
        and call the provided callback if the peer is authorized.
      
      Change-Id: I237d3ccae4c6adba232564a05106ff77dc9cd9d8
      60222051
  5. 05 Dec, 2016 1 commit
    • Guillaume Roguez's avatar
      dht: fix call share_ptr refcount · 48045350
      Guillaume Roguez authored
      The dht listen operation is implemented as a lambda
      and was using a default capture by copy ('=').
      But due to missing brackets and the variable name reuse,
      a share_ptr refcount is overtaken.
      This patch fixes the brackets problem and replace
      the default lambda capture by naming each used variable
      to not have the issue later.
      
      Change-Id: I613065f0b1224677704d337bf29b6c5355bacedf
      48045350
  6. 03 Dec, 2016 1 commit
  7. 02 Dec, 2016 2 commits
    • Guillaume Roguez's avatar
      tone: M_PI is not standard · 9df12e2f
      Guillaume Roguez authored
      Fix usage of M_PI constant: it's not C++, even C, standard constant.
      Replaced by a direct value in the code.
      This also can fix C++14 compatibility on some platforms.
      
      Change-Id: I1b37c5cd4aabc9af2adccf208cc8a793de54a79c
      9df12e2f
    • Guillaume Roguez's avatar
      fix SipsIceTransport implementation · e375f828
      Guillaume Roguez authored
      SipsIceTransport doesn't set internal PJSIP transport correctly
      causing many troubles in how our ICE/DTLS underlaying transport
      works with PJSIP.
      
      This patch:
      * adds a custom dtls PJSIP transport type
      * implement correctly custom PJSIP transport creation
      * revert unneeded patches about IM fixes (da0a2d17 and 0cf16b30)
        as this patch fixes also the 30s issue
      
      Side-effect: this fixes the 'call failed' effect when peer hangs-up
      
      Change-Id: If88b8245d6c9ff76bc2f2456f06ff65bc5e723b1
      e375f828
  8. 01 Dec, 2016 3 commits
    • Guillaume Roguez's avatar
      dht: reduce code complexity · a00b5e8a
      Guillaume Roguez authored
      RingAccount::incomingCall() is no more blocking and
      also pushes part of its task on an async job.
      So calling this method using 'runOnMainThread' function
      is overkill, add code complexity and useless delay.
      This patch removes the call to runOnMainThread and
      use incomingCall() directly.
      
      Change-Id: I39bcc03edc8a2cd672cfda6be8fee310963d64f0
      a00b5e8a
    • Guillaume Roguez's avatar
      dht: prevent to start a call with invalid uri · 62aed5a5
      Guillaume Roguez authored
      RingAccount::newOutgoingCall() run inconditionaly a call
      when NameDirectory::lookupUri() has made the lookup, even if the
      response is a failure code.
      This patch prevents the call to be started (and fail later... for nothing)
      in case of negative response of NameDirectory::lookupUri().
      In that case, Call::onFailure(EINVAL) is called to close the object
      and warns upper layers.
      
      Change-Id: I5236b9221edc353e4a8106778e8b0ba9c5e96e67
      62aed5a5
    • Guillaume Roguez's avatar
      qa: remove uneeded lambda 'mutable' modificator · b4bcde5e
      Guillaume Roguez authored
      Fix private RingAccount::startOutgoingCall() prototype
      to be able to remove an uneeded lambda 'mutable' in the code.
      
      Change-Id: I9c6366c6e5d588588ad3678bd2782d56b2a9db61
      b4bcde5e
  9. 30 Nov, 2016 5 commits
  10. 29 Nov, 2016 5 commits
    • Adrien Béraud's avatar
      ringaccount: add forEachDevice · 5fb6d8ba
      Adrien Béraud authored
      Factor iterating over peer devices
      
      Change-Id: Ia7635a8cad1b73c9a1ebbd6608e15c24d82b68fb
      5fb6d8ba
    • Adrien Béraud's avatar
      ringaccount: sync device name · 1a5f1d8c
      Adrien Béraud authored
      Automatically sync device names between devices.
      
      Change-Id: Ie3c53d11ee0fba7a4bcddde8a45254654c3d4a44
      1a5f1d8c
    • Adrien Béraud's avatar
      ringaccount: add custom device name · aaded355
      Adrien Béraud authored
      Add a new editable account detail: the ring device name.
      
      Change-Id: Id5dc42f276ad761d8b306a10faf97e4fbd58c9a2
      aaded355
    • Guillaume Roguez's avatar
      sipcall: re-implement sip info request · 0cf16b30
      Guillaume Roguez authored
      Change the SIPCall::sendSipInfo method to not use a transaction
      but direct endpoint send method.
      This fixes the dialog termination in case of packet drop.
      
      Change-Id: I56f2590ba4b00ac5783ec656b8c442dbcee92c75
      Tuleap: #1077
      Tuleap: #1297
      0cf16b30
    • Guillaume Roguez's avatar
      sip instant message refactoring · da0a2d17
      Guillaume Roguez authored
      This patch is an re-implementation of instant messaging system
      for the SIP layers, to use endpoint's request than dialog's request.
      
      This fix an issue where a packet drop during the request processing
      causes the dialog to be shutdown with error code 408 afer 30 seconds.
      This leds to shutdown of the whole attached invite session, so the
      call itself it terminated.
      
      Change-Id: I948c3eb1d6df992ed8364a01806cd92a42cf98a5
      Tuleap: #1077
      Tuleap: #1297
      da0a2d17
  11. 28 Nov, 2016 1 commit
    • Anthony Léonard's avatar
      Fixed thread hanging at exit on Windows · ca616f05
      Anthony Léonard authored
      This patch fix the problem where a thread is
      waiting alone on a condition variable when quitting
      Ring on Windows without any other thread to notify
      it. This is due to the way each compiler handle the
      destruction of static objects as it is left, on some
      points, undefined by the C++ standard.
      
      This is solved by joining threads earlier when the deamon
      is closing all its stuff.
      
      Change-Id: I219250be1fa08284ca0e92d68344c3cf69ad6af3
      Tuleap: #1276
      ca616f05
  12. 22 Nov, 2016 1 commit
    • Philippe Gorley's avatar
      config: wrap accel and video prefs in ifdef · 5c78be10
      Philippe Gorley authored
      Correctly wraps video preferences and hardware acceleration
      in ifdef preprocessor statements (RING_VIDEO and RING_ACCEL,
      respectively). This fixes cases where Ring would not compile without
      video or video acceleration. Video acceleration is now dependant on
      the presence of video (--disable-video disables acceleration).
      
      Change-Id: I087cc1dc794d0f19daa68cdaec09e126542147f9
      5c78be10
  13. 13 Nov, 2016 2 commits
  14. 11 Nov, 2016 1 commit
    • Adrien Béraud's avatar
      call: set RingID instead of device ID · 9bfcdb6f
      Adrien Béraud authored
      The call peer number is only used to set the peer for
      daemon callbacks for in-call text messages.
      It is currently set to the device ID instead of the RingID, which
      cause client confusion.
      Set the RingID instead.
      
      Change-Id: I75478afbd83fa5edaeae906fee5f667db7781943
      Tuleap: #1262
      9bfcdb6f
  15. 08 Nov, 2016 2 commits
    • atraczyk's avatar
      logger: add gettimeofday · a195c031
      atraczyk authored
      - adds sys_time.h to replace sys/time.h, providing the gettimeofday
        function for native windows builds (UWP for now)
      
      - sys_time.h will be located in MSVC/
      
      Change-Id: Iccb68b8f173724a6d8623b9c7ab03a08125527e3
      Tuleap: #1254
      a195c031
    • atraczyk's avatar
      windows compatibility: include ciso646 header · ab57a60d
      atraczyk authored
      - includes ciso646 header where needed to define alternate logical
        operators for native windows builds
      
      Change-Id: I32b2688fa89324d6683caa365d00fb48cde1e3e1
      Tuleap: #1253
      ab57a60d
  16. 07 Nov, 2016 3 commits
  17. 04 Nov, 2016 2 commits
  18. 03 Nov, 2016 3 commits
  19. 02 Nov, 2016 1 commit