Stefan Mititelu
3813821129
Add 'all' recording method
4 years ago
Michael Prokop
e425e82272
TT#71950 Fix typos
...
s/torwards/towards/
s/behavious/behaviour/
s/cliens/clients/
s/retreived/retrieved/
Change-Id: I50ccecd860f0c1cc25b6c16f5af13aa059e87a93
4 years ago
Richard Fuchs
17bda4b1e8
TT#156900 fix master/slave race condition with early closed ports
...
When ports are closed early (while the call is still running), we must
first update a slave rtpengine with this new information (that these
ports are now closed) before actually releasing the ports ourselves. Not
doing so leads to a race condition where the master instance re-uses a
port that was just closed before the slave instance knows about the port
being closed.
We implement this using a thread-local list to keep track of ports that
were released while processing a control message, and process this list
to actually close the ports only after Redis has been updated.
Additional calls to the function to close the ports are placed in
strategic locations to make sure this is triggered in every code path.
closes #1495
Change-Id: I803f4594f30ca315da0b84c6e76893f54ca3a7c9
4 years ago
Richard Fuchs
2137618b3c
TT#14008 don't open a mixed output file unless recording is on
...
This prevents empty mixed output files from being created when mixed
output is enabled in the config but recording isn't active for that
call.
Change-Id: I66ead89dc8a7ea80b81164b3e24d997b0df5f37e
4 years ago
Richard Fuchs
442b26ea48
TT#173752 support per-tag metadata for recording
...
Change-Id: Ie869bf63961e03608e6af1b0a0bf2d746bac2b3b
4 years ago
Richard Fuchs
e8f16dba4f
TT#14008 offload flags parsing for play_dtmf/media
...
Since we're already doing the full parsing of the request flags, use the
same function to parse all required flags
Change-Id: I0880ccbbbc36eae7b172440ce51afc1c544583a1
4 years ago
Richard Fuchs
aed9279176
TT#172650 update for OpenSSL >= 3.0
...
closes #1477
Change-Id: I0d5c14f12dd4525d63b435a565f97b5f8abcd81e
4 years ago
Richard Fuchs
cf076fc074
TT#172650 support EC keys for DTLS certificate
...
Change-Id: I695e9b334ce26c26de6a98a5d48fc930f6bebf41
4 years ago
Richard Fuchs
008c4c7dce
TT#172650 update dtls_signature field to enum
...
Change-Id: I83bb566131b4fc6d00a6323ccd9b105bb01fd53f
4 years ago
Richard Fuchs
d055a5da59
TT#136957 add `egress` subscription support
...
Change-Id: I10bde2adf351529a20e21c376ef2040a19896f83
4 years ago
Richard Fuchs
84fed5ca7e
TT#136957 obsolete TRANSCODE flag
...
Change-Id: I7307b63a8f5a10aa3b5c98fb48218bcc7a123441
4 years ago
Richard Fuchs
50b8f54bcf
TT#155900 add `RTCP mirror` flag
...
Change-Id: I0dbf329edc4320d63f46028bc4e26b08f5f691e3
4 years ago
Richard Fuchs
2240921ab3
TT#136957 use separate sequencer per sink/destination
...
Change-Id: Ib960108003d5aa13ba1732d7a5e8c6720feca5c0
4 years ago
Richard Fuchs
c0d9f84e49
TT#14008 rename instance of `func` for clarity
...
Change-Id: Ie61bc4e9ea8bcd4fdf540cce67acb8032eecff63
4 years ago
Richard Fuchs
2b74e64ddf
TT#14008 prevent double-free of MKI
...
closes #1474
Change-Id: I6d72913fa5f76049de633c3bf7b3633030ce9443
4 years ago
Richard Fuchs
f869c23c90
TT#14008 add new "reject-invalid-sdp" option
...
for #52
Change-Id: I75f69a4a4b546fed74e0838ba9ba167f957e8d17
4 years ago
Richard Fuchs
24ed84357a
TT#14008 keep track of ICE candidates based on their priorities
...
Change-Id: Ibb248d634d498bc68497be7d036be54956b1de61
4 years ago
Razvan Crainea
9c62de8189
provide sendrecv mode in siprec tag-medias and media-labels
4 years ago
Richard Fuchs
e59c062108
TT#14008 allow ICE reset only during an offer
...
Change-Id: Ic2daaeba4d14867ffc96ab13f1d9493082ce0bd2
4 years ago
Richard Fuchs
a26601a37a
TT#14008 add new `reject-ICE` flag
...
Change-Id: I47db832d3a2abce8794e893f2fb8d681010a0d16
4 years ago
Richard Fuchs
4658b90f0b
TT#14008 don't open extra interface ports when ICE is not in use
...
There's no need to open ports on non-primary interfaces if ICE is not in
use as these ports will not be used or seen by anyone.
This mostly obsoletes the `save-interface-ports` config option, with the
exception of ICE advertised by the offerer. We currently have no option
to reject ICE from the offerer during the offer phase, so ports would
always be opened on that side.
Relevant to #1164 and 001abe5
Change-Id: I43df70bc0ec49b81f63aec97c776e48617b2acfd
4 years ago
Richard Fuchs
22d8db9e72
TT#14008 don't accept stray answer codecs that were not offered
...
Special handling for codec lists that were received as part of an
answer: If the list includes a codec that was not offered, ignore that
codec. This prevents transcoders from being set up that were not
requested.
This brought to light some tests that were actually broken.
Change-Id: Iac71056ec5e10b5de5567917974f2c4e0261eb0c
4 years ago
Richard Fuchs
533d4b7d8c
TT#14008 remove obsolete config option
...
Change-Id: Ibda1c75b506646f91bb217f0eec3dcaac6ccf423
4 years ago
Richard Fuchs
3c1f4b1f1e
TT#14008 remember last used local socket for reporting purposes
...
Change-Id: I4d52df89c58bb1544dab5a6c5a87aec7975607aa
4 years ago
Richard Fuchs
45a9ce32a7
TT#156900 track local media sockets in hash table
...
Change-Id: I6a732b670ca46165675ebced4514eb8a86b7047e
4 years ago
Richard Fuchs
941a50edd5
TT#156900 add helper functions and macros
...
Change-Id: I341632e4b6dbefd6743b9b1c4578c374c84505b2
4 years ago
Richard Fuchs
b1d17cdcef
TT#14008 use pthread_cancel semantics for shutdown
...
Instead of having each thread sleep only a little while and then
periodically check for the shutdown flag, make them sleep longer and use
pthread_cancel() to interrupt the sleep during a shutdown in the
designated break points.
Change-Id: I13f1872a0176697e064ceef4062db6ca6ccf7a0e
4 years ago
Richard Fuchs
3582b623a9
TT#136957 DTMF delay support
...
Change-Id: I62dce272a1acc0a9a3b6b8c37df68a18357dbee4
4 years ago
Richard Fuchs
1ef4eeba80
TT#136957 split up DTMF event queue into in and out
...
Change-Id: I2e0619071d43df8537736187104ca12bb2f86f64
4 years ago
Richard Fuchs
c794c00efa
TT#136957 refactor DTMF event tracking into a list
...
Change-Id: I09aec46cad4cbb92aab67b7e9158d4d1598df186
4 years ago
Richard Fuchs
2ca64340e1
TT#136957 support DTMF triggers for blocking
...
Change-Id: I32e0d02e739ceb5a34aaf187b1ea086482e6d73e
4 years ago
Richard Fuchs
6ac4f12c01
TT#136956 add more options for DTMF replacement
...
Change-Id: Ic78a34042ad664bd54e35647636864ea99e60385
4 years ago
Richard Fuchs
576774614b
TT#136956 add support for DTMF-security=zero
...
Change-Id: I48d612697ac3f89852b2b7374cf6e442e4a8222e
4 years ago
Richard Fuchs
9da5a46fcb
TT#136956 support DTMF-security=random
...
Change-Id: I4100c1511be743901d302491238872990f213118
4 years ago
Richard Fuchs
320642ddf2
TT#136956 support DTMF-security=tone
...
Change-Id: Ide898f68d788f39674b8fdb4f4edb0aa14e0884b
4 years ago
Richard Fuchs
38f97c2df8
TT#136956 support DTMF silence replacement
...
Change-Id: If693800a955a9ddf7245da0082426ae609deb407
4 years ago
Richard Fuchs
478c2608e8
TT#136956 upgrade `block_dtmf` to enum to allow for different modes
...
Change-Id: I8bfa1cb9067a00958a2a1415b82e01c02deaf758
4 years ago
Richard Fuchs
ba556db1d4
TT#136955 tie in DSP DTMF events with other DTMF reporting
...
Change-Id: I72fe6b670c42fe4ed6ba32a1fd142c290b2aaca2
4 years ago
Richard Fuchs
e7edfc03b4
TT#136954 add explicit flag to en/disable DTMF detection
...
Change-Id: I0da522ec5b195d580b44e6c5d0cfc42b73a8ac4b
4 years ago
Richard Fuchs
8e8e78afb1
TT#136952 add new delay_buffer struct
...
Change-Id: I8b3b663d3688f1872b059791381fc8e2034c7293
4 years ago
Richard Fuchs
ecf02ddcc1
Merge branch 'master' of https://github.com/smititelu/rtpengine
...
Change-Id: If22a490e36138e14fe46cbfad6b9d815a4fceeaa
4 years ago
Richard Fuchs
12f23b311c
TT#157801 shift handling of v4/v6 addresses
...
Handling of dual stack v4/v6 was previously done by the individual
listener objects for INADDR_ANY listening addresses. If listening on
INADDR_ANY was requested, then each listener would create two instances,
one for IPv4 and one for IPv6. This works fine for INADDR_ANY but fails
for listening on host names that resolve to multiple addresses, such as
`localhost`.
Solve this by relieving the listener objects from handling this and
instead handle it in the code setting up the listeners. If a host name
resolves to multiple addresses, then set up multiple listeners (up to
two supported currently). This allows us to listen on `localhost` by
default and have both 127.0.0.1 and ::1 active. INADDR_ANY is handled
specially by also setting up :: in that case.
Change-Id: I2a1e1d7090d7d23863c7a9bb1e89b85ad2ea44f4
4 years ago
Richard Fuchs
f5a148f268
TT#14008 change local ICE ufrag/pwd after ICE restart
...
Implements RFC 5245 9.2.1.1
Also reset ICE role after a restart
closes #786
Change-Id: Idc7ec9f409b70598e2840fb7d0a31a12f9db3c21
4 years ago
Stefan Mititelu
528e108a1e
Add new graphite-timeout parameter
...
Needed to be able to set graphite socket timeout.
Useful when one wants rtpengine to force the graphite connection
to fail faster, in case graphite server gets filtered while
connection is ongoing.
4 years ago
Richard Fuchs
31e41d1282
TT#14008 fix poller-per-thread behaviour
...
Change-Id: Ie75e9ebb315801157e432b2d0ce6a07c61cdd0d0
4 years ago
Richard Fuchs
cf7dcb31be
TT#14008 add fallback if codec list is empty
...
reported in #1374 and #1380
Change-Id: Ie12453a0526ed202c298d06d18b6782105c9fade
4 years ago
Richard Fuchs
8b79a6074f
TT#156052 add call duration stddev metric
...
Change-Id: Idb8cf304323ba33e1cdbd4dbe343dc508041cc93
4 years ago
Richard Fuchs
7b5b52e932
TT#156052 add MOS stats to stats output
...
Change-Id: I9dd3847ae772ba0851239c3f230de72a2ed207ee
4 years ago
Richard Fuchs
45cb995b19
TT#156052 add call->destroyed timestamp
...
Change-Id: I76e973faee5797c00b1f5a1e01a73df903874ccb
4 years ago
Richard Fuchs
f613cf6fb2
TT#156052 rename total_calls_duration to _intv
...
These stats are per-Graphite-interval stats. The name should reflect
that.
Change-Id: I53844b8b1e61000873bc839f0ab713b7fc5ac1d6
4 years ago
Richard Fuchs
aea33b77fe
TT#14008 switch must_recrypt argument to bool
...
Change-Id: I27d7f31adb62a2fd099268ea9a82c4384bfe78a2
4 years ago
Richard Fuchs
e11407ab8d
TT#144701 support JSON in NG protocol
...
Change-Id: I5ffe551c2712d0dece3490cd5653c6817603642d
4 years ago
Richard Fuchs
16f2f9af5c
TT#14008 switch from repeated hash lookups to list iterator
...
Change-Id: Ib877462c584de20aa7c7af35ce567392b2a7b6ba
4 years ago
Richard Fuchs
f1d37e9c93
TT#147451 add support for SIPREC style SDPs
...
Change-Id: I6a0bba30e8e356a44156571b7dc3b094176ef26e
4 years ago
Richard Fuchs
a7e22ba698
TT#147451 add support for multi-ml subscriptions
...
Change-Id: I1ff9861840bc743068eac2cd18d81990d44acdc9
4 years ago
Richard Fuchs
77be8a00b0
TT#136952 add convenience function to reset all codec handlers
...
Change-Id: I690b1a6c3388c47ba97fadb2b8740eff8706884f
4 years ago
Richard Fuchs
fdb529eb5a
TT#136955 refactor DTMF event reporting
...
Change-Id: I420f56674a639a4b41b5333d8d9b8ffa843a7042
4 years ago
Richard Fuchs
ea7d04ae76
TT#136952 add CLI options to manipulate calls and tags
...
Change-Id: I9b6b24cbcaa7ed62a5dd786ae5d847ecee8cd46f
4 years ago
Richard Fuchs
bcb912bc27
TT#136952 allow passing user data to ssrc_hash_foreach
...
Change-Id: Iea158f06901de33ad9b53f8c277011b859cb214a
4 years ago
Richard Fuchs
4cbeb15c07
TT#147451 obsolete necessity for `from-tag` in unsub/sub ans
...
Change-Id: I409dbfb032265d0da39bff4cb63bf6dd5388cde4
4 years ago
Richard Fuchs
730cc646a8
TT#14008 eliminate duplicate DTMF reports when forking media
...
With multiple media subscriptions, codec handlers are called
consecutively, once for each forwarding chain, leading to DTMF events
reported multiple times. The DTMF trigger must therefore keep track of
the state in the upper media object, not in the codec handlers.
Change-Id: I9ceaf406e093f25b7c037a325a0f2a7a91954922
4 years ago
John Burke
fab19ed8bb
Add support for endpoint-learning on a per call basis
4 years ago
Richard Fuchs
426575aa32
TT#14008 add backtraces for obj* debugging output
...
Change-Id: I51c6667fc835eedf54a10878bc09620557aa8d22
4 years ago
Richard Fuchs
44e53a2767
TT#147451 add missing cleanup of subs lists
...
Change-Id: I54d1545d3b302d3d73168c3c64b15af3e327a494
4 years ago
Richard Fuchs
ff00569c89
TT#14008 extra mitigation for forwarding loops
...
Flag a socket with an error strike when packets are received too fast,
and refuse processing once too many strikes have occurred. This should
prevent forwarding loops from taking down the system.
Change-Id: Idc574f2f1dbbcb156efc37a80e903dc4e60ef1b1
4 years ago
Richard Fuchs
d3a3382ac9
TT#14008 convert threads_join_all arg to bool
...
Change-Id: Ie1ef9bbfe6faaf9fa7ed163d51475f6f353309df
4 years ago
Richard Fuchs
24f607752c
TT#145450 add support for tracking multiple SSRCs per stream
...
Change-Id: I885fbf7973133af8d7c9184eb0e75f5401309c8e
4 years ago
Richard Fuchs
834eb034af
TT#14008 add packet loss tracking for userspace passthrough
...
Change-Id: Id2ea329333a4236389e2a2b567fba76ffc7cea5f
4 years ago
Richard Fuchs
785ed90bba
TT#14008 eliminate duplicate packets_lost counters
...
This solves inconsistent stat output
Change-Id: Ic4c010fbceb83d1f8d5fffecacb3c65a436bfeae
4 years ago
Richard Fuchs
41966c9648
TT#14008 associate interface with call_monologue
...
This makes it possible to add new streams without specifying the
direction/interface again.
Reported in #1366
Change-Id: I8f320ecbe72f123d755ba80370de9c40960eb0f0
4 years ago
Richard Fuchs
0fa3a105af
TT#131402 add stats for user/kernel streams
...
Change-Id: I78800a3bbef9fdd92369c2ed14efd39c7799178f
4 years ago
Richard Fuchs
7699e1da64
TT#131402 convert bitfield functions to `bool` type
...
Change-Id: If7f59a8a8437752c13909f6d6a09f8056ac4efbf
4 years ago
Richard Fuchs
c5dc3484ae
TT#131402 split up relay stats between kernel and userspace
...
Change-Id: I9e5a82e5817829d8a1b17e6828bb0594fbc8df08
4 years ago
Richard Fuchs
06006df6fb
TT#101150 obsolete 'totalstats'
...
Change-Id: I744222b313f50fcf08d421309c329256f78869aa
4 years ago
Richard Fuchs
b0ebe9ba1b
TT#101150 move start timestamp to global var
...
Change-Id: I03efdbf02b5fbf16616d26010cb79b0932cd4e00
4 years ago
Richard Fuchs
2ae5cc79ba
TT#101150 obsolete more fields from struct totalstats
...
total_managed_sess, total_average_call_dur, total_average_lock,
managed_sess_max, managed_sess_min, managed_sess_lock
Change-Id: Ibe3f619ec6d2f21270fc81901dde55b5242b0daa
4 years ago
Richard Fuchs
3fa16c6ab1
TT#101150 generalise ng command stats into array/list
...
Change-Id: I43c7074237ae70d9bcb12b4946ce2c751d135bc8
4 years ago
Richard Fuchs
6563a5ac6f
TT#101150 move some header includes/defs around
...
Change-Id: I2507b1bb22d4ba10f632fe2fa794fde975734f99
4 years ago
Richard Fuchs
d4102280b2
TT#101150 obsolete struct request_time stats
...
Change-Id: Icf3e0648a0ba821bc66c6dd0e8f5ebc30576fb70
4 years ago
Richard Fuchs
f5f29e1c59
TT#101150 add min/max/avg tracking for gauge stats
...
Change-Id: I6a682f2bb98673361a8454f419f8a0fb7d37ef75
4 years ago
Richard Fuchs
b4295684a5
TT#101150 convert stats gauge handling to macros
...
Change-Id: I583bb1a09196d055710ee5e1d379541f23c54117
4 years ago
Richard Fuchs
8b5f0e997e
TT#101150 copy out per-interface counter stats
...
Change-Id: I44174b1975b1ccfe30e6e9050bed00d57c7b8157
4 years ago
Richard Fuchs
7337f4a231
TT#101150 obsolete offers/answers/deletes_ps
...
Change-Id: I92e1a3617e2c47deeacc0186a930da0f6247f273
4 years ago
Richard Fuchs
899d95791f
TT#101150 add stats_counters_min_max()
...
Change-Id: I9c3104718696a8e1fc69faee132f960209e80c15
4 years ago
Richard Fuchs
facb4b54db
TT#101150 obsolete redundant fields in struct totalstats
...
Change-Id: I75d8bb1890ce35faac271550a1f9aff0f24ce624
4 years ago
Richard Fuchs
3608d9b070
TT#101150 obsolete total_relayed_* fields
...
Change-Id: I2340daba8f8088af81b3ed6b5dfc6f5fb8621a9a
4 years ago
Richard Fuchs
d197a27b40
TT#101150 add graphite-specific global_stats_ax
...
Change-Id: I01ad26b1c6029d02c0a41216ba238c1f2c3a2f2d
4 years ago
Richard Fuchs
f8c3f93f57
TT#101150 add support for local copy-out of stats
...
Change-Id: I1752fa8fe94799eedbac7f3fb674a61a0b6de162
4 years ago
Richard Fuchs
181dfe6b1c
TT#101150 update runtime averaging to microseconds
...
Change-Id: I2c83dfb5ca128331662058a045daf8d59397777b
4 years ago
Richard Fuchs
ac518471a3
TT#101150 add atomic64_set_if()
...
Change-Id: I7ecc50ede0223cce6dc5b6cdc000d99520f8dac1
4 years ago
Richard Fuchs
01263d644c
TT#101150 refactor counter stats into macro list
...
Change-Id: Ic23fd457bfd5a9cae08f2d48b6ab8054480cd070
4 years ago
Richard Fuchs
ad64f4fa00
TT#101150 introduce proper struct for "counter" style stats
...
Change-Id: Ifd06c54b25126426fe21723b8fb7a21d9bd03cba
4 years ago
Richard Fuchs
7dcc4473f5
TT#101150 split out "gauge" style stats
...
Change-Id: I52617a083bbbd41342b6413d8cacc5235cec51d9
4 years ago
Richard Fuchs
a1f3530292
TT#101150 separate out `struct stream_stats`
...
Change-Id: I709060d9e805175bd99173df03e581b593506e15
4 years ago
Richard Fuchs
9c3e5e1fd7
TT#101150 properly name RTPE_STATS_INC/ADD
...
Change-Id: Iba35ea5a453d1a45b575ee98c4aeb2e0aef39473
4 years ago
Richard Fuchs
406f2dc36d
TT#101150 remove in_tos_tclass from struct stats
...
Change-Id: I000f19f3eade23085952c86f6f730ab954f81b95
4 years ago
Richard Fuchs
30d91ecc63
TT#101150 add test script for stats output
...
Change-Id: I13cc172b082e78c3d52032bd72e0a2f5158c71ed
4 years ago
Richard Fuchs
3f69a48f07
TT#14008 add NAT-wait flag
...
Change-Id: Icfbacc3094ee20955eb50ad9f9c487e9b9a239b9
4 years ago
Richard Fuchs
2a39277f0c
TT#14008 add hash table for subscriptions for quick lookups
...
Change-Id: Id1585cc7edb8c72bc571006f20228706d00e6955
4 years ago
Richard Fuchs
2130e2f62b
TT#89352 support Janus control protocol
...
Change-Id: I0a6d5fc93c5fa505390408043feeca3f5cf61181
4 years ago