Lucian Balaceanu
7905811c53
MT#55283 Adding support for NG trace to Homer
Support is desired for Kamailio/Rtpengine traffic via UDP.
Adding homer-disable-rtcp-stats and homer-enable-ng config params to
separately control sending to Homer each traffic type. By default rtcp
is `on` when homer parameter is configured. NG is by default disabled.
closes #1802
Change-Id: Ib68fb133cffc5d8945f9b6bf60bab3e80fab9630
2 years ago
Richard Fuchs
72b388a7ce
MT#59038 add support for "plain" NG protocols
For convenience we provide extra HTTP and WS endpoints that accept a
cookie-less NG or JSON message string. Not all commands are sensitive to
retransmits and this makes it easier to query call status etc.
Change-Id: Iffbc4ef9a5fdf916a374dfdd4042c61b437d18c9
2 years ago
Richard Fuchs
c6a5b53912
MT#55283 use escaped command strings for Graphite
Graphite isn't able to deal with spaces in the metric names delivered to
it. Introduce special version of the command strings with spaces
replaced by underscores.
closes #1780
Change-Id: Ie8bcec5ca4f2d427e92901f6fa76b985df6e459e
2 years ago
Richard Fuchs
57a80b4513
MT#55283 use g_auto for ng_buffer
Change-Id: Ic79f4380dcb7cbf23b35ca1bfec70c1986ac4477
2 years ago
Richard Fuchs
575d86816f
MT#55283 turn ng_buffer into typedef
Change-Id: I278cb1b81d9c23074cf159901668221f52d239dd
2 years ago
Richard Fuchs
8684a1933a
MT#57977 use symmetric UDP
UDP packets sent in response to a UDP request should have the same
source address as the request's destination address.
This can be achieved with sockets bound to a specific address, but in
the case of ANY-bound sockets, we can use the PKTINFO mechanism to do
this.
Extend control_ng_process() to accept an extra socket address
corresponding to the local address to use. Extend the signature of the
callback function (to do the actual sending) accordingly.
Extend socket_sendiov() to be able to set the PKTINFO cmsg when sending
a packet.
Add socket_sendto_from() as a convenience wrapper.
Extend control_udp_incoming() to pass the address from
udp_buf->local_addr back to socket_sendiov().
Change-Id: Idd019fdcfd796098e7807427e6686d4b05de35d1
2 years ago
Richard Fuchs
267f965098
MT#55283 unify constructor signatures
All functions that create listener objects take a read-only endpoint, so
make them as const.
Remove the extra TOS argument to make all signatures the same.
Change-Id: I722c7665b192476d90dbf0ece200d0bfd34cb9eb
2 years ago
Richard Fuchs
73489fc556
MT#56374 obsolete non-global pollers
We have long switched to having a single primary global poller, so
there's no point in passing the poller pointer around and storing it in
associated objects. Remove all remnants of non-global pollers.
Change-Id: I5a3fd217d5de51e839e2b04fec7e23643ee83631
2 years ago
Richard Fuchs
066ecf0901
MT#56447 add ng_buffer_auto_release
Auto-cleanup wrapper for struct ng_buffer
Change-Id: I4aab4efb9b10d6380b0ef9f3f854130cee03d792
3 years ago
Richard Fuchs
a67aed73cd
MT#56447 add ng_buffer_new
Change-Id: I3650e847813964fde75d10790864eb2e6c4c265b
3 years ago
Richard Fuchs
b38131414a
MT#56447 remove pointless lock
This doesn't do anything at all
Change-Id: I4b71debe67c589034c832944c4888bbba4a8d809
3 years ago
Richard Fuchs
87ea144935
MT#56469 add pause_recording method
Change-Id: Iaffb2120be0ad4b7241913aacd7e7e68c9e666d2
3 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
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
30d91ecc63
TT#101150 add test script for stats output
Change-Id: I13cc172b082e78c3d52032bd72e0a2f5158c71ed
4 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
Damir Nedžibović
2fc54462de
TT#14008 Squashed commit of the following:
closes #1180
commit 023f6cbc9e
Merge: ae82034d 86e287d1
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Feb 1 11:16:04 2021 -0500
Merge branch 'control_ng_tcp' of https://github.com/enreached/rtpengine into enreached-control_ng_tcp
Change-Id: I628dcfd30e901dbee97b00bee0b6bba0cb29826f
commit 86e287d117
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Feb 1 16:38:53 2021 +0100
Update the readme file.
commit 35f5d9e151
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Feb 1 16:20:09 2021 +0100
Update docs.
commit 336deb4c67
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Feb 1 14:28:07 2021 +0100
Replace hex values with chars.
commit 37c86a8fa0
Merge: 17a10b96 5cd53ef1
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Feb 1 13:51:06 2021 +0100
Merge branch 'control_ng_tcp' of github.com:enreached/rtpengine into control_ng_tcp
commit 17a10b96ad
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jan 28 18:09:10 2021 +0100
Add missing include.
commit adfddefae3
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jan 28 18:05:44 2021 +0100
Implementation of control-ng via TCP.
commit 5cd53ef1c9
Merge: 1bd3a8fc b28ab075
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Feb 1 13:49:50 2021 +0100
Merge branch 'control_ng_tcp' of github.com:enreached/rtpengine into control_ng_tcp
commit 1bd3a8fc6d
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 71a222d7a8
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 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: I2acf208fcff1fa9aa790c31f1097ad9b4b7c3238
5 years ago
Richard Fuchs
554034eb7e
TT#106101 also turn UDP/WS receive buffer into refcounted object
Change-Id: I81fa68b07af3a87e26d031a5722dcd103a1e620e
5 years ago
Richard Fuchs
28e0620c80
TT#106101 turn bencode buffer into shared refcounted object
Change-Id: I6d8e443d8b0fc7e9afe0a6f6b3cde3d1a85e42de
5 years ago
Richard Fuchs
5d895fb7be
TT#82405 add Prometheus stats exporter
Change-Id: Ic55b42a707e430a61c0422c65827ed2145511586
5 years ago
Richard Fuchs
e662b596f8
TT#91150 abstractise NG protocol handling
Change-Id: If00eede6803d9618c32dccbdcf82f5e41b64b2bf
5 years ago
Richard Fuchs
32d43fed4d
TT#91150 move to a global NG cookie cache
Change-Id: I8aa5275ffb4d53bb959acd6a8329e5a31f099000
5 years ago
Richard Fuchs
1589c29e28
TT#28300 add cleanup of poller related data
Change-Id: I64a38869ce3120d066fc818e3c76941a1c8186b7
6 years ago
Richard Fuchs
cdcf80c2c1
TT#82401 add statistics NG command
closes #992
Change-Id: I73284b8da6bc64c6e801f47cf6e00e52235b65ba
6 years ago
Richard Fuchs
b14f3b2b1c
TT#64259 support injecting DTMF tones and events
Change-Id: I07aa7690146db5b41be479a67aaafbd66aec4033
6 years ago
Richard Fuchs
7f5e16d3da
TT#50652 add stop_media call
Change-Id: I1b18a41d4b97ccbb83499873e50a797f846a8602
7 years ago
Richard Fuchs
83965bdb1f
TT#50652 infrastructure to support reading/playing of media files
Change-Id: I8212f5c74bcb9557d41f80ef3a1595f53bafde8a
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
04a83027a0
TT#43557 implement media blocking
Change-Id: I336cf7203c1236b3e596310690a89ce1c3fd8bf4
7 years ago
Richard Fuchs
e67b9c40da
TT#43556 support blocking of DTMF event packets
Change-Id: I7ef43ddb254b1583c2dc69b44a13b978eff15510
7 years ago
Richard Fuchs
d64c888a0e
TT#36301 transcoding unit tests
Change-Id: If48e5afe5a343b557183b6e87441f52424dd2c6a
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
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
Claudiu Boriga
ff2a278ad7
Make 'rtpengine-ctl' configurable via rtpengine-ctl
8 years ago
Richard Fuchs
75056a8dd1
eliminate the callmaster struct
Change-Id: I9151dbe8f47b3bb9ab67d6fea2fc3783bdc558da
8 years ago
Richard Fuchs
790e596c58
move cngs out of callmaster into global scope
Change-Id: I138ca8756dfc576451bc7c3fca1db89d6616fb1e
8 years ago
Richard Fuchs
d10952a029
TT#26757 add tcp_listener framework
Change-Id: I402d36637235ba0cc03e77d426f4dd9cbc4722a9
8 years ago
Claudiu Boriga
3472821ccc
Add option to set TOS for control-ng interface
8 years ago
Claudiu Boriga
cf15275f30
add stop recording comand to ng interface
8 years ago
Richard Fuchs
984585a32c
TT#5003 implement kernel-side call recording
Squashed commit of the following:
commit 1af3efd464
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 460053a231
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Nov 4 14:09:08 2016 -0400
restore libcurl build dependency
Change-Id: Ia853f928caf9e443bb69c4015cbba805e6d24153
commit 5f5fd88fde
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 69b4e9fa88
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 411213dd3d
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 ae1910c68d
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 217008d572
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 3fcafd9275
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Nov 3 11:40:00 2016 -0400
output additional details to metafiles
Change-Id: I0539a0617aff51c9c499bbd9586d61c7e7ca7e7c
commit e81f413f3b
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Nov 2 16:18:28 2016 -0400
globalize kernel access variables
Change-Id: Ie07e0ebb8705189c8b1e49f596080ff8bcaef64f
commit 5e74609c7c
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 032077bed4
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Nov 2 11:38:22 2016 -0400
eliminate dummy virtual function
Change-Id: I7cc2596f31350bf0d39253b3bd7e9fe1cec2b92d
commit 9177effc4e
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 ac0ec6a5e7
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 68b27fa964
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Nov 1 15:40:20 2016 -0400
fix header length problems
Change-Id: I896453f72df3ba146251f5d82ca1d02dd0ad08e9
commit ebbd942ad0
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 fe82efa40a
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 be5316e804
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 183d4939ca
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Nov 1 11:41:47 2016 -0400
adding rudimentary lock debugging
Change-Id: Iff541c58e5ea4c3fc2ec16e93396148f935bc4f3
commit 51a75c5022
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 69a460de08
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 62eae1459a
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Oct 31 12:50:26 2016 -0400
additional debugging
Change-Id: I81c93c2dd9007ed6a0d6e0b147de0deb44b7b023
commit fd36794740
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Oct 28 12:07:25 2016 -0400
adding reference implementation using inotify
Change-Id: Ibec73bdc4c7a576e4beaf5e749567dd2508be4df
commit f8fde6cc73
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 5a8b4dd156
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 0c0b97ea39
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 e1b648b9ba
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Oct 27 09:32:40 2016 -0400
support creating kernel intercept streams
Change-Id: I1f9bdda61af52814f07f765a8b558a7491cfc0b9
commit b6737ec963
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 6ed362c120
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Oct 26 12:53:04 2016 -0400
add recorded call to /proc
Change-Id: I1fe64b9fb8fe3604bb7d432899c43e3e37ea6a4f
commit 62d2508ecf
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Oct 26 10:10:05 2016 -0400
simplify some code
Change-Id: I2a27400e91f58aa8ea20d3e610a7509d2e9a0dfc
commit 0c811a8e91
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 16592a9230
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 c78ac5bbb7
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Oct 25 10:48:50 2016 -0400
abstractize recording cleanup routine
Change-Id: Ib9fc46542f273bab53f611a1456f02d67edfc966
commit d8358c9a2c
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Oct 25 10:07:44 2016 -0400
use shorthand for function pointers
Change-Id: Idf43949e20281a10317e22a5b68a6d133e398bd4
commit 9417437c10
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Oct 24 15:31:56 2016 -0400
abstractize individual recording functions
Change-Id: I0974696b6bb361fce39b24d6be91b5c052ee2b14
commit eb631cd876
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Mon Oct 24 11:54:42 2016 -0400
abstractize call recording mechanism
Change-Id: If8672051227944544d9cf916d359c5db67235e3e
commit 70797ceb8f
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 f62f71cee4
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 ec6b3d22fc
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jul 13 11:02:04 2016 -0400
implement free list
Change-Id: I3e7dc2325c937923d19ce6000f2cf1c011e51037
commit bd75a1cf25
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 de259c3d64
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 3aa88716fb
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 6cf9980f3e
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Jul 8 11:53:32 2016 -0400
implement poll/select mechanism
Change-Id: Ic10c017250f0991f691a887b078e80f694bba853
commit d95829e07b
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 be1d769e44
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Jul 8 10:25:38 2016 -0400
implement EOF for stream readers
Change-Id: I858dc1fdd7df3b65283e1d96457d87e7452840f5
commit ed2d98d55a
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jul 7 15:02:58 2016 -0400
blocking and nonblocking reads - incomplete
Change-Id: I7cbfb09507ad8726773d6a28ddb98d5981decd04
commit 246709c7f4
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jul 7 13:55:41 2016 -0400
rudimentary packet reading/dequeuing
Change-Id: I1a924e5cb2ef4e4f16aeff1f1dd90d0746f91da5
commit 4277493949
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jul 7 12:40:31 2016 -0400
use kzalloc where appropriate
Change-Id: Icd6a109a69ab4f6dc9f7d35fd9e8fc9127f8e7e0
commit 5b07819217
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Jul 7 09:07:54 2016 -0400
more module referencing
Change-Id: I2e34fe74f2edef9170a4558f6a24394240966d79
commit 1d8268f636
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jul 6 14:56:42 2016 -0400
store delivered packets in queue
Change-Id: Id349b75e06f9dd77c884196b7726027ac5cab7ae
commit 23c6a53f94
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jul 6 14:21:27 2016 -0400
implement call for packet delivery
Change-Id: Ibeb815bf2fedfdd644d324c65b58a24871d47d4a
commit c8fd855f32
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 282ef603a8
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jul 6 09:47:29 2016 -0400
unify read/write functions
Change-Id: I78b0dd05cd730e16655034994c74cbe23be23fce
commit e74c62cc6f
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 d71ce17529
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 8be4e2c7c4
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Jul 5 11:54:39 2016 -0400
create functions for redundant code
Change-Id: Id3772f12294ee9891d22d833274e5935814cae0b
commit 47ce4ca8f5
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 8dab54209d
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jun 29 14:20:23 2016 -0400
create /proc/.../calls directory
Change-Id: I682a4bf23edbb72772d64963e3ba2cab2a521ff4
commit 1401ae8db5
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Jun 29 14:02:11 2016 -0400
rename kernel message enum
Change-Id: I45d7aeae43df1fe6ecd6b6965dbd6ba7e7b715d8
commit ce44ff0dbe
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
6d3865b971
Mass update - manual merge of rfuchs/socket-rework branch
This brings master up to date with branch `rfuchs/socket-rework` at
commit `b1bcc096b7`. The branches have diverged too much for a proper
merge, so this is a manual (squashed) merge.
The old master before this merge can be found in branch
`old-master-before-socket-rework` (commit `82199216b2`).
This is a complete rewrite of all socket handling routines. The most
important functional change is that sockets aren't indiscriminately
bound to INADDR_ANY (or rather in6addr_any), but instead are always
bound to their respective local interface address and with the correct
address family.
Side effects of this are that in multi-homed environments, multiple
sockets must be opened (one per interface address and family) which must
be taken into account when considering RLIMIT_NOFILE values. As a
benefit, this change allows rtpengine to utilize the full UDP port space
per interface address, instead of just one port space per machine.
The socket abstraction also makes it possible to support RTP over TCP in
the future.
Change-Id: If6cf4f42136229490186d2d2482fb4fc140c2b53
10 years ago
Richard Fuchs
36c7141d53
change control_ng_stats into a hash and use locking and atomic ops
11 years ago
Frederic-Philippe Metz
0ccb11a18d
Added statistics on control ng interface.
Seen by using 'rtpengine-ctl list totals'
11 years ago
Richard Fuchs
ab24a79de9
adding control_ng stubs
13 years ago