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
1 year 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
1 year ago
Richard Fuchs
57a80b4513
MT#55283 use g_auto for ng_buffer
...
Change-Id: Ic79f4380dcb7cbf23b35ca1bfec70c1986ac4477
1 year ago
Richard Fuchs
575d86816f
MT#55283 turn ng_buffer into typedef
...
Change-Id: I278cb1b81d9c23074cf159901668221f52d239dd
1 year 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
2 years ago
Richard Fuchs
a67aed73cd
MT#56447 add ng_buffer_new
...
Change-Id: I3650e847813964fde75d10790864eb2e6c4c265b
2 years ago
Richard Fuchs
b38131414a
MT#56447 remove pointless lock
...
This doesn't do anything at all
Change-Id: I4b71debe67c589034c832944c4888bbba4a8d809
2 years ago
Richard Fuchs
87ea144935
MT#56469 add pause_recording method
...
Change-Id: Iaffb2120be0ad4b7241913aacd7e7e68c9e666d2
2 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
3 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
4 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 023f6cbc9e0b595d1d02116d38d39358fbb9ee49
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
4 years ago
Richard Fuchs
554034eb7e
TT#106101 also turn UDP/WS receive buffer into refcounted object
...
Change-Id: I81fa68b07af3a87e26d031a5722dcd103a1e620e
4 years ago
Richard Fuchs
28e0620c80
TT#106101 turn bencode buffer into shared refcounted object
...
Change-Id: I6d8e443d8b0fc7e9afe0a6f6b3cde3d1a85e42de
4 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
5 years ago
Richard Fuchs
cdcf80c2c1
TT#82401 add statistics NG command
...
closes #992
Change-Id: I73284b8da6bc64c6e801f47cf6e00e52235b65ba
5 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
6 years ago
Richard Fuchs
83965bdb1f
TT#50652 infrastructure to support reading/playing of media files
...
Change-Id: I8212f5c74bcb9557d41f80ef3a1595f53bafde8a
6 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
6 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
7 years ago