New table reseller_preferences inside provisioning created.
The new table is liked to the already existing provisioning.voip_reseller_preferences.
This commit includes the trigger in order to reflect changes from
provisioning.voip_reseller_preferences into provisioning.reseller_preferences.
Change-Id: I4a5e36813a30d902a817b2545c80c668cbf9663b
* new table provisioning.voip_sound_set_handle_parents
that is a helper table and contains current effective parents
for all sound set handles
* new stored procedure update_sound_set_handle_parents that accepts
sound_set_id or NULL, handle_id or NULL to update the helper
table (e.g. call update_sound_set_handle_parents(NULL, NULL)
to rebuild the whole helper table)
* new triggers around voip_sound_sets and voip_sound_files
that trigger the stored procedure when parent_id is changed
or a file changed/use_parent changed
* v_sound_set_files view uses the helper table now instead of
calculating all the nested sound sets and their handles'
parents
Change-Id: Ic775c077227b22b48f7129bf002e36ce353de82f
The param has to be exposed to subscribres so they can control which
calls will be recorded. Additionally this is a necessary step to
let the subscriber's profile parameter to view/hide call recording
working
Change-Id: Ifc5a557f8bfe55e4d040f067228e568420c6479d
New peer preference introduced:
* 'peer_auth_registrar_server'
The registrar server value is to be used for REGISTER R-URI,
as well as From/To domain in the outbound REGISTER.
Change-Id: I92f9f6917daa85456031c87f45233eda8c7302de
Add r_ua for cdrs, this field will store the user agent
answering to the first invite with 200 OK.
Change-Id: I0bf768a8cd4bb712a9c0b04cd7714878e6cec259
Add r_user field for cdrs, this field will store the user part
of the Request Uri answering the first invite with 200 OK.
Change-Id: Idfc666ad108aea9791d3eae473959c382b7f9caa
During the replication the statement syntax is changed a little bit so
it ends up as diff in ngcp-db-compare-schemes.
Continuation of b0078a5c.
Change-Id: I84b1e84ef910bcc2df31d430588192105463fdfa
During the replication the statement syntax is changed a little bit so
it ends up as diff in ngcp-db-compare-schemes.
Change-Id: Id6095c90235142304bcb0432244d4cf13db74071
* there is already an existing composite index
callid_method_idx (callid,method) that covers the
'where callid' and 'where callid and method' cases. the additional
index method_callid_idx (method,callid) is excessive because
it only need to cover the 'where method' cases, the rest
is covered by callid_method_id. To reduce the disk space
and the additional sql overhead for CRUD ops, method_callid_idx
is adjusted to method_idx (method)
Change-Id: I3659ecb7062f005125f08ec5cf85c674d1abe0f5
* due to the fact that the initial script had been created as replicated
and then renamed to _not_replicated, caused already deployed platforms on
mr11.1, mr11.1.1, mr11.2, mr11.2.1 to have the index in both tables
(because of the upgrade/ngcp-sync-db step on sp2) and a missing
record in ngcp.db_schema for 'sp2' (because the script was named
as replicated initially). To further address the issue, "CREATE INDEX"
is now adjusted to "CREATE INDEX IF NOT EXISTS"
Change-Id: Ie1554bad9300da5ff711cfe53d1cc6c14f91793d
* the db scripts have 'set sql_log_bin=0' but do not have the
_not_replicated filename part. they are not renamed to have
the _not_replicated required part.
Change-Id: I78d841f5ac4c5dff7c13e292746688faecd062d9
In the process of improvement and optimization of the whole
soundset structure, it is fundamental to make the contract
soundset behaving exactly like the system soundsets.
Due to that now all the announcements are exposed to customers
Change-Id: I5da9162ed544e69336e954d9257a180898157014
* add provisioning.voip_sound_sets parent field, that is null by default
and can be set to another sound_set id to indicate it as own parent.
* add provisioning.voip_sound_files use_parent field, boolean not null
default 0. this field defines wether parent sound sets should be
used for this sound (default yes).
* add v_sound_set_files view that returns an accumulated
representation of sound files available for sets for all the
available sound handles.
Therefore "select * from v_sound_set_files where set_id = 3"
returns all available sound handles and the filename and data columns
containing the according content either from the current sound set
or from first parent that contains a non empty filename and data,
or until the sound set (current or parent) with the use_parent field = 0.
* parent_chain virtual column contains a ':' separated chain of parents
used for the sound set.
* data_set_id virtual column contains the sound_set that was used for
the sound data or null if there is no sound data.
* voip_sound_files update index from handle_id_ref (handle_id) to
handle_set_id_idx (handle_id, set_id) for optimised behaviour
of the v_sound_set_files view.
* add provisioning.voip_sound_sets expose_to_customer field that
enables the sets to be used by customers.
* update provisioning.voip_preferences 'sound_set' attibute with
expose_to_customer = 1
Change-Id: I06fb384d911cfe1d2ffe7be8fd2ba8d80468662f
If any user depends on the previous format for mono Opus, this makes it
possible to preserve the old behaviour.
Change-Id: Ib0587585278cf143046b1210e93c6f8230b81749
The 'enable_t38' preference was added long time ago to
provision of phones that support fax services with t38.
We don't support those devices since long time.
Additionally the preference creates confusion with real
subscriber feature of enable t38 for mailtofax/faxtomail
service.
Due to those reason the preference can be removed.
Change-Id: I05b0f353eff9dcc6d57f51c6a32a6756f692d29d
This preference was created long time ago to support
the automated provision of a desktop jitsi client.
The feature is not used and most probably not working
at all since we don't support the jitsi client anymore.
Change-Id: I4592b8130a26adec04352af00bdbea939f3d2aa0
The feature was never really used and no customer is using
it at the moment.
Removed from the DB the following
voip_preferences:
* dialogic_mode
* dialogic_ip_rtp
* dialogic_ip_config
* dialogic_out_codecs
* dialogic_ss7_opc
* dialogic_ss7_apc
* dialogic_ss7_dpc
* dialogic_nfs_server
* dialogic_nfs_path
* dialogic_snmp_system_name
* dialogic_snmp_system_location
* dialogic_snmp_system_contact
* dialogic_snmp_community_name
* dialogic_ip_snmp_manager
* dialogic_use_optical_spans
* dialogic_is_isdn_userside
voip_preferences_enum:
* dialogic_mode
* dialogic_out_codecs
voip_preference_groups:
* Dialogic Settings
Change-Id: I5c483ffc61728fc2de7134d4ebd84593955ba184
The preference is used only for device provisioning
to give priority to user changes over the automated
provisioning coming from the server.
Change-Id: I65bb0b90b80e11aa34f7b56019f0b57319678cc0
Activate profile preferences to all the options already
available for both subscriber and domain.
Extend 'music_on_hold' and 'clir_intrapbx' to be
domain preferences.
Add 'ignore_cf_when_hunting' preference to subscriber
role.
Fix and update 'expose_to_customer' and 'expose_to_subscriber'
columns to properly expose what is necessary for each
role and hide features that should be activated only
by system administrator.
Change-Id: Ia0aa8f9f10dc1bab47ff8b9ccfc90c2741e988e0
* ringtimeout is now internal = 1 as this preference is dynamically
changed by CFT call forwards and is not meant to be usable from the
UI/API
Change-Id: I6c2abf94e455cf50cdbc6cf7122844582ba6bbb4
* expose_to_customer is now set to 1 for 'cli' preference so that
subscriberadmin users can access it
Change-Id: Ia661a7095457bd0fbf6eab5c74cd17eb224d7c3b
* expose_to_subscriber is a new preferences flag that
indicates that the preference can be read/modified by
'subscriber' role
* expose_to_customer now only does the same as expose_to_subscriber
but for 'subscriberadmin' role
Change-Id: I4b38ac5653e7132510354de4fd8b72d010d0ff68
* ncos_sets table contains a list of ncos_sets
* ncos_set_levels table contains "many to many" mappings
for ncos_sets and ncos_levels
* add ncos_levels.time_set_id column (default null)
Change-Id: Ib46fe46bd75ef13b8375961c93f586281f28866d
This reverts commit 1631573453.
The script is actually a one-time only script, no need to re-execute
it again, instead it fails to run due to:
| Applying revision script /usr/share/ngcp-db-schema/db_scripts/diff/15743.up: ERROR 1050 (42S01) at line 4: Table 'autoprov_firmwares_data' already exists
| failed. :(
Change-Id: I75ea1a0ce86064113032844a9ff4fc8a2b0af7cd
In git rev a9c1cf4cb we had to take care of adjusting the offset
variable to support MariaDB >=10.6 in the existing diff/15301.up script.
So that also existing installations receive that change during upgrade,
let's provide the according script which re-creates the
split_autoprov_firmware_data stored procedure.
Change-Id: Iae9634b39bda9f1ad63b2b6093f2e6095f68fc45
Thanks: Kirill Solomko <ksolomko@sipwise.com>
Fixes:
| Applying revision script /usr/share/ngcp-db-schema/db_scripts/diff/15301.up: ERROR 1064 (42000) at line 14: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'offset int;
| DECLARE chunk longblob;
| DECLARE done int DEFAULT FALSE;
|
| ...' at line 4
| failed. :(
This is caused by MariaDB having "offset" as reserved word, quoting from
https://mariadb.com/kb/en/upgrading-from-mariadb-10-5-to-mariadb-10-6/:
| New reserved word: OFFSET. This can no longer be used as an identifier without being quoted.
Now that Debian/bookworm includes mariadb-server v10.6.10-1
we need to rename the variable.
Change-Id: I9db699ef60259411b8b79305f08179d4989edcd2
* the new table is to contain data for customer speed dials
(that affect all subscribers under the customer)
* triggers that replicate the data into kamailio.speed_dial
Change-Id: I0bc175e0ede7fa79b296c83a7f0d512b03c74aab
rtcengine product has been discontinued already since mr10.5.1
so it is useless to keep the database in the system
Change-Id: Icdf06c8d9de9a0236a5fc87b645d698952db3b44
This reverts commit 5f34f84b04.
Reason for revert: upstream provide us with a solution that doesn't need a kamailio change
Change-Id: Ifdb7f8c55f27498a880cc35a104e20472e6e69f7
This modification enables the get uri related to a speed dial number for a group (with 3 digits - *999).
It gets the new_uri from the table speed_dial using the group_id, the sd_username and sd_domain.
Change-Id: I629c2b5e35b53ee21a1e3a67df7a66f095da9db4
We have to concern slow selections like this:
"SELECT a.callid FROM acc a WHERE a.method = 'INVITE' GROUP BY a.callid LIMIT 0,200000;"
which can take procesisng time over 10 sec (as reported in the WF ticket).
As a simple solution, we can give an additional index to the 'acc' table:
KEY `method_callid_idx` (`method`,`callid`)
Which will give us an indexation on selecitons with the WHERE clause on 'method' column.
Without the index (explain of the selection):
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: a
type: range
possible_keys: NULL
key: callid_method_idx
key_len: 817
ref: NULL
rows: 2
Extra: Using where; Using index for group-by
With the index (explain of the selection):
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: a
type: ref
possible_keys: method_callid_idx
key: method_callid_idx
key_len: 50
ref: const
rows: 1
Extra: Using where; Using index
The newer index is not to be mixed with the previously existing one:
KEY `callid_method_idx` (`callid`,`method`)
Change-Id: Ie8a4ab102adb8788d9e273bd5a9edf1ddbb702bf
In order to introduce the new 'fax=' prefix, we have to update
the already configured CF destinations to fax2mail, and prefix them
with 'fax='.
Change-Id: Id09886932ba3246b7e10b36fb4f3f50c61139c7a
New index for watchers table for columns "inserted_time" and "status".
This is a little performance boost since the function
ps_watchers_db_timer_clean() cleans pending subscriptions
using this columns inside the "where" clause.
Change-Id: I9cb2220f6fe89aa2070d9a739c4a3a0417e3de71