blob: f88661a480845be2ccf12ad7d52370fb0470d127 [file] [log] [blame]
#!/usr/bin/env python3
#
# Copyright 2021 - Google
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from acts import signals
from acts.test_decorators import test_tracker_info
from acts_contrib.test_utils.tel.loggers.protos.telephony_metric_pb2 import TelephonyVoiceTestResult
from acts_contrib.test_utils.tel.loggers.telephony_metric_logger import TelephonyMetricLogger
from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
from acts_contrib.test_utils.tel.tel_defines import CAPABILITY_CONFERENCE
from acts_contrib.test_utils.tel.tel_defines import WFC_MODE_WIFI_PREFERRED
from acts_contrib.test_utils.tel.tel_dsds_utils import erase_call_forwarding
from acts_contrib.test_utils.tel.tel_dsds_utils import msim_volte_wfc_call_forwarding
from acts_contrib.test_utils.tel.tel_dsds_utils import msim_volte_wfc_call_voice_conf
from acts_contrib.test_utils.tel.tel_phone_setup_utils import ensure_phones_idle
from acts_contrib.test_utils.tel.tel_subscription_utils import get_outgoing_voice_sub_id
from acts_contrib.test_utils.tel.tel_test_utils import get_capability_for_subscription
from acts_contrib.test_utils.tel.tel_test_utils import toggle_airplane_mode
CallResult = TelephonyVoiceTestResult.CallResult.Value
class TelLiveGFTDSDSWfcSupplementaryServiceTest(TelephonyBaseTest):
def setup_class(self):
TelephonyBaseTest.setup_class(self)
self.message_lengths = (50, 160, 180)
self.tel_logger = TelephonyMetricLogger.for_test_case()
toggle_airplane_mode(self.log, self.android_devices[0], False)
erase_call_forwarding(self.log, self.android_devices[0])
if not get_capability_for_subscription(
self.android_devices[0],
CAPABILITY_CONFERENCE,
get_outgoing_voice_sub_id(self.android_devices[0])):
self.android_devices[0].log.error(
"Conference call is not supported, abort test.")
raise signals.TestAbortClass(
"Conference call is not supported, abort test.")
def teardown_test(self):
toggle_airplane_mode(self.log, self.android_devices[0], False)
ensure_phones_idle(self.log, self.android_devices)
erase_call_forwarding(self.log, self.android_devices[0])
@test_tracker_info(uuid="3d328dd0-acb6-48be-9cb2-ffffb15bf2cd")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_forwarding_unconditional_wfc_psim_cellular_preferred_apm_on_with_volte_on_dds_slot_0(self):
return msim_volte_wfc_call_forwarding(
self.log,
self.tel_logger,
self.android_devices,
0,
0,
callee_rat=['wfc', 'general'],
is_airplane_mode=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="aac41970-4fdb-4f22-bf33-2092ce14db6e")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_forwarding_unconditional_wfc_psim_wifi_preferred_apm_off_with_volte_on_dds_slot_0(self):
return msim_volte_wfc_call_forwarding(
self.log,
self.tel_logger,
self.android_devices,
0,
0,
callee_rat=['wfc', 'general'],
wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED],
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="716a795a-529f-450a-800d-80c1dd7c0e3f")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_forwarding_unconditional_wfc_psim_cellular_preferred_apm_on_with_volte_on_dds_slot_1(self):
return msim_volte_wfc_call_forwarding(
self.log,
self.tel_logger,
self.android_devices,
0,
1,
callee_rat=['wfc', 'general'],
is_airplane_mode=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="0743331b-78a4-4721-91e7-4c6b894b4b61")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_forwarding_unconditional_wfc_psim_wifi_preferred_apm_off_with_volte_on_dds_slot_1(self):
return msim_volte_wfc_call_forwarding(
self.log,
self.tel_logger,
self.android_devices,
0,
1,
callee_rat=['wfc', 'general'],
wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED],
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="65e8192f-c8af-454e-a142-0ba95f801fb4")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_forwarding_unconditional_volte_psim_cellular_preferred_wifi_on_dds_slot_0(self):
return msim_volte_wfc_call_forwarding(
self.log,
self.tel_logger,
self.android_devices,
0,
0,
callee_rat=["volte", "general"],
is_wifi_connected=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="29175f3c-0f7b-4baf-8399-a37cc92acce0")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_forwarding_unconditional_wfc_esim_cellular_preferred_apm_on_with_volte_on_dds_slot_0(self):
return msim_volte_wfc_call_forwarding(
self.log,
self.tel_logger,
self.android_devices,
1,
0,
callee_rat=['general', 'wfc'],
is_airplane_mode=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="a652a973-7445-4b3d-83cf-7b3ff2e1b47d")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_forwarding_unconditional_wfc_esim_wifi_preferred_apm_off_with_volte_on_dds_slot_0(self):
return msim_volte_wfc_call_forwarding(
self.log,
self.tel_logger,
self.android_devices,
1,
0,
callee_rat=['general', 'wfc'],
wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED],
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="8ff9bc8f-8740-4198-b437-19994f07758b")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_forwarding_unconditional_wfc_esim_cellular_preferred_apm_on_with_volte_on_dds_slot_1(self):
return msim_volte_wfc_call_forwarding(
self.log,
self.tel_logger,
self.android_devices,
1,
1,
callee_rat=['general', 'wfc'],
is_airplane_mode=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="3341cfec-4720-4c20-97c2-29409c727fab")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_forwarding_unconditional_wfc_esim_wifi_preferred_apm_off_with_volte_on_dds_slot_1(self):
return msim_volte_wfc_call_forwarding(
self.log,
self.tel_logger,
self.android_devices,
1,
1,
callee_rat=['general', 'wfc'],
wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED],
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="7cfea32a-6de2-4285-99b1-1219efaf542b")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_forwarding_unconditional_volte_esim_cellular_preferred_wifi_on_dds_slot_0(self):
return msim_volte_wfc_call_forwarding(
self.log,
self.tel_logger,
self.android_devices,
1,
0,
callee_rat=["general", "volte"],
is_wifi_connected=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="27422851-620c-4009-8e2a-730a97d88cb0")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_waiting_hold_swap_wfc_psim_cellular_preferred_apm_on_with_volte_on_dds_slot_0(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
0,
0,
host_rat=['wfc', 'general'],
merge=False,
is_airplane_mode=True,
reject_once=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="f741f336-7eee-473e-b68f-c3505dbab935")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_waiting_hold_swap_wfc_psim_wifi_preferred_apm_off_with_volte_on_dds_slot_0(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
0,
0,
host_rat=['wfc', 'general'],
merge=False,
wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED],
reject_once=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="4c2c9896-1cfd-4d4c-9594-97c600ac3f50")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_waiting_hold_swap_wfc_psim_cellular_preferred_apm_on_with_volte_on_dds_slot_1(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
0,
1,
host_rat=['wfc', 'general'],
merge=False,
is_airplane_mode=True,
reject_once=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="74491391-8ea5-4bad-868b-332218a8b015")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_waiting_hold_swap_wfc_psim_wifi_preferred_apm_off_with_volte_on_dds_slot_1(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
0,
1,
host_rat=['wfc', 'general'],
merge=False,
wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED],
reject_once=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="40185d6d-e127-4696-9ed8-53dbe355b1c3")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_waiting_hold_swap_volte_psim_cellular_preferred_wifi_on_dds_slot_0(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
0,
0,
host_rat=["volte", "general"],
merge=False,
is_airplane_mode=False,
is_wifi_connected=True,
reject_once=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="b07a6693-3d1c-496a-b2fc-90711b2bf4f6")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_waiting_hold_swap_wfc_esim_cellular_preferred_apm_on_with_volte_on_dds_slot_0(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
1,
0,
host_rat=['general', 'wfc'],
merge=False,
is_airplane_mode=True,
reject_once=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="c4461963-5d99-4c6a-b2f6-92de2437e0e7")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_waiting_hold_swap_wfc_esim_wifi_preferred_apm_off_with_volte_on_dds_slot_0(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
1,
0,
host_rat=['general', 'wfc'],
merge=False,
wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED],
reject_once=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="cece707d-fa13-4748-a777-873eaaa27bca")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_waiting_hold_swap_wfc_esim_cellular_preferred_apm_on_with_volte_on_dds_slot_1(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
1,
1,
host_rat=['general', 'wfc'],
merge=False,
is_airplane_mode=True,
reject_once=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="bae04c51-99eb-43a5-9f30-f16ac369bb71")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_waiting_hold_swap_wfc_esim_wifi_preferred_apm_off_with_volte_on_dds_slot_1(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
1,
1,
host_rat=['general', 'wfc'],
merge=False,
wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED],
reject_once=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="c1d2c088-8782-45cd-b320-effecf6838b4")
@TelephonyBaseTest.tel_test_wrap
def test_msim_call_waiting_hold_swap_volte_esim_cellular_preferred_wifi_on_dds_slot_0(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
1,
0,
host_rat=["general", "volte"],
merge=False,
is_airplane_mode=False,
is_wifi_connected=True,
reject_once=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="bb4119c9-f5bc-4ef1-acbd-e8f4099f2ba9")
@TelephonyBaseTest.tel_test_wrap
def test_msim_voice_conf_call_wfc_psim_cellular_preferred_apm_on_with_volte_on_dds_slot_0(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
0,
0,
host_rat=['wfc', 'general'],
is_airplane_mode=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="2e48ad65-bfa9-43d3-aa3a-62f412d931cc")
@TelephonyBaseTest.tel_test_wrap
def test_msim_voice_conf_call_wfc_psim_wifi_preferred_apm_off_with_volte_on_dds_slot_0(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
0,
0,
host_rat=['wfc', 'general'],
wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED],
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="39a9c791-16d0-4476-94e9-fc04e9f5f65a")
@TelephonyBaseTest.tel_test_wrap
def test_msim_voice_conf_call_wfc_psim_cellular_preferred_apm_on_with_volte_on_dds_slot_1(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
0,
1,
host_rat=['wfc', 'general'],
is_airplane_mode=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="daba5874-0aaa-4f47-9548-e484dd72a8c6")
@TelephonyBaseTest.tel_test_wrap
def test_msim_voice_conf_call_wfc_psim_wifi_preferred_apm_off_with_volte_on_dds_slot_1(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
0,
1,
host_rat=['wfc', 'general'],
wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED],
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="ef96a46b-8898-4d5e-a494-31b8047fc986")
@TelephonyBaseTest.tel_test_wrap
def test_msim_voice_conf_call_volte_psim_cellular_preferred_wifi_on_dds_slot_0(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
0,
0,
host_rat=["volte", "general"],
is_wifi_connected=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="c565b2af-512c-4097-a4f7-7d920ea78373")
@TelephonyBaseTest.tel_test_wrap
def test_msim_voice_conf_call_wfc_esim_cellular_preferred_apm_on_with_volte_on_dds_slot_0(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
1,
0,
host_rat=['general', 'wfc'],
is_airplane_mode=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="078db8f5-eaf9-409c-878b-70c13be18802")
@TelephonyBaseTest.tel_test_wrap
def test_msim_voice_conf_call_wfc_esim_wifi_preferred_apm_off_with_volte_on_dds_slot_0(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
1,
0,
host_rat=['general', 'wfc'],
wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED],
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="77c70690-6206-43a5-9789-e9ff39235d42")
@TelephonyBaseTest.tel_test_wrap
def test_msim_voice_conf_call_wfc_esim_cellular_preferred_apm_on_with_volte_on_dds_slot_1(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
1,
1,
host_rat=['general', 'wfc'],
is_airplane_mode=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="b48138dd-5c03-4592-a96d-f63833456197")
@TelephonyBaseTest.tel_test_wrap
def test_msim_voice_conf_call_wfc_esim_wifi_preferred_apm_off_with_volte_on_dds_slot_1(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
1,
1,
host_rat=['general', 'wfc'],
wfc_mode=[WFC_MODE_WIFI_PREFERRED, WFC_MODE_WIFI_PREFERRED],
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)
@test_tracker_info(uuid="c2e3ff0e-6112-4b79-92e2-2fabeaf87b1f")
@TelephonyBaseTest.tel_test_wrap
def test_msim_voice_conf_call_volte_esim_cellular_preferred_wifi_on_dds_slot_0(self):
return msim_volte_wfc_call_voice_conf(
self.log,
self.tel_logger,
self.android_devices,
1,
0,
host_rat=["general", "volte"],
is_wifi_connected=True,
wifi_network_ssid=self.wifi_network_ssid,
wifi_network_pass=self.wifi_network_pass)