* fix 15783_not_replicated.up voip_phost_urepl_trig
lcr_rule_target update so only the correct
peering host is changed with the weight change.
* the fix is derived from 15839.up and created solely
for mr11.5/mr11.5.1
(cherry picked from commit fa6ececa59)
(cherry picked from commit 3dcc7bd7c5)
Change-Id: Ib525592dd55ec6c8349138236c49ea7030d58d61
* reason for this change is because the related
changes in the kamailio table get replicated to the
active node during the upgrade and that breaks outbound peer
provisioning / selection by running kamailio there
(cherry picked from commit c332fc9d9f)
(cherry picked from commit c32487c4b2)
Change-Id: I69416b5737cf05695cbfd1c2e4544faa8b1a2ab0
* sync RO db rework master node detection:
- preferred master node selection is now only performed when
NGCP_UPGRADE env is set
- if NGCP_UPGRADE env variable is set, the central_db_node is checked
if it's db01 then the side is picked based on "*a" or "*b" or
"sp1"/"sp2" hostname.
this logic is important because during the upgrade the sync must
be done from the db node of the same side, as otherwise old database
version and might be synced.
- mysql database is no longer synchronised to 3308 (it's already
removed from replication)
(cherry picked from commit 4d014bcdff)
(cherry picked from commit 6df5c046fe)
Change-Id: I4ab837390dac7b1443ea454a451b491b5d70f192
Support for the new HTTPS v1 protocol. GCM doesn't exist any more.
(cherry picked from commit d75b113db8)
(cherry picked from commit 3735469475)
Change-Id: I7017e5474ef699a2dcaf6d4d7f815193a2819685
There are 2 .up scripts that modify voip_allowed_ip_groups.ipnet
15702.up - modifies it to varchar(43)
15710.up - modifies it to varchar(46)
Because in 15710.up was backported into mr9.5 but is missing in mr10.5,
existing upgrades from mr9.5 -> mr10.5 apply 15702 after 15710.up,
effectively downgrading the column to varchar(46).
This .up script fixes the scenario and also the .down script modifies
the column also to varchar(46) to respect the previous 15710.up the
sets it to varchar(46), so to achieve the consistent state.
(cherry picked from commit 9c6ef86372)
(cherry picked from commit 354965d15c)
Change-Id: If14917ef437de3abf46b1900f68c9cc3a9a4b947
* Instead of using "set foreign_key_checks=0" before
altering voicemail_spool voicemail_users tables the
foreign key voicemail_spool.`v_s_mailboxuser_ref` is
dropped instead and re-created after the alter table operations
(same lines where "set foreign_key_checks=0" and "set
foreign_key_checks=1" were respectively.
* That addresses the changed behavior with MariaDB 10.11.6
where "alter table" statements the change columns involved
in a foreign key and potentially causing data loss are prohibited
even with "set foreign_key_checks=0".
* This change is only valid for new deployments and databases
with already applied 6425.up are not affected.
Change-Id: I2f2a85ca9f9f7d15058f41f5d8eaaec23ec501fa
(cherry picked from commit 25257f1657)
* update_sound_set_handle_parents() procedure is redesigned
to avoid "insert into select from" statements as they cause
gap locks when run concurrently and access the same index
rows.
*** WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 6594 page no 6 n bits 56 index parent_id_idx
of table `provisioning`.`voip_sound_sets` trx id 400852
lock mode S locks rec but not gap waiting
the "insert into select from" statements are reworked:
the "select from/with recursive" parts are now declared cursors
and the data is inserted inside the opened cursor loop (if any).
this way the selects are not causing exclusive gap locks.
Change-Id: I35ec28a33ecca42de898e67a2709eda4364e5f95
(cherry picked from commit 4017d3519c)
(cherry picked from commit 9c0fd6e4a1889ddbcbb3a90521dd3e2d3bfe73a5)
* use NEW.id instead of LAST_INSERT_ID() for INSERTs
into kamailio.lcr_rule_target as lcr_gw.id is now
equal to voip_peer_hosts.id
Change-Id: I5d905ddcc15cff2e72b64555a7393ec0c6dfea04
(cherry picked from commit 12ab0a6618)
* the relation between provisioning.voip_peer_hosts and kamailio.lcr_gw
is now based on id<>id instead of id<>flags. That is to address an
issue where code/components that queries kamailio.lcr_gw
or related tables like sems_registrations use voip_peer_hosts.id
and fail because there is no such record, that also frees up
lcr_gw.flags for the intended use to define peereing server attributes
and can be used in the future development.
* adjust voip_phost_crepl/urepl/drepl triggers that maintain
kamailio.lcr_gw table state to INSERT new records into lcr_gw
with forced 'id' as NEW.id, use lcr.gw in UPDATE/DELETE and no
longer change the lcr_gw.flags column
* update kamailio.lcr_gw.id to be equal 'flags' (where flags != 0)
* update kamailio.lcr_gw.flags set all to 0
Change-Id: Ied6843ef2aaa7b25af2627797f0d57c75d8f6094
(cherry picked from commit aec9db0018)
* cleanup potential leftover of method_callid_idx in
kamailio.acc that was created by the "wrong order"
issue where 15761.up (replicated) was applied first
(by replication) and then 15739_not_replicated.up
was applied afterwards (with ngcp-update-db-schema)
* this solves the mr10.5.x to mr11.5.x upgrade scenario
Change-Id: I0c8dc07d84e2fc5134b7f7a05212d07bb41f031c
(cherry picked from commit a5231e6f22a4c87a40d1b3d3f701a7af346330df)
It was added to my.cnf in templates.git:3e304fb6 so add it to mariadb
startup options.
Change-Id: I9ee8b46a75390d286e6d756eb1c1f92785d8c4ab
(cherry picked from commit cf6f52f592)
(cherry picked from commit 6fdba7c31d)
It was initially added to reduce the diff on a review but now we
automatically merge generated schemes.
So no need to do such substitution besides it's dangerous to do such
manipulation on sql file.
Change-Id: I1e78ebe85e731f6be2f84afdf53c3befbb8d55ef
A new subscriber preference has been introduced to control the
behavior on a termination of call legs in the early dialog stage.
Name: `cloud_pbx_hunt_cancel_mode`
Values: `bye`, `cancel` (default one).
Change-Id: I8f14f5d70068311fa7444ea223305fd7f542d37d
* convert unique key set_handle_id_idx (set_id, handle_id)
to non-unique to avoid deadlocks because of forced gap locks
in INSERT and DELETE concurrent operations (when such occur)
* "update_sound_set_handle_parents" procedure:
- avoid IODKU and instead calculate entries to skip on the fly.
- WITH and WITHOUT u_handle_id is now split into 2 separate
IF blocks as otherwise "AND handle_id = u_handle_id OR 1:1"
caused full handles update even if u_handle_id was there
* fix a typo for "TRIGGER voip_sound_files_create_trig AFTER INSERT"
which wrongly had "AFTER UPDATE"
* fix warnings of 'Truncated DOUBLE' coming from using IF evaluation
variable as boolean, IF(LENGTH(cte.parent_chain) > 1 addresses
it.
Change-Id: Id6b6ab66de53c2ccd95f28d23e5e2b97ece89923
* the ngcp.timezone table is not replicated and hence
the script must be also not replicated.
- the script is renamed to _not_replicated
- the ALTER TABLE ADD COLUMN is enhanced with
"IF NOT EXISTS" to mitigate scenarios where
somebody manually added the column on the other node,
and to ensure that the upgrades are safe
Change-Id: Ic44f76b5f3f43ae4124cebad30d559224fa90b31
* this addresses an issue caused by 15739_not_replicated script
that when not applied on the other replicated node, causes
this script to break replication. "drop index if not exists"
in this script addresses the issue and makes it so the both
scenarios are covered.
Change-Id: I8713d38ce3c4eab76b1d0b28adc6c0bd4c8260e1
* new column expose_to_custeomr in billing.ncos_levels
* new column expose_to_custeomr in billing.ncos_sets
Change-Id: Ieecd1a5d1e84fe001b89ea7f6e53ed531d25638a