Starting with GNU make 4.4, build time have massively regressed
where before they would take 5m on amd64 now can take 2h40m. While this
seems clearly broken, the release notes are filled with notices for
breaking changes, and in particular the one for passing all make
variables down to the invoked programs executed via the «shell» GNU make
function, so it is not clear what is expected breakage and what is not.
This has been reported in Debian, but not yet upstream, and while it
seems like a clear regression, it's not clear what will be the upstream
take on it. For now apply workarounds that do not change semantics, and
which do not regress with older GNU make versions.
Use the GNU make «origin» function instead of «?=» which defaults to
defining a variable as a recursive one. Coerce already defined variables
into simple ones to avoid GNU make re-evaluating these variables for
each «shell» function invocation.
Ref: https://bugs.debian.org/1092051
Change-Id: I076fc05dd616918473a22e7e942fecfdc9851d47
(cherry picked from commit 887fb40f3f)
(cherry picked from commit 67a2b222c7)
Make sure we properly return a failure if no supported payload type is
present.
Change-Id: Ia483e0819b2d8ca0c2c5184c929dfe3d05c96ca1
(cherry picked from commit 5f6609de5d)
(cherry picked from commit 357c4f1e4d)
Make sure a codec is not only known to us, but that it can actually be
used, in places where it makes sense. This is partially redundant
because ensure_codec_def_type already takes care of this, but a codec
definition may come from a different source, so it doesn't help to
double check.
Change-Id: I91af84afc2477840f1400674b2538ad8fb7746ee
(cherry picked from commit 7b60e85970)
(cherry picked from commit ea3cfdbd38)
If the receiver of a previously passthrough T.30 stream gets switched to
a generated PCM stream from a T.38 gateway, continue the sequencing of
the previous SSRC. Technically this is not necessary as the generated
PCM stream gets a new SSRC, but at least Asterisk seems to ignore this
and expect sequencing to continue, and will ignore PCM if the sequence
jump is too large.
Change-Id: Ia4656770db11f5fa1a1e9bf5bd71a0398deb1e00
(cherry picked from commit 18579227a9)
(cherry picked from commit bca98ab764)
Just add the make target. Don't run it as part of the test suite as it's
quite extensive. Update the script a bit as well.
Change-Id: I192e90413bd7ffde842571324c816e4271367b42
(cherry picked from commit 0f55781a58)
(cherry picked from commit 3fd9b90b0a)
Add a simple function that acts as an encryption callback to just update
the ext_seq (index) of the egress SSRC context. The kernel module
already does this, but the daemon only did it when SRTP was involved.
This now tracks egress packet indexes in all cases.
Change-Id: I9460744de55ead4b05aceb322fd8482442ff2b41
(cherry picked from commit 0da49000ba)
(cherry picked from commit 3e8a35511b)
Some components (the timer thread used by the codec handlers in
particular) may hold references to components owned by the codeclib (the
.so handles in particular). Move codeclib cleanup towards the end.
Change-Id: Ic581588c27b69c025576c14a69e999c9ca5d1597
(cherry picked from commit 43cc9cc06d)
(cherry picked from commit 6e49850351)
Fixes a corner case that happens when trying to delete a call created with
ng offer and no-redis-update flag and for which no ng answer was received.
In such cases, one would receive warning messages from Redis
"ERR DB index is out of range".
What happens is that on call creation redis_hosted_db defaults to -1. This
value is changed when writing to Redis, but the writing is not done for a
ng offer with no-redis-update.
Kudos go to Pawel Kuzak.
Closes#1910
Change-Id: Iad19ec8ac69b169e6352662697b17eb23e6970fb
(cherry picked from commit bba9625b25)
(cherry picked from commit c177d06b33)
NGCP-Flow: mr12.5.1
Only meant for mr12.5+ branches.
Add a support of session level connection replacement by default,
avoiding flag.
This is due to the fact: we've managed to deprecate
the replace-session-connection functionality, but the switch
to the SDP create approach hadn't been done that time around,
when branching the master to the mr12.5 branch.
Change-Id: Ic5230180e3ba83cda59e62c567414c71b2d2f1aa
A matching payload type number in an answer might not be enough to
establish compatible codecs. Also check the format parameters. Reject
and ignore answer codecs that are not compatible.
Change-Id: I12a1287216886926ec4b3c704029c923f815b429
(cherry picked from commit 9c00f30475)
(cherry picked from commit 71ff9210ce)
(cherry picked from commit 76bfb0e707)
We don't parse these out and formats should be compatible.
Change-Id: Ie106591f3d12539eb1101793b50df9db97637625
(cherry picked from commit 68ad1dc8df)
(cherry picked from commit 91b5479117)
(cherry picked from commit 8d34d4c4dd)
Teach rtpengine to distinguish between G.729 with and without annex B,
which are incompatible to each other.
Change-Id: I09b66a097007ba3283546880f06f81b4f89e126d
(cherry picked from commit 7ab4009a0b)
(cherry picked from commit 72af2beca5)
(cherry picked from commit 1060a47f72)
HTTP/WS init creates worker threads, which would be terminated by a fork
to background. Reverse the order.
Closes#1896
Possibly also relevant to #1895
Change-Id: I30b61e07ad3bed41b6b241e8943ed479277c1474
(cherry picked from commit dd04af1163)
(cherry picked from commit b25caeeaa3)
Some compilers seem to think that there is some uninitialised usage
here. Work around this.
Closes#1891
Change-Id: Ic97a4b589fd2a0c33418a209557b7ce29009c7bf
(cherry picked from commit 4b614d8ce0)
(cherry picked from commit 75e5d59215)
If recording-method is pcap, then proc is zero-initialized, so
meta_filepath is empty. This shows many logs such as:
[core] Failed to open recording metadata file '(null)' for writing: Bad address
Prevent them by returning earlier.
Closes#1889
Change-Id: Ifeb3038f9a5c0bd6a9b7dd92842dd61783b40263
(cherry picked from commit 759fd72dc6)
(cherry picked from commit 5f54fb8523)
- LTS mr11.5.1 doesn't build with system GCC 8.5 on EL8
- add a workaround for using GCC 13
Closes#1887Closes#1886
Change-Id: Ib93942fae8f754c7673509ccb45e0d08569f23f0
Addresses: #1886
(cherry picked from commit 0e2033bbc7)
(cherry picked from commit 2ffb96853f)
These macros were used for development only and are not needed any more.
Their names collide with an upstream patch, making compilation fail on
kernels >= 6.12. Just remove these wrapper macros altogether.
Change-Id: I6e154be76bfcfb650581095b169ddd58e5f464a0
(cherry picked from commit 6b3f3b9698)
(cherry picked from commit d24b3cbeab)
* Added libatomic to the el/ build dependencies. This was required since
commit 741f6ac when -latomic was added to lib/common.Makefile
* Changed link to the copr repo with spandsp3. There is seperate repo
for EL9 now.
Closes#1880
Change-Id: I9ba2246bd0f2fa6f2d6196d6c66a527f5f1dd3f0
(cherry picked from commit f07dd416e0)
(cherry picked from commit 16235326d0)
ffmpeg 7.1+ has deprecated direct usage of ->sample_fmts in favour of a
call to avcodec_get_supported_config(). Update accordingly.
Change-Id: I0fbecbbcf52c38976f3387e34d816d11e1d09480
(cherry picked from commit 65477ac5d5)
(cherry picked from commit 214319a7b4)
g_option_context_parse() modifies the argv given to it, so g_strfreev()
called during the cleanup cannot free all the strings that have been
duplicated by g_strdupv(). Make a second, shallow copy of the array, and
use that to free all the strings that were duplicated.
Change-Id: Ifcb31cb5e6141a1e15de47e11ab800c9d3e0ab10
(cherry picked from commit 86da10f6a7)
(cherry picked from commit 6b962a39e0)
Some of the earlier cleanup functions may still refer to some of the
options.
Change-Id: I5b6db886fe58891b3f737e7a0f3b31b0425699b9
(cherry picked from commit dafd71fd98)
(cherry picked from commit 9d486c0514)
for `SIP message type` and add it to docs.
Change-Id: I1c674da227186067244912c88417be3bb9a9093a
(cherry picked from commit 8f458d0511)
(cherry picked from commit 8303c679f4)
The `if` block ends with a goto, so the indent for the `else` block is
not needed. Remove it for readability.
Change-Id: I0ab88246cfebf105c2256d129890925706917618
(cherry picked from commit a6775d3ca7)
(cherry picked from commit 5a42e8f911)
This function does the same thing
Change-Id: If6b8088af3f5cda81d05af5a3f176122f8f55591
(cherry picked from commit d2d9603ddf)
(cherry picked from commit ba8ea72a6c)