mr14.0.1
mr13.5.1
mr12.5.1
mr14.0
master
mr13.5
mr12.5
mr13.4.1
mr13.4
mr10.5
mr10.5.9
mr13.3.1
mr13.3
mr13.2.1
mr13.2
mr11.5.1
mr11.5
mr10.5.8
mr13.1.1
mr13.0.1
mr13.1
mr13.0
mr10.5.7
mr12.4.1
mr12.3.1
mr12.2.1
mr12.1.1
mr12.0.1
mr11.4.1
mr11.3.1
mr12.4
mr12.3
mr12.2
mr12.1
mr12.0
mr11.4
mr11.3
mr10.5.3
mr9.5
mr9.5.9
mr10.5.2
mr9.5.1
mr9.5.2
mr9.5.3
mr9.5.4
mr9.5.5
mr9.5.6
mr9.5.7
mr9.5.8
mr10.5.1
mr10.5.4
mr10.5.5
mr10.5.6
mr8.5
mr8.5.12
mr8.5.11
mr11.2.1
mr11.1.1
mr11.0.1
mr10.4.1
mr10.3.1
mr10.2.1
mr10.1.1
mr10.0.1
mr9.4.1
mr9.3.1
mr9.2.1
mr9.1.1
mr9.0.1
mr8.5.10
mr8.5.9
mr8.5.8
mr8.5.7
mr8.5.6
mr8.5.5
mr8.5.4
mr8.5.3
mr8.5.2
mr8.5.1
mr11.2
mr11.1
mr11.0
mr10.4
mr10.3
mr10.2
mr10.1
mr10.0
mr9.4
mr9.3
mr9.2
mr9.1
mr9.0
mr7.5.5
mr7.5
mr7.5.13
mr7.5.12
mr7.5.6
mr7.5.11
mr7.5.9
mr6.5
mr6.5.13
mr7.5.10
mr6.5.11
mr6.5.10
mr6.5.12
mr6.5.9
mr7.5.4
mr7.5.8
mr6.5.1
mr6.5.2
mr6.5.3
mr6.5.4
mr6.5.5
mr6.5.6
mr6.5.7
mr6.5.8
mr7.5.1
mr7.5.2
mr7.5.3
mr7.5.7
mr8.4.2
mr5.5
mr5.5.13
mr8.4
mr8.3.2
mr8.4.1
mr8.3
mr5.5.12
mr5.5.11
mr5.5.10
mr8.3.1
mr8.2
mr8.1
mr8.0
mr8.1.1
mr8.2.2
mr8.2.1
mr8.1.2
mr8.0.2
mr7.3.2
mr8.0.1
mr7.4.2
mr7.4
mr5.5.6
mr5.5.7
mr5.5.8
mr5.5.9
mr4.5
mr4.5.13
mr5.5.5
mr7.4.1
mr6.0.2
mr6.1.2
mr6.2.2
mr6.3.2
mr6.4.2
mr6.0
mr6.1
mr6.2
mr6.3
mr6.4
mr4.5.12
mr7.3
mr7.3.1
mr4.5.4
mr7.2
mr7.2.2
mr7.0
mr7.1
mr7.2.1
mr7.0.2
mr7.1.2
mr7.1.1
mr7.0.1
mr4.5.11
mr5.5.1
mr5.5.2
mr5.5.3
mr5.5.4
mr6.0.1
mr6.1.1
mr6.2.1
mr6.3.1
mr6.4.1
mr4.5.10
mr3.8
mr3.8.13
mr4.5.9
mr4.5.8
mr4.3.1
mr4.3.2
mr4.3
mr4.4.1
mr4.4.2
mr4.4
mr4.5.7
mr5.4.2
mr4.5.6
mr5.4
mr3.8.12
mr5.4.1
mr5.3
mr3.8.11
mr5.3.2
mr4.5.3
mr4.5.5
mr5.2
mr5.2.1
mr5.3.1
mr3.8.10
mr5.2.2
mr5.1
mr5.1.2
mr5.1.1
mr5.0
ipeshinskaya/17173_remove_code_save_2017_02_26
ipeshinskaya/sms
mr5.0.2
mr5.0.1
mr3.8.9
mr3.8.8
mr4.5.2
mr3.8.7
ipeshinskaya/master
mr4.5.1
ipeshinskaya/17173_save_2016_08_31_00
ipeshinskaya/17173
ipeshinskaya/17173_2016_08_31_00
mr3.8.6
mr3.8.5
mr3.8.4
ipeshinskaya/paths
ieshinskaya/autologin
ipeshinskaya/14253_script_only
mr4.2.2
mr4.2
rkrenn/lnp_unique
mr4.2.1
mr4.1
ipeshinskaya/15213_cloudpbx_patch
rkrenn/apidump_tempfiles
ipeshinskaya/testscache
ipeshinskaya/17173_code_reduce_example_review
ipeshinskaya/17173_code_reduction_example_review
mr4.1.2
mr4.1.1
mr3.8.3
ipeshinskaya/17173_inheritance_pure
ipeshinskaya/17173_inheritance_clear
ipeshinskaya/17173_moo
rkrenn/callist
ipeshinskaya/api_0
mr4.0
ipeshinskaya/autotests
mr4.0.2
apogrebennyk/14659_mr384
mr4.0.1
mprokop/docker
ipeshinskaya/12347
agranig/multi-billprof
alutay/MT14585_more_rest_api
mr3.7.2
mr3.7.1
mr3.7
ipeshinskaya/14767
mr3.8.1
mr3.8.2
ipeshinskaya/14767_1
ipeshinskaya/lost
agranig/baseclean
gjungwirth/img_api
ipeshinskaya/11147_2
ipeshinskaya/11147
mr3.6.2
mr3.6.1
mr3.6
ipeshinskaya/5435
ipeshinskaya/10715
ipeshinskaya/9177
mr3.5.1
mr3.5
mr3.4.2
mr3.4
mprokop/10181
mr3.4.1
agranig/gpp
ipeshinskaya/9431
ipeshinskaya/InvoiceTemplate6
agranig/webphone
mr3.3.2
mr3.3
1.1
agranig/8279-csc-normalize-number
gjungwirth/email_test
agranig/pbx-dev-map
gjungwirth/voicemail_number
mr3.3.1
mr3.2.2
ipeshinskaya/InvoiceTemplate5
mr3.2
agranig/subprof
agranig/selfsignup
mr3.2.1
agranig/dummydel
agranig/pbxapi
gjungwirth/testcover
gjungwirth/test_sleeps
apogrebennyk/3_1_force_outbound
agranig/mt5661_update_prepaid
agranig/auth-refactoring
gjungwirth/fix_tests
agranig/rest
ldieckow/rest
apogrebennyk/preloaded_route_1_0
1.0
agranig/1_0_subfix
ldieckow/cert-manage
agranig/peering-route
1.1.17
1.1.16
1.1.13
1.1.12
1.1.11
1.1.10
1.1.9
1.1.7
1.1.6
1.1.5
1.0.26
1.0.25
1.1.4
1.1.2
1.0.22
1.1.0
1.0.19
1.0.18
1.0.17
1.0.16
1.0.14
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
1.0.15
1.0.20
1.0.21
1.0.23
1.0.24
1.1.1
1.1.14
1.1.15
1.1.3
1.1.8
mr10.0.1.1
mr10.0.1.10
mr10.0.1.11
mr10.0.1.12
mr10.0.1.2
mr10.0.1.3
mr10.0.1.4
mr10.0.1.5
mr10.0.1.6
mr10.0.1.7
mr10.0.1.8
mr10.0.1.9
mr10.1.1.1
mr10.1.1.10
mr10.1.1.11
mr10.1.1.12
mr10.1.1.13
mr10.1.1.2
mr10.1.1.3
mr10.1.1.4
mr10.1.1.5
mr10.1.1.6
mr10.1.1.7
mr10.1.1.8
mr10.1.1.9
mr10.2.1.1
mr10.2.1.2
mr10.2.1.3
mr10.2.1.4
mr10.2.1.5
mr10.2.1.6
mr10.2.1.7
mr10.2.1.8
mr10.2.1.9
mr10.3.1.1
mr10.3.1.2
mr10.3.1.3
mr10.3.1.4
mr10.3.1.5
mr10.3.1.6
mr10.3.1.7
mr10.4.1.1
mr10.4.1.2
mr10.4.1.3
mr10.4.1.4
mr10.4.1.5
mr10.4.1.6
mr10.4.1.7
mr10.4.1.8
mr10.5.1.1
mr10.5.1.10
mr10.5.1.11
mr10.5.1.12
mr10.5.1.13
mr10.5.1.14
mr10.5.1.15
mr10.5.1.16
mr10.5.1.17
mr10.5.1.18
mr10.5.1.19
mr10.5.1.2
mr10.5.1.20
mr10.5.1.21
mr10.5.1.22
mr10.5.1.23
mr10.5.1.24
mr10.5.1.25
mr10.5.1.26
mr10.5.1.27
mr10.5.1.28
mr10.5.1.29
mr10.5.1.3
mr10.5.1.30
mr10.5.1.31
mr10.5.1.32
mr10.5.1.33
mr10.5.1.34
mr10.5.1.35
mr10.5.1.36
mr10.5.1.37
mr10.5.1.38
mr10.5.1.39
mr10.5.1.4
mr10.5.1.40
mr10.5.1.41
mr10.5.1.5
mr10.5.1.6
mr10.5.1.7
mr10.5.1.8
mr10.5.1.9
mr10.5.2.1
mr10.5.2.10
mr10.5.2.11
mr10.5.2.12
mr10.5.2.13
mr10.5.2.14
mr10.5.2.15
mr10.5.2.16
mr10.5.2.17
mr10.5.2.18
mr10.5.2.19
mr10.5.2.2
mr10.5.2.20
mr10.5.2.21
mr10.5.2.22
mr10.5.2.3
mr10.5.2.4
mr10.5.2.5
mr10.5.2.6
mr10.5.2.7
mr10.5.2.8
mr10.5.2.9
mr10.5.3.1
mr10.5.3.10
mr10.5.3.11
mr10.5.3.12
mr10.5.3.13
mr10.5.3.14
mr10.5.3.15
mr10.5.3.2
mr10.5.3.3
mr10.5.3.4
mr10.5.3.5
mr10.5.3.6
mr10.5.3.7
mr10.5.3.8
mr10.5.3.9
mr10.5.4.1
mr10.5.4.10
mr10.5.4.2
mr10.5.4.3
mr10.5.4.4
mr10.5.4.5
mr10.5.4.6
mr10.5.4.7
mr10.5.4.8
mr10.5.4.9
mr10.5.5.1
mr10.5.5.10
mr10.5.5.11
mr10.5.5.2
mr10.5.5.3
mr10.5.5.4
mr10.5.5.5
mr10.5.5.6
mr10.5.5.7
mr10.5.5.8
mr10.5.5.9
mr10.5.6.1
mr10.5.6.2
mr10.5.6.3
mr10.5.6.4
mr10.5.6.5
mr10.5.6.6
mr10.5.6.7
mr10.5.7.1
mr10.5.7.2
mr10.5.7.3
mr10.5.8.1
mr10.5.8.2
mr10.5.8.3
mr10.5.8.4
mr10.5.9.1
mr11.0.1.1
mr11.0.1.10
mr11.0.1.11
mr11.0.1.12
mr11.0.1.2
mr11.0.1.3
mr11.0.1.4
mr11.0.1.5
mr11.0.1.6
mr11.0.1.7
mr11.0.1.8
mr11.0.1.9
mr11.1.1.1
mr11.1.1.10
mr11.1.1.11
mr11.1.1.12
mr11.1.1.2
mr11.1.1.3
mr11.1.1.4
mr11.1.1.5
mr11.1.1.6
mr11.1.1.7
mr11.1.1.8
mr11.1.1.9
mr11.2.1.1
mr11.2.1.10
mr11.2.1.11
mr11.2.1.2
mr11.2.1.3
mr11.2.1.4
mr11.2.1.5
mr11.2.1.6
mr11.2.1.7
mr11.2.1.8
mr11.2.1.9
mr11.3.1.1
mr11.3.1.10
mr11.3.1.11
mr11.3.1.12
mr11.3.1.13
mr11.3.1.14
mr11.3.1.15
mr11.3.1.16
mr11.3.1.17
mr11.3.1.18
mr11.3.1.19
mr11.3.1.2
mr11.3.1.20
mr11.3.1.21
mr11.3.1.3
mr11.3.1.4
mr11.3.1.5
mr11.3.1.6
mr11.3.1.7
mr11.3.1.8
mr11.3.1.9
mr11.4.1.1
mr11.4.1.2
mr11.4.1.3
mr11.4.1.4
mr11.4.1.5
mr11.4.1.6
mr11.4.1.7
mr11.5.1.1
mr11.5.1.10
mr11.5.1.11
mr11.5.1.12
mr11.5.1.13
mr11.5.1.14
mr11.5.1.15
mr11.5.1.16
mr11.5.1.17
mr11.5.1.18
mr11.5.1.19
mr11.5.1.2
mr11.5.1.20
mr11.5.1.21
mr11.5.1.22
mr11.5.1.23
mr11.5.1.24
mr11.5.1.25
mr11.5.1.26
mr11.5.1.27
mr11.5.1.28
mr11.5.1.29
mr11.5.1.3
mr11.5.1.30
mr11.5.1.31
mr11.5.1.32
mr11.5.1.33
mr11.5.1.34
mr11.5.1.35
mr11.5.1.36
mr11.5.1.37
mr11.5.1.4
mr11.5.1.5
mr11.5.1.6
mr11.5.1.7
mr11.5.1.8
mr11.5.1.9
mr12.0.1.1
mr12.0.1.2
mr12.0.1.3
mr12.0.1.4
mr12.0.1.5
mr12.0.1.6
mr12.0.1.7
mr12.1.1.1
mr12.1.1.2
mr12.1.1.3
mr12.1.1.4
mr12.1.1.5
mr12.1.1.6
mr12.2.1.1
mr12.2.1.10
mr12.2.1.11
mr12.2.1.12
mr12.2.1.13
mr12.2.1.14
mr12.2.1.15
mr12.2.1.16
mr12.2.1.2
mr12.2.1.3
mr12.2.1.4
mr12.2.1.5
mr12.2.1.6
mr12.2.1.7
mr12.2.1.8
mr12.2.1.9
mr12.3.1.1
mr12.3.1.10
mr12.3.1.11
mr12.3.1.12
mr12.3.1.13
mr12.3.1.14
mr12.3.1.15
mr12.3.1.2
mr12.3.1.3
mr12.3.1.4
mr12.3.1.5
mr12.3.1.6
mr12.3.1.7
mr12.3.1.8
mr12.3.1.9
mr12.4.1.1
mr12.4.1.2
mr12.4.1.3
mr12.5.1.1
mr12.5.1.10
mr12.5.1.11
mr12.5.1.12
mr12.5.1.13
mr12.5.1.14
mr12.5.1.15
mr12.5.1.16
mr12.5.1.17
mr12.5.1.18
mr12.5.1.19
mr12.5.1.2
mr12.5.1.20
mr12.5.1.21
mr12.5.1.22
mr12.5.1.23
mr12.5.1.24
mr12.5.1.25
mr12.5.1.26
mr12.5.1.27
mr12.5.1.28
mr12.5.1.29
mr12.5.1.3
mr12.5.1.30
mr12.5.1.31
mr12.5.1.32
mr12.5.1.33
mr12.5.1.34
mr12.5.1.35
mr12.5.1.36
mr12.5.1.37
mr12.5.1.38
mr12.5.1.39
mr12.5.1.4
mr12.5.1.40
mr12.5.1.41
mr12.5.1.42
mr12.5.1.5
mr12.5.1.6
mr12.5.1.7
mr12.5.1.8
mr12.5.1.9
mr13.0.1.1
mr13.0.1.2
mr13.0.1.3
mr13.0.1.4
mr13.0.1.5
mr13.0.1.6
mr13.0.1.7
mr13.0.1.8
mr13.1.1.1
mr13.1.1.2
mr13.1.1.3
mr13.1.1.4
mr13.1.1.5
mr13.1.1.6
mr13.2.1.1
mr13.2.1.2
mr13.2.1.3
mr13.2.1.4
mr13.2.1.5
mr13.2.1.6
mr13.2.1.7
mr13.2.1.8
mr13.2.1.9
mr13.3.1.1
mr13.3.1.2
mr13.3.1.3
mr13.3.1.4
mr13.3.1.5
mr13.3.1.6
mr13.4.1.1
mr13.4.1.2
mr13.4.1.3
mr13.4.1.4
mr13.4.1.5
mr13.4.1.6
mr13.4.1.7
mr13.4.1.8
mr13.5.1.1
mr13.5.1.10
mr13.5.1.11
mr13.5.1.12
mr13.5.1.13
mr13.5.1.14
mr13.5.1.15
mr13.5.1.2
mr13.5.1.3
mr13.5.1.4
mr13.5.1.5
mr13.5.1.6
mr13.5.1.7
mr13.5.1.8
mr13.5.1.9
mr14.0.1.1
mr14.0.1.2
mr14.0.1.3
mr14.0.1.4
mr14.0.1.5
mr3.2.1.1
mr3.2.2.1
mr3.2.2.2
mr3.2.2.3
mr3.2.2.4
mr3.3.1.1
mr3.3.1.10
mr3.3.1.2
mr3.3.1.3
mr3.3.1.4
mr3.3.1.5
mr3.3.1.6
mr3.3.1.7
mr3.3.1.8
mr3.3.1.9
mr3.3.2.1
mr3.3.2.10
mr3.3.2.11
mr3.3.2.12
mr3.3.2.13
mr3.3.2.14
mr3.3.2.15
mr3.3.2.16
mr3.3.2.17
mr3.3.2.18
mr3.3.2.2
mr3.3.2.3
mr3.3.2.4
mr3.3.2.5
mr3.3.2.6
mr3.3.2.7
mr3.3.2.8
mr3.3.2.9
mr3.4.1.1
mr3.4.1.10
mr3.4.1.11
mr3.4.1.12
mr3.4.1.13
mr3.4.1.14
mr3.4.1.15
mr3.4.1.16
mr3.4.1.17
mr3.4.1.2
mr3.4.1.3
mr3.4.1.4
mr3.4.1.5
mr3.4.1.6
mr3.4.1.7
mr3.4.1.8
mr3.4.1.9
mr3.4.2.1
mr3.4.2.10
mr3.4.2.11
mr3.4.2.12
mr3.4.2.13
mr3.4.2.2
mr3.4.2.3
mr3.4.2.4
mr3.4.2.5
mr3.4.2.6
mr3.4.2.7
mr3.4.2.8
mr3.4.2.9
mr3.5.1.1
mr3.5.1.10
mr3.5.1.11
mr3.5.1.12
mr3.5.1.13
mr3.5.1.2
mr3.5.1.3
mr3.5.1.4
mr3.5.1.5
mr3.5.1.6
mr3.5.1.7
mr3.5.1.8
mr3.5.1.9
mr3.6.1.1
mr3.6.1.2
mr3.6.1.3
mr3.6.1.4
mr3.6.1.5
mr3.6.1.6
mr3.6.1.7
mr3.6.1.8
mr3.6.1.9
mr3.6.2.1
mr3.6.2.2
mr3.6.2.3
mr3.6.2.4
mr3.6.2.5
mr3.7.1.1
mr3.7.1.10
mr3.7.1.11
mr3.7.1.12
mr3.7.1.13
mr3.7.1.14
mr3.7.1.15
mr3.7.1.16
mr3.7.1.17
mr3.7.1.18
mr3.7.1.19
mr3.7.1.2
mr3.7.1.20
mr3.7.1.21
mr3.7.1.22
mr3.7.1.23
mr3.7.1.24
mr3.7.1.25
mr3.7.1.26
mr3.7.1.27
mr3.7.1.28
mr3.7.1.29
mr3.7.1.3
mr3.7.1.30
mr3.7.1.31
mr3.7.1.32
mr3.7.1.33
mr3.7.1.34
mr3.7.1.35
mr3.7.1.36
mr3.7.1.37
mr3.7.1.38
mr3.7.1.4
mr3.7.1.5
mr3.7.1.6
mr3.7.1.7
mr3.7.1.8
mr3.7.1.9
mr3.7.2.1
mr3.7.2.10
mr3.7.2.11
mr3.7.2.12
mr3.7.2.13
mr3.7.2.14
mr3.7.2.15
mr3.7.2.16
mr3.7.2.17
mr3.7.2.18
mr3.7.2.19
mr3.7.2.2
mr3.7.2.20
mr3.7.2.21
mr3.7.2.22
mr3.7.2.23
mr3.7.2.24
mr3.7.2.25
mr3.7.2.3
mr3.7.2.4
mr3.7.2.5
mr3.7.2.6
mr3.7.2.7
mr3.7.2.8
mr3.7.2.9
mr3.8.1.1
mr3.8.1.10
mr3.8.1.11
mr3.8.1.12
mr3.8.1.13
mr3.8.1.14
mr3.8.1.15
mr3.8.1.16
mr3.8.1.17
mr3.8.1.18
mr3.8.1.19
mr3.8.1.2
mr3.8.1.20
mr3.8.1.21
mr3.8.1.22
mr3.8.1.23
mr3.8.1.24
mr3.8.1.25
mr3.8.1.26
mr3.8.1.27
mr3.8.1.28
mr3.8.1.3
mr3.8.1.4
mr3.8.1.5
mr3.8.1.6
mr3.8.1.7
mr3.8.1.8
mr3.8.1.9
mr3.8.10.1
mr3.8.11.1
mr3.8.12.1
mr3.8.13.1
mr3.8.2.1
mr3.8.2.10
mr3.8.2.11
mr3.8.2.12
mr3.8.2.13
mr3.8.2.14
mr3.8.2.15
mr3.8.2.2
mr3.8.2.3
mr3.8.2.4
mr3.8.2.5
mr3.8.2.6
mr3.8.2.7
mr3.8.2.8
mr3.8.2.9
mr3.8.3.1
mr3.8.3.10
mr3.8.3.11
mr3.8.3.12
mr3.8.3.13
mr3.8.3.14
mr3.8.3.15
mr3.8.3.16
mr3.8.3.2
mr3.8.3.3
mr3.8.3.4
mr3.8.3.5
mr3.8.3.6
mr3.8.3.7
mr3.8.3.8
mr3.8.3.9
mr3.8.4.1
mr3.8.4.10
mr3.8.4.11
mr3.8.4.12
mr3.8.4.13
mr3.8.4.14
mr3.8.4.15
mr3.8.4.16
mr3.8.4.17
mr3.8.4.18
mr3.8.4.2
mr3.8.4.3
mr3.8.4.4
mr3.8.4.5
mr3.8.4.6
mr3.8.4.7
mr3.8.4.8
mr3.8.4.9
mr3.8.5.1
mr3.8.5.10
mr3.8.5.11
mr3.8.5.12
mr3.8.5.13
mr3.8.5.14
mr3.8.5.15
mr3.8.5.16
mr3.8.5.2
mr3.8.5.3
mr3.8.5.4
mr3.8.5.5
mr3.8.5.6
mr3.8.5.7
mr3.8.5.8
mr3.8.5.9
mr3.8.6.1
mr3.8.6.10
mr3.8.6.2
mr3.8.6.3
mr3.8.6.4
mr3.8.6.5
mr3.8.6.6
mr3.8.6.7
mr3.8.6.8
mr3.8.6.9
mr3.8.7.1
mr3.8.7.10
mr3.8.7.2
mr3.8.7.3
mr3.8.7.4
mr3.8.7.5
mr3.8.7.6
mr3.8.7.7
mr3.8.7.8
mr3.8.7.9
mr3.8.8.1
mr3.8.8.2
mr3.8.8.3
mr3.8.8.4
mr3.8.8.5
mr3.8.9.1
mr4.0.1.1
mr4.0.1.10
mr4.0.1.11
mr4.0.1.12
mr4.0.1.13
mr4.0.1.14
mr4.0.1.15
mr4.0.1.16
mr4.0.1.17
mr4.0.1.2
mr4.0.1.3
mr4.0.1.4
mr4.0.1.5
mr4.0.1.6
mr4.0.1.7
mr4.0.1.8
mr4.0.1.9
mr4.0.2.1
mr4.1.1.1
mr4.1.1.10
mr4.1.1.11
mr4.1.1.12
mr4.1.1.13
mr4.1.1.14
mr4.1.1.2
mr4.1.1.3
mr4.1.1.4
mr4.1.1.5
mr4.1.1.6
mr4.1.1.7
mr4.1.1.8
mr4.1.1.9
mr4.1.2.1
mr4.1.2.2
mr4.1.2.3
mr4.1.2.4
mr4.2.1.1
mr4.2.1.10
mr4.2.1.11
mr4.2.1.12
mr4.2.1.13
mr4.2.1.14
mr4.2.1.15
mr4.2.1.16
mr4.2.1.17
mr4.2.1.2
mr4.2.1.3
mr4.2.1.4
mr4.2.1.5
mr4.2.1.6
mr4.2.1.7
mr4.2.1.8
mr4.2.1.9
mr4.2.2.1
mr4.2.2.2
mr4.2.2.3
mr4.2.2.4
mr4.2.2.5
mr4.2.2.6
mr4.3.1.1
mr4.3.1.10
mr4.3.1.11
mr4.3.1.12
mr4.3.1.13
mr4.3.1.14
mr4.3.1.15
mr4.3.1.16
mr4.3.1.17
mr4.3.1.2
mr4.3.1.3
mr4.3.1.4
mr4.3.1.5
mr4.3.1.6
mr4.3.1.7
mr4.3.1.8
mr4.3.1.9
mr4.3.2.1
mr4.3.2.2
mr4.3.2.3
mr4.3.2.4
mr4.4.1.1
mr4.4.1.10
mr4.4.1.11
mr4.4.1.12
mr4.4.1.13
mr4.4.1.14
mr4.4.1.15
mr4.4.1.2
mr4.4.1.3
mr4.4.1.4
mr4.4.1.5
mr4.4.1.6
mr4.4.1.7
mr4.4.1.8
mr4.4.1.9
mr4.4.2.1
mr4.4.2.2
mr4.4.2.3
mr4.5.1.1
mr4.5.1.10
mr4.5.1.11
mr4.5.1.12
mr4.5.1.13
mr4.5.1.2
mr4.5.1.3
mr4.5.1.4
mr4.5.1.5
mr4.5.1.6
mr4.5.1.7
mr4.5.1.8
mr4.5.1.9
mr4.5.10.1
mr4.5.11.1
mr4.5.12.1
mr4.5.12.2
mr4.5.13.1
mr4.5.2.1
mr4.5.2.10
mr4.5.2.11
mr4.5.2.12
mr4.5.2.13
mr4.5.2.14
mr4.5.2.15
mr4.5.2.16
mr4.5.2.2
mr4.5.2.3
mr4.5.2.4
mr4.5.2.5
mr4.5.2.6
mr4.5.2.7
mr4.5.2.8
mr4.5.2.9
mr4.5.3.1
mr4.5.3.10
mr4.5.3.2
mr4.5.3.3
mr4.5.3.4
mr4.5.3.5
mr4.5.3.6
mr4.5.3.7
mr4.5.3.8
mr4.5.3.9
mr4.5.4.1
mr4.5.4.2
mr4.5.4.3
mr4.5.4.4
mr4.5.4.5
mr4.5.4.6
mr4.5.4.7
mr4.5.4.8
mr4.5.4.9
mr4.5.5.1
mr4.5.5.2
mr4.5.5.3
mr4.5.6.1
mr4.5.6.2
mr4.5.6.3
mr4.5.7.1
mr4.5.8.1
mr4.5.9.1
mr5.0.1.1
mr5.0.1.10
mr5.0.1.2
mr5.0.1.3
mr5.0.1.4
mr5.0.1.5
mr5.0.1.6
mr5.0.1.7
mr5.0.1.8
mr5.0.1.9
mr5.0.2.1
mr5.0.2.2
mr5.1.1.1
mr5.1.1.2
mr5.1.1.3
mr5.1.1.4
mr5.1.1.5
mr5.1.1.6
mr5.1.1.7
mr5.1.2.1
mr5.2.1.1
mr5.2.1.2
mr5.2.1.3
mr5.2.1.4
mr5.2.1.5
mr5.2.2.1
mr5.2.2.2
mr5.3.1.1
mr5.3.1.2
mr5.3.2.1
mr5.4.1.1
mr5.4.1.2
mr5.4.2.1
mr5.4.2.2
mr5.5.1.1
mr5.5.1.2
mr5.5.1.3
mr5.5.1.4
mr5.5.1.5
mr5.5.1.6
mr5.5.1.7
mr5.5.1.8
mr5.5.10.1
mr5.5.10.2
mr5.5.10.3
mr5.5.11.1
mr5.5.11.2
mr5.5.11.3
mr5.5.11.4
mr5.5.12.1
mr5.5.13.1
mr5.5.2.1
mr5.5.2.2
mr5.5.2.3
mr5.5.2.4
mr5.5.3.1
mr5.5.3.2
mr5.5.3.3
mr5.5.3.4
mr5.5.4.1
mr5.5.4.2
mr5.5.4.3
mr5.5.4.4
mr5.5.4.5
mr5.5.4.6
mr5.5.5.1
mr5.5.5.2
mr5.5.5.3
mr5.5.5.4
mr5.5.5.5
mr5.5.5.6
mr5.5.5.7
mr5.5.5.8
mr5.5.6.1
mr5.5.6.2
mr5.5.6.3
mr5.5.6.4
mr5.5.6.5
mr5.5.6.6
mr5.5.6.7
mr5.5.7.1
mr5.5.7.10
mr5.5.7.11
mr5.5.7.12
mr5.5.7.2
mr5.5.7.3
mr5.5.7.4
mr5.5.7.5
mr5.5.7.6
mr5.5.7.7
mr5.5.7.8
mr5.5.7.9
mr5.5.8.1
mr5.5.8.2
mr5.5.8.3
mr5.5.8.4
mr5.5.8.5
mr5.5.8.6
mr5.5.9.1
mr5.5.9.2
mr5.5.9.3
mr5.5.9.4
mr5.5.9.5
mr5.5.9.6
mr5.5.9.7
mr5.5.9.8
mr5.5.9.9
mr6.0.1.1
mr6.0.1.2
mr6.0.1.3
mr6.0.2.1
mr6.0.2.2
mr6.0.2.3
mr6.0.2.4
mr6.1.1.1
mr6.1.1.2
mr6.1.1.3
mr6.1.1.4
mr6.1.2.1
mr6.1.2.2
mr6.1.2.3
mr6.1.2.4
mr6.1.2.5
mr6.1.2.6
mr6.2.1.1
mr6.2.1.2
mr6.2.1.3
mr6.2.1.4
mr6.2.1.5
mr6.2.1.6
mr6.2.1.7
mr6.2.1.8
mr6.2.2.1
mr6.2.2.2
mr6.2.2.3
mr6.2.2.4
mr6.3.1.1
mr6.3.1.2
mr6.3.1.3
mr6.3.1.4
mr6.3.1.5
mr6.3.1.6
mr6.3.1.7
mr6.3.1.8
mr6.3.1.9
mr6.3.2.1
mr6.3.2.2
mr6.3.2.3
mr6.3.2.4
mr6.4.1.1
mr6.4.1.2
mr6.4.1.3
mr6.4.1.4
mr6.4.1.5
mr6.4.1.6
mr6.4.1.7
mr6.4.1.8
mr6.4.1.9
mr6.4.2.1
mr6.4.2.2
mr6.4.2.3
mr6.4.2.4
mr6.5.1.1
mr6.5.1.2
mr6.5.1.3
mr6.5.1.4
mr6.5.1.5
mr6.5.1.6
mr6.5.1.7
mr6.5.1.8
mr6.5.10.1
mr6.5.10.2
mr6.5.10.3
mr6.5.10.4
mr6.5.10.5
mr6.5.10.6
mr6.5.11.1
mr6.5.11.2
mr6.5.11.3
mr6.5.11.4
mr6.5.11.5
mr6.5.12.1
mr6.5.12.2
mr6.5.12.3
mr6.5.13.1
mr6.5.2.1
mr6.5.2.2
mr6.5.2.3
mr6.5.2.4
mr6.5.2.5
mr6.5.2.6
mr6.5.2.7
mr6.5.2.8
mr6.5.2.9
mr6.5.3.1
mr6.5.3.10
mr6.5.3.11
mr6.5.3.12
mr6.5.3.2
mr6.5.3.3
mr6.5.3.4
mr6.5.3.5
mr6.5.3.6
mr6.5.3.7
mr6.5.3.8
mr6.5.3.9
mr6.5.4.1
mr6.5.4.10
mr6.5.4.11
mr6.5.4.12
mr6.5.4.13
mr6.5.4.14
mr6.5.4.15
mr6.5.4.2
mr6.5.4.3
mr6.5.4.4
mr6.5.4.5
mr6.5.4.6
mr6.5.4.7
mr6.5.4.8
mr6.5.4.9
mr6.5.5.1
mr6.5.5.10
mr6.5.5.11
mr6.5.5.12
mr6.5.5.13
mr6.5.5.14
mr6.5.5.2
mr6.5.5.3
mr6.5.5.4
mr6.5.5.5
mr6.5.5.6
mr6.5.5.7
mr6.5.5.8
mr6.5.5.9
mr6.5.6.1
mr6.5.6.10
mr6.5.6.11
mr6.5.6.12
mr6.5.6.13
mr6.5.6.14
mr6.5.6.15
mr6.5.6.16
mr6.5.6.17
mr6.5.6.2
mr6.5.6.3
mr6.5.6.4
mr6.5.6.5
mr6.5.6.6
mr6.5.6.7
mr6.5.6.8
mr6.5.6.9
mr6.5.7.1
mr6.5.7.10
mr6.5.7.2
mr6.5.7.3
mr6.5.7.4
mr6.5.7.5
mr6.5.7.6
mr6.5.7.7
mr6.5.7.8
mr6.5.7.9
mr6.5.8.1
mr6.5.8.2
mr6.5.8.3
mr6.5.8.4
mr6.5.8.5
mr6.5.9.1
mr6.5.9.2
mr6.5.9.3
mr6.5.9.4
mr6.5.9.5
mr6.5.9.6
mr7.0.1.1
mr7.0.1.2
mr7.0.1.3
mr7.0.1.4
mr7.0.1.5
mr7.0.1.6
mr7.0.2.1
mr7.0.2.2
mr7.0.2.3
mr7.0.2.4
mr7.0.2.5
mr7.0.2.6
mr7.0.2.7
mr7.0.2.8
mr7.0.2.9
mr7.1.1.1
mr7.1.1.2
mr7.1.1.3
mr7.1.1.4
mr7.1.1.5
mr7.1.1.6
mr7.1.2.1
mr7.1.2.2
mr7.1.2.3
mr7.1.2.4
mr7.1.2.5
mr7.1.2.6
mr7.1.2.7
mr7.2.1.1
mr7.2.1.10
mr7.2.1.11
mr7.2.1.12
mr7.2.1.13
mr7.2.1.14
mr7.2.1.15
mr7.2.1.2
mr7.2.1.3
mr7.2.1.4
mr7.2.1.5
mr7.2.1.6
mr7.2.1.7
mr7.2.1.8
mr7.2.1.9
mr7.2.2.1
mr7.2.2.2
mr7.2.2.3
mr7.3.1.1
mr7.3.1.10
mr7.3.1.11
mr7.3.1.12
mr7.3.1.2
mr7.3.1.3
mr7.3.1.4
mr7.3.1.5
mr7.3.1.6
mr7.3.1.7
mr7.3.1.8
mr7.3.1.9
mr7.3.2.1
mr7.3.2.2
mr7.4.1.1
mr7.4.1.2
mr7.4.1.3
mr7.4.1.4
mr7.4.1.5
mr7.4.1.6
mr7.4.1.7
mr7.4.1.8
mr7.4.1.9
mr7.4.2.1
mr7.4.2.2
mr7.5.1.1
mr7.5.1.10
mr7.5.1.11
mr7.5.1.12
mr7.5.1.13
mr7.5.1.14
mr7.5.1.15
mr7.5.1.16
mr7.5.1.17
mr7.5.1.18
mr7.5.1.19
mr7.5.1.2
mr7.5.1.20
mr7.5.1.21
mr7.5.1.3
mr7.5.1.4
mr7.5.1.5
mr7.5.1.6
mr7.5.1.7
mr7.5.1.8
mr7.5.1.9
mr7.5.10.1
mr7.5.10.2
mr7.5.10.3
mr7.5.10.4
mr7.5.10.5
mr7.5.11.1
mr7.5.12.1
mr7.5.13.1
mr7.5.2.1
mr7.5.2.10
mr7.5.2.11
mr7.5.2.12
mr7.5.2.13
mr7.5.2.14
mr7.5.2.15
mr7.5.2.16
mr7.5.2.2
mr7.5.2.3
mr7.5.2.4
mr7.5.2.5
mr7.5.2.6
mr7.5.2.7
mr7.5.2.8
mr7.5.2.9
mr7.5.3.1
mr7.5.3.10
mr7.5.3.11
mr7.5.3.12
mr7.5.3.13
mr7.5.3.14
mr7.5.3.15
mr7.5.3.16
mr7.5.3.17
mr7.5.3.18
mr7.5.3.19
mr7.5.3.2
mr7.5.3.20
mr7.5.3.21
mr7.5.3.22
mr7.5.3.23
mr7.5.3.24
mr7.5.3.25
mr7.5.3.3
mr7.5.3.4
mr7.5.3.5
mr7.5.3.6
mr7.5.3.7
mr7.5.3.8
mr7.5.3.9
mr7.5.4.1
mr7.5.4.10
mr7.5.4.11
mr7.5.4.12
mr7.5.4.13
mr7.5.4.14
mr7.5.4.15
mr7.5.4.2
mr7.5.4.3
mr7.5.4.4
mr7.5.4.5
mr7.5.4.6
mr7.5.4.7
mr7.5.4.8
mr7.5.4.9
mr7.5.5.1
mr7.5.5.2
mr7.5.5.3
mr7.5.5.4
mr7.5.5.5
mr7.5.5.6
mr7.5.5.7
mr7.5.6.1
mr7.5.6.10
mr7.5.6.2
mr7.5.6.3
mr7.5.6.4
mr7.5.6.5
mr7.5.6.6
mr7.5.6.7
mr7.5.6.8
mr7.5.6.9
mr7.5.7.1
mr7.5.7.2
mr7.5.7.3
mr7.5.8.1
mr7.5.8.2
mr7.5.8.3
mr7.5.8.4
mr7.5.9.1
mr7.5.9.2
mr7.5.9.3
mr7.5.9.4
mr7.5.9.5
mr8.0.1.1
mr8.0.1.10
mr8.0.1.11
mr8.0.1.12
mr8.0.1.13
mr8.0.1.14
mr8.0.1.15
mr8.0.1.16
mr8.0.1.2
mr8.0.1.3
mr8.0.1.4
mr8.0.1.5
mr8.0.1.6
mr8.0.1.7
mr8.0.1.8
mr8.0.1.9
mr8.0.2.1
mr8.0.2.2
mr8.1.1.1
mr8.1.1.10
mr8.1.1.11
mr8.1.1.12
mr8.1.1.13
mr8.1.1.14
mr8.1.1.15
mr8.1.1.16
mr8.1.1.2
mr8.1.1.3
mr8.1.1.4
mr8.1.1.5
mr8.1.1.6
mr8.1.1.7
mr8.1.1.8
mr8.1.1.9
mr8.1.2.1
mr8.2.1.1
mr8.2.1.10
mr8.2.1.11
mr8.2.1.12
mr8.2.1.2
mr8.2.1.3
mr8.2.1.4
mr8.2.1.5
mr8.2.1.6
mr8.2.1.7
mr8.2.1.8
mr8.2.1.9
mr8.2.2.1
mr8.3.1.1
mr8.3.1.2
mr8.3.1.3
mr8.3.1.4
mr8.3.1.5
mr8.3.1.6
mr8.3.1.7
mr8.3.2.1
mr8.3.2.2
mr8.4.1.1
mr8.4.1.10
mr8.4.1.11
mr8.4.1.2
mr8.4.1.3
mr8.4.1.4
mr8.4.1.5
mr8.4.1.6
mr8.4.1.7
mr8.4.1.8
mr8.4.1.9
mr8.4.2.1
mr8.4.2.2
mr8.4.2.3
mr8.5.1.1
mr8.5.1.10
mr8.5.1.2
mr8.5.1.3
mr8.5.1.4
mr8.5.1.5
mr8.5.1.6
mr8.5.1.7
mr8.5.1.8
mr8.5.1.9
mr8.5.10.1
mr8.5.10.2
mr8.5.11.1
mr8.5.11.2
mr8.5.11.3
mr8.5.11.4
mr8.5.12.1
mr8.5.2.1
mr8.5.2.10
mr8.5.2.11
mr8.5.2.12
mr8.5.2.13
mr8.5.2.14
mr8.5.2.15
mr8.5.2.16
mr8.5.2.17
mr8.5.2.2
mr8.5.2.3
mr8.5.2.4
mr8.5.2.5
mr8.5.2.6
mr8.5.2.7
mr8.5.2.8
mr8.5.2.9
mr8.5.3.1
mr8.5.3.10
mr8.5.3.11
mr8.5.3.12
mr8.5.3.13
mr8.5.3.14
mr8.5.3.2
mr8.5.3.3
mr8.5.3.4
mr8.5.3.5
mr8.5.3.6
mr8.5.3.7
mr8.5.3.8
mr8.5.3.9
mr8.5.4.1
mr8.5.4.10
mr8.5.4.11
mr8.5.4.12
mr8.5.4.13
mr8.5.4.14
mr8.5.4.2
mr8.5.4.3
mr8.5.4.4
mr8.5.4.5
mr8.5.4.6
mr8.5.4.7
mr8.5.4.8
mr8.5.4.9
mr8.5.5.1
mr8.5.5.2
mr8.5.5.3
mr8.5.5.4
mr8.5.5.5
mr8.5.5.6
mr8.5.5.7
mr8.5.5.8
mr8.5.5.9
mr8.5.6.1
mr8.5.6.2
mr8.5.6.3
mr8.5.6.4
mr8.5.6.5
mr8.5.6.6
mr8.5.6.7
mr8.5.6.8
mr8.5.7.1
mr8.5.7.2
mr8.5.7.3
mr8.5.7.4
mr8.5.8.1
mr8.5.8.2
mr8.5.8.3
mr8.5.8.4
mr8.5.8.5
mr8.5.8.6
mr8.5.9.1
mr8.5.9.2
mr8.5.9.3
mr9.0.1.1
mr9.0.1.2
mr9.0.1.3
mr9.0.1.4
mr9.0.1.5
mr9.0.1.6
mr9.0.1.7
mr9.1.1.1
mr9.1.1.10
mr9.1.1.11
mr9.1.1.12
mr9.1.1.13
mr9.1.1.14
mr9.1.1.15
mr9.1.1.2
mr9.1.1.3
mr9.1.1.4
mr9.1.1.5
mr9.1.1.6
mr9.1.1.7
mr9.1.1.8
mr9.1.1.9
mr9.2.1.1
mr9.2.1.2
mr9.2.1.3
mr9.2.1.4
mr9.2.1.5
mr9.2.1.6
mr9.3.1.1
mr9.3.1.10
mr9.3.1.2
mr9.3.1.3
mr9.3.1.4
mr9.3.1.5
mr9.3.1.6
mr9.3.1.7
mr9.3.1.8
mr9.3.1.9
mr9.4.1.1
mr9.4.1.10
mr9.4.1.11
mr9.4.1.2
mr9.4.1.3
mr9.4.1.4
mr9.4.1.5
mr9.4.1.6
mr9.4.1.7
mr9.4.1.8
mr9.4.1.9
mr9.5.1.1
mr9.5.1.10
mr9.5.1.11
mr9.5.1.12
mr9.5.1.13
mr9.5.1.14
mr9.5.1.15
mr9.5.1.16
mr9.5.1.17
mr9.5.1.18
mr9.5.1.19
mr9.5.1.2
mr9.5.1.20
mr9.5.1.21
mr9.5.1.22
mr9.5.1.23
mr9.5.1.24
mr9.5.1.25
mr9.5.1.26
mr9.5.1.27
mr9.5.1.28
mr9.5.1.29
mr9.5.1.3
mr9.5.1.30
mr9.5.1.31
mr9.5.1.4
mr9.5.1.5
mr9.5.1.6
mr9.5.1.7
mr9.5.1.8
mr9.5.1.9
mr9.5.2.1
mr9.5.2.10
mr9.5.2.11
mr9.5.2.12
mr9.5.2.13
mr9.5.2.14
mr9.5.2.15
mr9.5.2.16
mr9.5.2.17
mr9.5.2.18
mr9.5.2.19
mr9.5.2.2
mr9.5.2.20
mr9.5.2.21
mr9.5.2.22
mr9.5.2.23
mr9.5.2.24
mr9.5.2.25
mr9.5.2.26
mr9.5.2.27
mr9.5.2.28
mr9.5.2.29
mr9.5.2.3
mr9.5.2.30
mr9.5.2.31
mr9.5.2.32
mr9.5.2.4
mr9.5.2.5
mr9.5.2.6
mr9.5.2.7
mr9.5.2.8
mr9.5.2.9
mr9.5.3.1
mr9.5.3.10
mr9.5.3.11
mr9.5.3.12
mr9.5.3.13
mr9.5.3.14
mr9.5.3.15
mr9.5.3.16
mr9.5.3.17
mr9.5.3.18
mr9.5.3.19
mr9.5.3.2
mr9.5.3.20
mr9.5.3.21
mr9.5.3.22
mr9.5.3.3
mr9.5.3.4
mr9.5.3.5
mr9.5.3.6
mr9.5.3.7
mr9.5.3.8
mr9.5.3.9
mr9.5.4.1
mr9.5.4.10
mr9.5.4.11
mr9.5.4.12
mr9.5.4.13
mr9.5.4.14
mr9.5.4.15
mr9.5.4.16
mr9.5.4.17
mr9.5.4.18
mr9.5.4.2
mr9.5.4.3
mr9.5.4.4
mr9.5.4.5
mr9.5.4.6
mr9.5.4.7
mr9.5.4.8
mr9.5.4.9
mr9.5.5.1
mr9.5.5.10
mr9.5.5.11
mr9.5.5.12
mr9.5.5.13
mr9.5.5.14
mr9.5.5.15
mr9.5.5.16
mr9.5.5.17
mr9.5.5.18
mr9.5.5.2
mr9.5.5.3
mr9.5.5.4
mr9.5.5.5
mr9.5.5.6
mr9.5.5.7
mr9.5.5.8
mr9.5.5.9
mr9.5.6.1
mr9.5.6.10
mr9.5.6.11
mr9.5.6.2
mr9.5.6.3
mr9.5.6.4
mr9.5.6.5
mr9.5.6.6
mr9.5.6.7
mr9.5.6.8
mr9.5.6.9
mr9.5.7.1
mr9.5.7.2
mr9.5.7.3
mr9.5.7.4
mr9.5.7.5
mr9.5.7.6
mr9.5.7.7
mr9.5.8.1
mr9.5.8.2
mr9.5.8.3
mr9.5.8.4
mr9.5.8.5
mr9.5.9.1
${ noResults }
811 Commits (be69c8fa0fddbb935e525950dd1e20f9b9470d7d)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
be69c8fa0f |
MT#64067 fix subscriberpreferences PUT update_item
* PUT update_item is fixed to properly expect 3 values
Change-Id: Id63445f76ffbc312aadafc7b502fffd070eb0089
(cherry picked from commit
|
1 month ago |
|
|
2d31d86c3d |
MT#64067 address deadlock detection for preferences
* improve Role/API/Preferences err_code callback to check
deadlocks (via $self->check_deadlock) and set $process_extras->{retry_tx} = 1
so that the outer caller can act upon it and restart the transaction.
* increase deadlock attempts from 2 to 5 as some deadlocks seem to take
longer time to resolve.
* wait 1 second between deadlock retry attempts as otherwise if a
deadlock takes more than 1 second and all the retries are done within
less than a second it will cause an error.
* EntitiesItem: add support for retry_tx and call goto TX_START if
$process_extras->{retry_tx} (when check_deadlock is processed
externally, like in Utils::Preferences::update_item in the err_code
callback).
Change-Id: Ib56383710041c21d72782047a852353296c22215
(cherry picked from commit
|
1 month ago |
|
|
ba8d64e746 |
MT#63706 skip_locked for DELETE /api/subscriber/id
while acquiring locks is skipped nowadays for
collections eg. a GET /api/subscribers/, timeouts
were still reported for individual DELETE /api/subscriber/id
requests.
this change adds logic to skip acquiring locks for
DELETE /api/subscribers. there is also a fix to make
GET /api/subscribers/id and GET /api/subsriberpreferences/id
work.
Change-Id: Ie71abecd1f8387b9f56e8e0a47a5f1b16a6f308d
(cherry picked from commit
|
2 months ago |
|
|
3f2b406c85 |
MT#63893 Fix typo in commit 3b17ab6c54
Change-Id: Ieaa0f18cfab821a2c85de1a3602946c1855c8dba
(cherry picked from commit
|
2 months ago |
|
|
9a0b02014a |
MT#63893 Call 'sip_dispatcher_reload' while changing peerings via API
For scenarios when:
* a peering server is enabled or disabled
* a peering probe is enabled or disabled
* a peering group with active peering servers or peering probes
is removed
a "sip_dispatcher_reload" XMLRPC request is sent to kamalilio-proxy,
otherwise the dispatcher cache is not reflected and therefore, not
available with the actual state until next kamailio-proxy restart.
Change-Id: If3a98115224eb132126d5a53df7320cb6a33deba
(cherry picked from commit
|
2 months ago |
|
|
340f92caac |
MT#63706 skip_locked for GET /api/subscriber/id
while acquiring locks is skipped meanwhile for
collections eg. a GET /api/subscribers/, timeouts
were still reported for individual GET /api/subscriber/id
requests.
this change adds logic to skip acquiring locks for
GET /apu/subscribers/id and GET /api/subsriberpreferences/id.
Change-Id: I0b739dd42947e30938e84b1339ba9b7535da8cb8
(cherry picked from commit
|
3 months ago |
|
|
cdc9e6f464 |
MT#63597 fix /api/callists GET by id
* GET by id no longer throws 500 error with
DBIx::Class::Row::get_column(): No such column
'source_cli_suppression_id'
Change-Id: I852451e001b5fbbbd8e6363bc36da0d5b06c1539
(cherry picked from commit
|
4 months ago |
|
|
cb669386da |
MT#63320 /api/vouchers rename to search by base64_code
* the query parameter is now named base64_code to closely
represent the expected value.
* check and add trailing '=' if it's missing in the provided
base64_code.
Change-Id: I37c03cd663116d85b5115b5feee1eb6b282596be
(cherry picked from commit
|
5 months ago |
|
|
a7c45f170c |
MT#63320 fix /api/vouchers search by code
* base64 code provided in the query params is now correctly
re-encoded as encrypted base64 string to use in search.
Change-Id: Id9e45079b260bdc51465a781124f6fbb636cf2db
(cherry picked from commit
|
5 months ago |
|
|
2388101583 |
MT#63182 add deadlock detection for DELETE /api/subscribers
Change-Id: Idce6eccdbd490e69349808b6965f8212fe3e6e37
(cherry picked from commit
|
5 months ago |
|
|
db111dfb8e |
MT#63070 Add request for sems to clear its audio cache
This patch add the request for sems to clear its audio cache when the SoundSet is updated.
Change-Id: Id6970b429b211f93d088703dcdfac15dd8d43088
(cherry picked from commit
|
6 months ago |
|
|
528ebfc4c8 |
MT#63199 /api/subscriberpreferences add lockwait and deadlock detection
* lockwait and deadlock detection is now in place for ALL
/api/subscriberpreferences endpoint methods.
Change-Id: Icb613677dfca1187b3a1e707588ad6e9547d3c9a
(cherry picked from commit
|
6 months ago |
|
|
fbc76543bb |
MT#63182 /api/subscribers add lockwait and deadlock detection
* API::check_deadlock() add lockwait detection.
* lockwait and deadlock detection is now in place for ALL
/api/subscribers endpoint methods. because of logic complexity
it uses own deadlock detection instead of relying on Entities.
It however uses $self->check_deadlock() and similar logic.
Change-Id: Idc1876910711563fe14c878541e350ad373d6d31
(cherry picked from commit
|
6 months ago |
|
|
46e6b95568 |
MT#62705 improve peer_auth registrations support
* DELETE /api/peeringgroups and PUT/PATCH/DELETE /api/peeringservers
now call sip_create_peer_registration or delete_peer_registration
correspondingly to correctly reflect the registartion on related
changes
* rework Panel::Utils::Peering create_peer_registration() and
delete_peer_registration()
- use provisioning peer db object in the argument instead of
a separate hash to simplify its logic
- adjust related UI parts that call these functions as well as
cleanup now unnesessary code from there
* Panel::Utils::Peering: remove '_' prefix from _sip* functions as
they are not private but rather public class methods
* Panel::Utils::Preferences
- add suport for 'peer_auth' updates for type='peerings'
(was only supported for 'subscribers')
- remove '_' prefix from _is_peer_auth_active()
* Panel::Utils::Sems
- simplify peer registration by using the the db object (same as
for subscribers)
- only create/delete peer registration when the peering is enabled,
otherwise there will be errors related to unavailable
$prov_peer->lcr_gw->id
Change-Id: I0fc79a6580fd17aa34df870fb7a93e33edfff15b
(cherry picked from commit
|
8 months ago |
|
|
d2012c1ee8 |
MT#62283 exclude "for update no lock" in tests
Change-Id: I12ff4d1f8ba0b150a1918de40dafa1efd6a92c10
(cherry picked from commit
|
8 months ago |
|
|
b83fedd610 |
MT#62283 "for update no lock" logic for GET /subscribers and /contracts
to unblock the web UI on heavy loaded systems with call rating enabled,
"select .. for update no lock" will no longer wait for acquiring locks
when retrieving subscriber or contract contract pages.
the contract_balance record creation is will be skipped for such
contracts that are locked elsewhere.
for rails such as /customerbalances, an explicit contract id row lock
timeout is introduced, so it does not depend on the mariadb wait_timeout.
Change-Id: I6e96342f3f761279a5876c871d2477977823a39e
(cherry picked from commit
|
8 months ago |
|
|
ae5a3b73fe |
MT#62178 fix external_id, profile auto removal for subscriber roles
* fix 'subscriber' and 'subscriberadmin' roles using PATCH to cause
external_id, and profile fields removed.
* remove profile_id field from the 'subscriber' and 'subscriberadmin'
form
Change-Id: Id8bb068ca7fcac2c0c5954f2ed79e841d18ac398
(cherry picked from commit
|
10 months ago |
|
|
4899e86fdb |
MT#61572 allow subscriber to GET resellerbrandinglogos
* 'subscriber' role can now GET resellerbrandinglogos
* fix 'subscriberadmin' role access to POST resellerbrandinglogos
Change-Id: I4002117e15e5557dfbfe887dea3773d8704aeb14
(cherry picked from commit
|
11 months ago |
|
|
8c69ddf504 |
MT#62180 /api/subscribers prevent subscribers from POST/DELETE
* regular subscribers should not be able to use POST as they are
not allowed to create other subscribers, nor other PBX groups.
resource.
* they should not be able to use DELETE as they cannot delete themselves
nor other subscribers, nor PBX groups.
Change-Id: Idaacb344b65ff8c5da9f4c3649a9b4089938a82c
(cherry picked from commit
|
11 months ago |
|
|
25381e726b |
MT#62093 return 403 Banned for banned users
* add banned user redirect for API requests
Change-Id: I0b09879c2e0802c8cc649c92c239449742314b56
(cherry picked from commit
|
11 months ago |
|
|
6db10cc3f7 |
MT#60197 support deleting call recordings per subscriber
admin panel will no longer delete callrecordings for
all parties of the call, but the single subscriber only.
rest-api, behaves the same way, if the ?subscriber_id=
parameter is provided.
when a callrecording is deleted by all call parties,
the remaining records and recording files will be
dropped.
Change-Id: I61f667bdb074a935a8a04473a3685b10e5e09222
(cherry picked from commit
|
1 year ago |
|
|
c27388f218 |
MT#60756 Fix subscriberprofiles POST api call as reseller
Administrators with reseller role were not able to create new
subscriberprofiles because API was fialing with 500 error.
In particular:
LOG="«DBIx::Class::Row::store_column(): No such column
'reseller_id' on NGCP::Panel::Model::DB::voip_subscriber_profiles
at /usr/share/perl5/NGCP/Panel/Controller/API/SubscriberProfiles.pm
line 172»
The error was caused by the addition of the reseller_id info
in the $resourse even if not needed.
Change-Id: I7970a2716d7af959639937a9a844160ab73a9176
(cherry picked from commit
|
1 year ago |
|
|
4828b02c20 |
MT#59979 permit GET on resellers and billing profiles items even without license
In some cases the UI requires to GET information from a specific
reseller or billing profile because needed to show/created other
endpoints (for example 'customers').
Due to that it has been added the possiiblity to do the GET not
only of the list of the resellers and biling profiles, but also
of each specific item.
Change-Id: Iebbbbc494ce71e616d8e41ca20e97bebce7998b8
(cherry picked from commit
|
1 year ago |
|
|
73468cabde |
MT#60558 move max license checks for POST /api/subscribers
* the relevant max license checkes are moved from
Controller::API::Subscribers::POST to
Utils::Subscribers::prepare_resource because there we fetch
customer_id from the pilot subscriber in case of pbx subscriberadmin
requests that is neccessary for PBX subscribers max license check.
Change-Id: I2d1c212d73fe5b9295d1595b4fffebeb67b61e5a
(cherry picked from commit
|
1 year ago |
|
|
c71fe13057 |
MT#59449 fix password validation enabled/disabled, admins
* correctly detect and skip password validation when
sip_validatation or web_validation is not enabled respectively
* better detect web password for admin users
* /api/admins PUT/PATCH now also correctly checks last used passwords
Change-Id: I9a6fa9b8e30ae2b81d2852dec0e1f9d858be13ef
(cherry picked from commit
|
1 year ago |
|
|
60fa23cb68 |
MT#60585 add user ban support
* users for admin/subscriber realms are now banned if failed
to login X amount of times (UI/API).
* rework Redis connection and it's now a Catalyst plugin NGCP::Redis
accessed by $c->redis_get_connection({database => 19}), the connection
per database, per worker process is established only once and then
reused (with auto built-in reconnect support).
* remove Utils::Redis.pm as it does not have any code/logic anymore.
* ban values are taken from $config->{security}{login} as
- ban_enable: 1
- ban_expire_time: 3600 ban expire time in seconds
- max_attempts: 5
* if max_attempts set to 0, the ban functionality is disabled as it
requires to be at least 1 to work.
* upon successful login or ban, the failed attempts counter is removed
* the failed attempts counter is also removed automatically with the
expire time equals "ban_expire_time" or otherwise 3600 seconds.
* user bans are logged into panel.log
* banned user receives exactly the same return page/codes as per
invalid logic.
Change-Id: I05cc68c623ee289488fc64f1af50527004dcaae1
|
1 year ago |
|
|
d9f283cbc8 |
MT#59449 enhance password validation and handling
* passwords are now validated based on - minlen - maxlen - min lower case chars - min uppper case chars - min digits - min special chars * Data::Password::zxcvbn is used to calculate password score and reject passwords with score < 3 as weak (this library is ported from the Dropbox password validation) * Add password journals and check last used passwords in the journals * Improve password generator javascript function to generate a password with at least 4 of each of the char group types. * Currently affected are subcriber and admin entry creation or modification via UI/API * NGCP::Utils::Auth add optional bcrypt_cost support as last argument for generate_salted_hash and get_usr_salted_pass Change-Id: I100c25107d91741d5101bc58d29a3fa558b0b017 |
1 year ago |
|
|
43d112bd5e |
MT#60558 add max subscribers/groups license checks
* max_subscribers, max_pbx_subscribers, max_pbx_groups license checks are added for subscriber/group creation in UI/API * new accessor $c->license_meta that returns meta license flags hashref * new accessor $c->license_max_subscribers * new accessor $c->license_max_pbx_subscribers * new accessor $c->license_max_pbx_groups * the new accessors (except license_meta) return -1 instead of 'unlimited' to ease off comprarsion * 403 Forbidden is returned by the API if a license is violated. Change-Id: I3f5a949efc84bf85b76b33404b37b362ec484d5f |
1 year ago |
|
|
9d021be65a |
MT#59979 add license control
* UI and API parts are now under license control
* new Util::License::get_license($c, $name)
- fetches license status by name (1 if enabled, and also if
/proc/ngcp/check if 'ok')
* add Catalyst::Plugins::NGCP::License with license($name)
to fetch valid license by name from anywhere using
$c->license('pbx') or from the templates using c.license('pbx').
It internally uses Util::License::get_license($c, $name)
* License::get_license_status($c) now requires $c as first argument
as well logs license status check errors.
* new ActionRoles::License that enables usage of
:Does(License) RequiresLicense('pbx') LicenseDetachTo('/denied_page')
in the Controller chains
* Add license control for UI elements and return 403 Forbidden
if a resource is covered by licenses and the license is not active
* Hide UI elements if a license is not active
* API/Entities/Entities new $c->set_config key:
- per endpoint:
$c->set_config({
required_licenses => [qw/pbx device_provisioning/]
}
- or per method:
$c->set_config({
required_licenses => {
POST => [qw/pbx device_provisioning/]
}
}
}
* In case if an API endpoint does not have a license:
403 Forbidden "Invalid license" reply is returned.
* Add license based restrictions to API endpoints
* /api documentation:
- completely hide endpoints that do not have an active license
- hide only methods that does not have an active license
Change-Id: Iba45fc5068b02306a617fed7b5405f2210574b61
|
1 year ago |
|
|
9c103302c8 |
MT#60575 dynamically load provisioning templates module
Change-Id: Ibff509825f82a75c9b0221505a1673d78b401989 |
1 year ago |
|
|
10a88cf669 |
MT#58964 /api/platforminfo add license_meta
* new Utils::License::get_license_meta($c) to
fetch license meta ({} by default) that contains license
related metadata such as current and max amount
of subcsribers and license valid until date.
currently the following data is fetched from /proc/ngcp
check
current_calls
current_pbx_groups
current_pbx_subscribers
current_registered_subscribers
current_subscribers
license_valid_until
max_calls
max_pbx_groups
max_pbx_subscribers
max_registered_subscribers
max_subscribers
valid
* Controller::API::Root platforminfo now also returns
license_meta
Change-Id: I323cdfd646335a408e0150ecd69ad950fa0461ab
|
2 years ago |
|
|
522fd97020 |
MT#58964 /api/platforminfo add licenses info
* NGCP::Utils::License new function get_licenses()
that reads /proc/ngcp/flags/ and returns all files
with content 1.
* api/platforminfo.tt template now calls a stashed
callback (coderef) that decodes provided json file,
includes licenses and returns encoded the json back.
* ngcp-panel.service changes
# Files + directories not directly associated are made
invisible in the /proc/ file system
# ProcSubset=pid
# Disabled: MT#58964, to be able to read /proc/ngcp/flags/
# Processes owned by other users are hidden from /proc/
# ProtectProc=invisible
# Disabled: MT#58964, to be able to read /proc/ngcp/flags/
Change-Id: I84b6707a918e3f4f271e32b9353f320753c5ae68
|
2 years ago |
|
|
ca908bf629 |
MT#60400 /api/soundsets remove null search detection
* customer_id search param now has the same search logic as the rest as it had before 'null' detection and conversion => 'undef' whereas it's not needed anymore because it's now supported globally. The change also fixes an empty response issue. Change-Id: If95de44d16ca2871da72d0ee019850802a3a94dd |
2 years ago |
|
|
5d26436c05 |
MT#60392 /api/ncoslnpcarriers fix reseller role typo
* fix reseller role typo in allowed_roles Change-Id: Ia2da00f7317eb64cfbe0e2c5069a75a9b24e24e5 |
2 years ago |
|
|
244b4f786b |
MT#60392 /api/ncoslnpcarriers allow reseller
* resellers should be able to create/update and delete NCOS LNP Carrier entries using exising LNP Carriers. Change-Id: I85d900c194d46af8d888e2f854729a3ca52711fe |
2 years ago |
|
|
775ec90d5d |
MT#60392 /api/lnpcarriers allow reseller GET
* reseller role can use GET on the endpoint because it is needed for an NCOS Levels (which resellers can create). Change-Id: Ic793b0d74e767eb9e150a6ae3c67ff9f51c8cf6c |
2 years ago |
|
|
6543743992 |
MT#60162 improve expand functionality for collections
* in general expand collection now performs only 1 sql
query to per expand field to fetch all items by the ids
instead of fetching them for every single collection item,
that should significantly increase performance in case
of large databases and reduce work for the database
* introduce $c->stash->{expand_cache} that contains
cached data for the expand fields to avoid multiple
same calculations
* expand_field() and expand_field_data() have been reworked
to support expand_cache
* new method expand_prepare_collection() is called for all
API GET collection methods before preparing resource hal
fields, to change the expand logic to only cache the data
instead of fetching it from the database
* new method expand_collection_fields() that is called in all
API GET collection methods after the @embedded data is prepared
to finalise the expand collection fields
* for expand collection there is only 1 SQL request per expand field
that fetches all items -in [ids to expand] and then the
expand_collection_fields() uses the cached items_by_ids with
O(1) fetch from the cache by id
Change-Id: Ie7c6115472878febf0d8c9b4d833f5c23b15c78b
|
2 years ago |
|
|
9a2d66a00a |
MT#60238 /api/customerpreferences allow subscriberadmin
* subscriberadmin roles can now handle customer preferences belonging to the same customer and only those with expose_to_customer = '1' Change-Id: Iae9ab5d4a96a065b1a627d180dd523e805d954f3 |
2 years ago |
|
|
0d8d68d9a5 |
MT#60236 /api/mailtofaxsettings allow subscriber roles
* subscriberadmin and subscriber can now use /api/mailtofaxsettings * adapt item_rs query for subscriberadmin and subscriber so that subscriberadmin can have access to all 'own' subscribers Change-Id: If8e768c5c06bc4e5f0a6ef9d15e19f542d8b6a4d |
2 years ago |
|
|
f2478178f0 |
MT#60119 allow pbxfielddeveicepreferences to subscriberadmin role
* subscriberadmin role can now CRUD preferences for devices that are assigned to the customer. Change-Id: I09fe3c3b2ed670f0411970dc6402486a3cf6d4be |
2 years ago |
|
|
c6aaaddd87 |
MT#56301 move lock_provisioning_voip_subscriber before underrun_lock
* POST /api/subscribers/ invoke lock_provisioning_voip_subscriber() before underrun_lock(), so that if the subscriber is about to be locked due to customer balance costs, the lock_provisioning_lock_subscriber() invocation will not unlock it back straight after Change-Id: I55020f844c9aa76df2e2f057a88b2ae7c9ebbfcc |
2 years ago |
|
|
df670f501f |
MT#56301 set locklevel of created subscribers only if specified
Change-Id: I90f2d68dee50ab240de4eb5af7495ddd551c00d8 |
2 years ago |
|
|
8945b8a5ac |
MT#56301 Fix API creation of an active subscriber with lock
Using API is possibile to edit an existing subscriber and set status: active and lock: 2. It is instead impossbile to create a new subscriber with the same configuration because the 'lock' param is not taken into account. The only way to properly setup lock level it is to set the status to 'locked' and this is in fact wrong. The fix address this issue and allow now to create a new subscriber with status: active and lock: 2. Change-Id: Id18e40bc001c5a7de30f5d148231bda93a3b1b3d |
2 years ago |
|
|
b2a1bc00d1 |
MT#59806 adapt /api/cfdestinationsets to Entities
* Entites logic is used for GET/POST/PUT/PATCH/DELETE * Utils::CallForwards::check_destinations() do not obfuscate destinations that are returned in the response as all logged data is obfuscated anyways Change-Id: Ia79f9e236c966410e2640d719c3a7f5784cc4c2a |
2 years ago |
|
|
9e3653341a |
MT#59478 adapt /api/cftimesets to global transactions, more fixes
* /api/cftimesets now fully use Entities/EntitiesItem * EntitiesItem: delete(): fix delete_item() expression processing * Entities/EntitiesItem: post/put/patch/delete: go to TX_END in scenarios where after a method call (e.g. update_item()) there is a normal return from the function but errors in $c->error, so that they are also caught correctly Change-Id: I3bef409ded590796c2bba4f30acd28b02e99065b |
2 years ago |
|
|
91f1dcf37e |
MT#59478 /api/ root error handling
* clear errors in Controller::API::Root::end so that they are
not interfere with generated ones
* API::error(): add $c->stash->{is_api_error_response} = 1
to track it in log_response()
* API::log_response(): distinguish and correctly correct errors
for cases when is_api_response == 1 and also when there were
$c->error('error') calls in the code, to log them correctly
in both cases
Change-Id: Id922b8219832c1b99815d9d608309035b9b25cff
|
2 years ago |
|
|
9dbd6b0e88 |
MT#59478 /api/contracts address $now and hal_from_contract
* the following changes resolve an issue where $now in Role/Contracts
resource_from_item appeared as an object and failed subsequent
logic:
- hal_from_contract is renamed to hal_from_item to match correctly
the parent method
- call hal_from_item and pass $now string there correctly as $params
{ now => $now }
Change-Id: I5c02d5f7df5d9000550505ad120b9531f87e8d65
|
2 years ago |
|
|
205b27a267 |
MT#59478 API better transaction and error handling
* Role/Entities*: POST/PUT/PATCH/DELETE methods changes:
- support deadlock detection and transaction retry
(2 retry attempts at the moment)
- improve transaction control, use local $guard
instead of saving the ref to $c->stash, as in that
case it went out of scope too late and also reported
an error message into the log about abnormal $guard out
of scope interruption
- move all non transaction related code outside
of the scope
- add error handling when methods such as update_item,
and a like do not return the expected data, instead of
simply going out of scope and resulting in an uncontrolled
reply
* Role/API:
- rework transaction control:
+ get_transaction_control() is renamed to start_transaction()
to better reflect what it does
+ complete_transaction() is renamed to commit_transaction()
+ remove unused %params arg
+ pass $guard into commit_transaction() instead of having it
stored as $c->stash->{transaction_guard) that caused the $guard
ref to be destroyed much late than expected
(there was also a typo as transaction_quard,
which is not relevant anymore with the changes
+ add check_deadlock() that is invoked when an exception is caught
or an $c->errors contain an error, and if the error message
represents a transaction error, the transaction block is
re-invoked via "goto TX_START"
- rework error():
+ it now accepts args as following:
($self, $c, $code, $message, @errors)
# code -> returned as HTTP code in the reply
# message -> returned as HTTP message in the reply
# errors -> contain errors for internal logging, last element often contains a DBIx exception
+ populates all @errors into $c->error so they are available on
demend in the code via $c->error or $c->last_error
+ $c->log->error is not invoked now as the errors become printed
in log_response()
- log_response() now prints collected errors from $c->error correctly
as a separate log line, that is alike to the other api logs so that
those can be looked up by the request's tx_id, also all errors are
now printed only into api.log
* Adjust all $self->error() calls in catch($e) to include $e as the last
argument, as well as the duplicate $c->log->error is removed from
those ocassions
* Remove all $c->log->error() calls as they are replaced with either
$self->error() (that logs it correctly into api.log) or
$c->error('err') that also adds it correctly into api.log
* API::CallForwards: rework to use Entities/EntitiesItem
* API::Contracts: rework POST to use Entities
* API::PeeringGroups: rework POST to use Entities
* API::SubscriberRegistrations: rework POST to use Entities
* API::RewriteRuleSets: improve create_item() functionality
* Utils/Message: add 'api_retry' log type
* $c->session->{api_request_tx_id} is changed to
$c->stash->{api_request_tx_id} because sometimes the session
ref is different and a different tx_id becomes used
Change-Id: I633ce7a8047b1bf00a2f6889003088edf0825dcd
|
2 years ago |
|
|
aef4c89197 |
MT#59662 enhance subscriber assigned header rules/sets handling
* POST /api/headerrules now supports either 'set_id' or 'subscriber_id'. When 'subsriber_id' is specified, a subscriber assigned header rule set is automatically created if it does not exist, as well as automatically removed when its last header rule is deleted. * It is now possible to directly GET and DELETE /api/headerrules/:id where :id is a subscriber assigned header rule. * It is now possible to directly GET and DELETE /api/headerrulesets/:id where :id is a subscriber assigned header rule set. * Improve /api/headerrules data validation and duplicate header rule detection. * It is now possible to expand by /api/headerrules/?expand=set_id field Change-Id: I681bc61c2eed47a8e54847f07f31134f643930c2 |
2 years ago |
|
|
48b71e68c5 |
MT#59363 fix /api/domains/?domain= filter pattern behaviour
this filter is another spot, where leading/trailing wildcards were added unintentionally, during harmonization. Change-Id: Id23114f8e7ebca018ad222e35b39d8260f1da92f |
2 years ago |