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
    • 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
    • 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
    • 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
    • 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
    • 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
      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
  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
    • Adrien Béraud's avatar
      mediahandler: forward-declare AVFrame · 7af8f132
      Adrien Béraud authored
      Change-Id: I8c27143000c8e02d2245e0329ad87f5cf846a73f
    • Sébastien Blin's avatar
      misc: remove some getIssuerUID() · cd2d4263
      Sébastien Blin authored
      using issuer->getId() is preferred, as the certificate can be
      Change-Id: Ibf4129977d12b4867ce73f170e5c9fad04ad3952
  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
      Gitlab: #617
      Change-Id: I317d748db8d1f93dda6d5f510a2fae909a04704c
    • 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
  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
  13. 13 Sep, 2021 5 commits