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
5 years ago
Richard Fuchs
f04332915b
TT#91151 add publish/subscribe commands
Change-Id: I1842b89efea7fa3af0bd4d045e49da31285cd0e1
5 years ago
Richard Fuchs
413798e43f
TT#132251 implement media silencing
Change-Id: I0902bd72e2733b96ff75bcf52856a58c51a750f6
4 years ago
Richard Fuchs
99fbff408e
TT#14008 fix call iterator dead lock
... almost there ...
Change-Id: I3261ec91ac7481bb275bbb4f9841747938706e61
4 years ago
Richard Fuchs
0266886487
TT#37394 support SO_INCOMING_CPU
Change-Id: I8017929519cc3b721272cc122bee4fdc36c7317a
4 years ago
Richard Fuchs
cda67ac5ac
TT#14008 fix call iterator race condition
The contents of the ->next element cannot be accessed completely lock
free as they're zeroed out during call removal. Instead grab a reference
to the linked next call before releasing the lock, and also lock the
next element before moving on. This requires a more granular locking as
not to interfere with call removal: One lock to protect the contained
call and the ->next, and another to protect the ->prev
Change-Id: I5474ea3f88e3276f93ba62a952b3be13c0c182e9
4 years ago
Richard Fuchs
5c519ec2db
TT#89352 allow create-only mode for call_get_*
Change-Id: I4dd760b14ef1c91d463a2390ff3c52d71acedf4a
4 years ago
Richard Fuchs
765b1e3bca
TT#89352 use bool type for foreign call functions
Change-Id: If8d5e28db534e6aeaaffb885e732e2bdd7338831
4 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
4 years ago
Richard Fuchs
00c6dfb204
TT#91151 add function to create synthetic SDP
Change-Id: I7c4698a61c380efc8043444e255f8d5a1c7f0c6d
5 years ago
Richard Fuchs
ffaed806c3
TT#91151 save raw protocol string
Change-Id: I21bee5b28522ef01fa5902c0b1fc69e2cade8434
5 years ago
Richard Fuchs
d0c6919923
TT#91151 save last input SDP w/ parsed
Change-Id: I561371fe83b1aea65e3ae3f8b60ceb9250923a23
5 years ago
Richard Fuchs
92fb330a46
TT#91151 implement one-to-many forwarding
Change-Id: I80fd35da680d4ad1f4d3d21f14f11363106b9917
5 years ago
Richard Fuchs
3b3979586f
TT#91151 move `num_ports` into stream_params
Change-Id: I8f20f07f092204a70917c3d180adc13fb7b44da1
5 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
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
dd58a1a42d
TT#14008 reset SRTP index on endpoint change
closes #1277
Change-Id: If951bc8abdfb1cec88abf5fc6e36d48aff575e98
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
95a30674ac
TT#14008 implement lock-light global call iterators
Change-Id: Ie01eb06262267a1aa0b69f632a515d5271bafb52
5 years ago
Richard Fuchs
5c50ec2bbe
TT#14008 convert RTCP timer and DTX to regular timer
Change-Id: I7f9e1e586e237d6b40ee250ed149cb21eae87f95
5 years ago
Richard Fuchs
0e2bddb6c8
TT#14008 add `pierce-NAT` flag
Change-Id: I1ec9b0ba152939cb6dc079e0047040da862945dc
5 years ago
Richard Fuchs
a009f76456
TT#14008 support media echo and blackhole
Change-Id: I9df4680188709867db2b61d97cc5f1e30c59e0d7
5 years ago
Richard Fuchs
87e5efc7d4
TT#111150 fix mem leaks in test-transcode
Change-Id: I3a796184e64b1fc1f760b53fe7d1855997ab8b72
5 years ago
Richard Fuchs
a8d5076065
TT#119502 correctly restore calls from both Redis instances
Change-Id: I713d7e8ba0a7d14f5ef9016d33619df91ce6ec32
5 years ago
Richard Fuchs
a86d98f8d1
TT#118902 add support for per-call debugging
Change-Id: I9b0eab21ff4e5c241ff045049ccd37f6044d5707
5 years ago
Stefan Mititelu
482e2d0d2b
Add stats for ipv4/ipv6/mixed media calls
Also Send stats for ipv4/ipv6/mixed media calls to graphite
5 years ago
Richard Fuchs
8029a4d1cd
TT#113750 don't auto switch from an already selected fingerprint
If we receive an SDP with a DTLS fingerprint, by default we adopt the
hash function used for that fingerprint in subsequent communication with
that peer. However, if the SDP is an answer, and we previously used a
different hash function in the offer towards that peer, then a later
re-invite offer would be sent with a different fingerprint, causing an
unexpected DTLS restart. Instead, make sure we don't change fingerprints
if one was already sent.
Change-Id: I603bb86ce2d7121556c161749ed08128dd0b63b2
5 years ago
Richard Fuchs
3791b8f595
TT#107565 add `replace-session-name` option
Change-Id: I10d89f3bf8e88fb953cc7cc7fffae056bf0092c3
5 years ago
Richard Fuchs
fc83f64575
TT#107565 add `replace-username` option
Change-Id: I89dd560789adde4d96fa6a6f314b1c3c81a5a47b
5 years ago
Guillem Jover
68797f4195
TT#111150 Mark bit-fields explicitly with as unsigned
Whether a bit-field is signed or unsigned is implementation specific, so
we should be explicit about this.
Change-Id: I744df3d24bc08e95fa816ba4135f19cd3a5dcb17
Warned-by: lgtm
5 years ago
Richard Fuchs
76d5828c82
TT#91151 explicitly keep track of zero endpoint addresses
Change-Id: I6044cddc7d997848715df6701fd8a61a1e0bf289
5 years ago
Richard Fuchs
36273e1f5d
TT#107565 add option to track SDP version
Change-Id: Ifb3ca589742a4ad0cc83982d6e42bf692a2c98db
5 years ago
balajeesv
ffc9e34e14
TT#14008 Squashed commit of the following:
closes #1134
commit 1cdf8d5084
Merge: 2fc54462 cc4d049f
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Feb 1 11:19:43 2021 -0500
Merge branch 'jb_disable' of https://github.com/balajeesv/rtpengine into balajeesv-jb_disable
Change-Id: Ic01bbeb776d8ac0f3ebb46ae0a263243828443bb
commit cc4d049fab
Merge: 2f935206 9deedea1
Author: balajeesv <balajee.sv@gmail.com>
Date: Fri Dec 11 23:15:48 2020 +0530
Merge branch 'jb_disable' of https://github.com/balajeesv/rtpengine into jb_disable
commit 2f935206de
Merge: f553a9e5 7c3d2e01
Author: Balajee SV <41125423+balajeesv@users.noreply.github.com>
Date: Fri Dec 11 23:12:27 2020 +0530
Merge branch 'master' into jb_disable
commit 9deedea1c4
Merge: f553a9e5 7c3d2e01
Author: Balajee SV <41125423+balajeesv@users.noreply.github.com>
Date: Fri Dec 11 23:12:27 2020 +0530
Merge branch 'master' into jb_disable
commit f553a9e582
Author: balajeesv <balajee.sv@gmail.com>
Date: Fri Dec 11 22:47:46 2020 +0530
rtpengine: Disable jitter-buffer per call in offer
Change-Id: Ib4443a0d66c78749e24f3d2cb48c991e408e21fd
5 years ago
Richard Fuchs
97a1c218fa
TT#106101 handle out-of-order ICE fragments
Change-Id: I6b16474d505a40055b06d215e4cc6c5391214613
5 years ago
Richard Fuchs
ba66e5fa3a
TT#99621 support RTCP generation
Change-Id: Iff832eaa4148cce4d87d24d4dc3b908dfa361770
5 years ago
Richard Fuchs
260a170524
TT#81212 add trigger to set all calls to own or foreign
Change-Id: I9ee69680bccd79bae19332189a8531eaa2f6950b
5 years ago
Richard Fuchs
c9140f9f66
TT#81212 add function to change call state (own/foreign)
Change-Id: Ia9010c270839832abbb0d7b7742a4bf8cda1d538
5 years ago
Richard Fuchs
1d34c40276
TT#101201 support optional ICE-lite mode
closes #1106
Change-Id: I4a83ed2630889d8b17a0c40d971ec7946c1ed3a2
5 years ago
Richard Fuchs
8d7badcf02
TT#101201 rename ICE_LITE flag
Change-Id: Icc5a74b53572f1eb26689a23b31d37ee2891ecef
5 years ago
Richard Fuchs
68ccc52b2b
TT#92250 postpone codec_tracker to final stage
Change-Id: I222f705e53fc95f56da40cf927197afcb2ee5107
5 years ago
Richard Fuchs
6fc9459016
TT#91003 handle AMR CMR
Change-Id: I9fdb58359c25b3fcedf25872c98ac8ff582fa488
5 years ago