Rene Krenn
348b02f4af
TT#118050 SQLServer connectivity using tdsodbc
...
Change-Id: Ia9a08bc84289d1636b318985c83432bcd285d9e2
(cherry picked from commit fc85c81911 )
5 years ago
Rene Krenn
a1495628bd
TT#111905 perl system() wrapper
...
Change-Id: I6dc8d73ff0c03ef22d2336b6f82077e257547a98
(cherry picked from commit f9222f2f97 )
5 years ago
Rene Krenn
943b1cea92
TT#111750 add trunk kamailio.voicemail_spool DAO
...
Change-Id: Ia0632e0b69429a1ee2e15917244e7b6355ef7f65
(cherry picked from commit b1c9101fba )
5 years ago
Rene Krenn
b74e8b71e7
TT#111206 add mr1.0.3 openser.voicemail_spool DAO
...
Change-Id: Iec3bfd97e98a82f2633b2a184a2f677c5dd3ca2f
(cherry picked from commit 9c90f7998d )
5 years ago
Rene Krenn
3b471ba12b
TT#110203 redis registration monitoring to SQLite PoC
...
Change-Id: I3c7bcb14f3bff3de04258938d5e9a1bed2c493ab
(cherry picked from commit c2a2b7c64d )
5 years ago
Rene Krenn
0a285e1665
TT#108605 redis "location" store schema #2
...
Change-Id: Id1195d5c0aa57015a0680f849df5c92af40dbd85
(cherry picked from commit 20b5920a7a )
5 years ago
Rene Krenn
1673e11728
TT#108605 redis "location" store schema #1
...
Change-Id: I96150ac365658e1cf0c156e725e88b75757977e9
(cherry picked from commit e9e315fd8b )
5 years ago
Rene Krenn
41634ee566
TT#108606 multithread consumer-producer pattern for Redis
...
Change-Id: I34b6b0c99fdb04d43a013b018a00e8298cb35fec
(cherry picked from commit c3bc57b0b8 )
5 years ago
Rene Krenn
0a6981e255
TT#108604 introduce nosql abstraction and redis connector
...
Change-Id: Ia2f7682c6a9b88c42300dc667f1302eaf447bab3
(cherry picked from commit 207a82b621 )
5 years ago
Rene Krenn
b4515e42bb
TT#109163 fix contracts dao for mr1.0.3 schema
...
Change-Id: I5000731027c83711e9d03dcce52d5aef286b0e26
(cherry picked from commit 565cafde3b )
5 years ago
Rene Krenn
7a6779378a
TT#104251 cdr paging queries: force index
...
Change-Id: I373d638313385e43d08b00ca0b0f3146fb6ec048
(cherry picked from commit d78ed162cd )
5 years ago
Rene Krenn
4cfb1511a0
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
(cherry picked from commit 04e8fb04e1 )
5 years ago
Rene Krenn
09083ebf9c
TT#81770 magenta openser mig: comply mr103 and trunk db schema
...
(cherry picked from commit 82e6d73750 )
(cherry picked from commit 72f22eb5a0 )
Change-Id: I91423eef7b9b24aa1390c74c86e19053747c017d
5 years ago
Rene Krenn
c9474740a6
TT#87561 remove fax prefs from openser mr1.0.2 dao db schema
...
(cherry picked from commit 3e7bab759b )
Change-Id: Ib6220ce11c514ba63221f49cfb50fd985f7323ec
5 years ago
Rene Krenn
faa38220ff
TT#95953 define BLOCK_IN_CLIR and BLOCK_OUT_OVERRIDE_PIN attrs
...
(cherry picked from commit d3f81b356c )
Change-Id: I984cc40aed4798e84bf028e988ef21cc535e71c8
5 years ago
Rene Krenn
044040686e
TT#87561 openser/ngcp mr1.0.2 dao db schema
...
Change-Id: I37a174b71c80bc24d9246eafc20a12e18256d736
(cherry picked from commit 5010a23968 )
5 years ago
Rene Krenn
a577b8cd8f
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
(cherry picked from commit e0d143ec3b )
5 years ago
Rene Krenn
163b61a8c3
TT#81154 subscriber_profile DAO
...
Change-Id: Ib14ec6ac92bcd295bb0f793677799f2d13cc141c
(cherry picked from commit 6f3ed53106 )
5 years ago
Rene Krenn
c92b5838e7
TT#81155 subscriber_profile_set DAO
...
Change-Id: I0bf4ed63d999d86449a5ed3912934f0549a2b851
(cherry picked from commit 8e4de26084 )
5 years ago
Rene Krenn
fe399e6812
TT#79802 is_boolean() method for voippref
...
Change-Id: I8346932f2819eeb07aec1cadd09f28802780bdb5
(cherry picked from commit 9885b9e8cd )
5 years ago
Rene Krenn
55473bc05c
TT#78951 remove "header" constructor flag for XlsxSimpleFile reader
...
Change-Id: I1c1804300277fe6ff1b5e7c89e79a8bd29c67cdd
(cherry picked from commit ae5a836c35 )
5 years ago
Rene Krenn
ee3266dd24
TT#77954 merge tool: location records
...
Change-Id: I94d493730b4ea6c2aa0e48581ebc651a380f4897
(cherry picked from commit 00bba0da7b )
5 years ago
Guillem Jover
1185b23a22
TT#71950 Fix typos in function names
...
Add backward compatible aliases to avoid possibly breaking reverse
dependencies.
Change-Id: I1f6de865241ba4f97fd9ca09f5967f5a8bb2573b
(cherry picked from commit 55ed5d3021 )
5 years ago
Guillem Jover
913e270cd1
TT#71950 Fix typo in function argument name
...
Change-Id: I2766c116ad0d9e54cd48c27bcc310872525206c1
(cherry picked from commit a4949674a7 )
5 years ago
Guillem Jover
30fac0d817
TT#71950 Fix typos
...
Change-Id: I934057e660f79b35fa63986c44d9ea7e0b08acce
(cherry picked from commit e9e6ad1cbc )
5 years ago
Rene Krenn
ab5373ff9f
TT#76358 move ama exporter
...
and remaining migration tools
Change-Id: I71e6633bb0aff4a4d2bfcc94231639462e472882
(cherry picked from commit d3123ff1c4 )
5 years ago
Rene Krenn
eef9efd9dc
TT#76356 ama exporter: log unknown cdr scenario
...
Change-Id: Ic1d68f430c310cab68ad21209849768a57c2b729
(cherry picked from commit 9148d44deb )
5 years ago
Rene Krenn
a6d47b5eb4
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
(cherry picked from commit 71d805440a )
5 years ago
Guillem Jover
defd88771b
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
(cherry picked from commit 520e67ed67 )
5 years ago
Guillem Jover
849c02becd
TT#69200 Rerwite seteq() based off setcontains()
...
Change-Id: I8f342223d92586e7127ff1e51155fe9cb9c51f62
(cherry picked from commit 24b954f4fd )
5 years ago
Guillem Jover
d8017ec70f
TT#69200 Use none() instead of comparin $mode with each value
...
Change-Id: Ib13f0ff01e9665feabb78aac08c14e5276c08cf7
(cherry picked from commit c5522cdc8b )
5 years ago
Guillem Jover
fa2f152e99
TT#69200 Fix coding style
...
Change-Id: I4f5d0893199f26126c50f8c50b43592fe5d6d3aa
(cherry picked from commit f5921964d3 )
5 years ago
Guillem Jover
511bd4591a
TT#69200 Reduce nesting levels in array_to_map()
...
Switch to early next iterations, and fold two consecutive ifs into one.
Change-Id: I2184a190dc1dd7cc303b52ece39a23deb28abb2c
(cherry picked from commit a551ce2246 )
5 years ago
Guillem Jover
3d4627ad5a
TT#69200 Switch from C-style for loops to range ones
...
Change-Id: Ia65ed1ee29dd57339749123d99835262884db689
(cherry picked from commit 2b13bb6724 )
5 years ago
Guillem Jover
c866ac822f
TT#69200 Switch to an early return in arrayeq() to reduce nesting level
...
Change-Id: I04ea1a4c9007ba1ebb6c0ecfbd2b716a53a7475f
(cherry picked from commit 64d4ec32ad )
5 years ago
Guillem Jover
cbfdf12c76
TT#69200 Rewrite mapeq() to not need an intermediate hash
...
Change-Id: I7b9fd87954c6583126993d6c0624f2f84faf5d16
(cherry picked from commit 22a0d69263 )
5 years ago
Guillem Jover
ef0c810d94
TT#69200 Refactor getting the size of a hash
...
Change-Id: I1b2e401d009a9712e059a68e6d62b193acb98596
(cherry picked from commit d167d55a90 )
5 years ago
Guillem Jover
47a4870c8b
TT#69200 Refactor getting last array index into a new sub
...
Change-Id: I41ab18e181d7dc6efa87c8b1f68779431487ca61
(cherry picked from commit 9800b99040 )
5 years ago
Guillem Jover
544fc08bcd
TT#69200 Do not use indirect method syntax
...
This has weird semantics and is generally frowned upon.
Change-Id: Ib1d43f13b935959508ce44b85999b615f7850b27
(cherry picked from commit 456d120d0e )
5 years ago
Guillem Jover
2d000fdf09
TT#69200 Fix mapeq() to match correctly according to caseinsensitive argument
...
Change-Id: I747614927df0a1b0b947c95049b9007e11570bd6
(cherry picked from commit bcbe99c74d )
5 years ago
Guillem Jover
98241e30bc
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
(cherry picked from commit 85d59d562a )
5 years ago
Guillem Jover
cc230e98ff
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
(cherry picked from commit 803bacf8a5 )
5 years ago
Guillem Jover
14454df855
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
(cherry picked from commit dbd7ac7e7a )
5 years ago
Guillem Jover
c52dc66609
TT#69200 Use correct variable in _create_cftimeset() sub
...
Change-Id: Ia2f111a2fbdb05b06a55b82ce1d5daa4d1f3c7fd
(cherry picked from commit 9cca145beb )
5 years ago
Guillem Jover
4e1707d153
TT#69200 Set exexutable bits for programs
...
Change-Id: Ic5a6e270e90bc6c1c4f6c6f0fc43f66869bd16e2
(cherry picked from commit 34a51e059c )
5 years ago
Guillem Jover
6bc436e952
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
(cherry picked from commit 5d38bd26f7 )
5 years ago
Guillem Jover
72244edbe7
TT#69200 Remove unused variable in arrayeq()
...
Change-Id: I14e16592d83448db56de4498fc1a3b2f25aee88e
(cherry picked from commit 117202701c )
5 years ago
Guillem Jover
dd3f018176
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
(cherry picked from commit 9485368290 )
5 years ago
Guillem Jover
bcf28c9d75
TT#69200 Reimplement contains() based on List::Util's any()
...
Change-Id: Ic3d8eb5a6bdcb6b6021706c9450f06b65db4e688
(cherry picked from commit 54704e0837 )
5 years ago
Guillem Jover
7aaca71a18
TT#69200 Use reverse in reversearray() instead of an ad-hoc implementation
...
Change-Id: I805e1e7e06b57774275353d1457ed37e5c78a13e
(cherry picked from commit fdc64d61eb )
5 years ago