to optimize the heavyweight fraud events query (and similar
places), the billing.billing_mappings is refactored into 2
new tables that will hold a scan-line rendered representation
of the former billing_mapping records known with their
(nullable) start and (nullable) stop cols.
accessing this new tables (eg. insert a billing mapping to
switch a contract's billing_profile, or query for the
contracts current billing profile) is not supposed to be
done explicitly, but by the stored sql proc provided:
- "billing.create_contract_billing_profile_network_from_package":
set/add a bunch of profiles from a profile package at once.
- "billing.get_billing_profile_by_*":
get a contract's billing profile id at the given epoch.
+ by_contract_id: customer or system contract id
+ by_uuid: subscriber uuid
+ by_peer_host_id: peer server id
- "billing.get_billing_profile_by_*_network":
get a contract's billing profile id for the given IPv4 or IPv6
string at the given epoch.
+ by_contract_id: customer or system contract id
+ by_uuid: subscriber uuid
+ by_peer_host_id: peer server id
The enhanced fraud queries can finally make use of a view that
can be used to get the current billing profile id:
- "billing.v_actual_billing_profiles":
View showing all contracts' billing_profile_id at the
current time. In contrast to the procs, the view can
be used nicely in joins of stmts.
15418.up also cover copying+transforming the existing records
in billing.billing_mappings. the old table and records are left
for now but are subject to be dropped soon. if new contracts
were created during the upgrade (although discouraged), the
transformation of not yet transformed contracts can be done by
simply re-executing
call billing.transform_billing_mappings();
Change-Id: Ib5ddd620b2b08ed7db4b6448a44931d37ea5b06a
* type field is now varchar(255) to allow custom
dictionary data to be entered
* add new dictionary values:
(header related dvalues are prefixed with 'header='
to avoid possible collisions as such fields will be
dynamic)
- furnished_charging_info
- header=Divesion
- header=P-Asserted-Identity
Change-Id: I907ad7d074e8ecbdcbfb57ba06dcab3645d60cf6
* new 'smsc_peer' domain preference, synced up automatically
by the sync-db ngcpcfg helper
* sms_journal is extended with sms_peer field
Change-Id: Ida8c7d4f4ef78002bdd822cc6f5967920500b948
We are in the process of removing the obsolete init scripts, so trying
to use them directly will make these operations not work at all.
Change-Id: Ifff400388a947294ca661b3b8bad793b755ee830
* host and port by ngcp-sync-db is now used from
/etc/default/ngcp-db to ensure the correct R/O instance db
Change-Id: Ib7d9dde15cc4e5fa4ca95bb2d5b6ea508e12f89a
This is needed because we now also look at the `with` part
to also retrieve inbound messages to a user.
Change-Id: I8602ec4e3e8b94dcbdd3548dd3ad4ac73d399c0d
To be used to divert call to a given number if the outbound
call is blocked due to block lists or NCOS.
Change-Id: Id3acdfe38ef0a4ab211b96678cdf93fad12f85c7
If activated, the preference will force the system to resolve the
hostname to find the proper destination IP.
Change-Id: I05da4e2ed3e048a1fc7f85558dc0becc3246bb10
+ add default pref values only if not existing yet
+ do not add "0" default values for fromer int prefs
such as "lock"
Change-Id: Ia726fd66f4e3261e6f450877612ece371d744408
For a long time our installation and upgrade uses a temporary "policy-rc.d" to
prevent to [re]start services in the middle of the installation, so some uses of
"invoke-rc.d" (which defers to "policy-rc.d") can cause changes in behaviour.
Upon review because of this change, we found out that the restart of kamailio
when updating ngcp-db-schema didn't happen for a long time because of the use of
"policy-rc.d" that we were using during installations of upgrades in the last
few months/years, but besides this, the code is obsolete since quite a while
ago.
So we drop it completely now.
Change-Id: I76eae2fbda340a1021f10d28f95e76b35ea92c90