Unset Sems internal Session Timers in case B leg doesn't support it
(no Timer in Supported header of 200OK message).
(real ticket number: TT#29926)
Change-Id: Id27748751f36017e12d6ae84bce602a9995f9d34
Use a proper accessor instead of messing with the struc directly
which has become opaque in latest OpenSSL versions.
(real ticket number: TT#12308)
Change-Id: I51855e46f07f2331ad281a94961ca1d7394dc0de
- Make errors fatal, so that they do not get ignored anymore.
- Use sane make variables that a shell will accept as valid, otherwise
the exports do not work at all.
- Do not use system paths when we should use in-tree ones.
(real ticket number: TT#6850)
Change-Id: I07af8f38cc37c2fa36b6b10559283a7c477d2d36
Fix module exclusion logic
Several of the modules cannot be compiled because they miss Makefiles,
others require additional dependencies or similar. So encode this in the
build system so that people building do not have to figure this out, even
if they pass an explicit list of modules to include or exclude.
(real ticket number: TT#6850)
Change-Id: Icb52a6f62cd0db97460fc5b0771922bdd46e1f6f
Build the library as shared.
Otherwise we are trying to link a static library built as PIE into a
shared library.
(real ticket number: TT#6850)
Change-Id: Idaeb7b92b1c73887d02620f953c5a8df182ae659
Due to the build system not failing on compilation/link errors, parts of
the code base has suffered bit rot.
(real ticket number: TT#6850)
Change-Id: Ia3e35054e4720a55298140069b7a4c21017f2cb1
add username_with_domain option to use auth user with domain part
(real ticket number: MT#9306)
implements M758
Change-Id: Ib482d4f1d49d291cab39add1b6a61c02c36bdbe4
Don't bail out on missing config options, rather than using some
invalid defaults.
Also only check for existence of sound files in the places where
they are needed for optimization purposes.
Use macros to clean up redundant code.
(real ticket number: MT#20649)
Change-Id: Ib1187f249ee589feab407dd99145fc1dea0db83a
Don't bail out on missing config options, rather than using some
invalid defaults.
Also only check for existence of sound files in the places where
they are needed for optimization purposes.
Use macros to clean up redundant code.
(real ticket number: MT#20649)
Change-Id: I5d3692a27c4dff8df7ad00e985c983176888e73c
replaceParams/SET_ERROR/CLR_ERROR
use resolveVars in module actions/condition to replace only one variable/param,
use replaceParams to replace substrings as well,
e.g. myAction($myvar) - resolveVars
myOtherAction("this is $(myvar) and #(myparam) replaced") - replaceParams
Change-Id: Ia8d39259e2c24111b4ffe765cbd637627be346ab
opus.conf may contain an fmtp line with opus codec parameters,
all in one line, e.g.
maxplaybackrate=16000;stereo=0;useinbandfec=1
supported parameters:
maxplaybackrate
stereo
useinbandfec
(real ticket number: TT#13019)
Change-Id: I74b7a2a6902dbe718785da89c189f4c726a05a7a
- a codec may export with CODEC_WITH_FMT also a payload format negotiation function
negotiate_fmt
- transcoder adds fmt strings to transcoder codecs
- changed codec fmt_description such that the codec returns a pointer to a
description array
Conflicts:
core/plug-in/amr/amr.c
core/plug-in/speex/speex.c
(real ticket number: TT#13019)
Change-Id: I47a18a8ba13fa3c3a693f7ed6ae7f614237480d6
We have to stop using patches for the sems CE,
because it makes no sense anymore -
upstream project is dead.
This commit sets a goal to:
- change compilation procedure so we do not consider patches anymore;
Change-Id: Ifa4b4aabcc05802deff87f7a92ce857cc7d60d1e
We don't have to compare a const char pointer with '>' / '<' operands
agains 0.
The conditional code will not get executed, if 'data->version' is null -
but not that it will, if it's not null.
We should use a classical check for null pointers agains 0 using '!=',
this has the least potential for subtle bugs, and is guaranteed to be portable.
Change-Id: I7656261e96f8235540b1805a8a0b26c6b5f23000
We are migrating from redis to keydb so for now we need to support both
so we should not depend on specific key-value storage in unit file but
should use database.key_value.flavor value in override file.
But we can't redefine dependencies in override file just add additional
ones. So remove it from unit file.
Change-Id: I94ef109ce68c61ba3d195d00527e2d0612b6d886
We need to change the place for storing temporary and constant
audio files (caching of audio files).
Newly used paths:
- /ngcp-data/ngcp-sems
This path will be from now on reachable via the symbolic link:
- /var/cache/ngcp-sems
Change-Id: Ia1a120aaa256498d541611f2115570e1abe8ea90
We need to rework the utils_get_count_files(), because it improperly
treats the given list of numbers, especially what relates to zeroes.
Previous approach gets deprecated, and another approach is applied.
Change-Id: I4ec0b5f4e40c96d5b3603f4ee376d210afce21e2
Remark: this commit is created as an attempt to keep PRO / CE sems repositories
consistent in terms of the provided code and functionality.
We need to have a possibility to detect emergency calls and let them
pass through the SEMS, even if the license limitation (CPSLimit) is triggered.
Also taking into account the global policy defined by the cfg parameter
'skip_cpslimit_emergency'.
If set to 'yes' (in the code will be treated as True)
then we do not drop emergency calls on CPSLimit triggering.
If set to 'no' - we treat emergency calls
as if they were usual calls in terms of checking CPSLimit license limitation.
Change-Id: I4ab1d2d0b7286b05e1fc2cf2a432fdfd220ca72f
We need to add a possibility to control (add/modify/delete) registrations
for SIP peerings using NGCP-panel. For that to work NGCP-panel uses XMLRPC
requests being sent towards SEMS, which in its turn takes care of work with:
- locally cached map structures:
* registrations / registrations_peers
* registration_ltags / registration_ltags_peers
* registration_timers / registration_timers_peers
- MySQL database (our scope of interest is 'sems_registrations')
- triggering events
Main amount of work is concentrated on interaction with map structures which keep
an actual information on registrations of either subscribers and peerings,
and less amount of work is related to the SQL side.
Basically, the main idea is to add an identifier, which will be used by
NGCP-panel when sending XMLRPC messages to SEMS, which will let SEMS know,
whether it's an event for a usual subscriber or a SIP peering.
Also we take care of loading time, when SEMS retrieves all previously saved data
from the DB using: peer / subscriber auth preferences and loads this to be usable.
A new query has been added for peering type, to let peerings be loadable after restart.
Change-Id: Id471a95ea3f7f57513e1f728ea48fb4b0543bde9