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
84fed5ca7e
TT#136957 obsolete TRANSCODE flag
...
Change-Id: I7307b63a8f5a10aa3b5c98fb48218bcc7a123441
3 years ago
Richard Fuchs
2240921ab3
TT#136957 use separate sequencer per sink/destination
...
Change-Id: Ib960108003d5aa13ba1732d7a5e8c6720feca5c0
3 years ago
Richard Fuchs
c0d9f84e49
TT#14008 rename instance of `func` for clarity
...
Change-Id: Ie61bc4e9ea8bcd4fdf540cce67acb8032eecff63
3 years ago
Richard Fuchs
7836035f3f
TT#14008 fix double mutex unlock
...
Change-Id: I6098b6f01141e8fb6967f74538416ccede471fa3
Warned-by: coverity
3 years ago
Richard Fuchs
60fe7104e7
TT#14008 fix possible unintentional integer overflow
...
Change-Id: I9dacb34cf92d461029bfb393a251736676431fc7
Warned-by: coverity
3 years ago
Richard Fuchs
3582b623a9
TT#136957 DTMF delay support
...
Change-Id: I62dce272a1acc0a9a3b6b8c37df68a18357dbee4
3 years ago
Richard Fuchs
1ef4eeba80
TT#136957 split up DTMF event queue into in and out
...
Change-Id: I2e0619071d43df8537736187104ca12bb2f86f64
3 years ago
Richard Fuchs
c794c00efa
TT#136957 refactor DTMF event tracking into a list
...
Change-Id: I09aec46cad4cbb92aab67b7e9158d4d1598df186
3 years ago
Richard Fuchs
2ca64340e1
TT#136957 support DTMF triggers for blocking
...
Change-Id: I32e0d02e739ceb5a34aaf187b1ea086482e6d73e
3 years ago
Richard Fuchs
6ac4f12c01
TT#136956 add more options for DTMF replacement
...
Change-Id: Ic78a34042ad664bd54e35647636864ea99e60385
3 years ago
Richard Fuchs
576774614b
TT#136956 add support for DTMF-security=zero
...
Change-Id: I48d612697ac3f89852b2b7374cf6e442e4a8222e
3 years ago
Richard Fuchs
9da5a46fcb
TT#136956 support DTMF-security=random
...
Change-Id: I4100c1511be743901d302491238872990f213118
3 years ago
Richard Fuchs
38f97c2df8
TT#136956 support DTMF silence replacement
...
Change-Id: If693800a955a9ddf7245da0082426ae609deb407
3 years ago
Richard Fuchs
478c2608e8
TT#136956 upgrade `block_dtmf` to enum to allow for different modes
...
Change-Id: I8bfa1cb9067a00958a2a1415b82e01c02deaf758
3 years ago
Richard Fuchs
ba556db1d4
TT#136955 tie in DSP DTMF events with other DTMF reporting
...
Change-Id: I72fe6b670c42fe4ed6ba32a1fd142c290b2aaca2
3 years ago
Richard Fuchs
fdb529eb5a
TT#136955 refactor DTMF event reporting
...
Change-Id: I420f56674a639a4b41b5333d8d9b8ffa843a7042
4 years ago
Richard Fuchs
24f607752c
TT#145450 add support for tracking multiple SSRCs per stream
...
Change-Id: I885fbf7973133af8d7c9184eb0e75f5401309c8e
4 years ago
Richard Fuchs
92fb330a46
TT#91151 implement one-to-many forwarding
...
Change-Id: I80fd35da680d4ad1f4d3d21f14f11363106b9917
4 years ago
Richard Fuchs
1e0765bf6e
TT#91151 tie codec handlers to output media/sink
...
Change-Id: Id577f9afabbe5645a6e220b6450c39a35ff839a9
4 years ago
Richard Fuchs
1d387b98ef
TT#112700 rework codec offer/answer routine
...
Complete overhaul of the codec handling code:
*) obsolete flags `asymmetric codecs`, `symmetric codecs`, `reorder
codecs`
*) support proper codec offer/answer
*) split codec manipulation (strip/offer/accept/etc) into separate
functions for clarity and better code maintenance
*) fully update codec handlers in both directions after an answer
*) explicit allocation and handling of codecs and payload types in a
codec_store object
*) improve codec matchup logic during answer
*) more explicit handling of supplemental codecs (CN/DTMF)
*) remove now obsolete hacks for handling certain use cases
Change-Id: I996705ba8fe339524c2f70e6bb0fd854f9a1f4fb
4 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
4 years ago
Richard Fuchs
b734fc080e
TT#14008 fix integer handling (overflow/sign) issues
...
Warned-by: coverity
Change-Id: Ia473075046253b2ffcf65344f65469772e6df993
4 years ago
Richard Fuchs
6527fb513c
TT#111150 fix an SSRC reference leak
...
get_ssrc_ctx() returns a new reference to the SSRC object, therefore we
must release the referece when we're done with it.
Change-Id: I0db07e4cca49a37af68d072ac6d0630c025b8809
4 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
4 years ago
Guillem Jover
a8a0adb759
TT#111150 Remove tautological test in dtmf_inject()
...
The tracker.most array is of unsigned char, so pt which gets
unconditionally assigned will always be >= 0.
Change-Id: I8adc06fc6c65aa0e33ef6614eb77c67b0dc07517
Warned-by: lgtm
4 years ago
Richard Fuchs
af6ef843da
TT#100200 suppress audio packets during a DTMF event
...
Change-Id: I9612d692c3c6945c93b3194760383e67e5bca0e0
4 years ago
Guillem Jover
6a9d61dffd
TT#108003 Check send() return code for DTMF UDP logging
...
Log an error and continue anyway if the send() failed, this is just
logging.
Change-Id: I542385489f8e37e6e524b766371fed3ba558ff2f
4 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
4 years ago
Richard Fuchs
e8aac8272c
TT#91003 add media_out pointer to media_packet
...
Change-Id: I21c76fef05d6af394f09476e9761c439e7a0da44
5 years ago
Richard Fuchs
e04fb03787
Recrypt SRTP for DTMF logging
...
Change-Id: Id877b8464e99cfd5dca728a01fcdc3ffc654d698
5 years ago
Richard Fuchs
e25d0b99c5
TT#82100 hunt for usable payload type for DTMF injection
...
Change-Id: I8e303c96a2a398bc389860891c9d23b6f7d5396c
(cherry picked from commit 7553a9150d587c1dfcaea56b6be641fceb77488f)
5 years ago
Richard Fuchs
2ef93af892
TT#79601 fix possible crash when injecting DTMF
...
Change-Id: I3bfdd7085d193a4e1b6719313b64ed70c1dca7a8
5 years ago
Richard Fuchs
2e4617ff86
TT#78307 move SSRC send stats to actual point of sending
...
Change-Id: I54ff4afeb8b3a205a678e9102fb0d8cedee78bae
5 years ago
Richard Fuchs
4d99ba8f09
add missing header
...
closes #856
Change-Id: Icbd24a68969142179dfcf1943a7bd8d95ff5be1b
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
65fb99b31d
TT#66650 fix some SSRC refcount leaks
...
closes #841
closes #838
Change-Id: If96a3295ecc504c5e94eb113063cc20da7fb541e
6 years ago
Richard Fuchs
b14f3b2b1c
TT#64259 support injecting DTMF tones and events
...
Change-Id: I07aa7690146db5b41be479a67aaafbd66aec4033
6 years ago
Richard Fuchs
49f6a88086
TT#64259 add function to convert DTMF codes and chars
...
Change-Id: I0b36263033a8614fa448fd4c37dbbc62b516d40a
6 years ago
Razvan Crainea
8fb603e5c3
dtmf: prevent freeing json buf too early
...
When both logging and sending the DTMF event further, the json buffer
was released/freed _before_ being sent on the network, resulting in a
0-length UDP packet. On the other hand, if only UDP sending was used
(without logging), a leak was happening. This commit fixes both issues.
6 years ago
Richard Fuchs
fcb08df0ae
TT#59805 add dtmf-log-dest option
...
Change-Id: Id6f7ce7fa627b138e0b0ea3d410b8af53532b290
6 years ago
Richard Fuchs
910c03fa62
TT#58660 PCM to RFC DTMF transcoding
...
Change-Id: Iea6a11c0caad1f5e7dcca966101e2969d3516b6f
6 years ago
Richard Fuchs
c0781e5193
TT#58659 RFC DTMF to PCM transcoding
...
Change-Id: I32fa876940131e3a18f611e2a518f7acd1327665
6 years ago
Richard Fuchs
a9ec666cb4
TT#38350 implement sending DTMF events to syslog
...
Change-Id: I82fbdc7da6cbe2505ef1c98dd3c45b63c4461994
7 years ago