Rene Krenn
02cfe82351
TT#118151 mr7.5.5 redis "location" db DAO
...
Change-Id: I5b7e919cb686031da7ba08bd7a0f4237fcd309a7
4 years ago
Rene Krenn
fc85c81911
TT#118050 SQLServer connectivity using tdsodbc
...
Change-Id: Ia9a08bc84289d1636b318985c83432bcd285d9e2
4 years ago
Rene Krenn
f9222f2f97
TT#111905 perl system() wrapper
...
Change-Id: I6dc8d73ff0c03ef22d2336b6f82077e257547a98
4 years ago
Rene Krenn
b1c9101fba
TT#111750 add trunk kamailio.voicemail_spool DAO
...
Change-Id: Ia0632e0b69429a1ee2e15917244e7b6355ef7f65
4 years ago
Rene Krenn
9c90f7998d
TT#111206 add mr1.0.3 openser.voicemail_spool DAO
...
Change-Id: Iec3bfd97e98a82f2633b2a184a2f677c5dd3ca2f
4 years ago
Rene Krenn
c2a2b7c64d
TT#110203 redis registration monitoring to SQLite PoC
...
Change-Id: I3c7bcb14f3bff3de04258938d5e9a1bed2c493ab
4 years ago
Rene Krenn
20b5920a7a
TT#108605 redis "location" store schema #2
...
Change-Id: Id1195d5c0aa57015a0680f849df5c92af40dbd85
4 years ago
Rene Krenn
e9e315fd8b
TT#108605 redis "location" store schema #1
...
Change-Id: I96150ac365658e1cf0c156e725e88b75757977e9
4 years ago
Rene Krenn
c3bc57b0b8
TT#108606 multithread consumer-producer pattern for Redis
...
Change-Id: I34b6b0c99fdb04d43a013b018a00e8298cb35fec
4 years ago
Rene Krenn
207a82b621
TT#108604 introduce nosql abstraction and redis connector
...
Change-Id: Ia2f7682c6a9b88c42300dc667f1302eaf447bab3
4 years ago
Rene Krenn
565cafde3b
TT#109163 fix contracts dao for mr1.0.3 schema
...
Change-Id: I5000731027c83711e9d03dcce52d5aef286b0e26
4 years ago
Rene Krenn
d5dec06fff
TT#104251 cdr paging queries: force index
...
Change-Id: I373d638313385e43d08b00ca0b0f3146fb6ec048
(cherry picked from commit d78ed162cd
)
4 years ago
Rene Krenn
04e8fb04e1
TT#104251 refactor paging queries for cdr tables
...
the implementation used queries based on "OR",
causing a perfromance problem as the query time
depends on the cardinality of the accounting.cdr
table.
Change-Id: I1dbb23cf8802179b89c44718915ca090a2b17b5e
4 years ago
Rene Krenn
72f22eb5a0
TT#81770 magenta openser mig: comply mr103 and trunk db schema
...
Change-Id: I06daf4af0dc374c649a0617b438d2b89703a3285
(cherry picked from commit 82e6d73750
)
5 years ago
Rene Krenn
3e7bab759b
TT#87561 remove fax prefs from openser mr1.0.2 dao db schema
...
Change-Id: Ie31e3d67d6bdaced8e51596fc5ce111648029053
5 years ago
Rene Krenn
d3f81b356c
TT#95953 define BLOCK_IN_CLIR and BLOCK_OUT_OVERRIDE_PIN attrs
...
Change-Id: Ib9d05b131fd7e8b224bd9719b5988aa3431d3bd2
5 years ago
Rene Krenn
5010a23968
TT#87561 openser/ngcp mr1.0.2 dao db schema
...
Change-Id: I37a174b71c80bc24d9246eafc20a12e18256d736
5 years ago
Rene Krenn
e0d143ec3b
TT#75901 cdr_status_data UPSERT should return 0 if already exported
...
CDR export jobs such as ama exporter or cdr-exporter must never execute
on both active/passive node. because the output folder resides on a
glusterfs filesystem, this will cause merged or duplicate files, and
calls charged twice to customers subsequentially.
for .ama, the 2-phase commit steps for exporting CDRs were separated
already:
(a) rename .tmp file to final output file name
(b) commit db transaction:
- cdrexportstatus of all cdrs of that file
- file sequence number increment
The implemented 2PC flow will prevent (a) properly, if (b) fails.
This is now leveraged (by escalating the UPSERT not changing anything) to
abandon a whole file, if a single CDR shows an exportstatus other than
"unexported". Such CDRs indicate there is a race condition with another
exporter (which was quicker here).
the same thechnique also has to be added to cdr-exporter, which
unfortunately has no 2PC flow impl yet.
Change-Id: Ice40fa79d2b263018ee7825e314d63c9abe888ce
5 years ago
Rene Krenn
6f3ed53106
TT#81154 subscriber_profile DAO
...
Change-Id: Ib14ec6ac92bcd295bb0f793677799f2d13cc141c
5 years ago
Rene Krenn
8e4de26084
TT#81155 subscriber_profile_set DAO
...
Change-Id: I0bf4ed63d999d86449a5ed3912934f0549a2b851
5 years ago
Rene Krenn
9885b9e8cd
TT#79802 is_boolean() method for voippref
...
Change-Id: I8346932f2819eeb07aec1cadd09f28802780bdb5
5 years ago
Rene Krenn
ae5a836c35
TT#78951 remove "header" constructor flag for XlsxSimpleFile reader
...
Change-Id: I1c1804300277fe6ff1b5e7c89e79a8bd29c67cdd
5 years ago
Rene Krenn
00bba0da7b
TT#77954 merge tool: location records
...
Change-Id: I94d493730b4ea6c2aa0e48581ebc651a380f4897
5 years ago
Guillem Jover
55ed5d3021
TT#71950 Fix typos in function names
...
Add backward compatible aliases to avoid possibly breaking reverse
dependencies.
Change-Id: I1f6de865241ba4f97fd9ca09f5967f5a8bb2573b
5 years ago
Guillem Jover
a4949674a7
TT#71950 Fix typo in function argument name
...
Change-Id: I2766c116ad0d9e54cd48c27bcc310872525206c1
5 years ago
Guillem Jover
e9e6ad1cbc
TT#71950 Fix typos
...
Change-Id: I934057e660f79b35fa63986c44d9ea7e0b08acce
5 years ago
Rene Krenn
d3123ff1c4
TT#76358 move ama exporter
...
and remaining migration tools
Change-Id: I71e6633bb0aff4a4d2bfcc94231639462e472882
5 years ago
Rene Krenn
9148d44deb
TT#76356 ama exporter: log unknown cdr scenario
...
Change-Id: Ic1d68f430c310cab68ad21209849768a57c2b729
5 years ago
Rene Krenn
71d805440a
TT#72650 cdr-generator: fix random subscriber selection
...
if the number of exisiting subscribers (used as caller/callee
in created cdrs) is low, there is a higher risk that it can
fail to randomize one.
Change-Id: Id8f37f259e07f1b50251008a207a3e6122a628ea
5 years ago
Rene Krenn
4f0e7d6272
TT#71107 ccs prov tool: fix writing gpp1
...
Change-Id: I6b82be980bd77e833f344170cd94397e4aff7e70
5 years ago
Rene Krenn
ebbc3762e7
TT#71812 ama: handle anonymous caller
...
- try fallback to source_user
- use "00000000000" for open_digits
Change-Id: Iae377b99b7eee338cce556b78ffd9be890fb919d
5 years ago
Rene Krenn
991da885db
TT#71856 ama: use u2u header of corellated cdr
...
for ATTN_TRANSFER and ATTN_TRANSFER_NO_IVR scenarios
Change-Id: Ie5a6e85fa1954011149d529757ff9daacba1f3ed
5 years ago
Rene Krenn
4fd3c65c86
TT#71364 ccs prov tool: write encoded sipuri for gpp1
...
Change-Id: Ia3370aeb2aec0d38a20cbd340fb4951555b385fa
6 years ago
Rene Krenn
43177fe26c
TT#71365 ccs prov tool: set trustedsource from_pattern
...
Change-Id: I27e1350fea28b7e4afa2b80b9a7fcd88c81c6820
6 years ago
Rene Krenn
7ff2336957
TT#71363 contract_preferences, ccs prov tool "*" allowed cli
...
Change-Id: Ie5b16da0361408cabccf7ec41c85bbe1884a9d1a
6 years ago
Rene Krenn
ce57fb5876
TT#71362 CCS tool - disable CFU creation
...
Change-Id: Ib0a2977fa422bb507adbfa2cf381bc00ad8aaacb
6 years ago
Rene Krenn
df8865060d
TT#71361 ccs tool: new .csv format
...
Change-Id: Ic60f199c912d9586cc582f1ce4072a4e8604a750
6 years ago
Rene Krenn
f763ad109c
TT#69125 mr1.0.3 source db schema
...
Change-Id: I35b67c66236696af6c041e34dc4a732fdca1069d
6 years ago
Rene Krenn
1b0e1e3593
TT#70604 ama: ignore cdr_group records with emtpy callid
...
Change-Id: I2846931467d5b2704a56bc72b8ccd567aaac3b03
6 years ago
Rene Krenn
518ab9a830
TT#70464 amaexporter case-insensitive match for u2u value
...
Change-Id: I50edf731bf75c8fe38bf56c8e37edd78ae1956a0
6 years ago
Guillem Jover
520e67ed67
TT#69200 Rewrite setcontains() to use a hash instead of contains()
...
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
6 years ago
Guillem Jover
24b954f4fd
TT#69200 Rerwite seteq() based off setcontains()
...
Change-Id: I8f342223d92586e7127ff1e51155fe9cb9c51f62
6 years ago
Guillem Jover
c5522cdc8b
TT#69200 Use none() instead of comparin $mode with each value
...
Change-Id: Ib13f0ff01e9665feabb78aac08c14e5276c08cf7
6 years ago
Guillem Jover
f5921964d3
TT#69200 Fix coding style
...
Change-Id: I4f5d0893199f26126c50f8c50b43592fe5d6d3aa
6 years ago
Guillem Jover
a551ce2246
TT#69200 Reduce nesting levels in array_to_map()
...
Switch to early next iterations, and fold two consecutive ifs into one.
Change-Id: I2184a190dc1dd7cc303b52ece39a23deb28abb2c
6 years ago
Guillem Jover
2b13bb6724
TT#69200 Switch from C-style for loops to range ones
...
Change-Id: Ia65ed1ee29dd57339749123d99835262884db689
6 years ago
Guillem Jover
64d4ec32ad
TT#69200 Switch to an early return in arrayeq() to reduce nesting level
...
Change-Id: I04ea1a4c9007ba1ebb6c0ecfbd2b716a53a7475f
6 years ago
Guillem Jover
22a0d69263
TT#69200 Rewrite mapeq() to not need an intermediate hash
...
Change-Id: I7b9fd87954c6583126993d6c0624f2f84faf5d16
6 years ago
Guillem Jover
d167d55a90
TT#69200 Refactor getting the size of a hash
...
Change-Id: I1b2e401d009a9712e059a68e6d62b193acb98596
6 years ago
Guillem Jover
9800b99040
TT#69200 Refactor getting last array index into a new sub
...
Change-Id: I41ab18e181d7dc6efa87c8b1f68779431487ca61
6 years ago
Guillem Jover
456d120d0e
TT#69200 Do not use indirect method syntax
...
This has weird semantics and is generally frowned upon.
Change-Id: Ib1d43f13b935959508ce44b85999b615f7850b27
6 years ago
Guillem Jover
bcbe99c74d
TT#69200 Fix mapeq() to match correctly according to caseinsensitive argument
...
Change-Id: I747614927df0a1b0b947c95049b9007e11570bd6
6 years ago
Guillem Jover
85d59d562a
TT#69200 Set shebang for perl scripts
...
Unix systems default to using /bin/sh when trying to run an executable
script that has no shebang.
Change-Id: I18ef857fbc54fd72e6ad06b0f85c8c908fb0880d
6 years ago
Guillem Jover
803bacf8a5
TT#69200 Use strict and warnings
...
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
6 years ago
Guillem Jover
dbd7ac7e7a
TT#69200 Move hash argument to content method into a variable
...
This confuses perlritic, which consider this a pair of statements
separated by a comma.
Change-Id: I3c67c2fff03e5142a0dc284221dd0cc991ae052d
6 years ago
Guillem Jover
9cca145beb
TT#69200 Use correct variable in _create_cftimeset() sub
...
Change-Id: Ia2f111a2fbdb05b06a55b82ce1d5daa4d1f3c7fd
6 years ago
Guillem Jover
34a51e059c
TT#69200 Set exexutable bits for programs
...
Change-Id: Ic5a6e270e90bc6c1c4f6c6f0fc43f66869bd16e2
6 years ago
Guillem Jover
0bb15f41f3
TT#69950 Unbundle Excel::Reader::XLSX modules
...
This is a separate upstream distribution which we should not be
bundling.
Change-Id: I71c504725dfcc4caffa141895a8472355d493160
6 years ago
Rene Krenn
8b934eb8b2
TT#69853 support resetting .ama export status by call-id(s)
...
Change-Id: Iac1ceaf333a6e431cb59fc03e8015d337d0ac692
6 years ago
Guillem Jover
5d38bd26f7
TT#69200 Reimplement itemcount() based on grep()
...
This is somewhat faster:
Rate for_case grep_case for grep
for_case 53476/s -- -32% -42% -50%
grep_case 78125/s 46% -- -15% -27%
for 91743/s 72% 17% -- -14%
grep 106383/s 99% 36% 16% --
Change-Id: I7b44f8f3b2146971f7b38e0224295ab7d301c615
6 years ago
Guillem Jover
117202701c
TT#69200 Remove unused variable in arrayeq()
...
Change-Id: I14e16592d83448db56de4498fc1a3b2f25aee88e
6 years ago
Guillem Jover
9485368290
TT#69200 Reimplement removeduplicates() based of List::Util's uniq
...
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
6 years ago
Guillem Jover
54704e0837
TT#69200 Reimplement contains() based on List::Util's any()
...
Change-Id: Ic3d8eb5a6bdcb6b6021706c9450f06b65db4e688
6 years ago
Guillem Jover
fdc64d61eb
TT#69200 Use reverse in reversearray() instead of an ad-hoc implementation
...
Change-Id: I805e1e7e06b57774275353d1457ed37e5c78a13e
6 years ago
Guillem Jover
0991288e50
TT#69200 Pass the entire list to push in mergearrays()
...
We do not need to add one item at a time, push accepts a list as an
argument.
Change-Id: I30d81f941c1ce91cb2ed90662cbd9e9daf6fa09f
6 years ago
Guillem Jover
7857a1c575
TT#69200 Susbstantially simplify and generalize kbytes2gigs()
...
This makes it possible to easily extend the function to support new
units.
Change-Id: I9e0935fb20013e962e48ec6e27a04d01cd9730be
6 years ago
Guillem Jover
e6ebcc15c5
TT#69200 Use Time::Piece and Time::Local to add up months
...
These are core modules, which require no additional dependencies.
Change-Id: I8dbda5142dcc9d095a2c703ef6cee5364d2ba55a
6 years ago
Guillem Jover
018eafb770
TT#69200 Use Time::Piece instead of ad-hoc code to print dates and times
...
This is a core module, which requires no additional dependencies.
Change-Id: I0830f022788a5e7b69b0afa462654fabf277e254
6 years ago
Guillem Jover
72d7000151
TT#69200 Use Time::Seconds instead of ad-hoc code to pretty print time offsets
...
This is a core module, which requires no additional dependencies.
Change-Id: I93a2c3fd75fd7790461ccc694ed73c4899a1ef20
6 years ago
Guillem Jover
561e36d08c
TT#69200 Use sprintf instead of ad-hoc code to 0 fill digits
...
Which is also around 300% faster:
Rate had-hoc sprintf
had-hoc 3508772/s -- -75%
sprintf 14084507/s 301% --
Change-Id: I5ebce0058473f9de08c381739646a20e42308a8f
6 years ago
Rene Krenn
1b96d8923b
TT#67109 TT#63655 migrate voipnumbers.listtimestamp
...
Change-Id: I24ae999cb7807e764bb38797689be0477d021655
6 years ago
Rene Krenn
116f88bc2c
TT#63528 CCS importer: clear CFU prefs for subs with "1:1" routing type
...
Change-Id: I84b0b6450034dbbad4cf1b18f5674728ef1ad3e6
6 years ago
Rene Krenn
dd3ad894be
TT#67109 TT#63655 remove debug limit
...
Change-Id: I7b99fbb13feed2d11ca37b863ca2b6aa006cf5be
6 years ago
Rene Krenn
04d6c7fc0b
Revert "TT#69150 Switch to use IO::Prompt::Tiny instead of ad-hoc code"
...
This reverts commit 565f539825
.
Reason for revert: <INSERT REASONING HERE>
Change-Id: I35eaebf6294faa192e90b85c46f30685f9e9ab6f
6 years ago
Rene Krenn
51edb2e561
TT#67109 TT#63655 move projects, dbschema for mergemigration tool
...
Change-Id: I8db0588c43fd96cdf7f6d9901773b29e940cae16
6 years ago
Guillem Jover
548fa1a352
TT#69200 Use List::Util max() and min() instead of ad-hoc code
...
This is a core module, which requires no additional dependencies.
Change-Id: If7034c4478bcf5f39d0a3f1f9b4f09da475fcc52
6 years ago
Guillem Jover
565f539825
TT#69150 Switch to use IO::Prompt::Tiny instead of ad-hoc code
...
Change-Id: Ifdbff773894bf6f8d4e23b9d647b34487adcd954
6 years ago
Rene Krenn
cc37f38d5b
TT#64001 .ama: accept also CFB for "callforward on ncgp" sceanrio
...
Change-Id: I4e7bbe396b246548935fe0ada58e53992542ffa3
6 years ago
Rene Krenn
bfe32e007c
TT#64001 .ama: filter by User-To-User header value
...
Change-Id: I40e919a770bcdf6d20bfe205903a8dcf37eb8a17
6 years ago
Rene Krenn
70b5b93596
TT#64001 .ama: process User-To-User instead of $ivr_duration_limit
...
Change-Id: Ib118e8f543cf67fabde75e12bdda71653df277f8
6 years ago
Rene Krenn
e7ed4d79c6
TT#63528 CCS importer: clear CFU for subs with "1:1" routing type
...
Change-Id: I27d19da4629041127ff2fa5317f5b62de06e89fa
6 years ago
Rene Krenn
baf0d3eebe
TT#59265 ccs importer: detect delta of imports
...
Change-Id: I9c6dcbffdc1611479bc365c8fbd38ee98d963d0d
6 years ago
Rene Krenn
753aa4d390
TT#58651 ama exporter: change TERM_DIGITS for cfu_no_ivr scenario
...
Change-Id: I2378685f6c5b547dba8a6e4bd4f2c004efd16564
6 years ago
Rene Krenn
082dce953e
TT#58800 ama exporter: rewrite 6001 terminating number
...
Change-Id: I7bd736d3ac14e0fed5318277b100485ec0e7a819
6 years ago
Rene Krenn
8a0c240282
TT#58688 CCS importer: set CFU for subs with "1:1" routing typ
...
Change-Id: Ifc4f2d4ca4e11770f3375c57d7c72443f9b830b1
6 years ago
Rene Krenn
2d432d7c6b
TT#58800 ama exporter: use unaltered destination number for domestic/intl
...
Change-Id: I0dd8842fcccd2d80d52c07c455573503a2fdb064
6 years ago
Rene Krenn
cf434799b4
TT#58800 ama exporter: fix domestic/intl "not" patterns
...
Change-Id: Id7fdfeaa89c97b9f44f6c36ebb5e96f16b91c519
6 years ago
Rene Krenn
3c6aa60ff1
Revert "TT#58825 ama exporter: fix blindxfer-noivr scenario duration"
...
This reverts commit 536948bfb3
.
Change-Id: Ia330a8237d9bab0291c7f3731c4559ff283f7776
6 years ago
Rene Krenn
7b3b986a94
TT#58800 ama exporter: regex *varaints* for domestic/intl
...
Change-Id: I5d675824c2db2d693926eee5347b8d6eee3ef067
6 years ago
Rene Krenn
536948bfb3
TT#58825 ama exporter: fix blindxfer-noivr scenario duration
...
Change-Id: Ie0fb94d16f2214ca85044a944e9c77908506e2e5
6 years ago
Rene Krenn
05b2d9c8a1
TT#58651 ama exporter: add cfu_no_ivr scenario
...
Change-Id: I58ed4c428632b4bac1ad3b701650a77cd29233e8
6 years ago
Rene Krenn
1a18421120
TT#58006 TT#58007 ama exporter: rewrite originating/terminating
...
Change-Id: I2a5b0efe9703bae0b35b72cc5277e6468b67f045
6 years ago
Rene Krenn
194dfde5ff
TT#58800 ama exporter: regex for domestic/international
...
Change-Id: I4e97666d2cde4e64ce538e229cb564f957daa2fa
6 years ago
Rene Krenn
dbf0f0c6c6
TT#57614 ccs importer: implement writing pbx prefs
...
Change-Id: Iaab35f040b567656051541204285a9e035e623c6
6 years ago
Rene Krenn
1bfb457f68
TT#57568 ama exporter: option to duplciate output files
...
+ fix chown/chmod not in effect if use_temfiles = 0
+ drop leading zero from 6001 number preset
Change-Id: I259b3279db91427565da08156dfe14fefe9b25c0
6 years ago
Rene Krenn
5538c56b68
TT#57201 ama export: option for fixed terminating number in 6001 records
...
Change-Id: I58113faaee99db4d5c65dc83836cf70d52ef3426
6 years ago
Rene Krenn
9e6210d193
TT#56502 TT#56501 ama exporter: align sw3number
...
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
6 years ago
Rene Krenn
ecec9bd771
TT#56500 ama exporter: switch_number rewrite options
...
Change-Id: I92f767b8672184e42cc397d20ef46d7b179d6fd0
6 years ago
Rene Krenn
0d481d1cc9
TT#55815 TT#55816 TT#55817 .ama export: scenarios
...
- "blind xfer"
- "no xfer"
- "attn xfer"
Change-Id: I51d536992eeb031a6a49fa45eb091dc6c49599dd
6 years ago
Rene Krenn
9370109e73
TT#54807 .ama exporter: fix filtering number-only destinations
...
Change-Id: I888f86822126bfb8d7fa0a7e32fed2597df42895
6 years ago