1. 17 Feb, 2017 3 commits
  2. 15 Feb, 2017 4 commits
    • Guillaume Roguez's avatar
      manager: fix newOutgoingCall method · e4a96e79
      Guillaume Roguez authored
      Manager::newOutgoingCall() does not handle case where
      a valid account is found (no prefered given) but not usable,
      and many accounts are possible.
      They are not tested.
      This patch fixes this situation and also reduce cyclomatic
      complexity by factoring the account search loop.
      
      Change-Id: I505d082f4ca5d7756fe1f257e1767696dc41a2bf
      e4a96e79
    • Guillaume Roguez's avatar
      manager: refactor of joinParticipant method · 5cab4fa7
      Guillaume Roguez authored
      - decrease cyclomatic complexity of joinParticipant by
      factoring conference binding code and removing
      unneeded createConference method.
      
      - move the ConferenceCreated signal at the right place
      in the flow (i.e. last in sequence).
      
      Based on a proposition from zinspierre <zins.pierre@gmail.com>
      and al. in part of the course LOG8430 (Polytechnique Montreal).
      
      Thanks to them.
      
      Change-Id: I55203cc400496cd679c4f157d765aee0dec9c4f8
      Reviewed-by: Andreas Traczyk's avatarAndreas Traczyk <andreas.traczyk@savoirfairelinux.com>
      5cab4fa7
    • Guillaume Roguez's avatar
      increase keyframes request at stream begin · 6fe87e09
      Guillaume Roguez authored
      Increasing the number of keyframes sent at the begining
      of a video stream upto 4 (was 1).
      Even if the bytes flow is increased (only temporarily)
      sending more keyframes at stream begin let a chance to
      have a nice video looking in case of possible network
      packet drop. It's often the case at the stream begin
      due to high traffic caused by the calling establishment
      process.
      
      Change-Id: I2636727422ca641d8af9d83c59b9d487aff606d5
      Reviewed-by: Andreas Traczyk's avatarAndreas Traczyk <andreas.traczyk@savoirfairelinux.com>
      6fe87e09
    • Olivier SOLDANO's avatar
      Path MTU discovery implementation · 29ae5d8a
      Olivier SOLDANO authored
      This implementation uses gnutls dtls heartbeat API to test path MTU.
      heartbeat allowing messages with automated response in a datagram,
      the application is able to guess the MTU via a timeout in the heartbeat.
      (timeout on packet sent and no response, implies that the MTU is lower
      than the lost payload.)
      To minimize false positives (a response is lost for example), each attempt
      triggers one retry on the first timeout.
      This version ensures a minimal MTU of 512 bytes will be returned in
      case of any failure in the procedure.
      For retrocompatibility with non heartbeat capable clients,
      a fallback MTU is set at 1280.
      
      Change-Id: Ib9a7f63a70e8bdad239d8fc103779a0f2c387e87
      Reviewed-by: Andreas Traczyk's avatarAndreas Traczyk <andreas.traczyk@savoirfairelinux.com>
      29ae5d8a
  3. 09 Feb, 2017 1 commit
    • Nicolas Jager's avatar
      migration : fix migrateAccount() · 51009e0d
      Nicolas Jager authored
      - bug : if readArchive() line 1410 throw an exception, migrateAccount()
      will return without emiting any signal.
      
      - you can reproduce it by passing a wrong password to readArchive().
      
      - this patch fix the try catch by adding a signal before the return.
      
      - fix a missing else line 1421. Whitout it, whenever if
      updateCertificates return true, a Migration::State::INVALID signal is
      emited. Wich also leads when updateCertificates is true to emit two
      opposite signals.
      
      Change-Id: Id3bdbe6ef852095793af7802c75559d033b9f890
      Reviewed-by: Guillaume Roguez's avatarGuillaume Roguez <guillaume.roguez@savoirfairelinux.com>
      51009e0d
  4. 08 Feb, 2017 2 commits
  5. 07 Feb, 2017 1 commit
  6. 06 Feb, 2017 1 commit
    • Nicolas Jager's avatar
      migration : add signals · 041a0ced
      Nicolas Jager authored
      - adds a new kind of signals, called MigrationState.
      RingAccount::migrateAccount now use those signals.
      
      Change-Id: I1ef5bbd495f5f99d247549e883c8a001418a9bd2
      041a0ced
  7. 03 Feb, 2017 2 commits
  8. 02 Feb, 2017 1 commit
    • Guillaume Roguez's avatar
      sip: factorize dialog and invite session creation · a3a5311f
      Guillaume Roguez authored
      SIP dialog and invite session creation code is duplicated
      in SIPAccount and RingAccount call creation code.
      This patch factorizes this code by moving identical parts
      into SIPAccountBase base class.
      The new common method is now CreateClientDialogAndInvite().
      
      By the way notice that previous duplicated code was locked
      the dialog. This extra lock it uneeded and wrong:
      - wrong because pjsip_dlg_inc_lock() was used, but it should
      be used only temporarily [1]
      - uneeded as the dialog session counter is increased by the invite
      session itself
      The correct way is to call pjsip_dlg_inc_session if we need long
      lock, that not our case here as we manage the invite session.
      
      [1] http://www.pjsip.org/pjsip/docs/html/group__PJSIP__DIALOG.htm#ga5d87304615303ffbe20a09e0a3ff59df)
      
      Change-Id: I8c2042b4c0278315cf76ea38affa8b90cab5cc7f
      Tuleap: #64
      a3a5311f
  9. 31 Jan, 2017 4 commits
    • Guillaume Roguez's avatar
      ringaccount: remove a reference on call · 06149190
      Guillaume Roguez authored
      remove an unneeded call reference made by certificate check lambda.
      This could causes some reference dead loop.
      
      Change-Id: I84f6e115a64b1fe566bde9f7886334e4471f00db
      06149190
    • Guillaume Roguez's avatar
      sip-tls: do not shutdown tls session at pjsip shutdown · 5cbd5cbe
      Guillaume Roguez authored
      It could be counter-intuitive but it's a bad idea to
      shutdown the tls session at shutdown pjsip event.
      This event is due to the call of pjsip_transport_shutdown()
      function. Its documentation indicates that objects
      having a session lock on the transport can continue to send
      and receive from the transport but new lock can't be obtained.
      So, we need to continue tls IO after this event.
      
      This also gives a chance to some msg to be sent, like BYE request.
      
      Change-Id: Ifa82469ec416652f26c240a42c55a284e1887040
      Tuleap: #64
      5cbd5cbe
    • Guillaume Roguez's avatar
      sip_utils: make inline PJDialogLock class · 82cf1069
      Guillaume Roguez authored
      pjsip includes are mandatory to use this file,
      so use this fact as an advantage by inlining
      PJDialogLock class.
      
      Change-Id: I6d53bb767cc956a2d8e09ae9ffdc6fcfe0b143bc
      Tuleap: #64
      82cf1069
    • atraczyk's avatar
      contrib: fix gmp for UWP build · 1c9c650d
      atraczyk authored
      Change-Id: Ibf33e5c472287f4b6e2be2b0fff101d7e5b2c7b8
      Tuleap: #790
      1c9c650d
  10. 30 Jan, 2017 2 commits
  11. 25 Jan, 2017 1 commit
  12. 24 Jan, 2017 1 commit
    • Adrien Béraud's avatar
      messages: reschedule on error, timeout in ringaccount · d9a0f1f6
      Adrien Béraud authored
      * MessageEngine reschedule sending when receiving an error
      * RingAccount now timeout if no confirmation is received after 1 minute.
      * Text messages related log cleanup
      
      Change-Id: I0f4136c3f215c49af805b84a2ee8902ffe7d3bb1
      Tuleap: #1478
      d9a0f1f6
  13. 23 Jan, 2017 2 commits
  14. 20 Jan, 2017 1 commit
    • atraczyk's avatar
      audio: remove use of libsndfile for UWP build · d5e52e74
      atraczyk authored
      - remove the referencing of sndfile objects, as UWP implements
        the playing of ringtone files client-side.
      
      Change-Id: I88e12b31c2fd66d3e171d971960eb66bdf8875a4
      Tuleap: #790
      d5e52e74
  15. 13 Jan, 2017 3 commits
  16. 12 Jan, 2017 3 commits
  17. 11 Jan, 2017 2 commits
    • Guillaume Roguez's avatar
      fix bad usage of shared_ptr as function argument · 66140094
      Guillaume Roguez authored
      Many function/method pass shared_ptr by copy and not by (const) reference.
      As explained here [1], if the smast pointer is not supposed to be modified
      and used as an output argument, it's a bad usage as we cause
      an uneeded copy. As this copy causes a memory lock this lead to CPU
      and memory cache lock bad usage.
      
      This patch converts all these by-value into by-const-reference
      on all shared_ptr arguments over the daemon sources.
      
      [1] https://herbsutter.com/2013/06/05/gotw-91-solution-smart-pointer-parameters/
      
      Change-Id: Ic1e68d93a6917f5e2865b6818b7c1210ff98b1a8
      66140094
    • Guillaume Roguez's avatar
      fix C++14 usage that brokes some builds · 490ed632
      Guillaume Roguez authored
      Some builds, like OSX and Debian 8, fails to build the daemon
      as a patch has recently introduced a C++14 feature, but we don't
      support C++14 by default on all platforms.
      
      This patch changes the code to require only a C++11 compiler.
      
      Change-Id: Ib858a6abddb610b6f94cedc01945c0de92f00687
      490ed632
  18. 10 Jan, 2017 5 commits
    • Adrien Béraud's avatar
      ringaccount: support device revocation · 6c66cf68
      Adrien Béraud authored
      Add support for Ring device revocation.
      Each device manages a local revocation list, synced with
      other devices linked with the account.
      When a device is revoked, its certificate is added to the
      local certificate revocation list (standard x509 CRL).
      CRL support from the trust store and OpenDHT is used.
      
      Tuleap: #1457
      Change-Id: I227e21afb3234e70ad562a5a4d0cf1084d61f174
      6c66cf68
    • Adrien Béraud's avatar
      trustrequests: adapt for multi-device · 84510ece
      Adrien Béraud authored
      Change-Id: I1ab520134eb09f6801e820b5ec87967b14056027
      84510ece
    • atraczyk's avatar
      uwp: use GetAppDataPath signal on UWP build · 5149e343
      atraczyk authored
      - uses a signal that is emitted when retrieving various folders
        used by Ring.
      
      - uses CreateFile2 in the writeTime function, in accordance with
        the Windows UWP API.
      
      Change-Id: Ie03255fd8d9d5bd298a17025a8110852ec573aa1
      Tuleap: #790
      5149e343
    • atraczyk's avatar
      build: remove reference to getenv for UWP · eaea2bd4
      atraczyk authored
      Change-Id: Ic39556204f2724e7b33d3055b58e184030a245aa
      Tuleap: #790
      eaea2bd4
    • atraczyk's avatar
      video: add video device implementation for UWP · a1b8b13a
      atraczyk authored
      - adds a video device implementation and a barebones video device
        montior implementation for UWP.
      
      Change-Id: I69108c688f0e55fea1776708919b881afae42552
      Tuleap: #790
      a1b8b13a
  19. 09 Jan, 2017 1 commit