Richard Fuchs
c5dc3484ae
TT#131402 split up relay stats between kernel and userspace
Change-Id: I9e5a82e5817829d8a1b17e6828bb0594fbc8df08
4 years ago
Richard Fuchs
9c3e5e1fd7
TT#101150 properly name RTPE_STATS_INC/ADD
Change-Id: Iba35ea5a453d1a45b575ee98c4aeb2e0aef39473
4 years ago
Richard Fuchs
3f69a48f07
TT#14008 add NAT-wait flag
Change-Id: Icfbacc3094ee20955eb50ad9f9c487e9b9a239b9
4 years ago
Richard Fuchs
ac60645c13
TT#14008 fix possible null pointer
closes #1358
Change-Id: Id4ad456304569dd79fd1ac19b3f2127c705cd650
4 years ago
Richard Fuchs
d6bffa17f1
TT#142100 fix possible null pointer
Change-Id: I6f46bd768e3d77e56f3f95a2280c3ee41fcc9813
4 years ago
Richard Fuchs
ff2aed5907
TT#14008 avoid confirm/unconfirm/reconfig flip-flop
Distinguish between unconfirming the learned peer address and
retriggering the kernel stream. In particular we don't want to unconfirm
the sinks every time we confirmed our own peer, as that starts an
unconfirm/reconfirm loop.
Change-Id: I1f172385aefeacbc4585729bce25fbc68f04c2bd
4 years ago
Richard Fuchs
b28ea21f41
TT#14008 add extra debug logging for kernel streams
Change-Id: I7a17e74dea7ce11e5923f82436efbfe3160d8ed8
4 years ago
Richard Fuchs
6c9fe540cf
TT#14008 remove redundant check for FILLED sinks
We may have multiple subscribers, some of which may be dead/unused. We
don't care if we have these since we don't forward to them anyway.
possibly relevant for #1337
Change-Id: I3cded5080aa2005e9dd615cccf60bd4cba5feb7d
4 years ago
Richard Fuchs
5c01d905e5
TT#14008 use bool type for SSRC changed funcs
Change-Id: I026f7d93c8fa3bbfea6b1ab6967b8cd1231637d5
4 years ago
Richard Fuchs
2770bec906
TT#14008 set non_forwarding flag if no sinks are present
This silences a warning coming back from incorrect usage of the kernel
module
Change-Id: I2f03518a67620b92ef6b6ccd4ae6a4780087e206
4 years ago
Richard Fuchs
702dd9bb13
TT#14008 don't try to update kernel stats for no-kernel streams
Set NO_KERNEL_SUPPORT when we don't actually kernelise the stream, and
use that flag when trying to pull stream stats.
probably closes #1337
Change-Id: I46af55e353d87c5afdda3c106d1f3470273105bf
4 years ago
Richard Fuchs
f6461ab452
TT#14008 use FILLED flag instead of advertised address for sink test
The advertised address might be empty (trickle ICE) so use the FILLED
flag instead to see if the sink is eligible.
Change-Id: I114bd7400ccfcc3ecbc871bdcc5aee4e7d699816
4 years ago
Richard Fuchs
40695b2af3
TT#14008 fix possible segfault
closes #1342
Change-Id: I469b749cca4e270100572b7eabc9bcd022e83f5d
4 years ago
Richard Fuchs
2130e2f62b
TT#89352 support Janus control protocol
Change-Id: I0a6d5fc93c5fa505390408043feeca3f5cf61181
5 years ago
Richard Fuchs
413798e43f
TT#132251 implement media silencing
Change-Id: I0902bd72e2733b96ff75bcf52856a58c51a750f6
4 years ago
Richard Fuchs
c2b78aa9cd
TT#132251 refactor kernel payload type tracking
Change-Id: Ibdf58347a130f1c07cefca55162c841c71092201
4 years ago
Richard Fuchs
765b1e3bca
TT#89352 use bool type for foreign call functions
Change-Id: If8d5e28db534e6aeaaffb885e732e2bdd7338831
5 years ago
Richard Fuchs
ba7a75371c
TT#91151 rapid push to kernel even when sink is unconfirmed
Change-Id: I2dc8638a05ba94f33f980db82ae8c4f8c63301f9
5 years ago
Richard Fuchs
45bd10d323
TT#14008 delay learning of endpoint address after re-invite
This fixes a race condition: Peer sends updated SDP with new address,
but an older RTP packet from the old address is received afterwards.
Thsi triggers learning of this old address is the "correct" endpoint.
Afterwards the peer stops sending RTP until a packet to the new endpoint
is received there, which never happens because the new endpoint has been
discarded in favour of the "learned" old one.
closes #817
Change-Id: I508f465a669f03e35ddcc6e770d5e7859e57569f
5 years ago
Richard Fuchs
ab4498e9e6
TT#91151 check all sink codec handlers for kernel option
Change-Id: I02e5ebd2b1c5c3e5fc75d2d3fe62239c029b211d
5 years ago
Richard Fuchs
9ad5378b5f
TT#111150 fix coverity warnings
don't use strncpy
check for null pointer
Change-Id: Ie557d395152c20f1c96bb3abf15935700a84d917
5 years ago
Richard Fuchs
7b59f55457
TT#14008 fix handling of possible NULL rtcp_sibling
closes #1302
Change-Id: I000337734400cf3a5b63fc5d51e9fd220be06c68
5 years ago
Richard Fuchs
94a5feea7d
TT#111150 fix coverity warnings
Change-Id: I330d5137d38017641bdda71e8bd014c358c432fb
5 years ago
Richard Fuchs
1085d80c98
TT#121752 move RTCP processing into egress loop
Move RTCP processing down into the egress section and run the processing
function once for each output, because the output media must be known
when processing RTCP RRs during transcoding.
closes #1298
Change-Id: I1797bef336e27a7064b9f42ab8c25f0aade02e47
5 years ago
Richard Fuchs
92fb330a46
TT#91151 implement one-to-many forwarding
Change-Id: I80fd35da680d4ad1f4d3d21f14f11363106b9917
5 years ago
Richard Fuchs
1e0765bf6e
TT#91151 tie codec handlers to output media/sink
Change-Id: Id577f9afabbe5645a6e220b6450c39a35ff839a9
5 years ago
Richard Fuchs
01a10c0379
TT#91151 split input from output legs in kernel module
Change-Id: Ic8269f5a506c560d4460f562fb545efe0ea6a809
5 years ago
Richard Fuchs
256b9917ec
TT#121752 associate SSRC hash to monologue instead of entire call
This solves problems when the same SSRC is looped through the same call
multiple times in different mono/dialogues, with different parameters.
Change-Id: I1d033cb1f012574d82b5bcbfffe11eb5f983cfd8
5 years ago
Richard Fuchs
891f45b4df
TT#14008 run jitter calculation for passthrough and egress
Change-Id: I004e8747d3f3dd83d43251ce93e4d98c3a739ecf
5 years ago
Richard Fuchs
a28df1f871
TT#14008 fix incorrect ingress octet count
Change-Id: I45b66c4fe29942855494a4e4aee080fca463c351
5 years ago
Richard Fuchs
369e64f9a7
TT#14008 add mqtt support
Change-Id: Ica4a3e4ef58eadf3feca44ea63f2308103b3146f
5 years ago
Richard Fuchs
e32d128bd8
TT#14008 add cumulative global stats counters
Change-Id: I884a47c6d3e52fcb5572187fbd71fd11ec08cb8e
5 years ago
Richard Fuchs
25cb6ff857
TT#14008 handle deprecated g_memdup
GLib 2.68 deprecates g_memdup() in favour of g_memdup2() as the former
was using a guint second argument which could lead to integer overflows
(gsize should be used instead).
Change-Id: Iaa3e3b1ecaab00d1ac887c915397b15b7204dd11
5 years ago
Richard Fuchs
a009f76456
TT#14008 support media echo and blackhole
Change-Id: I9df4680188709867db2b61d97cc5f1e30c59e0d7
5 years ago
Guillem Jover
6fc793845b
TT#111150 Use {} instead of ; to mark an empty body
Change-Id: Ib87db24dbb0d89cb03052e7b8a2e8d8802246c33
Warned-by: gcc -Wempty-body
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
a8d5076065
TT#119502 correctly restore calls from both Redis instances
Change-Id: I713d7e8ba0a7d14f5ef9016d33619df91ce6ec32
5 years ago
Richard Fuchs
a2e05bdc5c
TT#120402 always update output SSRC mapping
The SSRC mapping strategy can change if a re-invite disengages
transcoding, therefore we always need to update the output SSRC mapping
even if the SSRC entry has already existed, to avoid stray SSRC changes.
Change-Id: Ib6f14ede1a4e615ff5eb8372cc68bf1acdd4b6c8
(cherry picked from commit dd7acd2644 )
5 years ago
Richard Fuchs
6cc1e99ee8
TT#14008 fix possible segfault when out of ports
closes #1243
Change-Id: Ib04c289ad78624139c0375423a7bc1ad402874e7
5 years ago
Richard Fuchs
05ef61c0d7
TT#108003 fix errors reported by coverity
Change-Id: I6641da426f1e05f0d0e3924887baf7fb948fb0c9
5 years ago
Richard Fuchs
5802ff2379
TT#54762 add option to enable automatic active/active switchover
Change-Id: Icddeb28cab72974d9dad0a241775a0763a56b027
5 years ago
Dennis Yurasov
bfe6d59693
SSRC change fix in kernelized stream
5 years ago
Damir Nedžibović
f650f95111
TT#14008 Squashed commit of the following:
commit b3d2d70d4c
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
fa6d29b45c
TT#91151 fix wrong hash table lookup object being used
fixes 8abc6b1c
Change-Id: Id38636308c9c6f37b95829911af71148ca3256ce
5 years ago
Richard Fuchs
7101f535da
TT#108003 remove unnecessary null checks
Change-Id: I1aeb10662eac2ed0553cf4489d1e1d7a487ad272
5 years ago
Richard Fuchs
8b1c958f8e
TT#91151 obsolete unused REMG_UPDATE op
Change-Id: Ib7daeb3d838e0b679025f582f7c26fe5868f72cb
5 years ago
Richard Fuchs
770df55b9e
TT#14008 improve log output for stray packets
Change-Id: Ic4b03928b279aade761de3ba1646b5c27318e6a3
5 years ago
Richard Fuchs
e191e16cf6
TT#14008 fix possible segfault
closes #1172
Change-Id: I94bb52c290c2032073e54528283660f03e694033
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
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