- 02 Aug, 2019 1 commit
-
-
Eden Abitbol authored
Update libupnp to version 1.8.4. For windows, the IPV6 preprocessor must be undefined. Or else libupnp won't initialize. Added visual studio 2017 support via one patch for windows that also combines previous windows patches. UPnPController: Class that the jami classes use to control the opening and closing of ports. Every service has it's own upnp controller. The controller does it's actions by using the upnp context class. Also refactored the functions used to add mappings. Instead of using two different functions with different types of parameters, we now use one function with parameters that have default values. The logic stays the same but the function call is more clear. UPnPContext: Class that holds a (linked) list of discovered IGDs and their corresponding protocols (which discovered them). Whenever the controller wants to add or remove a mapping, the context picks a valid IGD in it's list and uses the correct protocol to complete the required action. This class also has the ability to swap protocols for an IGD that was discovered by more then one protocol. UPnPProtocol: Virtual base class that defines the functions needed by the context to use the corresponding protocol. PUPnP: UPnPProtocol derived class that represents a upnp client that uses the portable upnp library (libupnp). Every time the client discovers a new IGD it uses a callback to add it to the context's main IGD linked list. It also has an internal list of IGDs that it discovered. Added features to this class include: - IGD event subscription. - Use UpnpInit2 function instead of deprecated UpnpInit function. It's also supposed to support IPv6. NatPmp: UPnPProtocol derived class that represents a upnp client that uses the NAT-PMP library (libnatpmp). Unlike libupnp, libnatpmp only supports discovering one IGD. Also uses callbacks to add the IGD it finds to the context's main IGD class. Also inclided debug warning prints whenever a controller opens and closes the ports. That way we can keep track of whenever the application opens and closes ports on the internet gateway device. Gitlab: #96 Change-Id: I199271edac2c6d93dc60c24e2e2aefe36de7950c
-
- 11 Jun, 2019 2 commits
-
-
Adrien Béraud authored
Change-Id: If974fd1fe9a3ccc0c180abf82f6eb9a1da785263
-
Ming Rui Zhang authored
Change-Id: Ifcf2c2b3676a1903f16818e889dac6ca85a5aa0a Reviewed-by:
Sébastien Blin <sebastien.blin@savoirfairelinux.com>
-
- 23 Apr, 2019 1 commit
-
-
Adrien Béraud authored
Change-Id: I983b9255b34f36a89dc9a0b09422c5b284dd8e34
-
- 03 Apr, 2019 1 commit
-
-
Adrien Béraud authored
Change-Id: Ic4514b6e68346cd8488ccf750796c8590cee653a
-
- 02 Apr, 2019 2 commits
-
-
Adrien Béraud authored
* rename namespace from ring to jami * rename logs methods from RING_* to JAMI_* * rename RING_VIDEO to ENABLE_VIDEO Change-Id: Ic98498652d7059fafe58a96220d565bcdfa53658
-
Adrien Béraud authored
Change-Id: Id99a8d8a3af3ef59d52a3267e0f44262c6df17f3
-
- 02 Jan, 2019 1 commit
-
-
Sébastien Blin authored
Change-Id: Ia4ed75d04a284efa0763c917aeaa2f08863a87cb
-
- 26 Oct, 2018 1 commit
-
-
Adrien Béraud authored
Change-Id: Id0fab10de383e71920959f5c025d0f2710f99d86
-
- 07 Jun, 2018 1 commit
-
-
Sébastien Blin authored
Change-Id: I0bafe5c95373308e6ec16d8452fcb7f394b7c3df Reviewed-by:
Philippe Gorley <philippe.gorley@savoirfairelinux.com>
-
- 06 Jun, 2018 1 commit
-
-
Sébastien Blin authored
Because a client can receives messages before a client is ready to receive it and because the daemon does not store any message, we should have, like calls or file transfers, have a method to get these messages. So, this patch introduces a new method which gives the ability to retrieve messages since the daemon has been launched. To do that, when the daemon will receives a new message, it will store this message into a queue (limited to 1000 messages) and save the related timestamp. When the client is ready it can call getLastMessages with its last known timestamp. This method will return all messages received after this timestamp. Note: the perfect way to do that is to store messages directly in the daemon not clients. We also need some synchronization processes. Change-Id: Iceb1654088a843f9be5b4a47bcc23201e9b38c01
-
- 18 Mar, 2018 1 commit
-
-
Adrien Béraud authored
Set default proxy to dhtproxy.ring.cx Change-Id: Ib2389a96105964786b3022842739e31e0d999ca9
-
- 31 Jan, 2018 1 commit
-
-
Adrien Béraud authored
* Bump restbed for OpenDHT, update patch and add patch to react to timeout and socket closed in restbed. * Bump OpenDHT to support push notifications * Add DRing APIs to support setting a client push notification token and to retransmit push notifications to dring * Implement proxy support in RingAccount Change-Id: I8d3a02cf54a9666a94ab992ee3fa2958e82aa7ad
-
- 23 Jan, 2018 1 commit
-
-
Guillaume Roguez authored
Change-Id: I1ef88bc640f79790aad2b5285ea2c776aa8cd366
-
- 22 Jan, 2018 1 commit
-
-
Adrien Béraud authored
Change-Id: I2794c1d374654870985a655a42ac647ff66c97a1 Reviewed-by:
Philippe Gorley <philippe.gorley@savoirfairelinux.com>
-
- 05 Jan, 2018 1 commit
-
-
Guillaume Roguez authored
First implementation of Reliable Data Transfer feature in Ring. This implementation is a draft, comes with a Python script tools/dringctrl/sendfile.py to play with and doesn't implement all the API as described into "datatransfer: API proposal" commit. This version uses TLS over TCP-TURN sockets to encrypt data. Transfers require a TURN server with TCP peer connections as described by the RFC-6062. Testing: Currently only sendFile API is implemented and data are saved into a temporary file saved in "/tmp/ring_XXXXXX", where XXXXXX are replace by mkstemp() command. Change-Id: I5b8f48432edd58df5046e368a99f58ea44046dcd Reviewed-by:
Olivier Soldano <olivier.soldano@savoirfairelinux.com>
-
- 18 Dec, 2017 1 commit
-
-
Guillaume Roguez authored
make dev life easier during debugging steps. Change-Id: I762763436b4aa0800da6d926230c011649a44e88 Tuleap: #1575 Reviewed-by:
Philippe Gorley <philippe.gorley@savoirfairelinux.com>
-
- 04 Dec, 2017 1 commit
-
-
Nicolas Jager authored
Add a new placeCall API with possibility to gives call details. This permits to give information like media preferences before to start the call. This changes force a daemon API bump to 4.1.0 Change-Id: I95d3b5480e194ece4a3cdb03436b2e1625eae016 Reviewed-by:
Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
-
- 22 Jun, 2017 1 commit
-
-
Guillaume Roguez authored
upnp is always activated even if no account uses it. Here we refactoring its creation and availability checks. This also removes an atomic_bool that gives no true conccurent protection as it protects itself, but not multiple accesses to upnp_ member. Change-Id: Ibf6aaee54077867cdf3029fd51ef6cae0b7488c1
-
- 08 Feb, 2017 1 commit
-
-
Adrien Béraud authored
By default for new accounts, use relative paths for certificates, keys and archive. Absolute paths are still supported. This make it easier to move ring installs between computers. Change-Id: I5a34c8174225446e6b5d6cb17c05f147cdff0b5b Reviewed-by:
Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
-
- 05 Jan, 2017 1 commit
-
-
Guillaume Roguez authored
Change-Id: I6dbc51dd41c1f44d1446fe7365026af037bc86d9 Reviewed-by:
Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
-
- 12 Oct, 2016 1 commit
-
-
Adrien Béraud authored
* generate device certificate * generate encrypted archive including: - Account certificate - Generated Ethereum key * adds "signed receipt" to the account configuration * adds mechanism to export/import account over the DHT Change-Id: Iac77f990b094c3405785fb0df41bc8a993995a26 Tuleap: #938
-
- 05 Oct, 2016 1 commit
-
-
Guillaume Roguez authored
This patch adds a new virtual API to Account, flush(), that does nothing by default. Concrete classes may overload it when it's needed to remove filesystem entries created by them. Then this patch adds also overloads of this method in SIPAccountBase and RingAccount to delete all files added by these account classes. Finaly, the removeAccount() external API calls flush by default, but internal calls do not, to keep a conservative behaviour and not destroying account files due to yml parsing errors. Change-Id: I52c4e225f4d41f0e3d74f63838e56a769011b58e Tuleap: #988
-
- 08 Aug, 2016 1 commit
-
-
atraczyk authored
The Microsoft compiler will include the common header <intrin.h> regardless of the use of quotes. The file "intrin.h" should be renamed, and all references to it changed, as well as defining the UNUSED macro to nothing on the Windows platform. Change-Id: Id04d36e70d149746be8d78eed09aa963514b2810 Tuleap: #801
-
- 22 Jul, 2016 1 commit
-
-
Stepan Salenikovich authored
This allows the clients to notify the daemon when the conenctivity (ie: network status) has changed. The daemon will then try to detect the new IGD (UPnP) and re-connect all enabled accounts. Change-Id: I5c8fc57f75e48d86eda5d195b0586c61a26134ad Tuleap: #841
-
- 30 Jun, 2016 1 commit
-
-
Guillaume Roguez authored
This patch removes all IAX account code and libiax dependency in contrib. References in documentation have also been removed where needed. Change-Id: Ifff23725ccf7e1a6820dbc6f57256138a0fca042 Tuleap: #813
-
- 13 Apr, 2016 1 commit
-
-
Adrien Béraud authored
Tuleap: #359 Change-Id: I823ac0b9b84558d3a88d85561b506d20bd5fc8d1
-
- 27 Mar, 2016 1 commit
-
- 09 Mar, 2016 1 commit
-
-
Guillaume Roguez authored
tools/update-copyright script used for that Change-Id: I89b13300d9ccbdbcd47dba679ba64be82499e83d Tuleap: #454
-
- 18 Feb, 2016 1 commit
-
-
Adrien Béraud authored
All codecs being disabled prevents Ring from making any call. If all codecs are disabled for audio or video, re-enable all codecs of this kind. Tuleap: #394 Change-Id: Ib65e0e878686b2580b312202482b9ddbce298590
-
- 04 Dec, 2015 1 commit
-
-
Guillaume Roguez authored
WARNING: API changes This patch makes code common for IM send/receive message API's between call and account classes. Multi-part messages is supported for : - SIPAccount - SIPCall (any SIP like account) RingAccount supports only Single-part messages yet. Change-Id: Ic65425cd95f02f89f03dd6ea2a9c4a10bb233859 Tuleap: #157
-
- 28 Oct, 2015 1 commit
-
-
Adrien Béraud authored
* add "active" runtime property to accounts * accounts can only be used when active * "active" state is not persistans * add "active" state to volatile properties map * add setAccountActive API * "active" is the default state (backward compatibility) The active state can be used to manage runtime states defining if an account should be used (e.g. on Wifi/3G etc.) Tuleap: #9 Tuleap: #42 Change-Id: Ie3b3aaadea6e43237fc22f6a1f96de8cbfe2bd95
-
- 02 Oct, 2015 1 commit
-
-
Éloi Bail authored
Based on RTCP RR packets info, this patchset add a dichotomous algorithm that converge to highest bitrate value. Minimal and maximal bitrates are set by account. Packet lost rate threshold is defined by call to 1%. Issue: #78984 Change-Id: I8864a5e83bf93146e8bd0186bab0dde36fcd0348 Signed-off-by:
Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
-
- 21 Sep, 2015 1 commit
-
-
Guillaume Roguez authored
- remove OpenSSL exception - fix Savoir-faire Linux naming - fix common Author: representation Issue: #80663 Change-Id: I6c3b2ca1ed48ed474a0ecd5a30fe793526e11b00
-
- 06 Aug, 2015 1 commit
-
-
Guillaume Roguez authored
Issue: #71920 Change-Id: Id7608ca63879b27c37910333c49cef83f9efc3b2
-
- 22 Jul, 2015 2 commits
-
-
Guillaume Roguez authored
Incorrect template function prototype. Error introduced by commit 8700cae2. Issue: #76374 Change-Id: I18509836d4dab2f14a650a3a6a420133fb201679
-
Guillaume Roguez authored
This is a major patch about refactoring all CallState/ConnectionState over call and subclasses. Please read carefully this message, it's about how to use the code. First, this patch brings a central way to store both Call class states members: only Call::setState() (and overloaded) has to be used now. De-facto we use it to emit to the client the StateChange call signal, and remove this emit spread over the code. A check is also made to not emit it if the resulting client state doesn't change for the given CallState/ConnectionState input pair. So using this signal elsewhere is stricly forbidden now. Then, a code cleanup has been made to had missing setState() calls and check the global business logic about these states changes. I hope this cleanup is correct (almost as good as before). State transaction logic is, as before, checked by Call::validTransition. Please modify it if state machine needs to be changed. Also modify Call::getStateStr() to implements daemon->client translated state machine. Note: no API changes in this patch. Only behavior changes. Refs #76646 Change-Id: Iecaedc2cad89b9afdc886f978bbf5f247cbe36bb Signed-off-by:
Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
-
- 30 Jun, 2015 2 commits
-
-
Emmanuel Lepage Vallee authored
Also replace a '== ""' by an '.empty()' Also add a setting to limit the number of calls (per account) Refs #76374 Change-Id: I14c28957ed95a804bf73f29312d6721d257c930f
-
Guillaume Roguez authored
This template function is duplicated over the code. Factorize it in account.h as other parseXXX methods. Refs #76374 Change-Id: I82102679cf5e0929661e3bc052722796ab4464e4
-
- 15 May, 2015 1 commit
-
-
Guillaume Roguez authored
This patch modifies the internal IceTransport API. We now use a IceTransportOptions to select ICE options. STUN/TURN servers are modified using this options struture. Refs #72663 Change-Id: I35106000d803c1374f97ce89e7b895faf1e97b77
-