This reduces the complexity of the algorithm, at the expense of more
code, which makes it faster:
Rate old new
old 57803/s -- -23%
new 74906/s 30% --
Change-Id: Ic230cddceb269e4c452f3713e75be16569908458
Unix systems default to using /bin/sh when trying to run an executable
script that has no shebang.
Change-Id: I18ef857fbc54fd72e6ad06b0f85c8c908fb0880d
We require these with perlcritic, but have not been triggered as these
scripts have no shebang, which we will be adding later.
Change-Id: I81ac98c9ee72cce9b3446a98e1aae53e4c04b578
This adds a behavior change, reflected in the unit test changes, by
always returning the lowercased versions of the array elements when
case insensitiveness is enabled. This should be fine, given that we
do not care from the callers PoV, and the result might have changed
depending on the order of the inputs.
Change-Id: I44896183b566e921cc1287f106fb4bb9332acb97
Which is also around 300% faster:
Rate had-hoc sprintf
had-hoc 3508772/s -- -75%
sprintf 14084507/s 301% --
Change-Id: I5ebce0058473f9de08c381739646a20e42308a8f
no_xfer: [cdr0]
currently cdr0->destination_user_in ok as is
bilnd_xfer: [cdr0, cdr0_xfer-1]
currently cdr0_xfer-1->destination_user_in, change to
cdr0->destination_user_in
attn_xfer_ivr: [cdr0, cdr0_pbx-1, cdr0, cdr0_xfer-1_groupcdr]
currently cdr0_pbx-1->destination_user_in, change to
cdr0_pbx-1->groupcdr->destination_user_in
Change-Id: If7099e344f303412958c902e91f2e7d5ae7bff35
- any non-numeric numbers will be sorted out as failed in general
- fix chown/chmod after renaming
Change-Id: Ib1409e16e803498b108df9b9f6e9f0959fb24c56
+ control command to reset fsn
+ control command to reset a export stream's export_status
+ produces intact .ama files now
Change-Id: I3b9456416851d2caa3273b54d9e835097663c98b
tool to switch contracts with some billing profile
to a desired profile package, as specified in mappings.yml.
run like:
perl process.pl --task=cleanup --task=set_profile_package --skip-errors
Change-Id: Ie7c07642ed29d91166aad95dfb62a0e3e40a5e3f
- not that obvious, since a "sip:" prefix is neither automatically
prepended nor enforced by panel UI.
Change-Id: I8b48996b12f184d92450dd5babe7321b2571b674
+ prepare/merge/clean callforward+voicemail Y/N data
+ add voip_cf_destinations dao
+ add voip_cf_destination_sets dao
+ voip_cf_mappings, destination_sets and destinations
insert dao method
+ write callforwards
+ write callforward related preference values
+ not well-formed enough: fixed issues popped up when
trying to view/edit created callfowards in panel
+ fix "database locked" error - properly handle SQLite's
serialized transactions (single transaction at a time).
+ write report file for debugging/review
- json graph of merged data of a subscriber
- including fields info/warning/error messages
for a subscriber
- write it snychronized now
+ get rid of JSON::XS
+ extend NGCPRestApi connector to support file transfers
+ heuristic for missing "channels" (by subscriber number
count)
+ prevent mysql deadlocks when writing to ngcp
+ strictly consider record order from imports
+ task end result stats polished
+ cleanup code a bit
+ add kmailio.location dao
+ add kmailio.location insert dao method
+ writing "permanent registrations" to kamailio.location
+ generate location "ruid" and "partition" according to kamailio
Change-Id: Ief9a7634b4930e51d79ac5e963ba48769d3708ea
+ introduce support to manipulate contract, domain, etc.
voip_preferences
+ write concurrent_max_total preference
+ error in invalid "channels = 0"
+ try to find non-empty sip-password of a subscriber, if any
+ try to find nonempty web username+password, if any
+ set emtpy web_password, if web_username is empty
+ auto-generate web_username, if duplicate
+ auto-generate web_password, if web_username is not emtpy but
web_password is empty
+ parse export_CLIR.csv
+ write clir preference
+ write allowed_ips_grp preference
+ use maximum of concurrent_max_total for a subscriber,
when inconsisten
+ use combined list of allowed ips, when inconsistent
+ write adm_ncos, derive barrings combination if
inconsistent for a subscriber
+ log created items, cleanup code a bit
+ range unfolding for numbers in allowedcli files
Change-Id: I26bab2cb9b4ef349777ebef2e883c9e41af3eeba
+ "allowed_cli" import gets a different meaning,
it are additional "numbers" (alias+allowed_cli) to import
+ unique cc+ac+sn in subscriber file
+ unique cc+ac+sn in allowed_cli file
+ logging of cc+ac+sn of allowed_cli records
already found in subscriber file
+ logging of sip_usernames of allowed_cli records
not found in subscriber file
+ reseller mapping
Change-Id: I620db415f5dab91e8d5c6336b7a45b3a0ffeacb9
+ allow to specify multiple subscriber files to import
+ allow to specify multiple allowed_cli files to import
Change-Id: I80f83542f541a0d8857d477158dc043cfabb93ba
- CSV importer: escaped field enclosing, mutliline values,
comment char, constant memory
- SQLite table to hold flat file content
- multithread import for large files
- concept of single flatfile abandonend as teletek also wants
to import AllowedIPs, MaxConcurrentCalls, NCOS levels,
CallForwards
- load teletek's main subscriber flatfile
- single insert/upsert txn import to identify duplicate
cc+ac+sn
- alias range unfolding
- alias range unfolding fix, analysis of duplicate cc+ac+sn
in export_kundinfo_leica2.csv
- fixed one-off bug in parser
- aliases sorting
- aliases dupe check
- check for sip account used by different contacts
- reseller cache/check for missing reseller
- domain cache/check for missing domain
- billing profile cache/check for missing billing profile
- rest api cert-authentification, multi-user, thread safe, tested
- contact create, no update
- contract create, no update
- billing mapping creaet, no update
- contract balance create, no update
- billing subscriber, prov subscriber, primary voip_number and voip_dbalias
- prefs: account_id, cc, ac
- prefs: allowed_cli, cli
- load allowed clis file, identify dupes
- todo: remove partly adjusted old code parts, depending on this will be extended or not.
- add aliases, tested, panel can display 1000+ aliases.
- disable multithreading
Change-Id: I4f5ae61610bab744e3d0644f7a56afa8874a2c3c
The latter does not support YAML 1.1, nor many parts of the
specification. Use the more compliant implementation, in addition to try
to converge to a single one, so that we do not get serialization delta
surprises.
Change-Id: Ia3f6808b9bb84afb224cc29040964eefe07bf118
fix tool to update acc_trash and re-enqueue records accumulated
during 3.x->4.x updates due to introduction of cdr lnp prefix
fields.
Change-Id: Iea6140edccc1aeb456f6584b7d8335e18ba1b69d