mr26.3.1
mr26.0.1
mr13.5.1
mr12.5.1
mr26.3
mr26.0
mr13.5
mr12.5
master
mr26.2.1
mr26.2
mr26.1.1
mr26.1
mr11.5.1
mr11.5
mr14.1.1
mr14.1
mr13.3.1
mr13.2.1
mr13.1.1
mr13.0.1
mr14.0.1
mr13.0
mr13.1
mr13.2
mr13.3
mr14.0
mr13.4.1
mr13.4
mr10.5
mr10.5.9
mr10.5.8
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.38
mr11.5.1.39
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.43
mr12.5.1.44
mr12.5.1.45
mr12.5.1.46
mr12.5.1.47
mr12.5.1.48
mr12.5.1.49
mr12.5.1.5
mr12.5.1.50
mr12.5.1.51
mr12.5.1.52
mr12.5.1.53
mr12.5.1.54
mr12.5.1.55
mr12.5.1.56
mr12.5.1.57
mr12.5.1.58
mr12.5.1.59
mr12.5.1.6
mr12.5.1.60
mr12.5.1.61
mr12.5.1.62
mr12.5.1.63
mr12.5.1.64
mr12.5.1.65
mr12.5.1.66
mr12.5.1.67
mr12.5.1.7
mr12.5.1.8
mr12.5.1.9
mr13.0.1.1
mr13.0.1.10
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.0.1.9
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.1.1.7
mr13.2.1.1
mr13.2.1.10
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.3.1.7
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.16
mr13.5.1.17
mr13.5.1.18
mr13.5.1.19
mr13.5.1.2
mr13.5.1.20
mr13.5.1.21
mr13.5.1.22
mr13.5.1.23
mr13.5.1.24
mr13.5.1.25
mr13.5.1.26
mr13.5.1.27
mr13.5.1.28
mr13.5.1.29
mr13.5.1.3
mr13.5.1.30
mr13.5.1.31
mr13.5.1.32
mr13.5.1.33
mr13.5.1.34
mr13.5.1.35
mr13.5.1.36
mr13.5.1.37
mr13.5.1.38
mr13.5.1.39
mr13.5.1.4
mr13.5.1.40
mr13.5.1.41
mr13.5.1.42
mr13.5.1.43
mr13.5.1.44
mr13.5.1.45
mr13.5.1.46
mr13.5.1.47
mr13.5.1.48
mr13.5.1.49
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.10
mr14.0.1.11
mr14.0.1.12
mr14.0.1.13
mr14.0.1.14
mr14.0.1.15
mr14.0.1.16
mr14.0.1.17
mr14.0.1.2
mr14.0.1.3
mr14.0.1.4
mr14.0.1.5
mr14.0.1.6
mr14.0.1.7
mr14.0.1.8
mr14.0.1.9
mr14.1.1.1
mr14.1.1.2
mr14.1.1.3
mr14.1.1.4
mr14.1.1.5
mr14.1.1.6
mr14.1.1.7
mr14.1.1.8
mr14.1.1.9
mr26.0.1.1
mr26.0.1.10
mr26.0.1.11
mr26.0.1.12
mr26.0.1.13
mr26.0.1.14
mr26.0.1.15
mr26.0.1.16
mr26.0.1.17
mr26.0.1.18
mr26.0.1.19
mr26.0.1.2
mr26.0.1.20
mr26.0.1.21
mr26.0.1.3
mr26.0.1.4
mr26.0.1.5
mr26.0.1.6
mr26.0.1.7
mr26.0.1.8
mr26.0.1.9
mr26.1.1.1
mr26.1.1.10
mr26.1.1.11
mr26.1.1.12
mr26.1.1.13
mr26.1.1.14
mr26.1.1.2
mr26.1.1.3
mr26.1.1.4
mr26.1.1.5
mr26.1.1.6
mr26.1.1.7
mr26.1.1.8
mr26.1.1.9
mr26.2.1.1
mr26.2.1.2
mr26.2.1.3
mr26.2.1.4
mr26.3.1.1
mr26.3.1.2
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 }
848 Commits (master)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
c6cf9adfa9 |
MT#66497 restrict subscriber roles in /api/subscribers
* subscriber and subscriberadmin can no longer modify fields they
are not allowed to. A changed value is rejected with 422 "Read-only
field(s) for authenticated role: <fields>", unchanged values are
accepted (clients sending the fetched values back keep working),
omitted fields keep the stored values. Invalid values (e.g.
administrative "true" or {}) are rejected with 422 as well:
- subscriber on itself: lock, status, primary_number,
alias_numbers, pbx_extension, profile_set_id, profile_id,
administrative
- subscriberadmin on itself: the same except pbx_extension, which
can be changed to an extension not used by another subscriber
or PBX group of the customer
- subscriberadmin on the pilot: lock, status, primary_number,
alias_numbers, profile_set_id, profile_id, administrative
- subscriberadmin on its other subscribers: profile_set_id,
profile_id, administrative
The rules are in Utils::Subscriber::get_readonly_fields(), checked
by get_readonly_changes() in prepare_resource(), so PUT and PATCH
behave the same. Fields a role is allowed to change keep
the existing PUT semantics. Previously e.g. a subscriber could
unlock itself or assign itself any number or subscriber profile.
* replaces the lock/status checks added in MT#66467.
* subscriberadmin on its PBX seats: primary_number is derived from
pbx_extension, a value other than the stored or the derived one
is rejected with 422 (was silently replaced).
* subscriberadmin POST with administrative set is rejected with 422
(was silently reset to 0).
* subscriberadmin can assign alias numbers to its subscribers only
from the PBX pool (non-primary numbers of the pilot), 422
otherwise. Assigned numbers are moved from the pilot, revoked ones
are moved back to the pilot via update_subadmin_sub_aliases() (as
in the web UI), for POST, PUT and PATCH. Previously any new or
unassigned number could be assigned and revoked numbers were
released from the customer. /api/numbers is unchanged.
* PUT/PATCH/DELETE of subscribers outside of the caller's scope
return 404 like GET (subscriber: other subscribers,
subscriberadmin: subscribers outside its customer) instead of 403.
403 stays for non-PBX subscriberadmin without the write privilege.
* non-PBX subscriberadmin POST returns 403 without the write
privilege instead of 500, with it the subscriber is created in
the own customer.
* SubscriberSubAdminAPI form: add the lock field, so subscriberadmin
lock changes of its subscribers are validated as in the admin form
and no longer dropped on PUT. PUT without lock/status still resets
them (lock 0, status active) as before, PATCH without lock keeps it
(previously any subscriberadmin PATCH unlocked the subscriber).
* fields visibility is unchanged.
* api-subscribers.t:
- add restricted fields, PBX pool and access tests for subscriber,
subscriberadmin (own, pilot, its subscribers, non-PBX) and admin
- fix subscriber credentials, webpassword is not returned by the
API, the subscriberadmin tests were not executed at all
- other reseller fixture uses its own domain
- adapt expectations: subscriberadmin profile changes and
subscriberadmin creation are rejected with 422
- TT#28510: re-fetch the pilot, the TT#15441 cleanup may have
deleted it (hash order dependent, failed with "Customer has no
pbx pilot subscriber yet")
* Test::FakeData: unique billing profile name/handle per creation,
the profile can be created twice per run (fails on an empty DB).
Change-Id: I637330111df278eb62edca25f3406966d8a6ebf1
|
6 days ago |
|
|
4e04e34e69 |
Revert "MT#66497 restrict subscriber roles in /api/subscribers"
This reverts commit
|
7 days ago |
|
|
0a87203254 |
MT#66497 restrict subscriber roles in /api/subscribers
* subscriber and subscriberadmin can no longer modify fields they
are not allowed to. A changed value is rejected with 422 "Read-only
field(s) for authenticated role: <fields>", unchanged values are
accepted (clients sending the fetched values back keep working),
omitted fields keep the stored values:
- subscriber on itself: lock, status, primary_number,
alias_numbers, pbx_extension, profile_set_id, profile_id,
administrative
- subscriberadmin on itself: the same except pbx_extension, which
can be changed to an extension not used by another subscriber
or PBX group of the customer
- subscriberadmin on the pilot: lock, status, primary_number,
alias_numbers, profile_set_id, profile_id, administrative
- subscriberadmin on its other subscribers: profile_set_id,
profile_id, administrative
The rules are in Utils::Subscriber::get_readonly_fields(), checked
by get_readonly_changes() in prepare_resource(), so PUT and PATCH
behave the same. Fields a role is allowed to change keep
the existing PUT semantics. Previously e.g. a subscriber could
unlock itself or assign itself any number or subscriber profile.
* replaces the lock/status checks added in MT#66467.
* subscriberadmin on its PBX seats: primary_number is derived from
pbx_extension, a value other than the stored or the derived one
is rejected with 422 (was silently replaced).
* subscriberadmin POST with administrative set is rejected with 422
(was silently reset to 0).
* subscriberadmin can assign alias numbers to its subscribers only
from the PBX pool (non-primary numbers of the pilot), 422
otherwise. Assigned numbers are moved from the pilot, revoked ones
are moved back to the pilot via update_subadmin_sub_aliases() (as
in the web UI), for POST, PUT and PATCH. Previously any new or
unassigned number could be assigned and revoked numbers were
released from the customer. /api/numbers is unchanged.
* PUT/PATCH/DELETE of subscribers outside of the caller's scope
return 404 like GET (subscriber: other subscribers,
subscriberadmin: subscribers outside its customer) instead of 403.
403 stays for non-PBX subscriberadmin without the write privilege.
* non-PBX subscriberadmin POST returns 403 without the write
privilege instead of 500, with it the subscriber is created in
the own customer.
* SubscriberSubAdminAPI form: add the lock field, so subscriberadmin
lock changes of its subscribers are validated as in the admin form
and no longer dropped on PUT. PUT without lock/status still resets
them (lock 0, status active) as before, PATCH without lock keeps it
(previously any subscriberadmin PATCH unlocked the subscriber).
* fields visibility is unchanged.
* api-subscribers.t:
- add restricted fields, PBX pool and access tests for subscriber,
subscriberadmin (own, pilot, its subscribers, non-PBX) and admin
- fix subscriber credentials, webpassword is not returned by the
API, the subscriberadmin tests were not executed at all
- other reseller fixture uses its own domain
- adapt expectations: subscriberadmin profile changes and
subscriberadmin creation are rejected with 422
* Test::FakeData: unique billing profile name/handle per creation,
the profile can be created twice per run (fails on an empty DB).
Change-Id: Iaeee0d3f8b315473abb768ae8f53ae748f151068
|
7 days ago |
|
|
b90653f375 |
MT#66277 add /api/countries API endpoint
Add a read-only countries collection (GET /api/countries/) and item
(GET /api/countries/{code}) returning ISO 3166-1 alpha-2 code and name,
to replace the /contact/country/ajax call for the new contact page.
Supports id, name and q (code or name) filters and ordering by id/name.
The country list building is moved to NGCP::Panel::Utils::Contact and
shared with the existing ajax action.
Change-Id: I3a8b46303359d75208123132cf5ea435083228aa
|
2 weeks ago |
|
|
10ac4d8189 |
MT#66467 fix reseller_id handling for reseller/ccare roles
* reseller_id is no longer required from reseller and ccare roles, their own reseller is used instead. admin and ccareadmin still have to provide it. * emergencymappingcontainers: fix 500 on PUT/PATCH for resellers as update_item() used an undefined reseller_id. * pbxdevicemodels: fix "Reseller field is required" on POST/PUT for resellers, reseller_id is now set in pre_process_form_resource() so it is present before the form validation. * profilepackages, billingnetworks: fix "Changing the reseller ID is not allowed." on PUT for resellers if reseller_id was not provided. * customercontacts: fix 500 on POST for ccare/ccareadmin as $c->user->contract was used, which admin users do not have. ccare now uses its own reseller_id and ccareadmin the provided one. * admins: POST is no longer allowed for ccare/ccareadmin roles. Change-Id: Ibed6b4e5249436ab4fcd781ec3140bbf44190cd4 |
2 weeks ago |
|
|
3966cdb484 |
MT#66009 /api/admins safeguard links for nonexisting reseller_id
* prevent a 500 errors and suppress reseller_id hal links if there is a rare scenario whree reseller_id = null for the admin user. Change-Id: Iaef880a537271ff654fbd852a0a5f3657023ce0c |
2 months ago |
|
|
871f002b95 |
MT#65713 include contract_cnt and voucher_cnt in profilepackages
* expose already-selected contract and voucher counts on GET responses * document them as readonly PackageAPI fields and strip on write * apply the same limit+1 count cap (default 10) as billingprofiles Change-Id: If1644a3b7f9824c4ce03a68c2a8fec166e3ec3ef |
2 months ago |
|
|
ed41c13926 |
MT#65799 customercontacts, systemcontacts expand terminated contacts
* when expand is used to expand a contact_id, it now expands contacts that are in any state (including terminated). * direct use of /api/customercontacts and /api/systemcontacts remains unchanged. Change-Id: I89738968fafd061d8a516aeab82c7a0fddd5c64b |
3 months ago |
|
|
6a942068be |
MT#51865 add calllistsuppressions API endpoint
Expose the global call list suppressions (billing.call_list_suppressions) via /api/calllistsuppressions/, so far only manageable through the admin web interface. Supports GET, POST, PUT, PATCH and DELETE, and is restricted to the admin role. The already existing but so far unreferenced form CallListSuppression::SuppressionAPI is reused for validation and API documentation. The domain/direction/pattern uniqueness of the table is enforced in check_duplicate, which covers both create and update. Journaling is enabled for create, update and delete operations. Change-Id: I11be61ace5c64610644b714baa45d984313f647c |
3 months ago |
|
|
8042d9f4d1 |
MT#65665 return redirect credentials on pbxdevicemodels on GET API
The bootstrap_config_redirect_*_user and _password values are stored in provisioning.autoprov_redirect_credentials, while _profile is a sync parameter in provisioning.autoprov_sync. resource_from_item only called devmod_sync_parameters_prefetch_api, so GET returned the profile but silently dropped the credentialsm. Add devmod_sync_credentials_prefetch_api, mirroring the read-back the web UI already does in Controller::Device, and call it from resource_from_item for the admin and reseller roles only, which are the roles allowed to write these fields. Subscriber and subscriberadmin GETs keep them hidden. Change-Id: I02a8975fbf9fe60796832cf281d054e634ce6c00 |
3 months ago |
|
|
d01cff87ba |
MT#65224 renumber voicemail msgnum on folder change and delete
Asterisk uses its built-in ODBC voicemail storage against
kamailio.voicemail_spool, which expects msgnum to be contiguous
0..N-1 within each (mailboxuser, dir) folder. Asterisk maintains
that invariant itself, but the panel rewrote dir (or deleted a
row) without ever touching msgnum, leaving gaps and duplicates
that make asterisk mis-play and mis-count the messages.
Add two helpers to Utils::Subscriber reproducing the asterisk
semantics:
* renumber_voicemail_folder() compacts a single folder to 0..N-1
ordered by (msgnum, id). It skips greetings, which live in the
same table with msgnum -1.
* move_voicemail_to_folder() appends the message at the end of
the target folder the way asterisk does (last_msg_index + 1),
then compacts both the source and the target folder.
Both run inside a transaction, so the web UI paths that have no
transaction guard of their own are covered as well.
Use them in all four affected paths:
* PATCH/PUT /api/voicemails/{id} (Role::API::Voicemails)
* DELETE /api/voicemails/{id} (Controller::API::VoicemailsItem)
* mark_voicemail_read() for the CSC/admin listen action
* delete_voicemail() in the subscriber web UI
The compaction is deliberately self-healing, so it also repairs
folders already corrupted by the previous behaviour.
Change-Id: I665de1966bc37c1069ff56fb30c99da85f224f71
|
3 months ago |
|
|
a0bfa9377c |
MT#65579 support updating existing subscribers via prov templates
Reuse shared resource_from_item/update_subscriber helpers so templates can match by identifier, fill missing fields from the DB item, and update instead of only creating. Change-Id: I5fa9be12914677c3b6ef5c4c0617cb75447b45c9 |
4 months ago |
|
|
9470652038 |
MT#65572 rework call forward sets resource validation
* streamline the validation behaviour among all the call forward
set endpoints to be the same:
- all of them contain
process_form_resource()
check_resource()
check_duplicate()
and also update_item() calls those functions in the exact order
* subscriber_id validation is performed in check_resource only once
and removed from the other places.
* subscriberadmin role now uses the same Form as the admin users
(that contains the subscriber_id field).
* subscriberadmin role is now allowed to provide with the subscriber_id,
otherwise if undefined, the user's id is taken.
* check_resource() now checks for subscriberadmin if the subscriber_id
belongs to the same customer.
* check_duplicate() only contains the duplicate entry check.
* the following above fix inconsistent validation that produces
different results, minimises the amount of sql queries as well as
extends the functionality to enable the subscriberadmin role to
create call forward sets on behalf of the own subscribers.
Change-Id: I60ddd5aa2bd5228efeca9f8c1a593d24179b959a
|
4 months ago |
|
|
7f9af10416 |
MT#65553 add check duplicates for call forward sets
* add check_duplicates() for destination, bnumber, time sets. * adjust duplicate set error messages. Change-Id: I8ee958df97f6e53f0e64283a0a9c2f85330aa9d1 |
4 months ago |
|
|
0c9f3e5ed0 |
MT#65549 add cf sets DELETE ?unassign_first=1 support
* it is now possible to invoke the following endpoints as:
- DELETE /api/cfbnumbersets/:id?unassign_first=1
- DELETE /api/cfsourcesets/:id?unassign_first=1
- DELETE /api/cftimesets/:id?unassign_first=1
in which case before the actual deletion, the cf set
is unassigned from the cf_mappings, so that the cf_mappings
are not automatically deleted by the constraints.
Change-Id: I7fa40eba2790edcc62d8430ebbe6f752b13353f9
|
4 months ago |
|
|
331dcd604a |
MT#65548 cf sets add usage_count field
* usage_count field is returned for all the call forward sets and indicates how many cf mappings use the cf set. Change-Id: Ib8f31370fd4cfae3356c683981be7b9d0da0a73a |
4 months ago |
|
|
19ed6c93f5 |
MT#65173 billing networks optional usage columns
Change-Id: I730950af2d53570faff1a68ddc2e8c13952279f3 Co-authored-by: Cursor <cursoragent@cursor.com> |
4 months ago |
|
|
9714863a98 |
MT#65173 add optional usage columns to billing profiles API
load contract_cnt, contract_exists, and package_cnt only when requested via query params, matching the web UI ajax behavior while keeping update validation working for interval field changes. Change-Id: Ie1d889fcac3227e81f37031c55fcf765e489cf9a |
4 months ago |
|
|
9a12bc2ddf |
MT#65445 autosync "cli" on update with the same primary_number
* on /api/subscribers PUT/PATCH if the "auto_sync_cli" config
option is enabled and the primary_number is unchanged, check
and sync the "cli" preference value if it differs from the
primary number.
* Controller::API::Subscribers remove incorrect "last" occurences.
* /api/subscribers return "primary_number: null if it's not defined.
* api-subscribers.t fix exists to defined for the
$resource->{primary_number} check as it might be there as undef.
* api-rest/tests fix primary_number to be unique for ceratin
failing tests.
Change-Id: I10c784ee6d3e2544d97dfaa66dc7aae10ba1990a
|
4 months ago |
|
|
9e8b35fa44 |
MT#65382 timesets add missing own+subscriber_id in resource_from_item()
* resource_from_item() for CFSourceSets, CFTimeSets, CFDestinationSets did not have either own flag or billing subscriber_id (or both), resulting in missing "expanded" data (as expand uses resource_from_item() internally). Change-Id: Ifeafcbc449f0e2417e3631b3e547c07a2837d856 |
5 months ago |
|
|
91ac920f8d |
MT#65177 contract_id filter for CustomerLocations
the contract_id query param allows to filter CustomerLocations by contract_id. Change-Id: I66e89fc65aa46a80c6a39fd5892c6410116da91a |
5 months ago |
|
|
ce12aed828 |
MT#64923 callforward sets add own boolean field
* /api/callforwards (per set),
/api/cfdestinationsets,
/api/cfsourcesets,
/api/cfbnumbersets,
/api/cftimesets
return "own" field for subscriber and subscriberadmin roles only,
this field indicates if the call forward set belongs to the same
subscriber that requests it.
* /api/callforwards fix default value for 'cfr' and 'cfo' cftypes
from null to {}, to match all the other cftype default values.
Change-Id: I9c5c60dfb16301703341c1ba17c751079f79ae8b
|
6 months ago |
|
|
d1280015c4 |
MT#62339 /api/subscriberregistrations add total_count support
* Panel::Utils::RedisLocationResultSet:
- add total_count() that returns total count of all entries
without pagination
- add total count aggregation during _find(), _row_from_mapkey(),
_scan() that aggregates total entries that can be shown without
pagination
* SubscriberRegistrations:
- return correct total_count of all possible entries that can
be shown (without pagination)
- fix a 500 error when 'subscriber_id' contains a non-existing
subscriber
Change-Id: I914356a809a005c21bb662498ca78dd35affc0ee
|
8 months ago |
|
|
47b5cc7b7b |
MT#64594 prov templates: fraud preferences support
this change introduces support to set contract fraud preferences via provisioning template, ie:
fraud_preferences:
fraud_interval_limit: "function { current_fraud_interval_source == 'profile' ? current_fraud_interval_limit : 10000; }"
fraud_interval_lock: "function { current_fraud_interval_source == 'profile' ? current_fraud_interval_lock : 2; }"
fraud_interval_notify: "function { current_fraud_interval_source == 'profile' ? current_fraud_interval_notify : 'jdoe@sipwise.com'; }"
fraud_daily_limit: 500
fraud_daily_lock: 2
fraud_daily_notify: "jdoe@sipwise.com"
Change-Id: Id7e67fd71e0b1d291ee5e2ea9e2ea9b6bae64781
|
8 months ago |
|
|
224aec5fc8 |
MT#64232 improve check_subscriberadmin_write_access
* subscriberadmin can now edit own data in scenarios where it's a SIP customer subscriber * add a check to that the edited subscriber belongs to the same customer Change-Id: I69a84c481be413ac5604c74856e760eee648b637 |
10 months ago |
|
|
c417cc622d |
MT#64295 better handling of via_route empty string
* transform via_route empty string into undef and store it as undef without validating it against SIP-URI Change-Id: Iefae7b26910201183ae3d049b3785a68dc81ce64 |
10 months ago |
|
|
638b2f20ae |
MT#64295 fix /api/peeringservers via_route validation
* NGCP::Form::Peering::Server rework via_route URI check from a comma separated list to a single value as well as improve value transformation and validation logic * /api/peeringservers add via_route value transformation as pre_proccess_form_resource() Change-Id: I742a40534a4861dd30e0ccbc6684c02d2386f642 |
10 months ago |
|
|
b6e2baa6c7 |
MT#63479 Remove prosody support
Change-Id: I9d3e268450396c12e4058ac9394a80bb191d7635 |
11 months ago |
|
|
eae620f204 |
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
|
11 months ago |
|
|
6e2ca03a6e |
MT#63997 make underrun lock on requests optional
* a new ngcp_panel option $c->config->{api}{underrun_lock_on_request}
is in place and if disabled - the underrun lock
logic on GET contracts,customers,subscribers,subscriberpreferences,
and POST subscribers is skipped.
Change-Id: I5ea337ce42b3c979fe55b3df3516a19548b64f90
|
12 months ago |
|
|
d0783b1856 |
MT#63859 add expand by carrier_id
* /api/lnpnumbers can now expand by carrier_id Change-Id: Ia484041c413a240800c1610f0bc92c141bded14d |
1 year ago |
|
|
f501fc1dcf |
MT#63706 skip_locked for POST /api/subscriber/
add the SELECT .. SKIP LOCK mechanism for POST /api/subscriber/, to reduce lock wait timeouts when creating suscribers for the same customer in parallel. Change-Id: I067102b3dc726e5d12fa859613b548d007ce29ee |
1 year ago |
|
|
d1686f5243 |
MT#63050 /api/customers email_template auto assign
* POST /api/customers now assigns reseller's default email_templates that are not specified in the DTO. If reseller's default template does not exist (reseller that was created via UI v1 without values), it automatically created as a copy of the raw default template for the reseller, and then assigned to the customer. Change-Id: I0f74154724e1d053002ec4fcc59a5f99cedd322c |
1 year ago |
|
|
82b253973e |
MT#63724 reduce contract_cnt limit to 10
select count(1) from (select 1 from Y .. limit X) can have a longer runtime, depending on order of rows in table Y. to better limit the runtime, X is reduced from 1000 to 10. the UI will show now "used by 10+ contracts" instead of "used by 1000+ contracts". Change-Id: I028b0569cd5f3325d4bd6bed314517b061e4659b |
1 year ago |
|
|
0d3aac99a7 |
MT#63605 fix GET invoicetemplates without reseller_id
* 'reseller' level invoice templates are correctly returned with reseller_id: null, instead of 500 error Change-Id: Ied1e7626fcbb2c28bf3850dd1788f06574ef892b |
1 year ago |
|
|
67091cfb44 |
MT#63090 /api/conversations add phonebook entries support
* new fields: caller_phonebook_id (id of the matched phonebook entry) caller_phonebook_name (matched name in the phonebook by the number) callee_phonebook_id (id of the matched phonebook entry) callee_phonebook_name (matched name in the phonebook by the number) * matching happens in the v_subscriber_phonebook (so all inherited entries are returned) * new private functions _get_call_phonebook() and _get_fax_voicemail_phonebook Change-Id: I321c59dce93a3c478a15ddea2155ff052713db20 |
1 year ago |
|
|
4a38eace57 |
MT#61804 /api/conversations add csv download support
* "Accept: text/csv" enabled csv download (same as with other endpoints Change-Id: I84a229f6f1f8760d520f55da1bb250ed6dd1f228 |
1 year ago |
|
|
eb6f74968e |
MT#62987 transcript info - api
Change-Id: Ifc83f65b36dfab3913492e8b764210da256f8004 |
1 year ago |
|
|
b8cd29ce32 |
MT#63062 /api/customercontacts fix PUT/PATCH reseller_id validation
* add Form::Contact::AdminAPI that uses reseller_id field instead of reseller for better error message * update_contact() fix reseller_id validation for admin roles * update_contact() copy reseller_id from $old_resource for reseller roles so that further reseller_id checks can pass. Change-Id: Ic9559a944265f5c8bceada6077fcf8e14d6bc5d4 |
1 year ago |
|
|
a38cd246c4 |
MT#63066 /api/subscriberphonebook add filter by customer_id
* customer_id is now present in the response * customer_id is supported as the query parameter Change-Id: Ia529fa653b165f743c006cb99f6518ae686e517c |
1 year ago |
|
|
f7a3b1eab2 |
MT#63062 fix /api/customercontacts for reseller roles
* fix logic in update_contact() that was performed with the reseller_id that became undef after form validation for reseller roles. Change-Id: I2e1d386f01b5d279188a7600d2d7f0d9d44b7853 |
1 year ago |
|
|
0ce365852d |
MT#62890 fix and improve voicemailgreetings upload
* any wav file is now accepted and converted to GSM 6.10, instead of having a strict requirement of GSM files only * provide error messages with single quotes instead of escaped double quotes * error messages do not contain code backtrace info anymore * temporary files are correctly removed on errors and on a successful upload Change-Id: I7b72dc623d231aa90d0a0f99f8d711c48d3d23f2 |
1 year ago |
|
|
4d26ca5c9a |
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
|
2 years ago |
|
|
1be3f5a257 |
MT#62546 Fix permanent registration nat flags
Due to changes in how kamailio manage the NAT contacts and the corresponding natping, the flags that the API or web interface sets while a permanent registration is created have to be updated. Before: * Default cflag is set to 0 (natping disabled) * If nat option, then cflag is set to 64 New: * Default cflag is set to 256 (netping disabled) * If nat option, then cflag is set to 128 Change-Id: I39b1d7a697ef72267fd8a05edf0552d2c1403733 |
2 years ago |
|
|
6600d7c949 |
MT#53706 enable_2fa option for /api/admins
Change-Id: I7de37482fed913551fc0a1c9b18f789b51b67a05 |
2 years ago |
|
|
82af5cf518 |
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 |
2 years ago |
|
|
24d28676a1 |
MT#62289 /api/pbxusers add username and domain fields
* username represents provisioning.voip_subscribers.username * domain represents provisionoing.voip_domains.domain Change-Id: I98f4043f9b044a7829603f2a350d1548be935ff1 |
2 years ago |
|
|
97e457c92b |
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 |
2 years ago |
|
|
ef4442feeb |
MT#61805 add API phonebook support for top level inclusion
* /api/customerphonebookentries now support "include" query param that can be either "include=all", "include=shared" or "include=reseller". With "include=all" - shared and reseller entries are included and merged as customer > shared > reseller. With "include=shared" - shared entries are included and merged as customer > shared. With "include=reseller" - reseller entries are included and merged as customer > reseller. * /api/subscriberphonebookentries now support "include" query param that can be either "include=all", "include=customer" or "include=reseller" With "include=all" - customer+shared+reseller entries are included, and merged as subscriber > customer > shared > reseller. With "include=customer" - customer+shared entries are included, and merged as subscriber > customer > shared. With "include=reseller" - customer+reseller entries are included, and merged as subscriber > reseller. * Shared numbers are considered belonging to the customer so when on the customer level the same number is provided, it takes precedence. * It is not possible to edit other level included numbers (they have composide ids). * It is possible to access an included number directly by the id. Change-Id: Ice06bc0961d42a9b64db59aa93029d7505b4805e |
2 years ago |
|
|
e66c568efc |
MT#61803 add /api/pbxusers endpoint
* this endpoint is designed to provide with basic subscribers info such as display_name, primary_number, pbx_extension and only available for customers with product class 'pbxaccount'. * only GET methods are allowed for this endpoint. Change-Id: I181b863e2c3e5fad34c03a291f64fd7ddb587702 |
2 years ago |