Richard Fuchs
0e2bddb6c8
TT#14008 add `pierce-NAT` flag
...
Change-Id: I1ec9b0ba152939cb6dc079e0047040da862945dc
5 years ago
Richard Fuchs
a009f76456
TT#14008 support media echo and blackhole
...
Change-Id: I9df4680188709867db2b61d97cc5f1e30c59e0d7
5 years ago
Richard Fuchs
1ec517c2f4
TT#14008 restore foreign calls from the appropriate DB
...
closes #1257
Change-Id: I299475a01470cc9d4910d9d304bdda9bbbee6e83
5 years ago
Richard Fuchs
30621846ab
TT#14008 keep track of selected Redis DB
...
This avoids unnecessary SELECT calls.
Change-Id: I916889cbd4490045fdbacd85138d631ed6f7bd88
5 years ago
Tinotenda Chingosho
575435db73
Squashed commit of the following:
...
commit fd25c8e281
Author: Tinotenda Chingosho <tinochingosho@googlemail.com>
Date: Tue May 11 12:03:55 2021 +0100
Address review comments
- update typo
- document new parameter
commit e4e106f423
Author: Tinotenda Chingosho <tinochingosho@googlemail.com>
Date: Mon May 10 16:18:57 2021 +0100
Support Configurable MTU
- default to 1200
- minmimum value 576
Change-Id: I6cbc03eb7f8198a211d70844c115d162d954dea8
5 years ago
Guillem Jover
adbd071c14
TT#111150 Do not use old-style declarations
...
Change-Id: I08a702ebfbcc5d3ac1dca284abdaa3f6567b9272
Warned-by: gcc -Wold-style-declaration
5 years ago
Richard Fuchs
951f4d62fb
TT#111150 remove dead code
...
The internal-iovec bencode semantics are not used any more. Remove the
relevant code.
Change-Id: I22555bf74d935f48a793df441205a7f34b1b2d7f
5 years ago
Richard Fuchs
b285665a20
TT#111150 use ssize_t for signed return type
...
These functions can return negative values to signal errors, therefore
use ssize_t as appropriate type.
Change-Id: I810b2d40e9d6df47269af54c59940d114bb5a672
5 years ago
Richard Fuchs
983a703ba7
TT#111150 remove stray compiler warning
...
Some invocations of ssrc_ctx_put() are deliberately passed a memory
reference, which produces an undesired compiler warning. Use an
intermediate variable to suppress it.
Change-Id: I7a5000df4d66ffadd374475907460919763c95b0
5 years ago
Guillem Jover
c09b379f41
TT#111150 Add an alternative implementation for taint_func
...
When the compiler does not have support for the __error__ attribute,
fallback to use the GCC posion pragma, which works on both gcc and
clang. It ha the advantage of being more portable and working at the
preprocessor level, which means is not affected by symbol redirection
due to builtin conversion or stack-protector remapping, at the cost of
worse diagnostics.
Change-Id: I322396f8a0d1b993637e8aca27f27f6868ecba3c
Warned-by: clang-12
5 years ago
Guillem Jover
87e83467cd
TT#111150 Use volatile in cast
...
The function argument where the cast is applied is volatile void *,
use the same type on the cast.
Change-Id: I2e39c433962df4f31ff8cad4d7561d358e94928a
Warned-by: clang-12
5 years ago
Guillem Jover
07695d2abb
TT#111150 Use modern <stdint.h> uint<bits>_t types
...
The u_int<bits>_t are BSD legacy types, while the new ones are specified
by C99 and SUSv3.
Change-Id: Ia748cabc33a7e5adc2c7a6049ad1e55be0c788a8
5 years ago
Richard Fuchs
292ba2e72b
TT#111150 convert refcounting functions to macros
...
Convert ssrc_ctx_put() and ssrc_ctx_hold() to macros to aide in
debugging reference leaks. Having them as inline functions hides the
actual location of the refcount changes.
Obsolete ssrc_ctx_get() as returning values from macros is awkward and
it was only used in two locations.
Also fix a function invocation mishap: obj_get_o() should be used
instead of __obj_get() as the latter is an internal macro.
Change-Id: Icc0d63f04b3816632fd120c1c749cafabbbfa331
5 years ago
Richard Fuchs
d5d0a3a994
TT#111150 convert str.len to size_t
...
This makes the type in line with string(3) functions and eliminates some
compiler warnings.
Also update the related bencode data type.
Change-Id: I7ef4024f4b5a0f737b3dbe03bcd078032395bce6
5 years ago
Richard Fuchs
87e5efc7d4
TT#111150 fix mem leaks in test-transcode
...
Change-Id: I3a796184e64b1fc1f760b53fe7d1855997ab8b72
5 years ago
Richard Fuchs
a8d5076065
TT#119502 correctly restore calls from both Redis instances
...
Change-Id: I713d7e8ba0a7d14f5ef9016d33619df91ce6ec32
5 years ago
Richard Fuchs
89666c8021
TT#14008 fix ICE if ICE completes before SDP comes in
...
Change-Id: I3085e67a81fb8adeeb4334db2e0e894716107937
5 years ago
Richard Fuchs
a86d98f8d1
TT#118902 add support for per-call debugging
...
Change-Id: I9b0eab21ff4e5c241ff045049ccd37f6044d5707
5 years ago
Richard Fuchs
2f84553913
TT#111150 refactor cookie cache to avoid GStringChunk
...
Change-Id: I0f53ec6bcb2ecd79cfbd857acf2617c1348205f6
5 years ago
Richard Fuchs
5802ff2379
TT#54762 add option to enable automatic active/active switchover
...
Change-Id: Icddeb28cab72974d9dad0a241775a0763a56b027
5 years ago
Richard Fuchs
ac71e81e54
TT#118350 add SDES=static option
...
Change-Id: Id34d4fe31e58acfae31d8e5d30abec1837c4f808
5 years ago
Richard Fuchs
bf40d2a841
Merge branch 'master' of https://github.com/smititelu/rtpengine
...
Change-Id: I9e45a35e98ff55a0bd6c7d8a438f3e87d08b9773
5 years ago
Richard Fuchs
7dc55e6378
TT#98901 convert from static DTX delay to dynamic buffer queue
...
Change-Id: Ib6bfdfb9d1967263dc8acb48a812d7e75f9c239b
5 years ago
Richard Fuchs
f547549f98
Merge branch 'rtt_rtcp_xr' of https://github.com/jchavanton/rtpengine
...
Change-Id: Ibac95448fc9a2091cb97db1cdf039836133117e7
5 years ago
Julien Chavanton
0483df374f
fix rtt from rtcp_rx
5 years ago
Julien Chavanton
49786d049f
adding cumulative number of packets lost
5 years ago
Stefan Mititelu
482e2d0d2b
Add stats for ipv4/ipv6/mixed media calls
...
Also Send stats for ipv4/ipv6/mixed media calls to graphite
5 years ago
Julien Chavanton
3d5e586c69
mos average fix when missing RTT
5 years ago
Guillem Jover
09cd962eef
TT#111150 Fix memory leaks in unit tests
...
Change-Id: Id0981af0c01f3a5c6f27435f7f92d3da90bf278e
5 years ago
Richard Fuchs
8029a4d1cd
TT#113750 don't auto switch from an already selected fingerprint
...
If we receive an SDP with a DTLS fingerprint, by default we adopt the
hash function used for that fingerprint in subsequent communication with
that peer. However, if the SDP is an answer, and we previously used a
different hash function in the offer towards that peer, then a later
re-invite offer would be sent with a different fingerprint, causing an
unexpected DTLS restart. Instead, make sure we don't change fingerprints
if one was already sent.
Change-Id: I603bb86ce2d7121556c161749ed08128dd0b63b2
5 years ago
Richard Fuchs
3791b8f595
TT#107565 add `replace-session-name` option
...
Change-Id: I10d89f3bf8e88fb953cc7cc7fffae056bf0092c3
5 years ago
Richard Fuchs
fc83f64575
TT#107565 add `replace-username` option
...
Change-Id: I89dd560789adde4d96fa6a6f314b1c3c81a5a47b
5 years ago
Damir Nedžibović
f650f95111
TT#14008 Squashed commit of the following:
...
commit b3d2d70d4cfb449fb80af188eee89b6dc343830d
Merge: 1e62cbbb eacd2634
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Mar 4 11:36:26 2021 -0500
Merge branch 'fix_packet_order' of https://github.com/enreached/rtpengine into enreached-fix_packet_order
Change-Id: I30690cf4955c04238c359e4aca2d0fea36ebfd36
commit eacd2634e8
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Mar 4 16:56:07 2021 +0100
Update docs with --poller-per-thread option.
commit 7d02539673
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Mar 4 16:47:55 2021 +0100
Prevent mem leak.
commit 3510a5d021
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Mar 4 13:25:39 2021 +0100
Make poller per thread functionality configurable.
commit a2142b2a5e
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Mar 4 11:57:18 2021 +0100
Use pthread_self() instead of syscall(SYS_gettid).
commit 2e471cae40
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Mar 4 11:46:44 2021 +0100
Refactor the code a bit.
commit 91f72455c9
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Mar 4 11:21:42 2021 +0100
Use usleep() instead.
commit 08d3bdb4ed
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Mar 4 11:03:39 2021 +0100
Use ssl_random() instead.
commit 2d9995a864
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Tue Mar 2 15:50:13 2021 +0100
Sleep for 20ms instead.
commit eded168a38
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Tue Mar 2 15:11:43 2021 +0100
Implement poller per thread in order to fix packet order.
Change-Id: If652c906be8b16115eb84e749f89a2729ba75120
5 years ago
Richard Fuchs
def813cfde
TT#101201 fix ICE-lite mode switch
...
Change-Id: I10689bc07b86984880bfd420d6be4fbb057c41d1
5 years ago
Guillem Jover
68797f4195
TT#111150 Mark bit-fields explicitly with as unsigned
...
Whether a bit-field is signed or unsigned is implementation specific, so
we should be explicit about this.
Change-Id: I744df3d24bc08e95fa816ba4135f19cd3a5dcb17
Warned-by: lgtm
5 years ago
Richard Fuchs
af6ef843da
TT#100200 suppress audio packets during a DTMF event
...
Change-Id: I9612d692c3c6945c93b3194760383e67e5bca0e0
5 years ago
Richard Fuchs
eb1157d386
TT#112250 don't change ports when endpoint is talking ICE
...
Change-Id: I0e60534d6d3cb62d25b8d865da02c3472cf0994e
5 years ago
Richard Fuchs
fdac938ecf
TT#91151 add a free-form software ID config option
...
closes #1141
Change-Id: I99bd0d7ecc414e2b4f6e7e3fea72aab5935f8939
5 years ago
Richard Fuchs
a8013ffe70
TT#111051 set thread specific process names
...
Change-Id: I6a5bb14c070d93b865510786f5107220b93faef1
5 years ago
Guillem Jover
962479bd63
TT#108003 Stop using random()
...
While these usages are not supposed to be security sensitive, it's still
best to avoid the usage altogether so that we do not need to think about
it. Add a taint macro so that this does not regress in the future.
Change-Id: Ic75861ed1b7ce9dfca4f897de8be2408204ce3cb
Warned-by: coverity
5 years ago
Richard Fuchs
1785f70637
TT#91151 add new replace-zero-address option
...
closes #1185
Change-Id: I8cf6f4ff043649255dafa93b28fcb2127ce4d2bb
5 years ago
Richard Fuchs
76d5828c82
TT#91151 explicitly keep track of zero endpoint addresses
...
Change-Id: I6044cddc7d997848715df6701fd8a61a1e0bf289
5 years ago
Richard Fuchs
8b1c958f8e
TT#91151 obsolete unused REMG_UPDATE op
...
Change-Id: Ib7daeb3d838e0b679025f582f7c26fe5868f72cb
5 years ago
Richard Fuchs
b75ec8e7ba
TT#14008 convert CDR logging to g_string
...
Change-Id: I64ec610b163534e3cfc0e7d0385329ab45c5cca3
5 years ago
Richard Fuchs
36273e1f5d
TT#107565 add option to track SDP version
...
Change-Id: Ifb3ca589742a4ad0cc83982d6e42bf692a2c98db
5 years ago
Damir Nedžibović
0ae0681b28
TT#14008 Squashed commit of the following:
...
closes #1183
commit a74cf4a7f9
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Tue Feb 2 11:06:50 2021 +0100
Add --dtmf-log-ng-tcp CLI option.
commit a428764d9b
Merge: 2bbfcb27 8abc6b1c
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Tue Feb 2 09:16:26 2021 +0100
Merge branch 'master' into dtmf_events_over_ng_tcp
commit 2bbfcb2750
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Feb 1 14:28:07 2021 +0100
Replace hex values with chars.
commit dc1084d122
Merge: 2bce444b 2c7163ea
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Feb 1 13:53:27 2021 +0100
Merge branch 'dtmf_events_over_ng_tcp' of github.com:enreached/rtpengine into dtmf_events_over_ng_tcp
commit 2bce444b26
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Feb 1 13:28:06 2021 +0100
Prevent use after free.
commit 5a256fd3ae
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Fri Jan 29 13:30:31 2021 +0100
Add missing includes.
commit a14f4034b9
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Fri Jan 29 13:27:27 2021 +0100
Add support for sending DTMF events via protocol NG TCP.
commit b861fe3087
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jan 28 18:09:10 2021 +0100
Add missing include.
commit 7bfe08fb08
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jan 28 18:05:44 2021 +0100
Implementation of control-ng via TCP.
commit 2c7163eaf3
Merge: fd286813 9165bf1f
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Feb 1 13:49:00 2021 +0100
Merge branch 'dtmf_events_over_ng_tcp' of github.com:enreached/rtpengine into dtmf_events_over_ng_tcp
commit fd28681350
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Jan 29 10:20:02 2021 -0500
TT#14008 fix AEAD kernel API for < 4.2
Untested whether it actually works
closes #1176
Change-Id: If6398632ac62525a673b844cfb4ce842a8aa0346
commit 0626dcdd96
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Jan 29 13:07:25 2021 -0500
TT#14008 improve log output for stray packets
Change-Id: Ic4b03928b279aade761de3ba1646b5c27318e6a3
commit 8fcccb77cc
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Feb 1 13:28:06 2021 +0100
Prevent use after free.
commit f0d90d1831
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Fri Jan 29 13:30:31 2021 +0100
Add missing includes.
commit 37462b8e4d
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Fri Jan 29 13:27:27 2021 +0100
Add support for sending DTMF events via protocol NG TCP.
commit 9165bf1f75
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Feb 1 13:28:06 2021 +0100
Prevent use after free.
commit d616f2941f
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Fri Jan 29 13:30:31 2021 +0100
Add missing includes.
commit bb063386c6
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Fri Jan 29 13:27:27 2021 +0100
Add support for sending DTMF events via protocol NG TCP.
commit b28ab07532
Merge: 813a4f1c 6e4373af
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Fri Jan 29 09:21:31 2021 +0100
Merge branch 'control_ng_tcp' of github.com:enreached/rtpengine into control_ng_tcp
commit 813a4f1caa
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jan 28 18:09:10 2021 +0100
Add missing include.
commit 0c87a19c55
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jan 28 18:05:44 2021 +0100
Implementation of control-ng via TCP.
commit 6e4373affb
Merge: fbf74bfe 7799f23a
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Fri Jan 29 09:19:46 2021 +0100
Merge branch 'control_ng_tcp' of github.com:enreached/rtpengine into control_ng_tcp
commit fbf74bfe2d
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jan 27 10:18:14 2021 -0500
TT#14008 fix possible segfault
closes #1172
Change-Id: I94bb52c290c2032073e54528283660f03e694033
commit 1a5bcc0905
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jan 28 14:49:43 2021 -0500
TT#109251 fix redis restore segfault
Change-Id: I501a47b065e7b8ff28a3ac157c0ce567f228557f
commit b38b49fd60
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jan 28 13:44:44 2021 -0500
TT#102450 added tests for Ia9fa96cf
Change-Id: Ic9728e12a012335c30c5640ac0b5c88e39ad24ed
commit f33877bfe3
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jan 28 13:43:46 2021 -0500
TT#102450 fix some timestamping issues
Make sure G.722 rate multiplies is applied in the right places
Don't trust encoders to return proper timestamps, but instead track them
explicitly based on frame duration
Change-Id: Ia9fa96cf662da97159fa170c3a3f37516889e1bd
commit 39a25b954d
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jan 28 14:07:53 2021 -0500
TT#106101 mem leak fix for 554034eb7e
Change-Id: I9c410211580d8513a203a29f898970a78175d08b
commit 11d11aed90
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jan 28 13:41:28 2021 -0500
TT#14008 clean up some tests
Looks like packet order can be an issue in some cases
Change-Id: Ib8fb8c553c9d0f2919b24dda1e15e5a23832c619
commit 7799f23aa5
Merge: ba7ee9d6 e191e16c
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Fri Jan 29 09:18:24 2021 +0100
Merge branch 'master' of https://github.com/sipwise/rtpengine into control_ng_tcp
commit ba7ee9d6b1
Merge: f805d881 ffe187f1
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jan 28 18:15:58 2021 +0100
Merge branch 'control_ng_tcp' of github.com:enreached/rtpengine into control_ng_tcp
commit f805d881fa
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jan 28 18:09:10 2021 +0100
Add missing include.
commit c548a3ca4b
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jan 28 18:05:44 2021 +0100
Implementation of control-ng via TCP.
commit ffe187f116
Author: Damir Nedžibović <damir.nedzibovic@bad-team.net>
Date: Thu Jan 28 18:05:44 2021 +0100
Implementation of control-ng via TCP.
Change-Id: I8383fa80bce59aa865009e34caff5263b97ab588
5 years ago
balajeesv
ffc9e34e14
TT#14008 Squashed commit of the following:
...
closes #1134
commit 1cdf8d50844baa27513c51a552504a8406ca17a4
Merge: 2fc54462 cc4d049f
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Feb 1 11:19:43 2021 -0500
Merge branch 'jb_disable' of https://github.com/balajeesv/rtpengine into balajeesv-jb_disable
Change-Id: Ic01bbeb776d8ac0f3ebb46ae0a263243828443bb
commit cc4d049fab
Merge: 2f935206 9deedea1
Author: balajeesv <balajee.sv@gmail.com>
Date: Fri Dec 11 23:15:48 2020 +0530
Merge branch 'jb_disable' of https://github.com/balajeesv/rtpengine into jb_disable
commit 2f935206de
Merge: f553a9e5 7c3d2e01
Author: Balajee SV <41125423+balajeesv@users.noreply.github.com>
Date: Fri Dec 11 23:12:27 2020 +0530
Merge branch 'master' into jb_disable
commit 9deedea1c4
Merge: f553a9e5 7c3d2e01
Author: Balajee SV <41125423+balajeesv@users.noreply.github.com>
Date: Fri Dec 11 23:12:27 2020 +0530
Merge branch 'master' into jb_disable
commit f553a9e582
Author: balajeesv <balajee.sv@gmail.com>
Date: Fri Dec 11 22:47:46 2020 +0530
rtpengine: Disable jitter-buffer per call in offer
Change-Id: Ib4443a0d66c78749e24f3d2cb48c991e408e21fd
5 years ago
Damir Nedžibović
2fc54462de
TT#14008 Squashed commit of the following:
...
closes #1180
commit 023f6cbc9e0b595d1d02116d38d39358fbb9ee49
Merge: ae82034d 86e287d1
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Feb 1 11:16:04 2021 -0500
Merge branch 'control_ng_tcp' of https://github.com/enreached/rtpengine into enreached-control_ng_tcp
Change-Id: I628dcfd30e901dbee97b00bee0b6bba0cb29826f
commit 86e287d117
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Feb 1 16:38:53 2021 +0100
Update the readme file.
commit 35f5d9e151
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Feb 1 16:20:09 2021 +0100
Update docs.
commit 336deb4c67
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Feb 1 14:28:07 2021 +0100
Replace hex values with chars.
commit 37c86a8fa0
Merge: 17a10b96 5cd53ef1
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Feb 1 13:51:06 2021 +0100
Merge branch 'control_ng_tcp' of github.com:enreached/rtpengine into control_ng_tcp
commit 17a10b96ad
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jan 28 18:09:10 2021 +0100
Add missing include.
commit adfddefae3
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jan 28 18:05:44 2021 +0100
Implementation of control-ng via TCP.
commit 5cd53ef1c9
Merge: 1bd3a8fc b28ab075
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Feb 1 13:49:50 2021 +0100
Merge branch 'control_ng_tcp' of github.com:enreached/rtpengine into control_ng_tcp
commit 1bd3a8fc6d
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Jan 29 10:20:02 2021 -0500
TT#14008 fix AEAD kernel API for < 4.2
Untested whether it actually works
closes #1176
Change-Id: If6398632ac62525a673b844cfb4ce842a8aa0346
commit 71a222d7a8
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Jan 29 13:07:25 2021 -0500
TT#14008 improve log output for stray packets
Change-Id: Ic4b03928b279aade761de3ba1646b5c27318e6a3
commit b28ab07532
Merge: 813a4f1c 6e4373af
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Fri Jan 29 09:21:31 2021 +0100
Merge branch 'control_ng_tcp' of github.com:enreached/rtpengine into control_ng_tcp
commit 813a4f1caa
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jan 28 18:09:10 2021 +0100
Add missing include.
commit 0c87a19c55
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jan 28 18:05:44 2021 +0100
Implementation of control-ng via TCP.
commit 6e4373affb
Merge: fbf74bfe 7799f23a
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Fri Jan 29 09:19:46 2021 +0100
Merge branch 'control_ng_tcp' of github.com:enreached/rtpengine into control_ng_tcp
commit fbf74bfe2d
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jan 27 10:18:14 2021 -0500
TT#14008 fix possible segfault
closes #1172
Change-Id: I94bb52c290c2032073e54528283660f03e694033
commit 1a5bcc0905
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jan 28 14:49:43 2021 -0500
TT#109251 fix redis restore segfault
Change-Id: I501a47b065e7b8ff28a3ac157c0ce567f228557f
commit b38b49fd60
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jan 28 13:44:44 2021 -0500
TT#102450 added tests for Ia9fa96cf
Change-Id: Ic9728e12a012335c30c5640ac0b5c88e39ad24ed
commit f33877bfe3
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jan 28 13:43:46 2021 -0500
TT#102450 fix some timestamping issues
Make sure G.722 rate multiplies is applied in the right places
Don't trust encoders to return proper timestamps, but instead track them
explicitly based on frame duration
Change-Id: Ia9fa96cf662da97159fa170c3a3f37516889e1bd
commit 39a25b954d
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jan 28 14:07:53 2021 -0500
TT#106101 mem leak fix for 554034eb7e
Change-Id: I9c410211580d8513a203a29f898970a78175d08b
commit 11d11aed90
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jan 28 13:41:28 2021 -0500
TT#14008 clean up some tests
Looks like packet order can be an issue in some cases
Change-Id: Ib8fb8c553c9d0f2919b24dda1e15e5a23832c619
commit 7799f23aa5
Merge: ba7ee9d6 e191e16c
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Fri Jan 29 09:18:24 2021 +0100
Merge branch 'master' of https://github.com/sipwise/rtpengine into control_ng_tcp
commit ba7ee9d6b1
Merge: f805d881 ffe187f1
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jan 28 18:15:58 2021 +0100
Merge branch 'control_ng_tcp' of github.com:enreached/rtpengine into control_ng_tcp
commit f805d881fa
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jan 28 18:09:10 2021 +0100
Add missing include.
commit c548a3ca4b
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jan 28 18:05:44 2021 +0100
Implementation of control-ng via TCP.
commit ffe187f116
Author: Damir Nedžibović <damir.nedzibovic@bad-team.net>
Date: Thu Jan 28 18:05:44 2021 +0100
Implementation of control-ng via TCP.
Change-Id: I2acf208fcff1fa9aa790c31f1097ad9b4b7c3238
5 years ago
Richard Fuchs
ae82034dfe
TT#99621 add option to disable RTCP generation
...
Change-Id: Ifed6d255dd9d3ec5bc38a79a8f71da59d98243ea
5 years ago
Stefan Mititelu
a19854d23f
Fix build when transcoding disabled
5 years ago
Stefan Mititelu
001abe5f1f
Add new config parameter: `save-interface-ports`
...
When set to `false`, no changes at all. (default)
When set to `true`, bind only one desired family local address.
Also add info in rtpengine.pod file.
Also add log for sfd with no call.
5 years ago
Richard Fuchs
97a1c218fa
TT#106101 handle out-of-order ICE fragments
...
Change-Id: I6b16474d505a40055b06d215e4cc6c5391214613
5 years ago
Richard Fuchs
554034eb7e
TT#106101 also turn UDP/WS receive buffer into refcounted object
...
Change-Id: I81fa68b07af3a87e26d031a5722dcd103a1e620e
5 years ago
Richard Fuchs
28e0620c80
TT#106101 turn bencode buffer into shared refcounted object
...
Change-Id: I6d8e443d8b0fc7e9afe0a6f6b3cde3d1a85e42de
5 years ago
Richard Fuchs
6602a3a7c5
TT#108551 add kernel support for AEAD-AES-GCM
...
Also amends tests plus additional clean ups
Closes #1133
Change-Id: I0dad7b8aad9cff1b019323c7ac5a356830ab09ad
5 years ago
Richard Fuchs
0bab726e5d
TT#92250 reset opposite side supp handlers
...
If a supplemental codec was removed by the codec tracker, we must reset
any codec handlers on the opposite side that were using this output
codec.
Change-Id: I7fb9d0ec7a061682fe3b28d9ead14ac263aff7c3
5 years ago
Richard Fuchs
604aa5a9a0
TT#92250 add new reorder-codecs flag
...
Change-Id: I93587b6675540438f81193896ae8d8966b3a12a6
5 years ago
Richard Fuchs
e9bdbb1ee6
TT#97301 fix removal of debug_srtp
...
closes #1162
Change-Id: I02b81a6f9d9fd6910ce6ed2995bfba16d59b027e
5 years ago
dvillaume
e4e3112498
TT#14008 support repeat-times in media player
...
closes #1159
Change-Id: Idf177b3e9d674d220b9c73a46ecd58453c6e3b39
5 years ago
Richard Fuchs
30733ec5cd
TT#97301 support granular log levels
...
Change-Id: Ife458bd2449f61113a3e6db1708821570d92dc23
5 years ago
Richard Fuchs
44bc0b90c8
TT#99621 feed locally generated RTCP to stats tracker for MOS
...
Change-Id: I545f306e0f16dc71e20e10ebd419795275f7e3b2
5 years ago
Richard Fuchs
a46741a99d
TT#106100 rename macro args to be less confusing
...
Change-Id: I74e4edb73cb5038ee8b29328194e0c2a4a98aa71
5 years ago
Richard Fuchs
89c4c4832a
TT#106100 do not print recording flags for `pcap` method
...
closes #1142
Change-Id: I98a5e79ec5c2c13351d70b567eade909ed952dd5
5 years ago
Richard Fuchs
71d02ff486
TT#101653 retire always-transcode flag
...
Change-Id: I845c4b2f811c2945c9015cdf4570036f3a26b81f
5 years ago
Richard Fuchs
336cb5b280
TT#101653 add codec-consume and codec-accept options
...
Change-Id: Icac343b34881628118f2c36181be66db1c6286e0
5 years ago
Richard Fuchs
73e4ef42eb
TT#101653 add silence detection option
...
Change-Id: I14940fcabdef475ed5dbe74d9af7ebc2af10311b
5 years ago
Richard Fuchs
96bd7a6986
TT#100200 track matching CN payload types
...
Change-Id: I6db6c08afee2ca8353e07ace952a630105ad9c25
5 years ago
Richard Fuchs
a15e3a28c9
TT#99621 update RTP stats from kernel for RTCP
...
Change-Id: Iff54c4b8bac9df7c0e58c8dbdc424e6c4faf8780
5 years ago
Richard Fuchs
c12ec6600d
TT#99621 support jitter tracking for RTCP
...
Change-Id: I181e06e904702f37e155990dc597391c17ae4ad0
5 years ago
Richard Fuchs
ba66e5fa3a
TT#99621 support RTCP generation
...
Change-Id: Iff832eaa4148cce4d87d24d4dc3b908dfa361770
5 years ago
Richard Fuchs
6dca19ed93
TT#99621 move RTCP sending logic to rtcp.c
...
Change-Id: I9551c54085007bc8d7a0018bc111363bac9eccc6
5 years ago
Richard Fuchs
2f5cd2fcee
Merge branch 'rtt_per_call_leg' of https://github.com/jchavanton/rtpengine
...
Change-Id: I8610c5144015abc2628cf8c5ab136d5baece1265
5 years ago
Richard Fuchs
260a170524
TT#81212 add trigger to set all calls to own or foreign
...
Change-Id: I9ee69680bccd79bae19332189a8531eaa2f6950b
5 years ago
Richard Fuchs
c9140f9f66
TT#81212 add function to change call state (own/foreign)
...
Change-Id: Ia9010c270839832abbb0d7b7742a4bf8cda1d538
5 years ago
Richard Fuchs
5d895fb7be
TT#82405 add Prometheus stats exporter
...
Change-Id: Ic55b42a707e430a61c0422c65827ed2145511586
5 years ago
Julien Chavanton
e1847cadc5
RTT per call leg
5 years ago
Richard Fuchs
f393d29009
TT#101202 keep timer queue entries with same timestamp in order
...
closes #1110
Change-Id: Ia121deb9589bfdfa112189b22d4a78bdb29c535b
5 years ago
Richard Fuchs
1d34c40276
TT#101201 support optional ICE-lite mode
...
closes #1106
Change-Id: I4a83ed2630889d8b17a0c40d971ec7946c1ed3a2
5 years ago
Richard Fuchs
8d7badcf02
TT#101201 rename ICE_LITE flag
...
Change-Id: Icc5a74b53572f1eb26689a23b31d37ee2891ecef
5 years ago
Richard Fuchs
17e22ade36
TT#98901 add limit to length of DTX processing
...
Change-Id: I6fba28b985ff63de6185dccc2ca16f4264a0493d
5 years ago
Richard Fuchs
bae79d3fef
TT#98901 handle AMR SID DTX
...
Change-Id: I418c43e0cef2a70143010235988523f195a3bf5a
5 years ago
Richard Fuchs
fa64e2261e
TT#98901 add codec timers thread
...
Change-Id: If50d2d42ce918961588dfc79793a26ba15416991
5 years ago
Richard Fuchs
58c436e5a7
TT#98901 add ssrc_hash_foreach()
...
Change-Id: Ia90fc84ee82afc78b8fa5b6f8fed160959636d28
5 years ago
Richard Fuchs
054339e0ec
TT#98901 improve/fix some obj debuggin
...
Change-Id: Idd2e9fe110fa734b2d32f70c837317d1365bfb25
5 years ago
Richard Fuchs
36eb641966
TT#98901 add media_packet_copy/_release
...
Change-Id: I60bc6b258e9efc0d704b6d8cc6b2c2c915330bdc
5 years ago
Richard Fuchs
64ba12c4c7
TT#99503 fix possible T.38 gateway deadlock
...
closes #1100
Change-Id: Ifd4be1ca5d4f343a805be31d39abdb73011ec6c4
(cherry picked from commit 0c581e59a1 )
5 years ago
Richard Fuchs
4910f7b33f
TT#88951 support queuing multiple WS output messages
...
Change-Id: I9bcb1f5dd2942c4631820c25f343331c9630b8d7
5 years ago
Richard Fuchs
cd3652e81a
TT#97302 fix some DTLS negotiation issues
...
add explicit flag for fingerprint length instead of using the hash
function
restart DTLS after a shutdown due to a reset
clear fingerprint buffer when running the hash
suppress stray log message when no fingerprint was seen yet
add option to test script
closes #1095
Change-Id: Ic58ea6c5aa48a215743d6a3c1b371fc4a5ea77ce
5 years ago
Richard Fuchs
6ccfd14530
TT#94201 change default ICE= behaviour, add new =optional flag
...
Change-Id: Ie510bc05879c91eb1a0c7d7351461a63056ba410
5 years ago
Richard Fuchs
65cf46bc0a
TT#94201 convert ICE= options internally to enum
...
Change-Id: I3d7a6049cd7ab8e95da56820ccd3f2981ef03bc5
5 years ago
Richard Fuchs
95b814553b
TT#94201 add ICE=default option
...
Change-Id: If10e0aa284cc7cc5c1e69855733835bd5b52da31
5 years ago
Richard Fuchs
e67eb7b57f
TT#94201 add explicit passthrough flags
...
Change-Id: Ib5015011320490c0bf63b3c8bed9e6caadfa8953
5 years ago
Richard Fuchs
3893069fae
TT#92250 allocate strings for hash table storage
...
closes #1091
Change-Id: Ia3384fc3eb640bb6c728ebde6e7bde09968eeb9a
5 years ago
Richard Fuchs
68ccc52b2b
TT#92250 postpone codec_tracker to final stage
...
Change-Id: I222f705e53fc95f56da40cf927197afcb2ee5107
5 years ago
Richard Fuchs
5ad4a59ea7
TT#97302 add new flag to select DTLS fingerprint algo
...
Change-Id: I48d9bf7184a860ca6f8f488076fe2859db6018f2
5 years ago
Richard Fuchs
dc4775d5ce
TT#97302 respond with the same DTLS hash func as was offered
...
Change-Id: Id72df1083b5d329fa33875853981ec471440a6c1
5 years ago
Richard Fuchs
653b09ca93
TT#92250 add `single codec` flag
...
Change-Id: I7c84e1f906fec93ed624d2fb4a4d9e9bfc9b4109
5 years ago
Richard Fuchs
241c78c915
TT#92250 add codec-except option
...
Additionally allow `except` and `offer` (and `transcode`) to revert
masked codecs.
Also adds `mask=full` and `strip=full`
closes #1054
Change-Id: I93a2891f2a0b9d324f6804e38f992be73c46211a
5 years ago
Richard Fuchs
2ce7b6476e
TT#92250 better handle supplemental codecs
...
Change-Id: Id6bac3892642d6ae58c71a1781b5d282c48a3a1c
5 years ago
Richard Fuchs
5ac91499fe
TT#92250 keep supplemental codecs last in list when transcoding
...
Change-Id: I3172414fd724e5c5fe9d69b5a78270bed41f83b6
5 years ago
Richard Fuchs
4902b07ff9
Merge branch 'master' of https://github.com/smititelu/rtpengine into smititelu-master
...
Change-Id: I425a188c632e2a6ee3f9109380d9ae114409f62b
5 years ago
Richard Fuchs
31f8b6f982
TT#91150 support NG over HTTP/WS
...
Change-Id: Ib0255872f6d85f2ca5c2d9118831ba8e65f7df2a
5 years ago
Richard Fuchs
e662b596f8
TT#91150 abstractise NG protocol handling
...
Change-Id: If00eede6803d9618c32dccbdcf82f5e41b64b2bf
5 years ago
Richard Fuchs
32d43fed4d
TT#91150 move to a global NG cookie cache
...
Change-Id: I8aa5275ffb4d53bb959acd6a8329e5a31f099000
5 years ago
Richard Fuchs
cbf6ad7041
TT#88951 abstractise CLI handling and writing
...
Change-Id: I004cbc4a8690b11822ab54f34af01557b87c6a02
5 years ago
Richard Fuchs
aa36a1f619
TT#88951 add HTTP/Websocket listener
...
Change-Id: Ib2e7c87913abd4f89aa43075fe7cd9fb4d7cf1f7
5 years ago
Stefan Mititelu
2ebf5a1526
Add redis async delete
5 years ago
Doug Rylaarsdam
995375f500
Add support for metadata in stop_recording.
...
(Issue #1075 on sipwise/rtpengine)
5 years ago
Richard Fuchs
6fc9459016
TT#91003 handle AMR CMR
...
Change-Id: I9fdb58359c25b3fcedf25872c98ac8ff582fa488
5 years ago
Richard Fuchs
e8aac8272c
TT#91003 add media_out pointer to media_packet
...
Change-Id: I21c76fef05d6af394f09476e9761c439e7a0da44
5 years ago
Richard Fuchs
d0db2cba67
TT#91003 create generic decoder event callback
...
Change-Id: Ie0deda4f452cfc2b219dcc2c5bc1e933b1a36239
5 years ago
Richard Fuchs
12ac8846de
TT#90101 don't blindly accept a protocol switch in an answer
...
An endpoint switching protocols is normally passed through to the peer,
but in an answer that is usually not desirable. Change the default
behaviour to stick to the original protocol that was offered even if the
answerer changes protocols.
Change-Id: Ib288549f4b1c9ab57a6333c6b7dd511537af96f7
5 years ago
Richard Fuchs
1147f856c0
TT#14008 support building against FreeSwitch version of SpanDSP
...
Change-Id: I472161e6368886240a4ba08e269542fd3f6e4d41
6 years ago
Richard Fuchs
5001a02d44
TT#88750 fix SRTP not working after Redis restart
...
Change-Id: I40a20b2cd2668480d4b85de7a19c39f606b2eada
6 years ago
Richard Fuchs
e04fb03787
Recrypt SRTP for DTMF logging
...
Change-Id: Id877b8464e99cfd5dca728a01fcdc3ffc654d698
6 years ago
Richard Fuchs
ec061bba6f
TT#84804 add new DTLS-reverse flag
...
closes #1038
Change-Id: Ic58b3e3c3d1fec75a2c6ea9ddb260141d9a2831f
6 years ago
Richard Fuchs
112e57f9fe
TT#86102 remove aggressive endpoint learning heuristics
...
The previous approach causes problems during re-invites with updated
port (or address) information. The UA might delay actually using the new
endpoint until after the answer is seen, in which case rtpengine would
erroneously immediately latch on to the old endpoint. We need to
reinstate the endpoint learning delay in all cases, and make sure
previously learned endpoints are forgotten whenever a new signal is
seen.
Change-Id: If42ed13c43710616c02cdf018b36a4543d7f6bfe
6 years ago
Richard Fuchs
8e22c9a414
TT#85701 improve branch handling with delete-delay=0
...
Initially created branches don't have a tag associated with them, so
they don't appear in `other_tags`. We need to keep track of which
branches were created from a single from-tag through their via-branch
values so we know when all branches have been deleted.
closes #1037
Change-Id: I4c6ce602b99a9104de98098cd06ca399eb28e1b2
6 years ago
Richard Fuchs
18830a1a5d
TT#84804 detect and report collisions in ICE candidate pairs
...
Change-Id: I526d4850d60f550658abe0d260ea98708d3f5ce6
6 years ago
Richard Fuchs
54a39db40f
TT#84804 start DTLS as soon as ICE can communicate
...
closes #1035
Change-Id: I5cce8ab986f7d75d7ad88c53b4cc3b48f99a206a
6 years ago
Stefan Mititelu
eb8169868d
Fix a few more "still reachable". End all redis unused threads.
6 years ago
Stefan Mititelu
8ba5d162dd
Fix Valgrind "still reachable" for a few others
...
log, ice, media_player, jitter_buffer,
statistics, codeclib, call_interfaces
6 years ago
Stefan Mititelu
a6d2f92962
Solve Valgrind "possibly lost" for redis and dtls
6 years ago
Richard Fuchs
1589c29e28
TT#28300 add cleanup of poller related data
...
Change-Id: I64a38869ce3120d066fc818e3c76941a1c8186b7
6 years ago
Richard Fuchs
e01b3b421c
TT#28300 add cleanup of calls structs
...
Change-Id: I9e95fc9075645a7364bf62a9ca6f193dc6952ce1
6 years ago
Richard Fuchs
2a4dbd8d37
TT#28300 add cleanup of global interface structs
...
Change-Id: I326d72c88505c532b19e98165666f10d4692fafc
6 years ago
Richard Fuchs
48b33bd3dc
TT#28300 move auto cleanup functions to lib files
...
Change-Id: Id1fff1523b2bfecf2a929c235fe1719bc18b97f6
6 years ago
Richard Fuchs
a1fb92353a
TT#28300 eliminate free_buf in favour of free_gbuf
...
Change-Id: I128265ff2783c94b897de8ea58b99811fbbe3607
6 years ago
Richard Fuchs
37e6744d4a
Merge branch 'master' of https://github.com/smititelu/rtpengine
...
Change-Id: I0d1dee4d193c94427bae76966ddca4bd09e74ecd
6 years ago
Stefan Mititelu
de28a65934
Solve Vlagrind "definitely lost" memory leaks
6 years ago
Richard Fuchs
cdcf80c2c1
TT#82401 add statistics NG command
...
closes #992
Change-Id: I73284b8da6bc64c6e801f47cf6e00e52235b65ba
6 years ago
Richard Fuchs
6d2aeccda6
TT#82401 amend stats gather to keep track of braces
...
Change-Id: I042179fe26118aef34e84412c3790059b7f6e1a6
6 years ago
Richard Fuchs
1015cead8b
TT#82401 amend stats gathering to detect ints
...
Change-Id: I892144bbf549952858a1f3cf967673198a0457d4
6 years ago
Richard Fuchs
ac765d1b54
TT#82410 unify stats gathering functions
...
Change-Id: I5be2f728a40d69e76b7fcdd04b9d7cb62e34665e
6 years ago
Richard Fuchs
115b73e5c1
Merge branch 'master' of https://github.com/smititelu/rtpengine
...
Change-Id: Id2ceb08a41c4c16841b9362a5a7e4c9f015e38cb
6 years ago
Stefan Mititelu
6043d15ea0
Add drop-traffic=start/stop flag
...
Useful when someone needs to:
- completely drop early media, but stop dropping after call is answered.
- completely drop initial invite media, but stop dropping after re-invite
6 years ago
Richard Fuchs
64e6bf440b
TT#82203 add detailed transcoding stats
...
Change-Id: Ib04767c38b00b17ef5844a9f6649e009270f8f82
6 years ago
Richard Fuchs
5f3f203fb8
TT#82203 add stats for transcoded sessions
...
Change-Id: Ie9bef31f62d489fccf52b02a8935f9c9dc2575b5
6 years ago
root
05b6da43f1
JB marker fix
6 years ago
Richard Fuchs
e1b2532fe8
eliminate (re)connected redis state duplication
...
closes #982
Change-Id: I9c559ff98000a577f511648b01f67f13528bc7e8
6 years ago
Richard Fuchs
abe7caf066
TT#75350 update cipher lists and make the configurable
...
closes #918
Change-Id: I949810a7c84679eac25f65784f97fdd2e9abb07d
6 years ago
Richard Fuchs
a168a3c024
TT#78307 generate RTCP for media players
...
Change-Id: Ic6dd65211ca253491a7ef3acd35499155b60fe4c
6 years ago
Richard Fuchs
2e4617ff86
TT#78307 move SSRC send stats to actual point of sending
...
Change-Id: I54ff4afeb8b3a205a678e9102fb0d8cedee78bae
6 years ago
Richard Fuchs
5fc326c64b
TT#78001 support OSRTP
...
closes #951
Change-Id: I8cd21d60b16e357a57d0d505649b74f38f4ca0b3
6 years ago
Richard Fuchs
e59ccc2973
TT#79900 add SDES=lifetime option
...
closes #966
Change-Id: I462dabffb5c00387ab1b91cabf3fcb2be998f76e
6 years ago
root
e7c85ce578
jitter buffer correction
6 years ago
Richard Fuchs
d611bbbb74
TT#78501 add T.38 options
...
Change-Id: I4f173f384db18e832c1d24a7015a836ec4215a96
6 years ago
Richard Fuchs
48c3af7f9d
TT#76711 add spandsp logging
...
Change-Id: I75dbf1e420818bf5c4033b0807b38824f96e2915
6 years ago
Richard Fuchs
1d514a063c
TT#78307 add helper functions for SSRC contexts
...
Change-Id: I32470c03c19c8bb889900ca277b73713ee66c485
6 years ago
Richard Fuchs
6e1d94db86
fix compilation on CentOS 7
...
fixes #958
Change-Id: I535797e4987c0350fa1efca5cf79223a1e404354
6 years ago
Richard Fuchs
dfae8d6a22
TT#78201 add symmetric-codecs flag
...
closes #953
Change-Id: I848f501709f48927a7156033ccd42eacd742e2d8
6 years ago
Richard Fuchs
0cd8883639
TT#78203 add SRTP debug options
...
closes #956
Change-Id: I751f6bc1ea9228b257f6258dbb1927276db10c99
6 years ago
Richard Fuchs
d872802ba2
TT#76711 T.38 <> audio gateway
...
Change-Id: I4552e07eee632fa730745410b08c3bf70ab67ab2
6 years ago
Richard Fuchs
468fca8ead
TT#76711 error-proof codec_handler_free()
...
Change-Id: Iaaf67bc21bcb904096a30497e817f5527fdf074d
6 years ago
Richard Fuchs
20607bbabc
TT#76711 generalise media_player mechanism
...
Change-Id: I940bd8c156691418ee0fe7743e9fade59ba8635a
6 years ago
Richard Fuchs
6792cde8b6
TT#76711 add custom SDP attributes capability
...
Change-Id: Iaf924938af1ef32a5a7eb961951c0debe7351ee5
6 years ago
Richard Fuchs
0dc052e2cc
TT#76711 globalise ensure_codec_def function
...
Change-Id: I2183ed5c7882b3e8909584425b1a37dd7da36124
6 years ago
Richard Fuchs
570ad9427d
TT#76711 add handler functions for enc/dec packet
...
Change-Id: I59b26793f233dde367cbe895f36642ebf58a7ab9
6 years ago
Richard Fuchs
641fd160ca
TT#77358 create helper function to determine RTP protocols
...
Change-Id: I6ee4a2c48c896fa9f3f00c9f90c0ae65c1ae3bae
6 years ago
Richard Fuchs
a68a59fbf5
TT#76711 keep track of the raw SDP format string
...
Change-Id: I7f20dbff3237e39cea700c984a4f41016a2264fc
6 years ago
Richard Fuchs
2d78c36338
TT#76711 allow update of media type
...
Change-Id: I3e860fe8683be2d7b0cd3cc70d4f7e4b39a0e147
6 years ago
Richard Fuchs
0308ee43ec
TT#14008 fix compiler warnings
...
Change-Id: I56001a5db58c6755584e49496b41e11c6a5f8aeb
6 years ago
Richard Fuchs
10ab85b3e5
TT#76368 remove some graphite functions from global namespace
...
Change-Id: Ic24778e9d04e015012e9d7cc873203d0dfbacaa6
6 years ago
root
195f618928
jb_fix
6 years ago
Richard Fuchs
ab53fdc6f6
Merge branch 'jb_new' of https://github.com/balajeesv/rtpengine
...
Change-Id: I73fc3529938bf65e40f86a4e526c8bf77e199492
6 years ago
Balajee SV
220c96aea4
Merge branch 'jb_new' of https://github.com/balajeesv/rtpengine into jb_new
6 years ago
Balajee SV
b45dbbdc24
Merge branch 'jb_new' of https://github.com/balajeesv/rtpengine into jb_new
6 years ago
Balajee SV
e3a5d45433
jb_new
6 years ago
Balajee SV
c0b28c3d65
jb_new
6 years ago
Richard Fuchs
7e0b2c4ac3
TT#75352 add a storage container for codec handlers
...
The hash table cannot be used for storage any more as entries can be
removed on demand (64e56d7 ) but can be cached in packet->handler at the
same time.
Possibly fixes #915
Change-Id: Ic74703b1a57294bfd704b6cddcd666d6063f510a
6 years ago
Richard Fuchs
ef0d6a3a80
TT#74301 merge jitter buffer PR #834
...
refactored
closes #834
Change-Id: I174cc6e365af54fb66d2dd78be02c601c5d5d645
6 years ago
Richard Fuchs
d6ad6a6744
TT#74301 convert timerthread_queue entries list to GTree
...
Change-Id: I7a8d54f7f7ffe2b27617c109b6d04a2cc20861e9
6 years ago
Richard Fuchs
18634c4202
TT#74301 refactor send_timer into generic timer
...
Change-Id: I81dae7ae8bb1bfe0324f9a8ce256cf9d1c377840
6 years ago
Richard Fuchs
c70b3f6369
TT#74651 fix several mem/resource leaks
...
fix cleanup being skipped on redis slaves
fixes an SDES related Redis mem leak
adds a hash for the ports free list to avoid duplicate entries
fixes #898
Change-Id: I34aad67290ff5ef8824142682aac03cb600d0ecb
6 years ago
Guillem Jover
137c5df644
TT#71950 Fix typos
...
Change-Id: I79991a30bd8459485ea76dad541bda27daf9bfea
6 years ago
Richard Fuchs
61ac7e9656
TT#72000 add different endpoint detection algorithms
...
Change-Id: I791dba23450cab31bc5744a6156965afbb8a3b5c
6 years ago
Richard Fuchs
6431cde151
TT#64601 fix some compiler warnings
...
stun.c: In function ‘stun_error_len’:
stun.c:388:62: warning: taking address of packed member of ‘struct header’ may result in an unaligned pointer value [-Waddress-of-packed-member]
388 | output_init(&mh, iov, &hdr, STUN_BINDING_ERROR_RESPONSE, req->transaction);
| ~~~^~~~~~~~~~~~~
stun.c: In function ‘stun_binding_success’:
stun.c:479:64: warning: taking address of packed member of ‘struct header’ may result in an unaligned pointer value [-Waddress-of-packed-member]
479 | output_init(&mh, iov, &hdr, STUN_BINDING_SUCCESS_RESPONSE, req->transaction);
| ~~~^~~~~~~~~~~~~
stun.c: In function ‘__stun_success’:
stun.c:540:42: warning: taking address of packed member of ‘struct header’ may result in an unaligned pointer value [-Waddress-of-packed-member]
540 | return ice_response(sfd, sin, attrs, req->transaction);
| ~~~^~~~~~~~~~~~~
stun.c: In function ‘__stun_error’:
stun.c:545:42: warning: taking address of packed member of ‘struct header’ may result in an unaligned pointer value [-Waddress-of-packed-member]
545 | return ice_response(sfd, sin, attrs, req->transaction);
| ~~~^~~~~~~~~~~~~
redis.c: In function ‘redis_hash_get_sdes_params.isra.0’:
redis.c:1095:39: warning: ‘_tag’ directive output may be truncated writing 4 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1095 | snprintf(tagkey, sizeof(tagkey), "%s_tag", kk);
| ^~~~
In file included from /usr/include/stdio.h:867,
from ../lib/str.h:9,
from ../lib/compat.h:16,
from ../include/redis.h:8,
from redis.c:1:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output between 5 and 36 bytes into a destination of size 32
67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Change-Id: I214458fd3f596e565b1bba9d88808b7c99f9c876
6 years ago
Richard Fuchs
3bf3982de1
TT#65052 support queuing up multiple DTMF events
...
Change-Id: I489194212a46d12761b3fdc1e212c78254b91427
6 years ago
Richard Fuchs
068bdb224f
TT#65052 support adding pause after DTMF PCM
...
Change-Id: I0332ac2488f9d2d12ce4d84c3e8b60caf35d9c6c
6 years ago
Richard Fuchs
b14f3b2b1c
TT#64259 support injecting DTMF tones and events
...
Change-Id: I07aa7690146db5b41be479a67aaafbd66aec4033
7 years ago
Richard Fuchs
49f6a88086
TT#64259 add function to convert DTMF codes and chars
...
Change-Id: I0b36263033a8614fa448fd4c37dbbc62b516d40a
7 years ago
Richard Fuchs
68d909c5ea
TT#64259 add functions to skip decoded samples and return encoder PTS
...
Change-Id: I9b4f39e214bf6ecb7ae25a8b3cc726041d6552c0
7 years ago
Richard Fuchs
35740cda35
TT#64259 add function to inject DTMF events
...
Change-Id: Ie84e2e8cad11e686c6e7010ca78ecba37c5dbf7e
7 years ago
Richard Fuchs
fd16bf5104
TT#64259 make DTMF detection switch explicit
...
instead of using the output DTMF payload type implicitly
Change-Id: Ib0882534d6e46759e9e5e1feb4a919fa6a9cd437
7 years ago
Huseyin Dikme
a4af447208
add missing errno include
7 years ago
Richard Fuchs
fcb08df0ae
TT#59805 add dtmf-log-dest option
...
Change-Id: Id6f7ce7fa627b138e0b0ea3d410b8af53532b290
7 years ago
Richard Fuchs
910c03fa62
TT#58660 PCM to RFC DTMF transcoding
...
Change-Id: Iea6a11c0caad1f5e7dcca966101e2969d3516b6f
7 years ago
Richard Fuchs
c0781e5193
TT#58659 RFC DTMF to PCM transcoding
...
Change-Id: I32fa876940131e3a18f611e2a518f7acd1327665
7 years ago
Richard Fuchs
194c9e482f
TT#58659 add optional encoder detour
...
If multiple codecs are encoding to the same destination codec, make them
all use the same encoder context
Change-Id: Iaf9b248f9fd2016fef2b576d24d3fba557d7c1f5
7 years ago
Richard Fuchs
2298de76b1
honour a=rtcp-fb in SDP even if transport is advertised as RTP/(S)AVP
...
closes #467
Change-Id: Ib8ea1d6c7b4c9277279399c4319c5efef6834372
7 years ago
Richard Fuchs
a4cca5f27f
fix compilation for glib >= 2.60
...
closes #760
Change-Id: I7fa9ee50663cdb91fe09147507734fbd88afce8c
7 years ago
Richard Fuchs
d279789e23
silence warnings when compiling with -DNDEBUG
...
Change-Id: I46d16f6c083d281622ce71644bcf8d224e0b36b7
7 years ago
Richard Fuchs
357474df6f
TT#50652 add label= option to match call participants
...
Change-Id: Ifc6cf8f630e9e5eb8cfb9b284e671a5ce4470963
7 years ago
Richard Fuchs
fb76ef74f8
TT#54800 fix ptime overrides
...
Adds a new option ptime-reverse to complement setting of ptime towards
the offerer. This and ptime setting are now ignored in answers.
Change-Id: Icbc04f191cbc194b75b72a97832fcaba58feb10e
7 years ago
Richard Fuchs
dc9f99763a
TT#54800 sequencing fixes
...
fixes incorrect seq when packets are consumed, as well as incorrect seq
for out of order packets
Change-Id: I0e2117ab68ccf5d0fa63b395a059aeb992f7dd13
7 years ago
Richard Fuchs
41cddcc293
normalise compat.h handling towards kamailio tree
...
Change-Id: Ia22a603c11b216969f4c0a854af42600a99a2819
7 years ago
Richard Fuchs
349954d2bc
TT#50652 handle SRTP output for media playback
...
Change-Id: Ie83c9c01c4c17e14d30aa14272b86af9ea38e1fb
7 years ago
Richard Fuchs
d449861d96
TT#50652 separate out and move crypt handler routines
...
Change-Id: Ia30aa8912f02ca2ea427b3c659a4b8696dc4a2a0
7 years ago
Richard Fuchs
e1825e3577
TT#50652 ensure consistent RTP timestamp across media restarts
...
Change-Id: I96b72dd13c13728b4f401f42951fbc231cc36705
7 years ago
Richard Fuchs
8d9a0d247c
TT#50652 remove already enqueued packets when media is stopped
...
Change-Id: I0fd2a7100d331d341518888d2c591dbf84b2599d
7 years ago
Richard Fuchs
7f5e16d3da
TT#50652 add stop_media call
...
Change-Id: I1b18a41d4b97ccbb83499873e50a797f846a8602
7 years ago
Richard Fuchs
7da2b523a7
TT#50652 return media duration to SIP proxy in play_media response
...
Change-Id: Ib09519f960b37ca41a554aa2779f71c91ef9b49d
7 years ago
Richard Fuchs
5b0a0105ef
TT#50652 support playing back media files from database
...
Change-Id: Ib21b6605553f67d6892ec8e2c75a7b0fca40936e
7 years ago
Richard Fuchs
831946a8d4
TT#50652 fix compilation for with_transcode=no
...
Change-Id: Ie65827be7e27a6f77019a983a1ce131c11b694d3
7 years ago
Richard Fuchs
3bdad88063
TT#50652 create timer to gradually send packets without jitter
...
Change-Id: I5b28f7514f54c6df9f3ee607e3bca76274b431b3
7 years ago
Richard Fuchs
21535faea6
TT#50652 support playing back media from memory stream
...
Change-Id: I400c4edbda4633abcff07319ce8cd0609b0021b1
7 years ago
Richard Fuchs
92b08d899c
TT#50652 add media playback capability
...
Change-Id: I935812639e4f42cd89c4ecf02f5ae1a9a8243a65
7 years ago
Richard Fuchs
6ba60d5b54
TT#50652 split out packet dequeuing and sending function
...
Change-Id: I303bcfb8869699554ff7381c68767c56fdcdda87
7 years ago
Richard Fuchs
3374254899
TT#50652 split out codec payload type init function
...
Change-Id: Ifd71439179925961f25c828132d7afb207a4f344
7 years ago
Richard Fuchs
83965bdb1f
TT#50652 infrastructure to support reading/playing of media files
...
Change-Id: I8212f5c74bcb9557d41f80ef3a1595f53bafde8a
7 years ago
Richard Fuchs
d96dbdea17
TT#50652 split timer thread functions into separate file
...
Change-Id: I445f3e2556ce647bf7e245e9612f4babcf04e388
7 years ago
Richard Fuchs
38c96468f1
TT#50652 move timeval functions into lib
...
Change-Id: Ia5701733845a4116b1455610c1d23d9abc247a9c
7 years ago
Richard Fuchs
e3ec97f858
TT#50652 add -Wstrict-prototypes everywhere
...
Change-Id: Ic5b5fcb892a8f70196478f8622d956bdea373422
7 years ago
Richard Fuchs
8f3c309c7f
fix always-transcode not being honoured when only codec-mask was used
...
reported in #664
Change-Id: I2cdfe405c61d48513a01393c5306fe4c875325ee
7 years ago
Richard Fuchs
6092c91ae4
TT#50652 fix possible sequencing bug while resampling
...
Change-Id: I5e0baec70892cbef9a9a036285379fe75ee3eba0
7 years ago
Richard Fuchs
3032443f87
TT#50652 remove unnecessary and circular include
...
Change-Id: I731c2a7586e878e4c756ab1a789f2e43418b0c46
7 years ago
Richard Fuchs
da5cacc965
TT#50652 add YCM config for include/
...
Change-Id: I7c1cb9cd4d8ef97166c8aa1ba470e5fef5f59863
7 years ago
Richard Fuchs
497c2d6a8d
TT#49104 move RTP sequencing into SSRC context
...
Detect and handle RTP seq resets while transcoding and provide
consistent output seq
fixes #664
Change-Id: I063bd9432f253fde25e90cdeb4e3460a882f7778
7 years ago
Richard Fuchs
3b28460507
TT#52651 Squashed commit of the following:
...
commit 2029144368
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 21 13:12:50 2019 -0500
TT#52651 switch TCP to TLS
Change-Id: Iab6b05d3b5c88553cbd6f531f3189084d9e71995
commit b28e718ee4
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 22 09:20:54 2019 -0500
TT#52651 generalise streambuf interface
Change-Id: I7d5ab8ffe13e52d4dbb1901531cc13fcc173d60d
commit cb2dbd2a92
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 19 09:32:56 2019 -0500
TT#52651 add start/stop forwarding commands and party selection logic
Change-Id: I8ef7e288d3a3e485bd2fa14e1a2407a0c8d94bac
commit 442c48f627
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 14 15:43:23 2019 -0500
TT#52651 produce output for TCP forwarding feature
Change-Id: I18543921577faf655679829684f5af46c0af5054
commit 2ef8028eb2
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 14 10:18:21 2019 -0500
TT#52651 make recording to output files optional
Change-Id: I12c288b965641352658ce3b499c2ee90593e1322
commit 10a58cd7a0
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 13 16:02:16 2019 -0500
TT#52651 strip streambuf into lib and include in recording daemon
Change-Id: I1f6638961e9e767063e0b4e6b5d55d88799366d3
commit 9d3bb5bffc
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 13 15:40:12 2019 -0500
TT#52651 extract/move unrelated old legacy decoder struct members
Change-Id: Iffd79b43180c30a9e128a460f7ba85ba49dedeaf
commit 1bc38e4201
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 12 16:43:42 2019 -0500
TT#52651 config options for forwarding option
Change-Id: Ieaa2ee0e55a0c531158174bc6a534738a64dbee6
commit 06d61cd3dd
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 12 16:29:52 2019 -0500
TT#52651 move socket.[ch] into lib/
includes necessary re-shuffling of additional code pieces
Change-Id: I74b314ab5936ac8a0eeaff94e084617b59b28d79
Change-Id: I025e8ec86b90ede79565542dff57ec1559d04200
7 years ago
Richard Fuchs
744d6a46ff
add codec-set option
...
Codecs that were implicitly accepted for transcoding had no option to
set their parameters (such as bitrate) for encoding. The codec-set
option adds this.
fixes #681
Change-Id: Ib238eb73a507af168c366579abc80da07250fe88
7 years ago
Richard Fuchs
c80f55b85a
TT#49600 add debug log output for SDES negotiations
...
Change-Id: Ifb49d202bfa691cba63f86192e5730f1446ba1b9
7 years ago
Richard Fuchs
9e4d140e7b
TT#49045 add new flag to leave media direction attrs unchanged
...
Change-Id: I2dcafa3be9f8a0dfd7c1cf3e6046dabe9fa5bbee
7 years ago
Richard Fuchs
881e0dc2dc
TT#48800 add option to disable individual SDES crypto suites
...
closes #661
Change-Id: I3556977246d6e15bf134755e1d699e9165735886
7 years ago
Richard Fuchs
c61d7f129e
add new `full rtcp attribute` flag
...
closes #668
Change-Id: I1ee13d4121d0aa6dff46470327a6caba9b631d7d
7 years ago
Richard Fuchs
18ec141d2b
TT#45472 avoid an unnecessary implicit call to strlen
...
Change-Id: Ic45451ed3bab3d3724e4dadd43026529d3abc707
7 years ago
Richard Fuchs
d08d84071a
TT#45472 support SDP fragments for trickle ICE
...
Change-Id: I31880b5cf837a078bdb75e86dd425136bf829e4c
7 years ago
Richard Fuchs
e1fbe25b89
TT#45472 keep track of media IDs in a hash table
...
Change-Id: I66d2a5aff29447a60f4f3961165bfb6c0392a38e
7 years ago
Richard Fuchs
a1efdf6b20
TT#45472 support generating a=mid lines if not present
...
closes #641
Change-Id: I849f0c73c5fdd575417a37a41d6701ea4454374b
7 years ago
Richard Fuchs
3c50130c7b
TT#45472 process and retain media ID strings (a=mid)
...
Change-Id: Icf7219f407ed660c009ffde838c942e13aad40ce
7 years ago
Richard Fuchs
fb1083f8e3
Add option to leave base64 padding for a=crypto in place
...
closes #658
Squashed commit (plus docs and minor modification) of:
commit 4187cd3b2d
Author: Muhammad Zaka <muhammad.zaka@synety.com>
Date: Mon Nov 19 18:13:43 2018 +0000
removed unnecessary pad_crypto_def variable
commit 5c7b7c0ced
Author: Muhammad Zaka <muhammad.zaka@synety.com>
Date: Mon Nov 19 17:39:18 2018 +0000
add `pad-crypto` flag to not truncate trailing '==' after base64 encode
commit 98bea79902
Author: Muhammad Zaka <muhammad.zaka@synety.com>
Date: Fri Nov 16 10:59:47 2018 +0000
crypto containing padding should be sent within sdp for pass through
Change-Id: I1f7502f34e9492100e5c3a5a7345319ed996c22c
7 years ago
Tor Petterson
590b752bbd
Added option to write SRTP keys to log
7 years ago
Richard Fuchs
35764c5c63
TT#44702 add CLI command for interface/port stats
...
Change-Id: I670b3779d748e81097995961d6411d21a279bd08
7 years ago
Richard Fuchs
326c6a5818
TT#43557 augment DTMF blocking to support directional blocking
...
Change-Id: I5d77b437fe746ac5f3b6c15d327755f9349b61d8
7 years ago
Richard Fuchs
04a83027a0
TT#43557 implement media blocking
...
Change-Id: I336cf7203c1236b3e596310690a89ce1c3fd8bf4
7 years ago
Richard Fuchs
89084da8d8
TT#43855 support XMLRPC callback to Kamailio
...
Change-Id: I35f9abb5e98ff17f4fed28ca0e045e7d5d734b1d
7 years ago
Richard Fuchs
e67b9c40da
TT#43556 support blocking of DTMF event packets
...
Change-Id: I7ef43ddb254b1583c2dc69b44a13b978eff15510
7 years ago
Richard Fuchs
cab9d895b2
TT#42500 fix only one crypto suite being offered.
...
We should offer all crypto suites that we support. If passing through
SDES, we should amend the list of crypto suites with all additional ones
that we support that weren't included in the received offer.
closes #577
Change-Id: I9b6c16e8eadecf01cdbc8043bd8361e0f683e456
7 years ago
Eric Green
f91b64fcdf
Make recording more accurately report source address. Fixes #584
8 years ago
Richard Fuchs
0aeb06f613
TT#40900 store metadata in call struct instead of recording struct
...
makes it possible to set the metadata before recording has been started
closes #579
Change-Id: I885a39fbc53345a4e9f2459f3cd972cb1198c210
8 years ago
Richard Fuchs
a9ec666cb4
TT#38350 implement sending DTMF events to syslog
...
Change-Id: I82fbdc7da6cbe2505ef1c98dd3c45b63c4461994
8 years ago
Richard Fuchs
dd34574669
TT#38350 keep track of the most used RTP payload type
...
Instead of just remembering the last seen RTP payload type, this adds a
tracker that keeps track of the last 32 seen payload types and keep the
list in order of how often each type was seen.
Change-Id: I062a43b7bfc9413b755dca548d72953ff8245477
8 years ago
Richard Fuchs
4eb80da836
compile fix for with_transcoding=no option
...
fixes #568
Change-Id: I97fba6bb767a572d6b701e274176913270e55f16
8 years ago
Richard Fuchs
cbe7e5ab1d
TT#36700 implement ports free list
...
eases CPU usage when the number of available ports runs low
Change-Id: I0cdb035991a54a96c94ff47b074c91ff2b74c9bd
8 years ago
Richard Fuchs
8562bdee70
support new `asymmetric codecs` flag
...
Change-Id: I244b3576be19658ecc2af353e427e95aea4fca70
8 years ago
Richard Fuchs
f1b81b649e
simplify parameters passed to codec_rtp_payload_types()
...
Change-Id: I8a9147bb527b3084ed9f4acfa82868fc26b0d8c2
8 years ago
Richard Fuchs
95a7cc6cfb
eliminate redundant function argument
...
Change-Id: I5bff4436072c2855590e08d90c5098af3abceb93
8 years ago
Richard Fuchs
d64c888a0e
TT#36301 transcoding unit tests
...
Change-Id: If48e5afe5a343b557183b6e87441f52424dd2c6a
8 years ago
Richard Fuchs
fa5c265045
TT#36302 support scheduling settings
...
Change-Id: I490fde10a5ae44d25b95e4368af70003716040b7
8 years ago
Richard Fuchs
3b3e964c83
short lock duration for faster calls iteration in the timer
...
Change-Id: I1d2d40e1a5fcdaaf8384eeb841d3e99690185d7f
8 years ago
Richard Fuchs
db2882ca78
integrate AES unit test into main build framework
...
Required addition of include/ directory for headers shared between
daemon and tests
Change-Id: Ib25504f4d7f4baa917efcdc0ef78b6cc89439827
8 years ago