Richard Fuchs
25e2640145
TT#136957 support multiple frequencies for `tone`
Support multiple tone frequencies for DTMF-security=tone to enable
audibly distinguishing multiple consecutive DTMF events from one
another.
Change-Id: I6fa33a5768aae198220d0b0cc4c53308c5661a52
3 years ago
Richard Fuchs
8a99171200
MT#55283 allow for delay in kernel mode
In some cases it's possible that some packets still arrive in userspace
immediately after a stream has been pushed to the kernel, for example if
some packets are already in the queue or if there is some processing
delay (e.g. writing to Redis). Allow for a short delay before counting a
stream as userspace if it has been pushed to the kernel.
Change-Id: I55a6e255868c8c2a9e93355a4aa2287f07b3748d
3 years ago
Donat Zenichev
eb9aae1ddb
MT#55897 Document general objects in RTPEgnine code (part 1)
Based on the information gotten from Richard Fuchs
document the main objects in the code, to let the code be more
understandable for other code readers.
Mainly documented:
- call
- call_monologue
- call_subscription
- call_media
- packet_stream
- stream_fd
- sink_handler
- rtpe_callhash / rtpe_callhash_lock
Change-Id: I0cf122bea2d9c3f198b48da134a70301564ff1f9
3 years ago
Richard Fuchs
a65954bbbb
MT#55447 refactor encoder callback struct
Use a single dedicated struct to hold data used as callback from decoder
to encoder.
Change-Id: I747cd495bc98a33629d0acd77909023f8f0e89ff
3 years ago
Richard Fuchs
387895b61c
TT#44805 add bookkeeping for output stream stats
Change-Id: I353d3785e79e9e3c53154de93f48d7229cf6643e
3 years ago
Richard Fuchs
e7abe3b378
TT#44805 rename `stats` to `stats_in`
Change-Id: Ifaf9a97b41d2cba76bf252772ed76242a7ca48d2
3 years ago
Richard Fuchs
4a19714cd1
TT#189201 support per-sink media blocking/silencing
Change-Id: I2b71816d97c4f6f1e1b290e5321d8ea1c106772a
3 years ago
Richard Fuchs
1699c90705
TT#189201 refactor __add_subscription arguments
Eliminate redundant bool arguments and use intermediate structs instead.
Change-Id: I03b9f7b1f2d6a822fbb9a885887298615c65cd06
3 years ago
Richard Fuchs
0b8d74ae2f
TT#189201 preserve existing attributes after repeated offer/answer
Change-Id: I04945ecb1a20f3e37c7cadf95a156648c9c1bf0c
3 years ago
Richard Fuchs
9e227099c6
TT#189201 add convenience function call_get_call_subscription
Change-Id: Ib5300d4c303e3b430209edf724bdb933ced08b15
3 years ago
Richard Fuchs
2463c5e37c
TT#189201 simplify attrs handling in __init_streams
Change-Id: I25b59812f789af00332932cbff30cf95d8a08974
3 years ago
Richard Fuchs
7be1d0aef1
TT#189201 refactor sink/handler attributes
Create a dedicated struct to hold certain attributes shared by both sink
handlers and media subscriptions, as a preparation to simplify handling
these attributs.
Change-Id: I866159c33ed6d6a2873d2cf68c4906ea705d253e
3 years ago
Richard Fuchs
c109644fea
TT#189201 change block/silence media flags to bool
This makes it possible to refactor and simplify the interface functions,
as pointers and offsets can't be utilised with bit fields.
Change-Id: I70f1ac0eca7d2ccf8e8d5f5794580163f3f5b7ad
3 years ago
Richard Fuchs
6b5a8f5560
TT#178352 generalise metrics gathering and printing
Keep a running lifetime total of all "gauge" type metrics. Also track
the square of the sums of all "gauge" type metrics in order to determine
the standard deviation.
Change-Id: I23f60774a6421636f1a913674c7d1b54a1c5f702
4 years ago
Richard Fuchs
98a527065f
TT#14008 update int type to bool
Change-Id: I9871d727e1caa53dd0f8be26f89fe021c7159fed
3 years ago
Richard Fuchs
442b26ea48
TT#173752 support per-tag metadata for recording
Change-Id: Ie869bf63961e03608e6af1b0a0bf2d746bac2b3b
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
3c1f4b1f1e
TT#14008 remember last used local socket for reporting purposes
Change-Id: I4d52df89c58bb1544dab5a6c5a87aec7975607aa
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
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
45cb995b19
TT#156052 add call->destroyed timestamp
Change-Id: I76e973faee5797c00b1f5a1e01a73df903874ccb
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
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
44e53a2767
TT#147451 add missing cleanup of subs lists
Change-Id: I54d1545d3b302d3d73168c3c64b15af3e327a494
4 years ago
Richard Fuchs
24f607752c
TT#145450 add support for tracking multiple SSRCs per stream
Change-Id: I885fbf7973133af8d7c9184eb0e75f5401309c8e
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
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
d197a27b40
TT#101150 add graphite-specific global_stats_ax
Change-Id: I01ad26b1c6029d02c0a41216ba238c1f2c3a2f2d
4 years ago