1115 Commits

Author SHA1 Message Date
Dragos Oancea
65fa90894e [core] scan-build: Value stored to 'xcheck_jitter' is never read 2020-03-06 19:38:16 +04:00
LarryHemenway
6190fa6242
[Core] switch_rtp: update username to allow size specified in STUN RFC 5389 2020-03-04 02:37:14 +04:00
Visytel
b997c4fc8b
[core] Turn DTMF logging on or off using sensitive_dtmf var 2020-02-12 23:44:35 +04:00
Andrey Volk
d6094643bb [Core] Fix RTP unit-test by adding switch_rtp_get_core_session(). 2020-01-09 13:06:08 +04:00
Mike Jerris
c65cb486d6 [core] change No audio stun for a long time error to warning 2019-12-31 02:32:47 +04:00
Anthony Minessale
47c5c8f3e8 [Core] Fix short-circuit in write timestamp calc 2019-12-17 00:37:07 +04:00
Christopher Rienzo
538021a6b9 Merge pull request #1781 in FS/freeswitch from ~DRAGOS_OANCEA/freeswitch-dragos:FS-11919-log to master
* commit '6cfceb6e62b4461cedd712b7486c29bf6cd12fe6':
  FS-11919: change back loglevel to DEBUG1
2019-08-01 08:24:35 -05:00
Dragos Oancea
6cfceb6e62 FS-11919: change back loglevel to DEBUG1 2019-08-01 13:21:28 +00:00
Mike Jerris
3c06e3c788 Merge pull request #1773 in FS/freeswitch from ~DRAGOS_OANCEA/freeswitch-dragos:FS-11743 to master
* commit '7060d962625970804b9a3d9db4c0f89caf2b67a3':
  FS-11743: don't reset VBW on receiving PLI/FIR
2019-07-25 18:35:30 -05:00
Mike Jerris
304865f580 Merge pull request #1772 in FS/freeswitch from ~DRAGOS_OANCEA/freeswitch-dragos:FS-11965 to master
* commit '4349da32142a66caac8ce38d6a710d056ff56cbb':
  FS-11965: fix build.
2019-07-25 18:34:53 -05:00
Dragos Oancea
7060d96262 FS-11743: don't reset VBW on receiving PLI/FIR 2019-07-25 23:30:16 +00:00
Dragos Oancea
4349da3214 FS-11965: fix build. 2019-07-25 23:21:47 +00:00
Mike Jerris
4abe5905e0 Merge pull request #1771 in FS/freeswitch from ~DRAGOS_OANCEA/freeswitch-dragos:FS-11965 to master
* commit '9e006869e47bf60706da14c54f81c38ccaf790ca':
  FS-11965: RTC: prevent overflow on percent_fraction (patch by Sergey Khripchenko <shripchenko@intermedia.net>)
  FS-11965: NACK log debug when we get a request
  FS-11965: RTCP: fix on rtcp_report_block->fraction - "if X packets were expected and X was lost, we want 0xff to be reported, not 0" (patch by Piotr Gregor <piotr@dataandsignal.com>)
2019-07-25 18:17:11 -05:00
Dragos Oancea
9e006869e4 FS-11965: RTC: prevent overflow on percent_fraction
(patch by Sergey Khripchenko <shripchenko@intermedia.net>)
2019-07-25 23:10:53 +00:00
Dragos Oancea
2e450cd3dc FS-11965: NACK log debug when we get a request 2019-07-25 23:10:53 +00:00
Dragos Oancea
40982338a0 FS-11965: RTCP: fix on rtcp_report_block->fraction - "if X packets were expected and X was lost, we want 0xff to be reported, not 0"
(patch by Piotr Gregor <piotr@dataandsignal.com>)
2019-07-25 23:09:27 +00:00
Artem Karukov
500b4c23b0 FS-11715: sanitize negative value for pkt_lost 2019-07-25 22:38:57 +00:00
Mike Jerris
3d53f7861e Merge pull request #1765 in FS/freeswitch from ~DRAGOS_OANCEA/freeswitch-dragos:FS-11957 to master
* commit '6a036e661c6d78c7f98388ff445a7df93fd286e3':
  FS-11957: destroy NACK table on SWITCH_RTP_FLAG_KILL_JB too
2019-07-25 12:53:51 -05:00
Dragos Oancea
6a036e661c FS-11957: destroy NACK table on SWITCH_RTP_FLAG_KILL_JB too 2019-07-25 16:01:59 +00:00
Dragos Oancea
1f4dbe50e6 FS-11955: JB: add stats for received packets that have been NACKed previously (video) 2019-07-25 14:28:38 +00:00
Dragos Oancea
49e6449bc5 FS-11809: scan-build: dead assignments 2019-07-24 13:47:02 +00:00
Dragos Oancea
385769344b FS-11549: RTCP: fix report block stats
(thanks Sergey Hripchenko)
2019-07-19 01:50:23 +04:00
Dragos Oancea
939b949da4 FS-11903: Fix errors reported by PVS-Studio Static Code Analyzer for switch_rtp.c 2019-07-18 20:55:16 +04:00
Brian West
b23d887586 FS-11654: [core] add media_timeout, media_hold_timeout and video vs audio variants 2019-07-18 00:54:37 +04:00
Mike Jerris
7906a2054a FS-11919: [core] add api compatibility for switch_rtp_new 2019-07-17 16:43:34 -04:00
Liyang
a13196c1c7 FS-11841 [core] The ts of received rtp packages for DTMF is same. so add SFF_RFC2833 flag check when write rtp package. 2019-07-18 00:29:32 +04:00
Mike Jerris
9050a08952 FS-11642: [core] add audio and video versions of the variables set for the rtp_retain_crypto_keys feature 2019-07-17 23:32:55 +04:00
Anthony Minessale
f4d8631c09 FS-11446: [freeswitch-core] Improve video JB scaling and fix misreported rtp stats #resolve 2019-07-16 20:54:22 +04:00
Anthony Minessale
878565e4b3 FS-11446: [freeswitch-core] Improve video JB scaling and fix misreported rtp stats #resolve 2019-07-16 20:54:17 +04:00
Dragos Oancea
279b7994ef FS-11743: video RTCP counter (fix conflicts) 2019-06-06 17:38:04 +00:00
Dragos Oancea
32de076b18 FS-11751: process_rtcp_packet() bounds check 2019-06-06 16:59:08 +00:00
Dragos Oancea
99bd3b3c6e FS-11675: RTCP NACK at start of call too 2019-06-06 16:50:45 +00:00
Dragos Oancea
133b42b1e9 FS-11635: decrement RTCP counters on duplicate received NACKed packet which is dropped anyway
(affects cum_lost calculation)
2019-06-06 16:50:06 +00:00
Dragos Oancea
bd90f82e6f FS-11635: RTCP: fix SSRC in FIR, cum_lost due to dup NACKs
(thanks Artem Karukov for finding these)

FS-11635: include received Nacked to the expected packet count.
2019-06-06 16:47:29 +00:00
Dragos Oancea
8185aadb5e FS-11631: [core] RTCP: set RTP timestamp for video in SR (sender info block)
FS-11631: [core] fix introduced by minor change of behavior, rtcp & ice (FS-11549) -keep rtcp disabled during ICE
2019-06-06 16:42:28 +00:00
Dragos Oancea
f5a736f037 FS-11549: don't send the reception report block when we need to send fast feedback (do like Chrome does it, don't confuse peer's stats).
FS-11549: don't send RTCP RR unless we're receiver only.
2019-06-06 16:41:43 +00:00
Dragos Oancea
d6169a3845 FS-11561: [core] RTCP: attempt to avoid race cond on calculating DLSR (stats->last_recv_lsr_local) 2019-06-06 16:38:58 +00:00
Piotr Gregor
9682d2c2c9 FS-11730 Add support for DTLSv1.2 and make default
Needed in Chrome version >= 74 as Chrome dropped support for v1.0:
https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/discuss-webrtc/yr6gbAgWsKo/9X5vQb8kGAAJ

Using old v1.0 DTLS if 1.2 is not available or legacy DTLS
wanted explicitly. To request old DTLS set variable

	<action application="set" data="legacyDTLS=1"/>

Note: requires openssl 1.0.2 or later for DTLS v1.2 support
2019-06-06 12:05:11 -04:00
Andrey Volk
2192d5de3b FS-11644: [core] Fix send_dtmf containing w or W 2019-06-06 11:29:21 -04:00
Chris Ayoup
a1cb008087 FS-11646: Improved support for ICE-lite
Specifically:
* Send the a=ice-lite SDP attribute as a session-level attribute
* Suppress sending STUN connectivity checks when enabled
* Make sure FS is the controlled entity if it is declaring ICE-lite
2019-02-05 13:17:35 -05:00
Dragos Oancea
2bf9878c2f FS-11599: [core] fix inter-arrival jitter (timer) 2019-01-18 18:17:59 -05:00
Mike Jerris
9927baa7d8 FS-11412: [core] Fix crash caused by missing or malformed ice candidates in sdp 2018-09-26 15:07:38 +00:00
Chris Rienzo
48aebd7365 FS-11377 [freeswitch-core] lock/unlock mutexes in consistent order. 2018-09-05 20:56:09 +00:00
Sergey Khripchenko
25682d619c FS-11201 Fix 'rtt_valid = 0;' was incorrectly placed rendering whole RTT thing void.
+ don't shoot in a leg and keep 'rtt_now' value correct (even if we clear it few lines after), because after some time it could be changed.
2018-08-30 22:58:20 +00:00
Sergey Khripchenko
2dcfc27963 FS-11360 Fix FS degradation over time in DTLS layer (especially if outdoing packets rate higher that incoming)
When we handle DTLS layer in do_dtls() and there are no incoming packets yet - we still call BIO_write() with NULL buffer and it is an error and BIO_write() will stuck for a long time in libssl/libcrypto error subsystem.
(that also possibly relates to fact that libssl/libcrypto init/deinit/error-handling is broken in general in FS, however that is another big issue)
2018-08-30 22:58:02 +00:00
Piotr Gregor
6cd17fd556 FS-11052: Allow alias for crypto suites
For outgoing calls send AES crypto in offer using corrected names
for keys of length 192 and 256, i.e. names containing _192_CM_
and _256_CM_ instead of _CM_192_ and CM_256_. For incoming calls
accept both naming conventions, decaying to same entry in SUITES.

+ fix after SRTP failed for 256 keys:

Tests showed loop removing '=' from keys in switch_core_media_build_crypto

 1190     if (!switch_channel_var_true(channel, "rtp_pad_srtp_keys")) {
 1191         p = strrchr((char *) b64_key, '=');
 1192
 1193         while (p && *p && *p == '=') {
 1194             *p-- = '\0';
 1195         }
 1196     }

shouldn't be executed for AES_CM_256_HMAC_SHA1_32 and AES_CM_256_HMAC_SHA1_80
keys and it is meaningless for AES_CM_128_HMAC_SHA1_32 AES_CM_128_HMAC_SHA1_80
keys. Tested calling from Bria.

Introduced switch_channel_var_false and changed this to:
	if (switch_channel_var_false(channel, "rtp_pad_srtp_keys"))
to enter the loop if var is set to false (and not if it is _not_ set).
2018-08-13 20:57:50 +00:00
Anthony Minessale
9e09a8e8b5 FS-11322: [freeswitch-core] Change ice handling to work with FireFox when in turn mode #resolve 2018-08-13 19:01:37 +00:00
Mike Jerris
3e50947295 FS-11222: [core] NACK for multiple packets sends wrong packet after the first one 2018-07-24 07:21:55 +00:00
Piotr Gregor
e66de38ba2 FS-11201 Filter out erroneous RTT values #fix
Erroneous DLSR in received RTCP report could
cause RTT to be negative (RTT = A - DLSR - LSR).
Add check for this and prevent corruption
of statistics and estimations (estimator code used
bad RTT values).
2018-07-24 07:21:54 +00:00
Anthony Minessale
fef3711e31 FS-11164: [freeswitch-core] Improve audio JB in bad conditions #resolve 2018-07-24 07:21:53 +00:00