* release column is going to contain the ngcp release
version when an .up script is applied and also used
with --mode down --to-release mrX.X.X to automatically
downgrade releases to a specific version
Change-Id: I8750646eee6076bc343a0c05e5c85c137458ef92
* Add `value` to the uda_idx, to reduce/eliminate gap locs and deadlocks from
the API /api/subscribers update scenarios
Change-Id: I62feb07c4df1675771b93e2a29a2aa126a14d34a
* with --mode=down and --to-revision, the revisions are now downgraded
to, and excluding --to-revision (before they included --to-revision,
which is incorrect because downgrades to
package version X.Y, usually do that to the specified package version
Change-Id: I6f250e47f130fc050cbed65d7945a58cde3341a1
* voip_phost_crepl_trig: enum default preferences are now always
created regardless of the enabled state, otherwise that led
to peering servers to be created without their default
not null enum preferences in voip_peer_preferences.
* fix missing not null enum preferences for peering servers
Change-Id: If8cecb5570ba876643207931ecab1e42a994a2fe
* 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
Add support for on demand recording allowing now 4
different configuration types for the 'record_call'
preference:
* 0 = never record
* 1 = always record
* 2 = on-demand record (initially disabled)
* 3 = on-demand record (initially enabled)
Peers cannot use the on-demand recording
Change-Id: I17db074ea7cd690493eb48faa335ef2bfd3a0603
* 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
* node_state variable is now correctly checked
in the 'if' expression
* improve node state check output
Change-Id: Ie5da62cccf11e9c21cf43918670bf82c3cc2feb4
* --force-ro-db-sync runs ngcp-sync-db on the Carrier
proxy nodes regardless if at least one not_replicated script
was applied. This option is mutually exclusive with --skip-ro-db-sync
* rename config.db_local_socket into config.db_ro_socket
* when ro_sync_db() is invoked, privileges for the sipwise user
are updated (was only in automated mode). This is simplify
the usage as password for the sipwise user can potentially be
changed in the constants.yml (or different master database is
imported).
Change-Id: Ie21ff5a663a504082535834ec309c78857b6e911
This commit introduces a list of tables required
by the mod_callcenter module of the FS:
- `kamailio.queues` - custom table which is meant
for usage by our internal http(s) gateway
- `kamailio.agents` - table taken from the upstream
- `kamailio.members` - table taken from the upstream
- `kamailio.tiers` - table taken from the upstream
Database `kamailio` will be used to store tables,
since traditionally other components such as voicemail
server or SEMS are using it as well for storing own tables.
Hence, there is no need to create new database for FS.
P.S.: Master upstream sources of the `mod_callcenter`
were used to get the SQL schemas.
Change-Id: Id88f5b6f8d6dd3f5681034e080a763c9beaba1cf
* on CE platforms there is only one node assumed and therefore,
ngcp-update-db-schema should run there as expected
Change-Id: Iea9a75d34d77fa282585b365e50d221ca6c60528
* r/o database synchronisation, if run in the automated mode
sets grants for the sipwise user credentials taken from
/etc/mysql/sipwise_extra.conf and does it via the socket
/run/mysql/mysqld2.sock, that is because ngcp-sync-db
does not work via socket and there can be a condition when
no connections are allowed yet via tcp to the database.
* minor docstring typo fix
Change-Id: I536bca36320fdb6aa7ee8832ef50870c0dd5e9a1
presentity messages in kamailio.presentity are volatile,
so we copy them to a accounting table for later CDR export.
this cannot be done in mediator, since the presentity message
is emitted after the call has ended.
Change-Id: I6571023664694fef8ae4a071f658960032879c5c
The jenkins uses DB_BASE variable which is path to db.git repo. So if
this variable is set - we need to use db_scripts from this path.
Change-Id: If7af8a38890f7d5da95effeb4bec2b0c7e2ab920
When we add the peering server into dispatcher table,
we need to set his flags column to 8, in order to enable
the probing, and keep flags 0 in the other internal
dispatcher entries (lb,sems,asterisk).
Also we have to update all current 'flags' values in
dispathcer for peering server (with setid=100) with the
new value 8.
Change-Id: Ie8c07639b49dcf8963459bfe1c3cabc12233c6a4
These files were built on Pro trunk with:
/usr/share/ngcp-db-schema/helper/ngcp-build-schema-files
Change-Id: I688146703b32c0a00b477f0edea9d2418a72ca4d