1. 29 Sep, 2021 6 commits
    • Mohamed Chibani's avatar
      ice: decouple instantiation and initialization of ICE transport · 2a676123
      Mohamed Chibani authored and Sébastien Blin's avatar Sébastien Blin committed
      Instantiation and initialization of ICE are done in a single
      stage (in the class constructor).
      To initialize the ICE instance, connection information must
      first be gathered asynchronously.
      However, when sharing ICE media instance between subcalls,
      it's better to have a valid ICE instance as soon as possible
      (even if not fully initialized) to proceed with the call
      initialization process, then wait for ICE initialization to start
      the call.
      Thus, the ICE instantiation will be performed synchronously as
      soon as the parent (main) call is created, then it will be
      initialized asynchronously when the connection info are ready.
      
      Gitlab: #619
      
      Change-Id: I9c97516238f1a690603975ec968c8c6733155d4a
      2a676123
    • Mohamed Chibani's avatar
      ice: share ice instance between subcalls · b98db961
      Mohamed Chibani authored and Sébastien Blin's avatar Sébastien Blin committed
      Currently, when making an outgoing call to a Jami account with
      multiple registered devices, a new ice media instance is created
      for each subcall. This is not necessary, because all ice instances
      will be similar until the peer answers (and provide its candidates)
      But when the answer is received from the peer, all ice instances are
      destroyed except the instance of the successful subcall, which will
      be used to negotiate the media path.
      Instead, only one instance will be created for the parent call, and
      shared amongst the attached subcalls.
      
      Gitlab: #619
      
      Change-Id: I001c27f69d21b3ea640b189aea401e43c3f6bdef
      b98db961
    • Mohamed Chibani's avatar
      sipcall/ice: remove obsolete temporary shared pointer · 910a5c5d
      Mohamed Chibani authored and Sébastien Blin's avatar Sébastien Blin committed
      This patch removes the temporary ICE shared pointer
      
      Gitlab: #619
      
      Change-Id: Icacac9df1102327d4d1a0f0d67dfa457016048cd
      910a5c5d
    • Aline Gondim Santos's avatar
      plugin: fix duplicate handlers in memory · 2053afe9
      Aline Gondim Santos authored and Adrien Béraud's avatar Adrien Béraud committed
      Make sure we unload plugin before trying to load it.
      
      Change-Id: I87ac7b36378c0e70ecd101b68c8fcb8b7ea7fde8
      2053afe9
    • Amin Bandali's avatar
      gitreview: update gerrit project name · a6177c94
      Amin Bandali authored and Sébastien Blin's avatar Sébastien Blin committed
      Change-Id: I8b64659932709aa5642ef88be4bd6707812f7148
      a6177c94
    • Mohamed Chibani's avatar
      ICE: flush timer heap when destroying ICE instance · 6d4630bf
      Mohamed Chibani authored
      When requesting destruction of ice session and stream
      transport instances from PJNATH, some operation will be
      done asynchronously through scheduled timers. If not
      properly handled, the timer heap will still contain
      timer entries when the timer heap and the IO queueu are
      destroyed.
      Now, the timer heap is given more time to flush the
      remaining timer entries before the IO queue and the
      timer heap are destructed.
      The timer heap may still contain timer entries if
      PJNATH does not process all the timers within the
      givent max time (currently set to 3s).
      
      Gitlab: #637
      
      Change-Id: I5ef2fe9d824e8b57191a51fac8f9e53e0e626fcd
      6d4630bf
  2. 28 Sep, 2021 4 commits
  3. 27 Sep, 2021 3 commits
    • Mohamed Chibani's avatar
      jamiaccount: fix call hangup when removing the account · 15bdc648
      Mohamed Chibani authored and Sébastien Blin's avatar Sébastien Blin committed
      When an instance of JamiAccount class is destroyed, an attempt
      is made  in the destructor to hangup all existing calls by
      calling the hangupCalls() method. However, many methods used in
      the process (such as terminateSipSession) uses a weak_ptr to
      get the account instance, which is not accessible anymore.
      The call to hangupCalls() is now called before the JamiAccount
      destructor is called.
      
      Gitlab: #627
      
      Change-Id: I26e603a88c5074414d88e59d005d95a952c51d5e
      15bdc648
    • Adrien Béraud's avatar
      mediahandler: forward-declare AVFrame · 7af8f132
      Adrien Béraud authored
      Change-Id: I8c27143000c8e02d2245e0329ad87f5cf846a73f
      7af8f132
    • Sébastien Blin's avatar
      misc: remove some getIssuerUID() · cd2d4263
      Sébastien Blin authored
      using issuer->getId() is preferred, as the certificate can be
      incomplete.
      
      Change-Id: Ibf4129977d12b4867ce73f170e5c9fad04ad3952
      cd2d4263
  4. 25 Sep, 2021 3 commits
  5. 24 Sep, 2021 1 commit
  6. 23 Sep, 2021 2 commits
    • Mohamed Chibani's avatar
      ICE/PJNATH: fix crashes and assertion failures · ba7f20f9
      Mohamed Chibani authored
      This patch introduces many changes that prevent various crashes
      and assertion failures.
      
      In PJNATH source code:
       - Avoid duplication when adding host candidates.
       - Prtoect ICE context (lock) in TCP callbacks
       - Correctly set local and remote addres in STUN request
      
      In jami source code:
       - Check that the address is valid before using PJSIP
       helpers
      
      Gitlab: #617
      
      Change-Id: I317d748db8d1f93dda6d5f510a2fae909a04704c
      ba7f20f9
    • Mohamed Chibani's avatar
      logging: fix signature and name space · 5dc71b20
      Mohamed Chibani authored
      Also set agent logging to console by default.
      
      Change-Id: I4993886a149eb4f60e1d61bad7ed18956350599f
      5dc71b20
  7. 21 Sep, 2021 2 commits
  8. 20 Sep, 2021 4 commits
  9. 19 Sep, 2021 1 commit
  10. 17 Sep, 2021 1 commit
  11. 15 Sep, 2021 7 commits
  12. 14 Sep, 2021 1 commit
    • Sébastien Blin's avatar
      Revert "ice: resort the check list when adding prflx candidates" · 5fd4d2e0
      Sébastien Blin authored
      This reverts commit 5e453368.
      
      Reason for revert: Cause crash due to re-ordering the checklist while some checks are in progress
      
      The resort of is causing inconstitency between the checks. The current uses
      the list index as the ID for the STUN request. When the STUN response
      (for this request) is received, the ID is used as is to retrieve the
      check in the check list.
      If the list is re-ordered (when receiving an new incoming check), before
      the STUN response is received and processed, the ID of STUN request will
      point to a different check on reception of the STUN response.
      
      This a temporary revert until a more robust solution to the ordering
      issue is found.
      
      Change-Id: I912a9861118461ff7f6296f61c53531fa2b9384e
      5fd4d2e0
  13. 13 Sep, 2021 5 commits