Razvan Crainea
e1e9a157c0
Fix `subscribe request` SDP media direction
When building the SDP for a `subscribe request` command, take into
consideration the media direction of the source stream - if stream is
`recvonly`, then we do not have anything to send, thus the direction
should be advertised as `inactive`, rather than `sendonly`.
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
3a90f44383
TT#136957 peg seq num tracking to position in delay buffer
Change-Id: Ic78f24d2593817832839d3e1cf7ce3b398be785e
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
9608ae6ac5
TT#136956 refactor DTMF block mode setting function
Change-Id: Ia13ebef2999e8da1cd717e50aa24ee44188ef8b1
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
20ae998d32
TT#136956 flush delay buffer at shutdown
Change-Id: I1e58668071abad00520e83004bcf716fae85ae6a
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
1ce4f66d74
TT#136955 trigger DTMF state also when decoding DTMF to PCM
Change-Id: I8a8522ecd5d370bac7f4f8846651362efccf190e
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
975cd33a9c
TT#136954 switch pcm_dtmf_detect to bool type
Change-Id: Ia78c2123bd5094e12895e82223ded49921efcbe2
4 years ago
Richard Fuchs
a22c3a5a1f
TT#136952 add CLI command to set delay buffer
Change-Id: I469ce986dd0fc2d4300de5901d7e15a568267755
4 years ago
Richard Fuchs
19a5d3cdb0
TT#136953 use delay_buffer for passthrough streams
Change-Id: I7e740f0bb3b45a500f316bbafab549ee5c9ae5c6
4 years ago
Richard Fuchs
8e8e78afb1
TT#136952 add new delay_buffer struct
Change-Id: I8b3b663d3688f1872b059791381fc8e2034c7293
4 years ago
hdikme
85ec0faf9e
TT#14008 send NG command stats count to Graphite
closes #1429
Change-Id: Iefd9fcfc7ac86ee04024be03aff86cfafd5b3fc5
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
aad3fb3130
TT#157801 support "any" interface config
Allow usage of "any" as interface config option to configure any and all
locally present network address, except loopback. This allows us to ship
a working default config file.
Change-Id: Ic13efd5f668e3bb317948b226c5700331f95a708
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
Richard Fuchs
37323545bd
TT#14008 suppress ICE attribute warning
Change-Id: I21f0cc7dbf087888b12cb0c1272e21015f364f30
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
3535d96fda
TT#136957 fix TS tracking with supplemental codecs
Supplemental codecs such as DTMF use static timestamps while the event
is ongoing, leading to a TS jump when the RTP flow changes back to
audio. The sequencer needs to be aware of this so it doesn't mistakenly
see the next audio packet as overdue and starts to process it
prematurely.
Change-Id: I2faea9aceec21fc04920f6c3c94141725383379f
4 years ago
Richard Fuchs
f79593ecc9
TT#136957 use output PT clock rate instead of encoder clock rate
... for scheduling output RTP packets. This is mostly relevant for DTMF
packets which don't have an associated encoder when being forwarded.
Change-Id: I56ee94a9ac7f42cc65eec0703bf042065687e43f
4 years ago
Richard Fuchs
912524abc7
TT#136957 use scheduled timestamp when running timers
Change-Id: Idcd17785dca7e7ae63b6b2ec39d3fe705d4f945e
4 years ago
Richard Fuchs
757cee2125
TT#136957 correctly schedule send-now RTP packets
Change-Id: Ie96324329dae131f24784916911189dd8cf3d6b8
4 years ago
Richard Fuchs
9be9ceb8f9
TT#156052 set `destroyed` TS also for delayed deletes
Change-Id: Ib55a9a63c2bdf0bdcc71717ac73af917c933950e
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
970757da2b
TT#156052 add call duration metric to Prom
Change-Id: I734e9d4bf08f5b5559decb546ac150bc6bf981ac
4 years ago
Richard Fuchs
49b79e8b2f
TT#156052 use `destroyed` timestamp for call duration stats
Change-Id: I464269ffc85c7552e38abdbe326c8675b3175f19
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
Stefan Mititelu
7adf6ace92
Add 'seconds' to some stats duration
4 years ago
Richard Fuchs
9c0d233a46
TT#14008 support SRTCP with generate-RTCP
Change-Id: I279d26745278b12bc818e36589324828d7883a3f
4 years ago
Richard Fuchs
aea33b77fe
TT#14008 switch must_recrypt argument to bool
Change-Id: I27d7f31adb62a2fd099268ea9a82c4384bfe78a2
4 years ago
Richard Fuchs
219982ba06
TT#14008 call g_string_set_size before grabbing pointer
closes #1412
Change-Id: I02f97aa05788401586848cb36421f65828968864
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
00438148ae
TT#14008 improve pseudo string hash for YCM
Change-Id: I405694b3ea3b3c71a4414fe66383aa05275d171d
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