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
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
* ngcp.tzinfo_version is meant to store
the tzdata package version used in
the 'mysql_tzinfo_to_sql' data synchronisation.
Change-Id: I389ee0d189aff40ab94f55e04025a2e44e7027c8
New options:
* diversion: If received Diversion header
* historyinfo: If received History-Info header
Change-Id: Id6de1b2b3d6673f1f7becb377692e98511723f22
* created a stored procedure that moves the firmwwares data
into a new table as chunked blocks, that resolves the
innodb_log_file_size and max_allowe_packet limitations
enabling any size of data
Change-Id: I52ffcc5e0dad4ce35e70cdb13192de1eb54b909c
* as the new introduced ngcp.timezone table is not replicated
in my.cnf by default it must be as not_replicated and
only become available when both nodes contain the same
updated my.cnf tempalte and MariaDB is also restarted on
both of them
* fill in ngcp.timezone with a default record
Change-Id: I34c080a6fa62d951fa01218f9049ef3e1d6668f0
* this change brings back the accounting.cdr tables
to use composite primary keys, that is compatible with
partitioning
Change-Id: I52dc5e665db1a9b9964b52690a7f0792310e1b1b
* ngcp.timezone is used in the
v_subscriber_timezone
v_contract_timezone
v_reseller_timezone views as the fallback one
Change-Id: I52b7b413c7af3d54577665517197a13ca7a95b7d