Change in osmo-gsm-tester[master]: Add dynts suite to test switch between PDCH and TCH
Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/11052 ) Change subject: Add dynts suite to test switch between PDCH and TCH .. Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/11052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I73b51c31309ac4c28c64ed7eb7c8c649e535aa22 Gerrit-Change-Number: 11052 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder (102) Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Comment-Date: Tue, 25 Sep 2018 10:21:22 + Gerrit-HasComments: No Gerrit-HasLabels: Yes
Change in osmo-gsm-tester[master]: Add dynts suite to test switch between PDCH and TCH
Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/11052 ) Change subject: Add dynts suite to test switch between PDCH and TCH .. Add dynts suite to test switch between PDCH and TCH It seems for not yet clear reasons the MS require some time after the PDCH channels have been activated again to use them reliably. If no sleep is used between call hangup and gprs activate pdp ctx, the MS fails to activate the pdp ctx due to QMI error respone to the "Start network" requested. Related: OS#2582 Change-Id: I73b51c31309ac4c28c64ed7eb7c8c649e535aa22 --- M example/default-suites.conf A example/scenarios/mod-bts0-dynts67-ipa.conf A example/scenarios/mod-bts0-dynts67-osmo.conf A suites/dynts/suite.conf A suites/dynts/switch_tch_pdch.py 5 files changed, 142 insertions(+), 0 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/example/default-suites.conf b/example/default-suites.conf index 1857ba5..74f54a2 100644 --- a/example/default-suites.conf +++ b/example/default-suites.conf @@ -12,6 +12,8 @@ - gprs:sysmo - gprs:sysmo+mod-bts0-dynts-ipa - gprs:sysmo+mod-bts0-dynts-osmo +- dynts:sysmo+mod-bts0-dynts67-ipa.conf+cfg-codec-fr1 +- dynts:sysmo+mod-bts0-dynts67-osmo.conf+cfg-codec-fr1 - nitb_sms:trx-b200 - sms:trx-b200 - nitb_ussd:trx-b200 @@ -26,6 +28,8 @@ - gprs:trx-b200 - gprs:trx-b200+mod-bts0-dynts-ipa - gprs:trx-b200+mod-bts0-dynts-osmo +- dynts:trx-b200+mod-bts0-dynts67-ipa.conf+cfg-codec-fr1 +- dynts:trx-b200+mod-bts0-dynts67-osmo.conf+cfg-codec-fr1 - nitb_sms:trx-sysmocell5000 - sms:trx-sysmocell5000 - nitb_ussd:trx-sysmocell5000 @@ -40,6 +44,8 @@ - gprs:trx-sysmocell5000 - gprs:trx-sysmocell5000+mod-bts0-dynts-ipa - gprs:trx-sysmocell5000+mod-bts0-dynts-osmo +- dynts:trx-sysmocell5000+mod-bts0-dynts67-ipa.conf+cfg-codec-fr1 +- dynts:trx-sysmocell5000+mod-bts0-dynts67-osmo.conf+cfg-codec-fr1 - nitb_sms:nanobts - sms:nanobts+band-1900 - nitb_ussd:nanobts+band-1900 @@ -51,6 +57,7 @@ - voice:nanobts+band-1900+mod-bts0-dynts-ipa - gprs:nanobts+band-1900 - gprs:nanobts+band-1900+mod-bts0-dynts-ipa +- dynts:nanobts+band-1900+mod-bts0-dynts67-ipa.conf+cfg-codec-fr1 - sms:nanobts+band-900 - nitb_ussd:nanobts+band-900 - ussd:nanobts+band-900 @@ -63,6 +70,7 @@ - gprs:nanobts+band-900 - gprs:nanobts+band-900+mod-bts0-dynts-ipa - gprs:nanobts+band-900+mod-bts0-numtrx2+mod-bts0-chanallocdescend +- dynts:nanobts+band-900+mod-bts0-dynts67-ipa.conf+cfg-codec-fr1 - nitb_smpp - smpp - encryption diff --git a/example/scenarios/mod-bts0-dynts67-ipa.conf b/example/scenarios/mod-bts0-dynts67-ipa.conf new file mode 100644 index 000..087b3b0 --- /dev/null +++ b/example/scenarios/mod-bts0-dynts67-ipa.conf @@ -0,0 +1,13 @@ +modifiers: + bts: + - num_trx: 1 +trx_list: +- timeslot_list: + - phys_chan_config: 'CCCH+SDCCH4' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'TCH/F_PDCH' + - phys_chan_config: 'TCH/F_PDCH' diff --git a/example/scenarios/mod-bts0-dynts67-osmo.conf b/example/scenarios/mod-bts0-dynts67-osmo.conf new file mode 100644 index 000..3153120 --- /dev/null +++ b/example/scenarios/mod-bts0-dynts67-osmo.conf @@ -0,0 +1,13 @@ +modifiers: + bts: + - num_trx: 1 +trx_list: +- timeslot_list: + - phys_chan_config: 'CCCH+SDCCH4' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'TCH/F_TCH/H_PDCH' + - phys_chan_config: 'TCH/F_TCH/H_PDCH' diff --git a/suites/dynts/suite.conf b/suites/dynts/suite.conf new file mode 100644 index 000..3b32480 --- /dev/null +++ b/suites/dynts/suite.conf @@ -0,0 +1,10 @@ +resources: + ip_address: + - times: 8 # msc, bsc, hlr, stp, mgw*2, sgsn, ggsn + bts: + - times: 1 + modem: + - times: 2 +features: +- gprs +- voice diff --git a/suites/dynts/switch_tch_pdch.py b/suites/dynts/switch_tch_pdch.py new file mode 100755 index 000..f0bbd38 --- /dev/null +++ b/suites/dynts/switch_tch_pdch.py @@ -0,0 +1,98 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + + +def activate_pdp(ms_mo, ms_mt): +# We need to use inet46 since ofono qmi only uses ipv4v6 eua (OS#2713) +ctx_id_v4_mo = ms_mo.activate_context(apn='inet46', protocol=ms_mo.CTX_PROT_IPv4) +print('ms_mo pdp ctx %r activated' % repr(ctx_id_v4_mo)) +ctx_id_v4_mt = ms_mt.activate_context(apn='inet46', protocol=ms_mt.CTX_PROT_IPv4) +print('ms_mt pdp ctx %r activated' % repr(ctx_id_v4_mt)) +sleep(5) +ms_mo.deactivate_context(ctx_id_v4_mo) +ms_mt.deactivate_context(ctx_id_v4_mt) + +def make_call(ms_mo, ms_mt): +assert
Change in osmo-gsm-tester[master]: Add dynts suite to test switch between PDCH and TCH
Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/11052 Change subject: Add dynts suite to test switch between PDCH and TCH .. Add dynts suite to test switch between PDCH and TCH It seems for not yet clear reasons the MS require some time after the PDCH channels have been activated again to use them reliably. If no sleep is used between call hangup and gprs activate pdp ctx, the MS fails to activate the pdp ctx due to QMI error respone to the "Start network" requested. Related: OS#2582 Change-Id: I73b51c31309ac4c28c64ed7eb7c8c649e535aa22 --- M example/default-suites.conf A example/scenarios/mod-bts0-dynts67-ipa.conf A example/scenarios/mod-bts0-dynts67-osmo.conf A suites/dynts/suite.conf A suites/dynts/switch_tch_pdch.py 5 files changed, 142 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/52/11052/1 diff --git a/example/default-suites.conf b/example/default-suites.conf index 1857ba5..74f54a2 100644 --- a/example/default-suites.conf +++ b/example/default-suites.conf @@ -12,6 +12,8 @@ - gprs:sysmo - gprs:sysmo+mod-bts0-dynts-ipa - gprs:sysmo+mod-bts0-dynts-osmo +- dynts:sysmo+mod-bts0-dynts67-ipa.conf+cfg-codec-fr1 +- dynts:sysmo+mod-bts0-dynts67-osmo.conf+cfg-codec-fr1 - nitb_sms:trx-b200 - sms:trx-b200 - nitb_ussd:trx-b200 @@ -26,6 +28,8 @@ - gprs:trx-b200 - gprs:trx-b200+mod-bts0-dynts-ipa - gprs:trx-b200+mod-bts0-dynts-osmo +- dynts:trx-b200+mod-bts0-dynts67-ipa.conf+cfg-codec-fr1 +- dynts:trx-b200+mod-bts0-dynts67-osmo.conf+cfg-codec-fr1 - nitb_sms:trx-sysmocell5000 - sms:trx-sysmocell5000 - nitb_ussd:trx-sysmocell5000 @@ -40,6 +44,8 @@ - gprs:trx-sysmocell5000 - gprs:trx-sysmocell5000+mod-bts0-dynts-ipa - gprs:trx-sysmocell5000+mod-bts0-dynts-osmo +- dynts:trx-sysmocell5000+mod-bts0-dynts67-ipa.conf+cfg-codec-fr1 +- dynts:trx-sysmocell5000+mod-bts0-dynts67-osmo.conf+cfg-codec-fr1 - nitb_sms:nanobts - sms:nanobts+band-1900 - nitb_ussd:nanobts+band-1900 @@ -51,6 +57,7 @@ - voice:nanobts+band-1900+mod-bts0-dynts-ipa - gprs:nanobts+band-1900 - gprs:nanobts+band-1900+mod-bts0-dynts-ipa +- dynts:nanobts+band-1900+mod-bts0-dynts67-ipa.conf+cfg-codec-fr1 - sms:nanobts+band-900 - nitb_ussd:nanobts+band-900 - ussd:nanobts+band-900 @@ -63,6 +70,7 @@ - gprs:nanobts+band-900 - gprs:nanobts+band-900+mod-bts0-dynts-ipa - gprs:nanobts+band-900+mod-bts0-numtrx2+mod-bts0-chanallocdescend +- dynts:nanobts+band-900+mod-bts0-dynts67-ipa.conf+cfg-codec-fr1 - nitb_smpp - smpp - encryption diff --git a/example/scenarios/mod-bts0-dynts67-ipa.conf b/example/scenarios/mod-bts0-dynts67-ipa.conf new file mode 100644 index 000..087b3b0 --- /dev/null +++ b/example/scenarios/mod-bts0-dynts67-ipa.conf @@ -0,0 +1,13 @@ +modifiers: + bts: + - num_trx: 1 +trx_list: +- timeslot_list: + - phys_chan_config: 'CCCH+SDCCH4' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'TCH/F_PDCH' + - phys_chan_config: 'TCH/F_PDCH' diff --git a/example/scenarios/mod-bts0-dynts67-osmo.conf b/example/scenarios/mod-bts0-dynts67-osmo.conf new file mode 100644 index 000..3153120 --- /dev/null +++ b/example/scenarios/mod-bts0-dynts67-osmo.conf @@ -0,0 +1,13 @@ +modifiers: + bts: + - num_trx: 1 +trx_list: +- timeslot_list: + - phys_chan_config: 'CCCH+SDCCH4' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'SDCCH8' + - phys_chan_config: 'TCH/F_TCH/H_PDCH' + - phys_chan_config: 'TCH/F_TCH/H_PDCH' diff --git a/suites/dynts/suite.conf b/suites/dynts/suite.conf new file mode 100644 index 000..3b32480 --- /dev/null +++ b/suites/dynts/suite.conf @@ -0,0 +1,10 @@ +resources: + ip_address: + - times: 8 # msc, bsc, hlr, stp, mgw*2, sgsn, ggsn + bts: + - times: 1 + modem: + - times: 2 +features: +- gprs +- voice diff --git a/suites/dynts/switch_tch_pdch.py b/suites/dynts/switch_tch_pdch.py new file mode 100755 index 000..f0bbd38 --- /dev/null +++ b/suites/dynts/switch_tch_pdch.py @@ -0,0 +1,98 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + + +def activate_pdp(ms_mo, ms_mt): +# We need to use inet46 since ofono qmi only uses ipv4v6 eua (OS#2713) +ctx_id_v4_mo = ms_mo.activate_context(apn='inet46', protocol=ms_mo.CTX_PROT_IPv4) +print('ms_mo pdp ctx %r activated' % repr(ctx_id_v4_mo)) +ctx_id_v4_mt = ms_mt.activate_context(apn='inet46', protocol=ms_mt.CTX_PROT_IPv4) +print('ms_mt pdp ctx %r activated' % repr(ctx_id_v4_mt)) +sleep(5) +ms_mo.deactivate_context(ctx_id_v4_mo) +ms_mt.deactivate_context(ctx_id_v4_mt) + +def make_call(ms_mo, ms_mt): +assert