* 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
Change-Id: I69416b5737cf05695cbfd1c2e4544faa8b1a2ab0
Prefs codecs_id_filter and codecs_id_list are no more selectable.
Records inside kamailio.user_preferences will be automatically deleted by triggers.
Change-Id: I6224a8cae8df7e6f159142a8ee09a0ab9b26b1be
Add a preference, which introduces a mixed mode of handling AA
choices and extensions dialing via AA menu.
Can be enabled or disabled (default).
If enabled then instant extensions dialing mode is used,
otherwise the usual one (which requires dialing through
the *asterisk sign).
Can be applied at the following levels:
- domain (has always default value 'disabled')
- profile (inherits from domain if doesn't have own value)
- subscriber (inherits from domain if doesn't have own value)
Change-Id: Ibf1d08268a9b72d2524881951700776fdc9ec215
voicebox_unavailable sound handle is notsupported since mr5.3
and it is even mentioned as not supported in the handbook.
It is time to removed it completely from the system.
Change-Id: I9bd0122fc192d5d5906494b5051e471556f8778a
The change of the ENUM 'direction' column removing old values
and adding the new ones, creates problems to existing HM
records.
The records with direction 'inbound' or 'outbound' loose
their direction right after the ENUM is updated.
To fix the issue we have before to add the new values,
then migrate the enties, and finally remove all the values
not needed.
Change-Id: Ib350b6aaada2cdabccb01947f131d3389e1a5110
Commit 5f0bfdae7c wrongly disabled
preference ignore_cf_when_hunting at domain level.
Actually in template there is a reference to this parameter at domain level
(it was missed on first analysis) and for this reason
the corresponding flag in provisioning.voip_preferences must be set to 1.
Change-Id: I89b9597e8bc46a8ccf3e07edcb13199a831aef68
* this column is added to billing.admins and
provisoning.voip_subscribers to control the amount
of consequent bans for progressive ban increase.
Change-Id: I09c5205294b11aec16f0c6a7a3b9257ff5b90e01
* provisioning.voip_subscriber_password_journal stores last
used sip passwords per subscriber
* provisioning.voip_subscriber_password_journal stores last
used web passwords per subscriber
* billing.admin_password_journal stores last
used passwords per admin user
* add password_last_modify and webpassword_last_modify into
provisioning.voip_subscribers to keep track of password age
* add saltedpass_last_modify into billing.admins
to keep track of password age
Change-Id: Iff5dd016a2542a01a36ebcf50f561911fb5f7bed
inbound/outbound no longer represent the "full" direction and belong
only to A leg, so they are renamed to a_inbound/a_outbound accordingly.
The up-script is not replicated because while the first half of the
nodes is upgraded the other half shoud continue to work with the old
parameters.
Change-Id: I1ac49b44c439ae1ba00c0862968c58831c605279
This is needed to perform manipulations to the SIP message
just before it leaves the system on the B-Leg side.
Change-Id: I61ee456d84061092af26ede51a99c480aca66a1d
* as announce_conn_type is of the enum type now there are
potential leftovers in the usr/dom/prof preference tables
that will cause the provisioning to not function correctly,
therefore, the "" empty values are removed from those tables.
Change-Id: I37ffe4720889a29b9e054aa816b785059ef36222
Use a real NULL value instead of string.
Additionally: update description for the preference
'announce_conn_type'.
Change-Id: I144702d0b6decfde42b075eb50399b68ed5b4818
The preference is available only for subscribers and it is
not exposed to customers or subscribers.
It contains a list of numbers that the subscriber is allowed
to call even if blocked by the NCOS. If the called number
matches, then all the NCOS and administrative NCOS checks are
skipped.
Change-Id: Id366a405efe5228405fc95419bdfc2eaddc6e69c
Kamailio proxy evaluates the preference "ignore_cf_when_hunting" only at customer
(contract) level but web interface lets the user set this pref also at domain
and subscriber level.
This leads to some confusion, the web interface user is fooled by this preference
and thinks something is wrong inside kamailio proxy because enabling/disabling
"ignore_cf_when_hunting" at dom/subscriber level has no effect at all.
Original implementation treats this option as something that must have
a global impact as demostrated by the same preference into config.yml.
Change-Id: I2ba28709dac8a3348049ad9dd5f116ce9d86d9f8
Add header=P-Preferred-Identity for cdrs, this field will
store the P-Preferred-Identity header of the initial INVITE.
Change-Id: I3a6c4a26bda18b80c9f25caf42328eab1e7171cc
Subscriber administrators should be able to configure the
preferences of each single provisioned device. Due to that
this commit set expose_to_customer=1 for all the preferences
flagged with fielddev_pref=1.
Change-Id: Ifdc4e32212aa2e948d41bcf019bf1051be6b7c7d
By mistake in commit 7aab6d290d the new 'rcv_display/np_display'
option was added to the 'outbound_from_user' and 'outbound_pai_user'
preferences instead of 'outbound_from_display' and 'outbound_pai_display'.
This fix revert previous addition and add it to the correct preference.
Change-Id: Ifed659b22dbde621fbf366092268e6416e9ad4ba
This new column will be used to store a flag (value 0 or 1) that
controls wether the CF is processed as usual (flag with value 0,
default) or generates a 302 redirect message back to the
caller (flag with value 1).
Updating also the 'v_subscriber_cfs' VIEW to add thhis new column.
Change-Id: I74e53a526810f0145e305b90c3c3bd56cf91bc61
This will add support to both 'outbound_from_display' and
'outbound_pai_display' for a new method called 'rcv_display/np_display'.
This will allow to use the received display name if available
and the network provided one as fallback.
Change-Id: Iab0335c73ea6aba883b111645abec17bfede9386
* 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
* 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
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
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
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
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
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.
Change-Id: If14917ef437de3abf46b1900f68c9cc3a9a4b947
Expose peer_auth_registrar_server to usr_pref to align
the subscriber remote authentication to the peering
authentication.
Change-Id: Ib65b9b40b70dc9eb122411e27793c1f6ecb8dfc5
announce_conn_type defines what type of connection
to use in case of CF to Office-Hours or Early Rejects.
If set to 'early' the announcement is played with early
media (183).
If set to 'established' the announcement is played
after a 200 OK.
Change-Id: Idef2577f566b63ebd9f91c7c120a1761d88bf217
* foreign key preference_id -> voip_preferences.id now has
ON UPDATE CASCADE ON DELETE CASCADE, to correctly recursively
remove records from voip_preferences_enum
* all records in provisioning.voip_preferences_enum with orphaned
preference_id (does not exists in voip_preferences) are removed
Change-Id: I36950dbebefa72beb8a20d5373aeb692cb33211d
The method 'none' was added is commit 63815c948 as dedicated
request from a customer to support provisioning of phones
without ZRP.
During future changes to the supported values, in the commit
34273a837 the 'none' value got lost by mistake.
This commit will re-add support for the 'none' value.
Change-Id: Ia1b0367923b15e55c1dcfb69655bd23954033c77
* 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
* 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
* 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
* all existing table columns that inherited wrong
'timestamp default NULL' definitions with MaraiDB 10.9+
and explicit_defaults_for_timestamp with the new default
values there (which is 1) are updated to 'timestamp default NOT NULL'
that corresponds to the expected behaviour
* explicit_defaults_for_timestamp is explicitly set to 0
in the templates starting from mr11.4+
Change-Id: Ief3477793eb271b8db3833b68d0f46690d780d33
If preference 'sip_ping_notify' is set and the user fails to reply
to the NGCP SIP ping (OPTIONS), the system will
trigger a CSTA event if and only if the reply
code matches the 'sip_ping_notify_codecs_list'.
Reply codes 200, 403, 404, 405 and 486 are considered 'good'
replies and will never trigger a CSTA notification.
Change-Id: I9639fdd2abdfb6beeb935d3c4f32e3c32d43f947
We have to add a newly introduced application server (:5085)
to the `kamailio.dispatcher` table in a role of PBX server.
Change-Id: I9a0e52489b298f4362813fa9257211420dd6c164