This upscript will do the following:
- the domains/peers where the selection is on default are migrated to ext
- default entry removed from domains/peers
- new default selection for domain/peers is ext
- The "default" entry has been renamed for subscribers to "use domain default"
Change-Id: I7e5d6f48f6c4aaf4db0e33abf4a3f3d58c446c82
* defines the format of emergency_location_object field
* set cirpack as default since that was the original format
* add PIDF-LO for implementing TR Notruf
Change-Id: Ifcac50b7147f7233d42e1abea75c6cfc1d59f604
* voip_preferences 'type' can be 2, means' blob'
* voip_preferences data_type enum add: 'blob'
* 4 new tables:
- voip_dom_preferences_blob
- voip_usr_preferences_blob
- voip_contract_preferences_blob
- voip_peer_preferences_blob
(they are innodb page compressed)
* triggers on insert/delete on these tables
cause the 'value' field of the related
voip_usr/dom/contract/peer_preferences table to
be updated with the id of the record, required
for kamailio to find the related blob record without
replicating the blob data
* procedure for adding a new blob entry:
1. insert into voip_usr_preferences with the empty value
2. insert into voip_usr_preferences_blob
3. the voip_usr_preferences value will be automatically updated
with the id of the created blob record
Change-Id: I9330613f50de20bc098a94f3fc28cfd4b3ad3c68
Added new usr_preferences with attribute = "no_404_fallback"
This option will enable/disable the user to disable 404 fallback when the callee UAc
replies with a 404 not found.
Change-Id: I414014e920f8f0fbd690b8b3551b0afbed5c6625
* this table is in the provisioning database and is used
to add additional location mappings for terminated calls on a
subscriber instead of the 'location_from_subscriber' preference
* 'location_from_subscriber' preference data is migrated into
the new table
Change-Id: I92726e765c51e87c4d815d01161d8866fe58ef9c
* this new view accumulates possible auth data
containing both subscrber usernames and devices
(aliases with is_devid=1)
* this view is used in subscriber auth and the proxy
code to fetch registered devices not only by
subscriber username but also by the device
Change-Id: Ic4e2596ad461c70acf34cf75a2590640813ec2ca
* Switch all 'redirect_sipwise' and 'profile_sipwise'
to 'redirect_ale' bootstrap method
* Remove them from enum
Change-Id: I394d5926c75a3784cb0fecff983ff3cfd3a889a5
This user/password combination is not used any longer by the monitoring
system and it is a security risk as it is using a hardcoded password
instead of the one from constants.yml.
Change-Id: If00789343e57c5e1e058e431d3dcfc59a6e3fd58
A new 'peer_group_tag' preferences allows to store a string value, which
will be used to narrow peering selection.
The 'caller_pattern' of a peering group has to match this tag to be
considered for outgoing calls.
Change-Id: Ia1ce7a70a3b036f7c37b054c0aeba36fb9b21352
* The 'is_system' column will be used for users
that will have permission to see, create,
edit, delete lawful intercept admins
* Make the default administrator is_system and
revoke its lawful_intercept flag
Change-Id: Ib3349d4e5719f1a16df00647f24ac49174ccc792
this cdr tag will be used to persist the compressed
delta datastructure for contract_balance records.
additional tablespace consumption is minimal: there
will be only one string value (~20chars on average)
required per cdr.
Change-Id: I32557443df2efa7381c85ddfb8c380c8df02df5e
* Store 'email' for administrators to use
for password reset
* Add additional 'can_reset_passsword' column
to indicate wether an admin can request
password reset
Change-Id: If383e1328eb091c68b8419c574dfae307e1b7920
A regression found in mr7.5 forced to apply an up script only
in that specific version (commit 5580ed34).
The commit is to create a dummy up script in order to keep the
ids consistent in all the versions.
Change-Id: I3d16a9edc3791ac030018ba95c4704388b5e4066
The using of MD5() for password was outdated and there is an appropriate
warning in ngcp-status.
So change the default password to salted one. Unfortunately Mariadb
doesn't provide bcrypt() function so use the prepared string.
Change-Id: I668e32265c5e3f0f4907ddba0f9546fafdb8acdd
* The type was wrongly set to 1 which is reserved
to integer/boolean; it has to be 0 since it's a
string
Change-Id: Idf2582f9a3ac70eb032493495b71b3fb0a7c4431
* The new preference defines in which scope is
CLIR used: all (hide all callers) or external
(hide callers except calls from same customer)
Change-Id: Ib05a1a8ad7abea2c0eee30928d39478a41e8e169
* Create up and down scripts with 'enabled'
column representing if a callforwards is
enabled or not
Change-Id: Ibbade5cdc31395e9f129f7cf2ae428edf2352c38
Setting Enabled and Immediate the redirection will be immediately
followed cancelling the other active brances.
Change-Id: Ic861983f24ecaa53f57c5f2ad6f64f021ec0523a
* the foreign key device_id pointed to table autoprov_devices
where the correct table is autoprov_field_devices.
Change-Id: I8523435970b31f011919c83c9615972a0f97b53a
The preference is used to define if, in case of emergency call,
the subscriber's cli is set to UPN or NPN (default).
Change-Id: I4b7b1fe9291f6d2b938fd92ee16f2ef009c8be92
It contains a list of SIP codes that is matched with the response
code received in reply from the subscriber's contacts in case
of call failure. In case of match, the forking based on Q value
is stopped and the code is transparently signaled back to the
caller, whereas also an announcement can be played if configured
in the existing sound set. Response codes 600, 603, 604, 606 are
implicitly included in the list.
Change-Id: Iec6ccad25aa59130ecd5c9add2e83c1341ff49eb
The preference specifies how many seconds each single contact
should ring before the calls goes to the next one. It is
considered only in case of forking based on Q value.
Change-Id: I0d0e93a3dae52934910248060616cc0d4833fa4a
The preference allows to enable the conversion of SIP INFO messages
containing application/dtmf-relay or application/dtmf payloads to
RFC DTMF events.
Added note that the feature is restricted to internal generated
INFO messages and it will not detect and convert exetrnal generated
INFO messages.
Change-Id: I02b5a72f3f5c1c5dfc1e5ed8a8746013ef9a1901
In particular add the following preferences:
* concurrent_max_in
* concurrent_max_in_per_account
* concurrent_max_in_total
Change-Id: I02bf2bc567acf52c832a2808b319b89c3d73fff4
* tables for intermediate cdrs are created as copies
from existing cdr tables
* the tables have similar names and prefixed with int_
* partitioning is removed in those tables
* int_cdr has a new column acc_ref that contains a reference
to the related acc 'INVITE' record,
and also used as a unique index
Change-Id: Ib9951d9d4618c4cfbb0991da3e8c803a7ccb61dd
* is_ccare flags a user as customer care one
and is used in ngcp-panel to restrict the role
only to Customer/Subsceriber related scopes
Change-Id: I72ff7d2d3ba6e56306e1a326f26475cee28e8100
* allowed_ips_header preference provides with a SIP
header name to take the IP address from for
"allowed_clis" ipauth check
Change-Id: I23790881c35534a82993e9afd645a754fb5723c0
* provisioning.voip_peer_rules triggers use internally
a join by IP address to insert/update entries in
kamailio.lcr_rule_target. in cases where there are 2 hosts
per peering group with the same IP address, the triggers
fail because they select duplicate peer hosts. to address
that the "lcr_rule_target join" in the relevant triggers
is adjusted to join the hosts tables by gw_name isntead,
since gw_name is guaranteed unique per peer group
(controlled by a unique key)
Change-Id: I36669efc22bb62ad34c57aac4d978435dbb26f0c
* this table is supposed to group cdrs
by a common identifier. for now it is call_id
it does not contain a dictionary like other
cdr_* relation tables because the field must be
of the similar type as well as to make it possible
to have multi field groups in the future.
Change-Id: Ie304c00bb5f061c80402de7a1072c206b11619ab
Must be 0 for string-key/string-val instead of 1 for
string-key/int-val, otherwise kamailio complains about
invalid int parameter in lua script.
Change-Id: I3421f3706efab9703fb046e0c6981785bb4bc696
We're querying for the alias during registration phase to check if the
dev-id passed by the device is a native alias or a devid alias.
Change-Id: I183cde2690e50bf233f388d79783ce1e5e868aa9
In v_time_sets_ical LEFT join is used insted of INNER join
Use varchar for the bysetpos for set input
Add duration and wkst fields to voip_timeset_periods
Add dtend into vcalendar header if presented
Add name into vcalendar
Change-Id: I077361c01adf034177f09401db9d7d2c4f838be3
A new "Add" mode allows to merge registered contacts of two different
subscribers, instead of replacing the actual ones with an external
one.
Change-Id: I0405ad90d58654bb14b39061b60407186ba6cff4
This flag indicates whether an alias is meant to be a device id, so
calls to this alias can be filtered to only allow calls to devices
carrying this device id in their display-name.
Change-Id: I29c0e2a34d2bd9c1a15618bcfcefe15b77787097
* ngcp.date_range_helper was created as replicated
but it was not replicated on PRO.
this up script recreates the table syncing it in the pair
Change-Id: I4259436701a686729cbbb4a8248feabfcf8054d3
- currenty, there is only cdr.export_status and cdr.exported_at columns
to mark rows already written.
- to handle the AMA ticket export (and other exporters in the future), a
table "accounting.cdr_export_status" is introduced, defineing "streams".
for now there will be "defualt" (the good old cdr-exporter) and
"ama-simples" (for UPC AT)
- the table accounting.cdr_export_status_data stores individual vlaus
for "export_status" (unexported, ok, failed) and exported_at timestamp
per cdr and per cdr exort stream
- all cdr relation table triggers for emulating fk are refactored to be fast.
Change-Id: I52c3383f82ef841e7b18515dd7b73db42a43e2f9
Added the following preferences:
* play_announce_before_call_setup
* play_announce_before_recording
Added the following sounds:
* announce_before_call_setup
* announce_before_recording
Change-Id: I433b09875dc09202390770c78e47cb2db9360fa4
to prevent a pontential foreign key error in susequent
alter table billing_fees_raw
..,
add unique key bfr_srcdestdir_idx (billing_profile_id, type,
match_mode, direction, source, destination),
..;
the key is turned into not-unique afterwards with 15449.up
Change-Id: I884adc442e48202fd0061fece400f5fcb6f892b5
* addresses an issue with the foreign key cannot be
recreated as it relies on the lnp_providers table,
affected since MariaDB 10.1.37
Change-Id: I785fcae727e975839c710f327bd10a659384c39c
the proc now locks contract_id=1 to synchronize when
creating new contracts. (LOCK TABLE is n/a in procs)
note this would be also needed for update operations.
for the lock to work, it requires a proper isolation level.
Change-Id: Ie553532d2879905858a02d0bff22b94d74b44850
A typo in 15400_not_replicated.up script cause the initial select
to return a NULL id, introducing some wrong lines in voip_preferences_enum
table.
The new up script delete the previously introduced wrong lines and
insert the correct ones.
Change-Id: I4e321978e932f866eeaec2b57cdc3deb3a3a0f35
+ add "match_mode" column
+ refactor indexes, triggers, copy proc
+ get_billing_fee_id proc implementing the 4 match modes:
- regex_longest_pattern
- regex_longest_match
- prefix
- exact_destination
+ get_billing_fee proc returning intervals/rates as a
packed string for matching call-out fees and on/offpeak
for the given time. to be used in kamailio/AoC
Change-Id: I7799c5a1ab33bb433c231bd4049c977bcb19b684
* when peer group is changed for a peer rule
it is now correctly reflected in
kamailio.lcr_rule and kamailio.lcr_rule_target
Change-Id: I0a449a224874bd098a3d3c973958f812dbf78530
Allows to identify firmwares by a given tag, if the firmware consists
of multiple files and the phone fetches them by hardcoded names.
Change-Id: I5325895da642d306c92ab1e03264ba128cc295a6
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