Commit Graph

22 Commits

Author SHA1 Message Date
1360c775e9 config: use AccountConfig for all Account classes
Change-Id: Ia7dc5c12c91c0b9ea07c41b2de3ac58df7d1239f
2022-11-16 13:58:00 -05:00
ac7ce59c42 connectivity: initial split from jami-related components
As a measure of refactorization of the code and to prepare to the
development of dhtnet, the following changes aims at seperating
jami-specific code to connectivity-specific code.

GitLab: #778
Change-Id: Iaa08100f7d61c80292f039a5aae66819cc85b0e9
2022-11-04 11:00:17 -04:00
d54a84ec0b Replace DRing for libjami
It's not possible to replace the DRing namespace for jami because of conflicts
with namespaces and classes defined under the jami namespace.  Thus, use libjami
as the namespace.

Script to reproduce:

 rg -l DRing | sort | uniq | awk '$0 !~ /NEWS/' | xargs sed -i -e 's|DRing|libjami|g'
 rg -l DRING_ | sort | uniq | xargs sed -i -e 's|DRING_|LIBJAMI_|g'
 sed -i -e 's|dring|jami|g' src/jami/CMakeLists.txt
 sed -i -e 's|dring|jami|g' src/jami/def.h

Change-Id: I80e8c8b58a7586527a016bbef850bab07869c473
2022-10-29 16:49:27 -04:00
5018565239 misc: update copyright date to 2022
Change-Id: I795e3f2f69c07349bf84c87dbcafb502dc8490f8
2022-01-05 16:21:58 -05:00
df9dba9bba multi-stream - remove legacy code
Remove obsolete code kept for backward compatibility.
Add call transfer test case

Gitlab: #470

Change-Id: I81472b8308ec402911670e8658308a184b97206c
2021-11-22 15:37:14 -05:00
01cb294c44 callmanager: add accountId to identify calls, conferences
This starts the work to move calls and conference per account,
cleaning up the API and start future re-factorization.

Change-Id: I2a3a2c77e9ba78b1a280bdf8dca7eeaabb72f3fd
2021-11-16 15:59:41 -05:00
2a6761236f ice: decouple instantiation and initialization of ICE transport
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
2021-09-29 11:24:47 -04:00
910a5c5de3 sipcall/ice: remove obsolete temporary shared pointer
This patch removes the temporary ICE shared pointer

Gitlab: #619

Change-Id: Icacac9df1102327d4d1a0f0d67dfa457016048cd
2021-09-29 11:24:47 -04:00
34d45147e6 ice: avoid duplicating srfx candidates
Avoid adding generic srflx candidates if UPNP candidates are
available. This will reduc the size of the check list and also
increase the chance for UPNP candidates to be selected.

Change-Id: Ia1504beffe7e12063ff1c1ad0f54d65bb60496d6
Gitlab: #607
2021-08-16 19:18:56 -04:00
3e73e26416 pjproject: fix regression caused by bump to 2.11
rfc6544 rebase introduced an error where no_pending_check was
wrong causing the on_ice_complete to never be called if all
candidates failed.

GitLab: #597
Change-Id: Idca5f9bb2b03d9ae4687cef64df96cef6509b15d
2021-07-30 14:06:30 -04:00
ba3a411ca3 daemon: Rename dring occurrences in code and file names to jamid.
Automated using the following commands:

  $ mv src/{dring,jami}
  $ git grep -l src/dring | xargs sed -i 's,src/dring,src/jami,g'
  $ git grep -l '#include "dring/' | \
    xargs sed -i 's,#include "dring/,#include "jami/,g'
  $ git grep -l 'dring.h' | xargs sed -i 's,dring.h,jami.h,g'

And finally,

  $ git grep -l 'dring' | xargs sed -i 's,dring,jami,g'

  $ files=$(find -name '*dring*' | sort)
  $ for f in $files; do mkdir -p "$(dirname "$f")"; \
      mv "$f" "$(echo $f | sed 's/dring/jami/g')"; done

To resolve a bad renaming favorably:

  $ git grep -l -i AlsaCarjami | \
    xargs sed -i -E 's/([Aa])lsaCarjami/\1lsaCardRingtone/g'

The above renaming command is not perfect, so some hand-tuning was
required to complete it.

* src/manager.cpp (Manager::ManagerPimpl::retrieveConfigPath):
Preserve the dring.yml configuration file name, until we add something
to migrate (rename) it to jami.yml.
* man/dring.pod: Delete.
* bin/dbus/jamid.pod: Move to ...
* man/jamid.pod: here.
* bin/dbus/meson.build (jamid_targets): Normalize man section to the
pre-existing 1 and adjust accordingly.
* src/jami/def.h (dring_EXPORTS): Rename to ...
(jami_EXPORTS): ... this.

change-Id: I9828be6da9c711ab2f22c4d1b9539fea89d7b6fb
2021-07-15 10:57:26 -04:00
04ec59a140 ut_ice_sdp_parser: rework test
Rework the test to use two audio streams instead of audio+video.
This is needed to run the test on environments where the camera
is not available (e.g. Docker). For this specific test, the media
type is irrelevant, so using two audio media is acceptable.

Gitlab: #516

Change-Id: Idc4911d5aea5ffdd931bd7d63516ed484344d41c
2021-07-09 09:47:42 -04:00
92fbb84520 ice_sdp_parser: fix unit test
Change-Id: Ie692ceda6fc098c387b22474049bd66728095a57
2021-06-28 15:21:08 -04:00
6a3cdc99e5 media_const: move MediaAttribute constants to media_const
Change-Id: Ie8513b083d696604b36d6b3ecd868ce184a398d0
2021-06-11 12:35:36 -04:00
9501a2a42a ice_sdp_parser: Fix wrong function name
Change-Id: I4ef0f1168f94d35b049735a6c739b3bf4d489aa5
2021-06-04 09:41:32 -04:00
8a8abc1951 unitTest: Add wait_for_removal_of functions
Change-Id: Icf4453467c246ac29b3d178e73380fbeb174d3cd
2021-06-02 12:01:06 -04:00
cabbc523a8 unitTest: Add load_actors function
Load actors from YAML description for unit tests.

Change-Id: Id1840e2bd7244abf902c9be95589b82503c72840
2021-06-02 12:01:06 -04:00
fbb4c95312 unitTest: Add wait_for_announcement_of function
Change-Id: I200b7fa80f8d0bf769bfb84a2915c220880a1146
2021-05-31 11:20:04 -04:00
f98420165f test: add test for trimming ice candidates
Change-Id: I29830dcdcf91b98a75d90a001596a332f256ccd9
2021-05-26 09:24:33 -04:00
1c2131803e ICE/SDP: generate/parse component IDs compliant with RFC-5245
The ICE component IDs are numbered relative to the SDP session, i.e.,
starts from 1 and incremented for each component.
However, RFC-5245 requires that the ICE component IDs are numbered
relative to the media stream, e.g., component IDs 1 and 2 for audio
and component IDs 1 and 2 for video.
This patch allows parsing ICE components IDs in format specified by
the RFC and in the current format.
This patch also allows generating component IDs compliant with
RFC-5245. The generation is disabled by default, and can be enabled
per account on runtime.

Gitlab: #516

Change-Id: I40c0fa54a64b7d729f714c9769ea36335568f4c9
2021-05-20 16:00:22 -04:00
f038475435 test: add tests to validate connection to TURN
Change-Id: I3d906c58323627cad51aed6ad21881a9d2c443d9
2021-04-29 17:24:32 -04:00
7852d43122 ice: add basic test for IceTransport
Change-Id: I285b553701126f50e8b9f50d371a11fb3ccd6933
2021-04-13 13:38:52 -04:00