Richard Fuchs
1ccb8de7bc
TT#14008 fix warning as `value` cannot be NULL
...
Change-Id: I011eacbd95fafc7f5d13a40851753acc448ef2fc
Warned-by: coverity
4 years ago
Richard Fuchs
c1d238b014
TT#144701 extra warnings for unknown flags and keys
...
Change-Id: I1ca4939f6ffce040b9d4558f699207a0411eda35
4 years ago
Richard Fuchs
3582b623a9
TT#136957 DTMF delay support
...
Change-Id: I62dce272a1acc0a9a3b6b8c37df68a18357dbee4
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
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
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
2e5a5f63c4
TT#147451 rename helper function
...
Change-Id: Id2ea3f4d9a495018319d7f8fc3b97d56ad35defe
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
a3f2781acd
TT#147451 refactor media_block_match
...
Change-Id: Id4094e59100d05f3e6afa5f923aa55e1c8ddba4d
4 years ago
Richard Fuchs
9c2b53b3ed
TT#147800 don't clutter output dict with empty SSRC entries
...
SSRC entries might be present for the same SSRC in multiple contexts,
but only one of them will hold the actual stats. Don't create output
SSRC entries unless we know they won't be empty, as otherwise we won't
be able to create the actual SSRC entries (with stats) later on as they
dict key will already exist.
Change-Id: I54e263a17e14869ebb98456963f8ca75d11e9a89
4 years ago
Richard Fuchs
271a2a2a54
TT#14008 fix local SDP copy incorrectly returned from function
...
closes #1405
Change-Id: I12ba3970d7991a966f9403dca13a57bd0ef5120e
4 years ago
John Burke
fab19ed8bb
Add support for endpoint-learning on a per call basis
4 years ago
Richard Fuchs
24f607752c
TT#145450 add support for tracking multiple SSRCs per stream
...
Change-Id: I885fbf7973133af8d7c9184eb0e75f5401309c8e
4 years ago
Richard Fuchs
c5dc3484ae
TT#131402 split up relay stats between kernel and userspace
...
Change-Id: I9e5a82e5817829d8a1b17e6828bb0594fbc8df08
4 years ago
Richard Fuchs
facb4b54db
TT#101150 obsolete redundant fields in struct totalstats
...
Change-Id: I75d8bb1890ce35faac271550a1f9aff0f24ce624
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
3f69a48f07
TT#14008 add NAT-wait flag
...
Change-Id: Icfbacc3094ee20955eb50ad9f9c487e9b9a239b9
5 years ago
Ricardas Stoma
d1e2720b39
TT#14008 show codec name in media stats
...
closes #1347
Change-Id: Iba796f585ae93a17347dea96f91472a60bf32b60
5 years ago
Richard Fuchs
6f0439daf3
TT#14008 avoid duplicate bencode dict keys
...
Multiple untagged monologues can exist at the same time which would lead
to a broken bencode dictionary. Instead use a pseudo label to
distinguish them.
Change-Id: I0f41c42df8ec17c1c4fb5cc6451ea039612e505f
5 years ago
Richard Fuchs
2130e2f62b
TT#89352 support Janus control protocol
...
Change-Id: I0a6d5fc93c5fa505390408043feeca3f5cf61181
5 years ago
Richard Fuchs
f0b1906809
TT#89352 add option to strip a:extmap
...
closes #1271
Change-Id: I17e177b96983798f693f162c45643b5a82258278
5 years ago
Richard Fuchs
1fd62d6857
TT#91151 populate "created from" for published calls
...
Change-Id: I01eacb87dc645615337b10814666c0d108ba9ac9
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
5 years ago
Richard Fuchs
de85d4b674
TT#128050 parse and document `reuse codecs` flag
...
Change-Id: I335ed8f699722c568566076190d1a255a6e57211
5 years ago
Richard Fuchs
08fee992d1
TT#89352 add support for trickle ICE offer
...
Change-Id: I772e2ee44e5c206cccdd133d426545822e22850d
5 years ago
Richard Fuchs
456d7ce243
TT#14008 allow some upper/lower case alternatives for consistency
...
Change-Id: I37afcdd4552d86e8d7eed3e949b4e9b97f56f292
5 years ago
Richard Fuchs
3f8892082d
TT#121752 fix compiler warning
...
Change-Id: Icf076b6715c243fd73fdb753a280b19e54fcf9d8
5 years ago
Richard Fuchs
c06c51ded4
TT#121752 restore SSRC output per call in NG stats output
...
This restores backwards compatibility with existing code parsing the
output, e.g. Kamailio to report MOS stats.
Change-Id: Ibafb2a7a3cf118166ffe1cca9a62a06b63252944
5 years ago
Richard Fuchs
5c519ec2db
TT#89352 allow create-only mode for call_get_*
...
Change-Id: I4dd760b14ef1c91d463a2390ff3c52d71acedf4a
5 years ago
Richard Fuchs
765b1e3bca
TT#89352 use bool type for foreign call functions
...
Change-Id: If8d5e28db534e6aeaaffb885e732e2bdd7338831
5 years ago
Richard Fuchs
432cf82f71
TT#91151 use auto cleanup for call unlock/unref
...
Change-Id: Ife9bac7b077fe5036147873992a044d663a83300
5 years ago
Richard Fuchs
18601d708f
TT#91151 pass opmode to media_block_match()
...
Change-Id: I8e61de3f28faa1eaa5e6cabe29b5fd6195204ce6
5 years ago
Damir Nedžibović
cc09099660
Squashed commit of the following:
...
commit d15fd4a547
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Tue Jul 6 14:07:42 2021 +0200
Also free the character data.
commit 8869187215
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Jul 5 16:11:32 2021 +0200
Make documentation and parameters consistant.
commit 4b15aea2ee
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jun 10 15:34:00 2021 +0200
Update documentation.
commit 6ec1b3035d
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jun 10 15:33:12 2021 +0200
Do not use metadata for setting the recording file; use output_destination instead.
commit f65a76e8a3
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Wed Jun 9 15:56:02 2021 +0200
Only append file extension if skip_filename_extension is not set.
commit 92e9d7c679
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Wed Jun 9 14:12:48 2021 +0200
Rename the option to better match its usage.
commit 11128bff49
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Wed Jun 9 13:19:10 2021 +0200
Implement support for seting an output file and folder per recording.
Change-Id: I1579d62467eaf06a7aa1ac11e59dbb374f150deb
5 years ago
Richard Fuchs
94a5feea7d
TT#111150 fix coverity warnings
...
Change-Id: I330d5137d38017641bdda71e8bd014c358c432fb
5 years ago
Richard Fuchs
d0c6919923
TT#91151 save last input SDP w/ parsed
...
Change-Id: I561371fe83b1aea65e3ae3f8b60ceb9250923a23
5 years ago
Richard Fuchs
fc0bbf1079
TT#91151 switch str_init_dup to g_malloc
...
This makes it possible to use buffers returned by GString
interchangably.
Change-Id: If15a5c0be2743dde7230b2f3d3ca6780d633622b
5 years ago
Richard Fuchs
72bb874cc5
TT#91151 switch SDP parsed vars to auto cleanup
...
Change-Id: Iee3a76c6224c4524fce7da15be8ad65d6f020aa7
5 years ago
Richard Fuchs
92fb330a46
TT#91151 implement one-to-many forwarding
...
Change-Id: I80fd35da680d4ad1f4d3d21f14f11363106b9917
5 years ago
Richard Fuchs
1e0765bf6e
TT#91151 tie codec handlers to output media/sink
...
Change-Id: Id577f9afabbe5645a6e220b6450c39a35ff839a9
5 years ago
Richard Fuchs
ecb0da8e4a
TT#91151 move `sdp` parsing to generic flags parser
...
Change-Id: I7441b97e9fc87e250880b2851868efa531c149c1
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
95a30674ac
TT#14008 implement lock-light global call iterators
...
Change-Id: Ie01eb06262267a1aa0b69f632a515d5271bafb52
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
Guillem Jover
adbd071c14
TT#111150 Do not use old-style declarations
...
Change-Id: I08a702ebfbcc5d3ac1dca284abdaa3f6567b9272
Warned-by: gcc -Wold-style-declaration
5 years ago
Richard Fuchs
dbf79cb762
TT#14008 allow re-invites for calls when load limit is hit
...
closes #1241
Change-Id: I698f57d1bc9fe77d8c95530beefbdb112165adfc
5 years ago
Richard Fuchs
a86d98f8d1
TT#118902 add support for per-call debugging
...
Change-Id: I9b0eab21ff4e5c241ff045049ccd37f6044d5707
5 years ago
Richard Fuchs
5802ff2379
TT#54762 add option to enable automatic active/active switchover
...
Change-Id: Icddeb28cab72974d9dad0a241775a0763a56b027
5 years ago
Richard Fuchs
ac71e81e54
TT#118350 add SDES=static option
...
Change-Id: Id34d4fe31e58acfae31d8e5d30abec1837c4f808
5 years ago
Julien Chavanton
49786d049f
adding cumulative number of packets lost
5 years ago
Julien Chavanton
3d5e586c69
mos average fix when missing RTT
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
Richard Fuchs
eb1157d386
TT#112250 don't change ports when endpoint is talking ICE
...
Change-Id: I0e60534d6d3cb62d25b8d865da02c3472cf0994e
5 years ago
Richard Fuchs
1785f70637
TT#91151 add new replace-zero-address option
...
closes #1185
Change-Id: I8cf6f4ff043649255dafa93b28fcb2127ce4d2bb
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 1cdf8d50844baa27513c51a552504a8406ca17a4
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
ae82034dfe
TT#99621 add option to disable RTCP generation
...
Change-Id: Ifed6d255dd9d3ec5bc38a79a8f71da59d98243ea
5 years ago
Richard Fuchs
97a1c218fa
TT#106101 handle out-of-order ICE fragments
...
Change-Id: I6b16474d505a40055b06d215e4cc6c5391214613
5 years ago
Richard Fuchs
28e0620c80
TT#106101 turn bencode buffer into shared refcounted object
...
Change-Id: I6d8e443d8b0fc7e9afe0a6f6b3cde3d1a85e42de
5 years ago
Richard Fuchs
604aa5a9a0
TT#92250 add new reorder-codecs flag
...
Change-Id: I93587b6675540438f81193896ae8d8966b3a12a6
5 years ago
dvillaume
e4e3112498
TT#14008 support repeat-times in media player
...
closes #1159
Change-Id: Idf177b3e9d674d220b9c73a46ecd58453c6e3b39
5 years ago
Richard Fuchs
71d02ff486
TT#101653 retire always-transcode flag
...
Change-Id: I845c4b2f811c2945c9015cdf4570036f3a26b81f
5 years ago
Richard Fuchs
336cb5b280
TT#101653 add codec-consume and codec-accept options
...
Change-Id: Icac343b34881628118f2c36181be66db1c6286e0
5 years ago
Richard Fuchs
ba66e5fa3a
TT#99621 support RTCP generation
...
Change-Id: Iff832eaa4148cce4d87d24d4dc3b908dfa361770
5 years ago
Richard Fuchs
2f5cd2fcee
Merge branch 'rtt_per_call_leg' of https://github.com/jchavanton/rtpengine
...
Change-Id: I8610c5144015abc2628cf8c5ab136d5baece1265
5 years ago
Richard Fuchs
aa5e024417
TT#81212 mark calls as owned upon activity
...
Change-Id: I770d759e11e3ca10c6d879b0e8204ee2bc37bf72
5 years ago
Richard Fuchs
260a170524
TT#81212 add trigger to set all calls to own or foreign
...
Change-Id: I9ee69680bccd79bae19332189a8531eaa2f6950b
5 years ago
Julien Chavanton
e1847cadc5
RTT per call leg
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
d78be3997b
Merge branch 'master' of https://github.com/smititelu/rtpengine into master
...
Change-Id: Id3b571931e4fdb35d7889aa186b46ed967e2f157
5 years ago
Stefan Mititelu
cf1721c930
Fix compilation when transcoding disabled
5 years ago
Richard Fuchs
6ccfd14530
TT#94201 change default ICE= behaviour, add new =optional flag
...
Change-Id: Ie510bc05879c91eb1a0c7d7351461a63056ba410
5 years ago
Richard Fuchs
65cf46bc0a
TT#94201 convert ICE= options internally to enum
...
Change-Id: I3d7a6049cd7ab8e95da56820ccd3f2981ef03bc5
5 years ago
Richard Fuchs
95b814553b
TT#94201 add ICE=default option
...
Change-Id: If10e0aa284cc7cc5c1e69855733835bd5b52da31
5 years ago
Richard Fuchs
e67eb7b57f
TT#94201 add explicit passthrough flags
...
Change-Id: Ib5015011320490c0bf63b3c8bed9e6caadfa8953
5 years ago
Richard Fuchs
5ad4a59ea7
TT#97302 add new flag to select DTLS fingerprint algo
...
Change-Id: I48d9bf7184a860ca6f8f488076fe2859db6018f2
5 years ago
Richard Fuchs
653b09ca93
TT#92250 add `single codec` flag
...
Change-Id: I7c84e1f906fec93ed624d2fb4a4d9e9bfc9b4109
5 years ago
Richard Fuchs
1bc43aa506
TT#92250 allow codec-strip/offer/except also in answer messages
...
Change-Id: I9a8dcb3ec83b7037ffa0017a810de506bfa5a356
5 years ago
Richard Fuchs
241c78c915
TT#92250 add codec-except option
...
Additionally allow `except` and `offer` (and `transcode`) to revert
masked codecs.
Also adds `mask=full` and `strip=full`
closes #1054
Change-Id: I93a2891f2a0b9d324f6804e38f992be73c46211a
5 years ago
Doug Rylaarsdam
995375f500
Add support for metadata in stop_recording.
...
(Issue #1075 on sipwise/rtpengine)
6 years ago
Richard Fuchs
25609f74da
TT#91003 support `=` escapes in codec strings
...
Change-Id: Id974f40e12b33e1f299fac15e25decd741c98fb3
6 years ago
Richard Fuchs
12ac8846de
TT#90101 don't blindly accept a protocol switch in an answer
...
An endpoint switching protocols is normally passed through to the peer,
but in an answer that is usually not desirable. Change the default
behaviour to stick to the original protocol that was offered even if the
answerer changes protocols.
Change-Id: Ib288549f4b1c9ab57a6333c6b7dd511537af96f7
6 years ago
Richard Fuchs
ec061bba6f
TT#84804 add new DTLS-reverse flag
...
closes #1038
Change-Id: Ic58b3e3c3d1fec75a2c6ea9ddb260141d9a2831f
6 years ago
Richard Fuchs
a3b298e11c
add local address/family to NG stats output
...
closes #1004
Change-Id: Iba93d9200791eaade6e6f7bc9e2b5939fadf983a
6 years ago
Stefan Mititelu
8ba5d162dd
Fix Valgrind "still reachable" for a few others
...
log, ice, media_player, jitter_buffer,
statistics, codeclib, call_interfaces
6 years ago
attermann
74f5676c87
Made hash tables for flags case-insensitive.
6 years ago
Stefan Mititelu
6043d15ea0
Add drop-traffic=start/stop flag
...
Useful when someone needs to:
- completely drop early media, but stop dropping after call is answered.
- completely drop initial invite media, but stop dropping after re-invite
6 years ago
Richard Fuchs
5caf47f51f
add missing SDES=pad parsing
...
reported in #976
Change-Id: I808c7f1cab2efec086081e4a1e9b8fb3a8143958
6 years ago
Richard Fuchs
5fc326c64b
TT#78001 support OSRTP
...
closes #951
Change-Id: I8cd21d60b16e357a57d0d505649b74f38f4ca0b3
6 years ago
Richard Fuchs
e59ccc2973
TT#79900 add SDES=lifetime option
...
closes #966
Change-Id: I462dabffb5c00387ab1b91cabf3fcb2be998f76e
6 years ago
Richard Fuchs
c1d29a41a7
TT#79601 support media/DTMF playback to all parties
...
Change-Id: I534ba39c800e0b075c1502808a56b887baf3e323
6 years ago
Richard Fuchs
d611bbbb74
TT#78501 add T.38 options
...
Change-Id: I4f173f384db18e832c1d24a7015a836ec4215a96
6 years ago
Richard Fuchs
dfae8d6a22
TT#78201 add symmetric-codecs flag
...
closes #953
Change-Id: I848f501709f48927a7156033ccd42eacd742e2d8
6 years ago
Richard Fuchs
d872802ba2
TT#76711 T.38 <> audio gateway
...
Change-Id: I4552e07eee632fa730745410b08c3bf70ab67ab2
6 years ago
Richard Fuchs
068bdb224f
TT#65052 support adding pause after DTMF PCM
...
Change-Id: I0332ac2488f9d2d12ce4d84c3e8b60caf35d9c6c
7 years ago
Richard Fuchs
b14f3b2b1c
TT#64259 support injecting DTMF tones and events
...
Change-Id: I07aa7690146db5b41be479a67aaafbd66aec4033
7 years ago
Richard Fuchs
26b725d024
TT#45617 add new options to support log markers for sensitive data
...
Change-Id: I2ffa4da4be3a05f043e7991612bbb37d8102d91a
7 years ago
Richard Fuchs
357474df6f
TT#50652 add label= option to match call participants
...
Change-Id: Ifc6cf8f630e9e5eb8cfb9b284e671a5ce4470963
7 years ago
Richard Fuchs
fb76ef74f8
TT#54800 fix ptime overrides
...
Adds a new option ptime-reverse to complement setting of ptime towards
the offerer. This and ptime setting are now ignored in answers.
Change-Id: Icbc04f191cbc194b75b72a97832fcaba58feb10e
7 years ago
Richard Fuchs
9eea6b1fc4
Reverse participant matching logic
...
The from-tag may have been added to the message automatically, so we
should first check if any other flags are present, and use it only if
nothing else was found
Change-Id: Iec95d56812c31185ecd1171d01c922e7af0f5dd4
7 years ago
Richard Fuchs
7f5e16d3da
TT#50652 add stop_media call
...
Change-Id: I1b18a41d4b97ccbb83499873e50a797f846a8602
7 years ago
Richard Fuchs
7da2b523a7
TT#50652 return media duration to SIP proxy in play_media response
...
Change-Id: Ib09519f960b37ca41a554aa2779f71c91ef9b49d
7 years ago
Richard Fuchs
5b0a0105ef
TT#50652 support playing back media files from database
...
Change-Id: Ib21b6605553f67d6892ec8e2c75a7b0fca40936e
7 years ago
Richard Fuchs
831946a8d4
TT#50652 fix compilation for with_transcode=no
...
Change-Id: Ie65827be7e27a6f77019a983a1ce131c11b694d3
7 years ago
Richard Fuchs
21535faea6
TT#50652 support playing back media from memory stream
...
Change-Id: I400c4edbda4633abcff07319ce8cd0609b0021b1
7 years ago
Richard Fuchs
83965bdb1f
TT#50652 infrastructure to support reading/playing of media files
...
Change-Id: I8212f5c74bcb9557d41f80ef3a1595f53bafde8a
7 years ago
Richard Fuchs
0cccae445f
compile fix for with_transcoding=no
...
Change-Id: I6cf6b7d7bc60b21a74be2a7c6c6d11b13b954a04
7 years ago
Richard Fuchs
3b28460507
TT#52651 Squashed commit of the following:
...
commit 2029144368
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 21 13:12:50 2019 -0500
TT#52651 switch TCP to TLS
Change-Id: Iab6b05d3b5c88553cbd6f531f3189084d9e71995
commit b28e718ee4
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 22 09:20:54 2019 -0500
TT#52651 generalise streambuf interface
Change-Id: I7d5ab8ffe13e52d4dbb1901531cc13fcc173d60d
commit cb2dbd2a92
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 19 09:32:56 2019 -0500
TT#52651 add start/stop forwarding commands and party selection logic
Change-Id: I8ef7e288d3a3e485bd2fa14e1a2407a0c8d94bac
commit 442c48f627
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 14 15:43:23 2019 -0500
TT#52651 produce output for TCP forwarding feature
Change-Id: I18543921577faf655679829684f5af46c0af5054
commit 2ef8028eb2
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 14 10:18:21 2019 -0500
TT#52651 make recording to output files optional
Change-Id: I12c288b965641352658ce3b499c2ee90593e1322
commit 10a58cd7a0
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 13 16:02:16 2019 -0500
TT#52651 strip streambuf into lib and include in recording daemon
Change-Id: I1f6638961e9e767063e0b4e6b5d55d88799366d3
commit 9d3bb5bffc
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 13 15:40:12 2019 -0500
TT#52651 extract/move unrelated old legacy decoder struct members
Change-Id: Iffd79b43180c30a9e128a460f7ba85ba49dedeaf
commit 1bc38e4201
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 12 16:43:42 2019 -0500
TT#52651 config options for forwarding option
Change-Id: Ieaa2ee0e55a0c531158174bc6a534738a64dbee6
commit 06d61cd3dd
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 12 16:29:52 2019 -0500
TT#52651 move socket.[ch] into lib/
includes necessary re-shuffling of additional code pieces
Change-Id: I74b314ab5936ac8a0eeaff94e084617b59b28d79
Change-Id: I025e8ec86b90ede79565542dff57ec1559d04200
7 years ago
Richard Fuchs
e1d6c83319
ignore transcoding options in non-offer messages
...
part of the fixes for #681 (and encountered elsewhere)
Change-Id: I15752ad3183cc55d677eca80e11b000e0b069290
7 years ago
Richard Fuchs
744d6a46ff
add codec-set option
...
Codecs that were implicitly accepted for transcoding had no option to
set their parameters (such as bitrate) for encoding. The codec-set
option adds this.
fixes #681
Change-Id: Ib238eb73a507af168c366579abc80da07250fe88
7 years ago
Richard Fuchs
9e4d140e7b
TT#49045 add new flag to leave media direction attrs unchanged
...
Change-Id: I2dcafa3be9f8a0dfd7c1cf3e6046dabe9fa5bbee
7 years ago
Richard Fuchs
881e0dc2dc
TT#48800 add option to disable individual SDES crypto suites
...
closes #661
Change-Id: I3556977246d6e15bf134755e1d699e9165735886
7 years ago
Richard Fuchs
810bda1486
TT#48800 create codec hash tables only on demand
...
Change-Id: I255d6ed2b2bc650115f008d90baa0ebbaa524f68
7 years ago
Richard Fuchs
98de5697e6
TT#48650 use constant string hashing for string lookups
...
To avoid repeated strcmp()s and make use of switch()'s optimised binary
lookup, we employ a second build step that preprocesses certain .c files
and uses gperf to substitute pseudomacros with their respective constant
hash value.
Change-Id: Id89c4728a0fc7aa911691d4dd1ba8e7b3916a983
7 years ago
Richard Fuchs
9e6199c7b9
don't skip incomplete monologues for `query`
...
Change-Id: I54b957b08440d7d31b26ef7fe99a31073171ae82
7 years ago
Richard Fuchs
c61d7f129e
add new `full rtcp attribute` flag
...
closes #668
Change-Id: I1ee13d4121d0aa6dff46470327a6caba9b631d7d
7 years ago
Richard Fuchs
18ec141d2b
TT#45472 avoid an unnecessary implicit call to strlen
...
Change-Id: Ic45451ed3bab3d3724e4dadd43026529d3abc707
7 years ago
Richard Fuchs
d08d84071a
TT#45472 support SDP fragments for trickle ICE
...
Change-Id: I31880b5cf837a078bdb75e86dd425136bf829e4c
7 years ago
Richard Fuchs
3603cda0c4
TT#45472 fix indentation
...
Change-Id: Ibe64ae682f2c888897c4f9844db128b80e9d81e7
7 years ago
Richard Fuchs
a1efdf6b20
TT#45472 support generating a=mid lines if not present
...
closes #641
Change-Id: I849f0c73c5fdd575417a37a41d6701ea4454374b
7 years ago
Richard Fuchs
fb1083f8e3
Add option to leave base64 padding for a=crypto in place
...
closes #658
Squashed commit (plus docs and minor modification) of:
commit 4187cd3b2d
Author: Muhammad Zaka <muhammad.zaka@synety.com>
Date: Mon Nov 19 18:13:43 2018 +0000
removed unnecessary pad_crypto_def variable
commit 5c7b7c0ced
Author: Muhammad Zaka <muhammad.zaka@synety.com>
Date: Mon Nov 19 17:39:18 2018 +0000
add `pad-crypto` flag to not truncate trailing '==' after base64 encode
commit 98bea79902
Author: Muhammad Zaka <muhammad.zaka@synety.com>
Date: Fri Nov 16 10:59:47 2018 +0000
crypto containing padding should be sent within sdp for pass through
Change-Id: I1f7502f34e9492100e5c3a5a7345319ed996c22c
7 years ago
Richard Fuchs
326c6a5818
TT#43557 augment DTMF blocking to support directional blocking
...
Change-Id: I5d77b437fe746ac5f3b6c15d327755f9349b61d8
8 years ago
Richard Fuchs
04a83027a0
TT#43557 implement media blocking
...
Change-Id: I336cf7203c1236b3e596310690a89ce1c3fd8bf4
8 years ago
Richard Fuchs
e67b9c40da
TT#43556 support blocking of DTMF event packets
...
Change-Id: I7ef43ddb254b1583c2dc69b44a13b978eff15510
8 years ago
Richard Fuchs
cab9d895b2
TT#42500 fix only one crypto suite being offered.
...
We should offer all crypto suites that we support. If passing through
SDES, we should amend the list of crypto suites with all additional ones
that we support that weren't included in the received offer.
closes #577
Change-Id: I9b6c16e8eadecf01cdbc8043bd8361e0f683e456
8 years ago
Richard Fuchs
0aeb06f613
TT#40900 store metadata in call struct instead of recording struct
...
makes it possible to set the metadata before recording has been started
closes #579
Change-Id: I885a39fbc53345a4e9f2459f3cd972cb1198c210
8 years ago
Richard Fuchs
8562bdee70
support new `asymmetric codecs` flag
...
Change-Id: I244b3576be19658ecc2af353e427e95aea4fca70
8 years ago
Richard Fuchs
2f5d792aae
TT#36301 add `always-transcode` flag
...
closes #527
Change-Id: I0d8192cf93c49823f35a6307ccd8c77842fb51dd
8 years ago
Richard Fuchs
14ffd8feb0
TT#36303 support bandwidth usage resource limit
...
Also fixes logic for other resource limits
Change-Id: I263e097da5b5671826e0d92a28fb3a5c6f3ac193
8 years ago
Richard Fuchs
b4f65bdd96
TT#35634 add `xmlrpc-address` option for callback address
...
Change-Id: I9c040fc00242469dadbfef485f33e41e698164d1
8 years ago
Richard Fuchs
345836e90a
TT#35413 implement a CPU limit and a load limit
...
Change-Id: Ia0c605d17866c232353917f2980637fa7823dce4
8 years ago
Richard Fuchs
efcad1c628
TT#35413 add support for the 'load limit' ng protocol extension
...
Change-Id: I3f3897794050e0807f3cddb8044b3aa37b703d9c
8 years ago
Richard Fuchs
e84fd8612b
fix incorrect DTLS context being used with ICE
...
fixes #451
Change-Id: I4db956bd9e8234862a7dd3ee492a6ed2778150d3
8 years ago
Richard Fuchs
bc30929192
TT#32210 add codec masking option
...
Change-Id: I05f2bde978f628d398dd8046815fcfc3d5b42de2
8 years ago
Richard Fuchs
126a69f29c
TT#28163 logging and documentation improvements
...
Change-Id: Ib82b80c9ddcf557cd5ab6f99e693a5234471b1ac
8 years ago
Richard Fuchs
10c852b204
TT#31950 add compile-time switch to disable transcoding features
...
Change-Id: Ice0c019b8a07d4c941d14f47021dbb7b0eb68d3c
8 years ago
Richard Fuchs
266a1fbc8b
TT#31404 support custom ptime and repacketization for sampled codecs
...
Change-Id: I4db83cb8faa9b0234dd655f4bdc116a3ddb59f39
8 years ago
Richard Fuchs
b9206a49bc
TT#28163 abstractize SSRC hash
...
Change-Id: I2f28854070ad5a7567870ef7585e67729154b0e3
8 years ago
Richard Fuchs
d510f5efe8
TT#30404 initial support for adding codecs for transcoding
...
Change-Id: I58474ac2daee213d9f11157f61c2a3df90818fbe
8 years ago
Richard Fuchs
f801240164
TT#30570 replace "chopper" iovec with GString
...
Change-Id: I5097b5bf0bbdc8ff6cdada809183396c9cf05134
8 years ago
Richard Fuchs
1477f9796f
TT#29151 add 'loop protect' feature
...
possible fix for: #431 , #425 , #415 , #65
Change-Id: I12558681b7d292e3973d2ba024f30f1e236b3a57
8 years ago
Richard Fuchs
ca78747c8c
TT#30405 rename media->rtp_payload_types to ->codecs for brevity
...
Change-Id: If89d774a6ab62855118eec74d21123ba61b48e9e
8 years ago
Richard Fuchs
f625d48ed3
TT#30403 consolidate dictionary and alias "flags" values handling
...
Change-Id: Ic5f2e84f7482b8c98db8e08603d32955185549f2
8 years ago
Richard Fuchs
d7dd7421e6
TT#30403 implement codec stripping
...
Change-Id: I384aa353b43986656145c443e40a2b96f04c489f
8 years ago
Richard Fuchs
b8dbd997e9
TT#30403 consolidate NG flags processing functions
...
Change-Id: Id200b0f064b72d8e60a6a744f764a8bb63655014
8 years ago
Richard Fuchs
75056a8dd1
eliminate the callmaster struct
...
Change-Id: I9151dbe8f47b3bb9ab67d6fea2fc3783bdc558da
8 years ago
Richard Fuchs
f2b93f9ef8
move config options into global struct rtpengine_config
...
Change-Id: Ie566efb6a1b8bedbe33f768bc4cd979b2d2b46cc
8 years ago
Richard Fuchs
741140341f
move "totalstats" out of callmaster into global scope
...
Change-Id: Ia5b95e788c1d486a86b6f916dcff5b88022f5897
8 years ago
Richard Fuchs
c969ea1e57
move stats and statsps into global scope
...
Change-Id: I02d16e31f8980bd0ef3ff3a190b23dc61c087018
8 years ago
Richard Fuchs
dffbddb2d6
don't use g_ prefix for global variables
...
Change-Id: Ifd843b01d7fccf294f97fdf48308c71268e1b8ae
8 years ago
Richard Fuchs
e87b2710c8
move matching regexps out of callmaster into global
...
Change-Id: I42779b3a1b9aef8b98ddecce6fa4093589ab6d62
8 years ago
Richard Fuchs
399e15b39a
make the callhash global
...
Change-Id: Ifa1fbb5d1b1f623dbc6a1bfac556342735b40161
8 years ago
Richard Fuchs
018e35cba8
TT#27200 add option to omit a=rtcp attribute
...
closes #428
Change-Id: Ie186291b7b0107d67488facbfea42cd4915556b4
8 years ago
Richard Fuchs
61d828a48f
change str_chr_str() semantics
...
Change-Id: I0fb541215a1bb1a248693a6258e953827258b7ec
8 years ago
Richard Fuchs
d10952a029
TT#26757 add tcp_listener framework
...
Change-Id: I402d36637235ba0cc03e77d426f4dd9cbc4722a9
8 years ago
Claudiu Boriga
2250ab11fd
make METADATA section appear in the metafile at
...
intialization when recording using the proc method
add new METADATA sections only if they differ from
the previous ones
8 years ago
Richard Fuchs
cc056c148f
add rtcp-mux-require option to force rtcp-mux usage for WebRTC
...
fixes #404
Change-Id: I4a5dbf30a7c02058216ea7e8c8782cf83e214623
9 years ago
Richard Fuchs
00cc28dff4
TT#22660 don't zero out SDP origin on zero connection address
...
Change-Id: Idc68132a7ae23a6273464927ecf27237cdc9d6cf
9 years ago
Richard Fuchs
523228b981
Merge branch 'stop-recording' of https://github.com/1and1/rtpengine
9 years ago
Claudiu Boriga
cf15275f30
add stop recording comand to ng interface
9 years ago
Richard Fuchs
bb50729806
fix parsing of IPv6 address in legacy UDP protocol
...
Change-Id: Ida602ceddac51b8045b0beee59015facd7b1ee5d
9 years ago
Richard Fuchs
ab0dba7d14
TT#12800 support custom monologue labels
...
Change-Id: I55b2db88307088c4d5e0161eae6e3aa0b5d1b053
9 years ago
Richard Fuchs
9108b14b80
TT#12800 records stats average not just for MOS but all values
...
Change-Id: I1c641a654623022df617da98c4a53ed34decb211
9 years ago
Richard Fuchs
4ad693a063
TT#12800 report MOS stats back to proxy via NG protocol
...
Change-Id: Ib0cc5b39a5f50d68a8013b738ac7d87b32069928
9 years ago
Richard Fuchs
11dac7b28f
TT#12800 add MOS statistics to final log output
...
also converts call->created to a timeval
Change-Id: Idb71ada22a2d04637670b7515e54f2994f8d4c93
9 years ago
Frederic-Philippe Metz
14b37ebfe5
Removes multikey stuff
9 years ago
Frederic-Philippe Metz
749a7da7b0
Implements redis onekey concept
...
The redis onekey concepts is introduced to reduce traffic to redis
and redis notification traffic.
It modifies the current structure for one call in redis, which are
multiple keys with pre- and postfixes and the callid in between to
one key with the structure "json-<callid>". The value is a json
formatted string with the previous multi-key identifiers in it.
9 years ago
Richard Fuchs
30dcadab15
TT#5566 rudimentary support for multiple audio codecs
...
Change-Id: I7e473f5d17874641253b4b16c3470851743818e1
9 years ago
Pawel Kuzak
65e80f620d
Added flag 'no-redis-update'
...
This flag can be used by the signaling proxy in order to tell rtpengine not to persist the call into Redis upon receiving offer/answer() control commands
9 years ago
Richard Fuchs
984585a32c
TT#5003 implement kernel-side call recording
...
Squashed commit of the following:
commit 1af3efd464d9c86eb428aa29ca084ead67ba4cdc
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Nov 7 11:10:22 2016 -0500
save and restore call recording status to/from redis
closes #254
Change-Id: If3cd34fcfd64fa8164521a86eb1d1aa0eb327f3b
commit 460053a2316ac77ebf2609af4e5bf73beac57643
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Nov 4 14:09:08 2016 -0400
restore libcurl build dependency
Change-Id: Ia853f928caf9e443bb69c4015cbba805e6d24153
commit 5f5fd88fde67ffcd5a83f1a18e9134702f995686
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Nov 4 11:22:27 2016 -0400
ensure we are always decrypting SRTP when recording
Change-Id: I2b75afefcadc55ebf1bf6a19a983134c87c41602
commit 69b4e9fa886c673bed6168c2092864fdff2619aa
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Nov 4 09:56:47 2016 -0400
remove redundant ng result=ok logic
Change-Id: I84d7245f52dc12a4002b4dd2b736afea9ae733fa
commit 411213dd3d17c1e54eeb6813cb0473a706a10cee
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Nov 3 16:04:54 2016 -0400
support the `start recording` command message
Change-Id: I316e90fd3fe34f01b20826936ef620bcff785397
commit ae1910c68d90d0c1f913bd09f9ecdee5579f53f4
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Nov 3 15:01:57 2016 -0400
move logic for `record call` flag to where it belongs
Change-Id: I65a3b5d62f4360df4251faea1339b5a6355c0e6d
commit 217008d572d103ab4146cdcfb9c292610c869643
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Nov 3 12:49:48 2016 -0400
support combining streams into one pcap in reference scripts
Change-Id: Id82936ae7ef1b406acf3b4d3429ecc1cb6e2356e
commit 3fcafd92750d20e07b9c522cd15df0f1745bd412
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Nov 3 11:40:00 2016 -0400
output additional details to metafiles
Change-Id: I0539a0617aff51c9c499bbd9586d61c7e7ca7e7c
commit e81f413f3ba228f548931a234a1c18c13c62b135
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Nov 2 16:18:28 2016 -0400
globalize kernel access variables
Change-Id: Ie07e0ebb8705189c8b1e49f596080ff8bcaef64f
commit 5e74609c7c3e5237fbd9995b90b29b2c456d2c04
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Nov 2 12:20:55 2016 -0400
duplicate error messages to stderr when in foreground
Change-Id: Iaf9d8d1392946046846cb6f2c0fb928a96893911
commit 032077bed4a4b3610e88deab905f6a41616393e6
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Nov 2 11:38:22 2016 -0400
eliminate dummy virtual function
Change-Id: I7cc2596f31350bf0d39253b3bd7e9fe1cec2b92d
commit 9177effc4e56b0fc26f44da525fe88d8aa3a6f05
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Nov 2 11:30:58 2016 -0400
clean up recording code related to ng interface
Change-Id: I69c6d953f8467e5154f000979c94f2dc3a79918a
commit ac0ec6a5e7b4927af5294a6e86a129a8ffc90e7a
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Nov 2 10:57:15 2016 -0400
output before/after sdp to metafiles
Change-Id: I1d3177e40591d6b4c4789eb6e18132743a9eda45
commit 68b27fa964455eef4c4acaf9540d19013b3df3e7
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Nov 1 15:40:20 2016 -0400
fix header length problems
Change-Id: I896453f72df3ba146251f5d82ca1d02dd0ad08e9
commit ebbd942ad00b3a4eb74fbfcd915e82a263243d02
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Nov 1 14:14:08 2016 -0400
support writing pcap files in reference intercept script
Change-Id: I53502ba416426e9012a68c35cdf4b457d7c3eb69
commit fe82efa40a5b0fee4bed2601bab7c1afa09b0ce1
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Nov 1 13:35:47 2016 -0400
ensure we never make any calls that might sleep when holding locks
Change-Id: I1ce6aeced1f61715374b80f6fb1fbeafc987ae7f
commit be5316e804368fad28c2a0012ac2d60cb476b740
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Nov 1 13:08:19 2016 -0400
fix math in auto_array_find_free_index
Change-Id: I39c786b03dbafe59b88a1945ac27964c3852c9eb
commit 183d4939ca8e1fc0f39271713435b016c055bfff
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Nov 1 11:41:47 2016 -0400
adding rudimentary lock debugging
Change-Id: Iff541c58e5ea4c3fc2ec16e93396148f935bc4f3
commit 51a75c5022f96a23b8fff6738b5fa4ad7095a746
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Oct 31 14:35:17 2016 -0400
handle read errors in reference intercept script
Change-Id: I047d763dbd498026a0d8db24c5532155c75fd6e6
commit 69a460de08c6dfe163f9d90dee478c72ea56a2fc
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Oct 31 14:34:54 2016 -0400
changed locking semantics to avoid proc_clear deadlock
Change-Id: I70dbc07aa8af7b9860beca86b4b82d8180d8a0ae
commit 62eae1459a8dc116a0f965d014dd2962d9f2ece2
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Oct 31 12:50:26 2016 -0400
additional debugging
Change-Id: I81c93c2dd9007ed6a0d6e0b147de0deb44b7b023
commit fd367947404c25f7122479dc805ca895346e3568
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Oct 28 12:07:25 2016 -0400
adding reference implementation using inotify
Change-Id: Ibec73bdc4c7a576e4beaf5e749567dd2508be4df
commit f8fde6cc7308faf9aea5016d1b325fe54ace4f73
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Oct 27 15:55:10 2016 -0400
add stream info to metadata files
Change-Id: I200df14a3e35c2c0077866444b96692de4303761
commit 5a8b4dd156d014756681c644549f481af941b294
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Oct 27 14:47:49 2016 -0400
pass intercepted packets to kernel and tie in kernel idx
Change-Id: I33ff297c4a66276b05d0e5d537b0281f27116243
commit 0c0b97ea3940a34843375c58255d40cf4280bd5c
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Oct 27 12:29:02 2016 -0400
abstractize fake packet header and support ipv6
Change-Id: I6c1ad1cccad306f3d306fb3387efcb033a3574b2
commit e1b648b9baea609cbe9836c81a5a2cd41ef464cb
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Oct 27 09:32:40 2016 -0400
support creating kernel intercept streams
Change-Id: I1f9bdda61af52814f07f765a8b558a7491cfc0b9
commit b6737ec9635d2d7a8d0245bab7c51a077cd814d2
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Oct 26 14:46:13 2016 -0400
get rid of call->record_call flag
Change-Id: I04dcba49b07fc669b0bb4bcea8ccc2b52cb76e02
commit 6ed362c120995d1e3fdff71f7e440e73737e7fcb
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Oct 26 12:53:04 2016 -0400
add recorded call to /proc
Change-Id: I1fe64b9fb8fe3604bb7d432899c43e3e37ea6a4f
commit 62d2508ecf69fbdf9ba1faf3e2433fa6f717740a
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Oct 26 10:10:05 2016 -0400
simplify some code
Change-Id: I2a27400e91f58aa8ea20d3e610a7509d2e9a0dfc
commit 0c811a8e91ded41487bf045e6df55fb31cce7671
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Oct 25 16:12:59 2016 -0400
create separate ../tmp recording dir and clean up duplicate code
Change-Id: I94e0c19a1e8fed5a30212b79930987333f5e6786
commit 16592a92300b856084ebd5769ecae35788f0ad63
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Oct 25 11:26:54 2016 -0400
remove explicit libcurl dependency
finally properly fixes #251
Change-Id: I3feafe2d0086f6dd789175e6ec0079c54edd487a
commit c78ac5bbb7e65609175753933f7e75d54ea21c30
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Oct 25 10:48:50 2016 -0400
abstractize recording cleanup routine
Change-Id: Ib9fc46542f273bab53f611a1456f02d67edfc966
commit d8358c9a2c6cbd66e17d4bb08dba96a3b2e2d41a
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Oct 25 10:07:44 2016 -0400
use shorthand for function pointers
Change-Id: Idf43949e20281a10317e22a5b68a6d133e398bd4
commit 9417437c1092770e36bde22b508f9d71078d4a1b
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Oct 24 15:31:56 2016 -0400
abstractize individual recording functions
Change-Id: I0974696b6bb361fce39b24d6be91b5c052ee2b14
commit eb631cd876a0f941ed4fb6d47412a6892e019f1b
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Oct 24 11:54:42 2016 -0400
abstractize call recording mechanism
Change-Id: If8672051227944544d9cf916d359c5db67235e3e
commit 70797ceb8f36c45593688652df98f19a5c1dd9f4
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jul 14 11:25:05 2016 -0400
combine two mallocs into one for user-generated packets
Change-Id: I585d129f10d379a5cb853382773f91a7cec9a98d
commit f62f71cee404893b3f5076489d6a3eb1ad6f69c0
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jul 13 14:22:18 2016 -0400
check for and avoid /proc file name collisions
Change-Id: Ie9eb9ceef8f32de8aba816f0121e768c57fa7402
commit ec6b3d22fcce8e7e2edd35704a559fe392406561
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jul 13 11:02:04 2016 -0400
implement free list
Change-Id: I3e7dc2325c937923d19ce6000f2cf1c011e51037
commit bd75a1cf254c484878d07ecceca7220cdbf1ddb3
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jul 13 09:30:36 2016 -0400
make number of packets retained per stream configurable
Change-Id: If1c87f80dd7367cbc274d13c15f94836ef9c8cb1
commit de259c3d646526bd200f619371668798ddae86b2
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Jul 12 15:15:01 2016 -0400
facilitate passing packets from kernel module out to userspace
Change-Id: I2317a007084a1718e185ba04632c53a9ebe5f29d
commit 3aa88716fb86c62f96b6dfc7d0d9c9755fa1f389
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Jul 11 10:45:10 2016 -0400
restructure calls and streams to global arrays
Change-Id: Icfca615b21f2e51b1abda4422c4eeb8f4ac70a9b
commit 6cf9980f3e61f1f1d44b5ce883298ca2726af1b2
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Jul 8 11:53:32 2016 -0400
implement poll/select mechanism
Change-Id: Ic10c017250f0991f691a887b078e80f694bba853
commit d95829e07b2bf4d3352806c70b3393ae3a8609fb
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Jul 8 10:44:38 2016 -0400
discard new/old packets as required
Change-Id: If73ce77dcbc24addb6ce0931b90de0f5efae9f51
commit be1d769e4454f1d98f0b75cc8301c128a40e980c
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Jul 8 10:25:38 2016 -0400
implement EOF for stream readers
Change-Id: I858dc1fdd7df3b65283e1d96457d87e7452840f5
commit ed2d98d55a87ce428cdc66d9336035f3dc0cb5ae
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jul 7 15:02:58 2016 -0400
blocking and nonblocking reads - incomplete
Change-Id: I7cbfb09507ad8726773d6a28ddb98d5981decd04
commit 246709c7f4741e669c4a78b48c382497bf57c6be
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jul 7 13:55:41 2016 -0400
rudimentary packet reading/dequeuing
Change-Id: I1a924e5cb2ef4e4f16aeff1f1dd90d0746f91da5
commit 427749394995d2e6fb8ad7ddc23c876b1c8e11f1
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jul 7 12:40:31 2016 -0400
use kzalloc where appropriate
Change-Id: Icd6a109a69ab4f6dc9f7d35fd9e8fc9127f8e7e0
commit 5b07819217dfb47201a373e941aab185789484a9
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jul 7 09:07:54 2016 -0400
more module referencing
Change-Id: I2e34fe74f2edef9170a4558f6a24394240966d79
commit 1d8268f636c26ec21c3cfa2308bad91262e0768a
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jul 6 14:56:42 2016 -0400
store delivered packets in queue
Change-Id: Id349b75e06f9dd77c884196b7726027ac5cab7ae
commit 23c6a53f94c46ead7093b5402486799fc631e432
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jul 6 14:21:27 2016 -0400
implement call for packet delivery
Change-Id: Ibeb815bf2fedfdd644d324c65b58a24871d47d4a
commit c8fd855f325128b78f4e276bfb26b479ef189b11
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jul 6 10:28:18 2016 -0400
automatic cleanup of objects upon free/delete
Change-Id: If244905e2d074f491229316f3305c9b0b1451792
commit 282ef603a83637c9a8e33ed31d09268fa45a6301
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jul 6 09:47:29 2016 -0400
unify read/write functions
Change-Id: I78b0dd05cd730e16655034994c74cbe23be23fce
commit e74c62cc6f0dce85fea6534d8d72e2f51e0947d6
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Jul 5 15:36:00 2016 -0400
rename _push to _put and _hold to _get
Change-Id: I9b0ff5038b541bd3cfb961657c15a26f26ccdfb2
commit d71ce17529d1938ce2439b122fb6017e29dd079b
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Jul 5 15:33:07 2016 -0400
support creation and deletion of streams
Change-Id: I7df05d232b5971c54ca50adce8144b5f1646fba0
commit 8be4e2c7c49dd7b893335f14ca98776a1f3fb12f
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Jul 5 11:54:39 2016 -0400
create functions for redundant code
Change-Id: Id3772f12294ee9891d22d833274e5935814cae0b
commit 47ce4ca8f5d694e50c98f73147ed2eb81f14ea8a
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jun 30 12:12:19 2016 -0400
support creation and deletion of calls objects
Change-Id: Ie5f9aa978bac21fc30909f14d6a438494848dfd5
commit 8dab54209d3e52d41f78d8f54956a4ed3dc15da3
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jun 29 14:20:23 2016 -0400
create /proc/.../calls directory
Change-Id: I682a4bf23edbb72772d64963e3ba2cab2a521ff4
commit 1401ae8db5f9e2a973c670f3bf72e9019c451276
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jun 29 14:02:11 2016 -0400
rename kernel message enum
Change-Id: I45d7aeae43df1fe6ecd6b6965dbd6ba7e7b715d8
commit ce44ff0dbe67a6687d5fb1bea9d31e21c9464907
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jun 29 14:00:32 2016 -0400
convert kernel message data to union
Change-Id: I7cfd9fe81623efae0a828ba457aa0a4b1380ff03
Change-Id: I4bb0b7f6d29c1c7a2144e4735ed59f3dc0e37094
9 years ago
Richard Fuchs
dfcd8a3e21
Merge branch 'recording-metadata-threadsafe' of https://github.com/onsip/rtpengine
10 years ago
Dylan Mikus
44a153c05e
Made interactions to recording metadata threadsafe
...
Updating, freeing, and writing the recording metadata is now
threadsafe. This is in regards to the metadata that we receive from
the `rtpengine_offer` or `rtpengine_answer` commands, not the
`meta_fp` file.
We can simply use the `call->master_lock` variable for protecting
updates to the recording metadata. We had to move the metadata
handling code in call_interfaces.c up into the master_lock guarded
section. The code in "recording.c:meta_finish_file" is called with
master_lock protection already.
10 years ago
Lucian Balaceanu
448fa9cef8
Redundant media setup: failover due to tout on offer response
...
Optimise call acquiring; fix reference leak.
10 years ago
Lucian Balaceanu
e04367036d
redundant media setup: failover due to tout on offer response
...
Handle the scenario by deleting old call and creating
an updated one on various rtpengines in the setup.
10 years ago
Dylan Mikus
5fe68b9097
Link recording metadata SDP to RTP packet numbers
...
We write out what RTP packet number the SDP came before. When we receive
an SDP offer or answer, we write out the RTP packet number that the SDP
preceeded. This will let us split the RTP recording PCAP around SDP
renegotiation for things like hold/unhold.
Also write out whether the SDP was an offer or an answer.
10 years ago
Dylan Mikus
abd953812f
Fixes to match PCAP packets with SDP
...
We want to be able to match up the source and target <IP>:<PORT> with
the IP and port info sent in SDP. I adjusted the source and target
<IP>:<PORT> we write to the IP and UDP headers in the PCAP file.
I added the offer SDP (in addition to the already written answer SDP)
to the metadata file.
As a consequence of writing out the offer SDP, we will have empty PCAP
files and associated metadata files for calls that are never answered.
squash! Fixes to match PCAP packets with SDP
Added comments detailing the types of endpoint IP/port values we can
use.
10 years ago
Dylan Mikus
0b33b4815a
Write out rewritten SDP from answer to metadata file
10 years ago
Dylan Mikus
466c52c18e
Refactored recording setup to streamline it
...
We had initialization code for recording scattered through
"call_interfaces.c", "call.c", and "recording.c". I moved more of the
actual code into functions within recording.c under the parent function
`detect_setup_recording`. We call this function from "call_interfaces.c".
I moved the disjointed bit of PCAP initialization to occur right below
where we toggle recording on or off.
10 years ago
Dylan Mikus
b35ca7ded2
Record answer SDP to recording metadata file
...
We record the answer SDP (not offer) to the metadata file, separeted by
newlines. It is after the PCAP file URL and before the timestamps. Maybe
we should be writing the rewritten SDP.
10 years ago
Dylan Mikus
c787ab9c4e
Refactored NG protocol handling of "record call" settings
...
I refactored the handling of the "record-call" flag in the
"rtpengine_offer" and "rtpengine_answer" handler. We now set the
recording data structures in a function called `set_record_call`.
We also only handle "record-call" flags on OP_ANSWER for SDP answers.
10 years ago
Dylan Mikus
1cec331d1c
Only turn on or off recording if explicitly specified
...
When we receive an offer or an answer, we will only turn recording on if
it contains the "record-call=yes" flag. Likewise, we only turn recording
off if it contains the "record-call=no" flag. If no flag is specified,
the call keeps its current recording status. It used to be the case that
not specifying "record-call=yes" would turn off call recording.
This fix is necessary to account for SDP renegotiation during
hold/unhold. If the call system sends over another offer during SDP
renegotiation to hold and then unhold, we don't want to change recording
behavior unless the call system specifically says so.
10 years ago
Dylan Mikus
b3d6073447
Prefix recording metadata and pcap files with call id
...
We want to be able to associate call files with a call without the
presence of identifying metadata within the metadata file. To accomplish
this, we prepend the call-id to the start of the pcap recording files
and the call metadata files.
Even though call-id is supposed to be unique, because of paranoia we
keep some of the random affix hex string, but we reduced it down to an
8-byte random value.
Also, some minor argument ordering and name refactoring for random
string generation functions.
10 years ago
Dylan Mikus
844abeec7d
Don't free the metadata before writing it to metadata file
...
We used to sometimes free the generic metadata (passed in through
rtpengine commands) before writing it to disk. Then we were writing
blank metadata to our metadata files. We fixed the ordering of
our `free` operations.
10 years ago
Dylan Mikus
f516684ade
All RTP packet data for a call goes to one PCAP file.
...
This involved moving all code from fs.(c|h) to recording.(c|h).
We still spoof packets, so the UDP will look like all monologues are coming
over the same port and will probably look like they are all one stream if
you look at the PCAP file.
10 years ago
Dylan Mikus
2c1685b807
Added command line option for the spool directory for recordings.
...
Command line option is "--recording-dir".
Renamed inner recording spool "recordings" to "pcaps".
This is to avoid name sharing conflicts with the "--recording-dir" command
line option, which specifies the recordings spool directory, and the
"$RECORDING_DIR/recordings" inner directory. Changing the inner directory
name to "pcaps" removes this name collision.
In the process, I changed the function names in fs.h to be consistent with
other functions. The names are structure like "$OBJECT_$VERB".
10 years ago
Dylan Mikus
f36faef417
Code bug fixes and safety checks around error-possible code.
...
Fixes and changes:
- Only create the metadata file if the call is being recorded.
- Only write to the metadata file if we actually created it (NULL check).
- Make sure we have metadata before putting it on the call object
- Correctly overwrite recording metadata without leaking memory
- Set the no kernalization flag per call instead of for *every* packet.
- Logging cleanup.
10 years ago