1#!/usr/bin/env python3
2#
3#   Copyright 2021 - Google
4#
5#   Licensed under the Apache License, Version 2.0 (the "License");
6#   you may not use this file except in compliance with the License.
7#   You may obtain a copy of the License at
8#
9#       http://www.apache.org/licenses/LICENSE-2.0
10#
11#   Unless required by applicable law or agreed to in writing, software
12#   distributed under the License is distributed on an "AS IS" BASIS,
13#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14#   See the License for the specific language governing permissions and
15#   limitations under the License.
16
17import time
18
19from acts import signals
20from acts.test_decorators import test_tracker_info
21from acts_contrib.test_utils.tel.loggers.telephony_metric_logger import TelephonyMetricLogger
22from acts_contrib.test_utils.tel.tel_defines import SimSlotInfo
23from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
24from acts_contrib.test_utils.tel.tel_defines import CAPABILITY_CONFERENCE
25from acts_contrib.test_utils.tel.tel_dsds_utils import erase_call_forwarding
26from acts_contrib.test_utils.tel.tel_dsds_utils import msim_call_forwarding
27from acts_contrib.test_utils.tel.tel_dsds_utils import msim_call_voice_conf
28from acts_contrib.test_utils.tel.tel_phone_setup_utils import ensure_phones_idle
29from acts_contrib.test_utils.tel.tel_ss_utils import set_call_waiting
30from acts_contrib.test_utils.tel.tel_subscription_utils import get_outgoing_voice_sub_id
31from acts_contrib.test_utils.tel.tel_test_utils import get_capability_for_subscription
32
33_WAIT_TIME_FOR_MEP_ENABLE_INTERVAL = 60
34_WAIT_TIME_FOR_MEP_ENABLE = 180
35
36
37class Nsa5gDSDSSupplementaryServiceTest(TelephonyBaseTest):
38    def setup_class(self):
39        TelephonyBaseTest.setup_class(self)
40        self.message_lengths = (50, 160, 180)
41        self.tel_logger = TelephonyMetricLogger.for_test_case()
42        if getattr(self.android_devices[0], 'mep', False):
43            start_time = time.monotonic()
44            timeout = start_time + _WAIT_TIME_FOR_MEP_ENABLE
45            while time.monotonic() < timeout:
46                mep_logs = self.android_devices[0].search_logcat(
47                    "UNSOL_SIM_SLOT_STATUS_CHANGED")
48                if mep_logs:
49                    for mep_log in mep_logs:
50                        if "num_ports=2" in mep_log["log_message"]:
51                            break
52                time.sleep(_WAIT_TIME_FOR_MEP_ENABLE_INTERVAL)
53            else:
54                self.log.warning("Couldn't found MEP enabled logs.")
55
56        erase_call_forwarding(self.log, self.android_devices[0])
57        if not get_capability_for_subscription(
58            self.android_devices[0],
59            CAPABILITY_CONFERENCE,
60            get_outgoing_voice_sub_id(self.android_devices[0])):
61            self.android_devices[0].log.error(
62                "Conference call is not supported, abort test.")
63            raise signals.TestAbortClass(
64                "Conference call is not supported, abort test.")
65
66    def teardown_test(self):
67        ensure_phones_idle(self.log, self.android_devices)
68        erase_call_forwarding(self.log, self.android_devices[0])
69        set_call_waiting(self.log, self.android_devices[0], enable=1)
70
71    # psim 5g nsa volte & esim 5g nsa volte & dds slot 0
72    @test_tracker_info(uuid="d1a50121-a245-4e51-a6aa-7836878339aa")
73    @TelephonyBaseTest.tel_test_wrap
74    def test_msim_cfu_callee_psim_5g_nsa_volte_esim_5g_nsa_volte_dds_0(self):
75        """Call forwarding unconditional test on pSIM of the primary device.
76            - pSIM 5G NSA VoLTE
77            - eSIM 5G NSA VoLTE
78            - DDS at pSIM (slot 0)
79
80            Test steps:
81                1. Enable CFU on pSIM of the primary device.
82                2. Let the 2nd device call the pSIM of the primary device. The
83                   call should be forwarded to the 3rd device. Answer and then
84                   hang up the call.
85                3. Disable CFU on pSIM of the primary device.
86                4. Let the 2nd device call the pSIM of the primary device. The
87                   call should NOT be forwarded to the primary device. Answer
88                   and then hang up the call.
89                5. Disable and erase CFU on the primary device.
90        """
91        return msim_call_forwarding(
92            self.log,
93            self.tel_logger,
94            self.android_devices,
95            None,
96            0,
97            None,
98            0,
99            sim_slot=[SimSlotInfo.SLOT_0, SimSlotInfo.SLOT_1],
100            callee_rat=["5g_volte", "5g_volte"],
101            call_forwarding_type="unconditional")
102
103    @test_tracker_info(uuid="c268fee2-6f09-48c2-98d8-97cc06de0e61")
104    @TelephonyBaseTest.tel_test_wrap
105    def test_msim_cfu_callee_esim_5g_nsa_volte_psim_5g_nsa_volte_dds_0(self):
106        """Call forwarding unconditional test on eSIM of the primary device.
107            - pSIM 5G NSA VoLTE
108            - eSIM 5G NSA VoLTE
109            - DDS at pSIM (slot 0)
110
111            Test steps:
112                1. Enable CFU on eSIM of the primary device.
113                2. Let the 2nd device call the eSIM of the primary device. The
114                   call should be forwarded to the 3rd device. Answer and then
115                   hang up the call.
116                3. Disable CFU on eSIM of the primary device.
117                4. Let the 2nd device call the eSIM of the primary device. The
118                   call should NOT be forwarded to the primary device. Answer
119                   and then hang up the call.
120                5. Disable and erase CFU on the primary device.
121        """
122        return msim_call_forwarding(
123            self.log,
124            self.tel_logger,
125            self.android_devices,
126            None,
127            1,
128            None,
129            0,
130            sim_slot=[SimSlotInfo.SLOT_0, SimSlotInfo.SLOT_1],
131            callee_rat=["5g_volte", "5g_volte"],
132            call_forwarding_type="unconditional")
133
134    # psim 5g nsa volte & esim 5g nsa volte & dds slot 1
135    @test_tracker_info(uuid="df98b0d6-3643-4e01-b9c5-d41b40d95146")
136    @TelephonyBaseTest.tel_test_wrap
137    def test_msim_cfu_callee_psim_5g_nsa_volte_esim_5g_nsa_volte_dds_1(self):
138        """Call forwarding unconditional test on pSIM of the primary device.
139            - pSIM 5G NSA VoLTE
140            - eSIM 5G NSA VoLTE
141            - DDS at eSIM (slot 1)
142
143            Test steps:
144                1. Enable CFU on pSIM of the primary device.
145                2. Let the 2nd device call the pSIM of the primary device. The
146                   call should be forwarded to the 3rd device. Answer and then
147                   hang up the call.
148                3. Disable CFU on pSIM of the primary device.
149                4. Let the 2nd device call the pSIM of the primary device. The
150                   call should NOT be forwarded to the primary device. Answer
151                   and then hang up the call.
152                5. Disable and erase CFU on the primary device.
153        """
154        return msim_call_forwarding(
155            self.log,
156            self.tel_logger,
157            self.android_devices,
158            None,
159            0,
160            None,
161            1,
162            sim_slot=[SimSlotInfo.SLOT_0, SimSlotInfo.SLOT_1],
163            callee_rat=["5g_volte", "5g_volte"],
164            call_forwarding_type="unconditional")
165
166    @test_tracker_info(uuid="99a61d4e-f0fa-4f65-b3bd-67d2a90cdfe2")
167    @TelephonyBaseTest.tel_test_wrap
168    def test_msim_cfu_callee_esim_5g_nsa_volte_psim_5g_nsa_volte_dds_1(self):
169        """Call forwarding unconditional test on eSIM of the primary device.
170            - pSIM 5G NSA VoLTE
171            - eSIM 5G NSA VoLTE
172            - DDS at eSIM (slot 1)
173
174            Test steps:
175                1. Enable CFU on eSIM of the primary device.
176                2. Let the 2nd device call the eSIM of the primary device. The
177                   call should be forwarded to the 3rd device. Answer and then
178                   hang up the call.
179                3. Disable CFU on eSIM of the primary device.
180                4. Let the 2nd device call the eSIM of the primary device. The
181                   call should NOT be forwarded to the primary device. Answer
182                   and then hang up the call.
183                5. Disable and erase CFU on the primary device.
184        """
185        return msim_call_forwarding(
186            self.log,
187            self.tel_logger,
188            self.android_devices,
189            None,
190            1,
191            None,
192            1,
193            sim_slot=[SimSlotInfo.SLOT_0, SimSlotInfo.SLOT_1],
194            callee_rat=["5g_volte", "5g_volte"],
195            call_forwarding_type="unconditional")
196
197    # psim 5g nsa volte & esim 4g volte & dds slot 0
198    @test_tracker_info(uuid="9fb2da2e-00f6-4d0f-a921-49786ffbb758")
199    @TelephonyBaseTest.tel_test_wrap
200    def test_msim_cfu_callee_psim_5g_nsa_volte_esim_4g_volte_dds_0(self):
201        """Call forwarding unconditional test on pSIM of the primary device.
202            - pSIM 5G NSA VoLTE
203            - eSIM 4G VoLTE
204            - DDS at pSIM (slot 0)
205
206            Test steps:
207                1. Enable CFU on pSIM of the primary device.
208                2. Let the 2nd device call the pSIM of the primary device. The
209                   call should be forwarded to the 3rd device. Answer and then
210                   hang up the call.
211                3. Disable CFU on pSIM of the primary device.
212                4. Let the 2nd device call the pSIM of the primary device. The
213                   call should NOT be forwarded to the primary device. Answer
214                   and then hang up the call.
215                5. Disable and erase CFU on the primary device.
216        """
217        return msim_call_forwarding(
218            self.log,
219            self.tel_logger,
220            self.android_devices,
221            None,
222            0,
223            None,
224            0,
225            sim_slot=[SimSlotInfo.SLOT_0, SimSlotInfo.SLOT_1],
226            callee_rat=["5g_volte", "volte"],
227            call_forwarding_type="unconditional")
228
229    @test_tracker_info(uuid="da42b577-30a6-417d-a545-629ccbfaebb2")
230    @TelephonyBaseTest.tel_test_wrap
231    def test_msim_cfu_callee_esim_4g_volte_psim_5g_nsa_volte_dds_0(self):
232        """Call forwarding unconditional test on eSIM of the primary device.
233            - pSIM 5G NSA VoLTE
234            - eSIM 4G VoLTE
235            - DDS at pSIM (slot 0)
236
237            Test steps:
238                1. Enable CFU on eSIM of the primary device.
239                2. Let the 2nd device call the eSIM of the primary device. The
240                   call should be forwarded to the 3rd device. Answer and then
241                   hang up the call.
242                3. Disable CFU on eSIM of the primary device.
243                4. Let the 2nd device call the eSIM of the primary device. The
244                   call should NOT be forwarded to the primary device. Answer
245                   and then hang up the call.
246                5. Disable and erase CFU on the primary device.
247        """
248        return msim_call_forwarding(
249            self.log,
250            self.tel_logger,
251            self.android_devices,
252            None,
253            1,
254            None,
255            0,
256            sim_slot=[SimSlotInfo.SLOT_0, SimSlotInfo.SLOT_1],
257            callee_rat=["5g_volte", "volte"],
258            call_forwarding_type="unconditional")
259
260    # psim 5g nsa volte & esim 4g volte & dds slot 1
261    @test_tracker_info(uuid="e9ab2c2f-8b2c-4f26-879d-b872947ee3a1")
262    @TelephonyBaseTest.tel_test_wrap
263    def test_msim_cfu_callee_psim_5g_nsa_volte_esim_4g_volte_dds_1(self):
264        """Call forwarding unconditional test on pSIM of the primary device.
265            - pSIM 5G NSA VoLTE
266            - eSIM 4G VoLTE
267            - DDS at eSIM (slot 1)
268
269            Test steps:
270                1. Enable CFU on pSIM of the primary device.
271                2. Let the 2nd device call the pSIM of the primary device. The
272                   call should be forwarded to the 3rd device. Answer and then
273                   hang up the call.
274                3. Disable CFU on pSIM of the primary device.
275                4. Let the 2nd device call the pSIM of the primary device. The
276                   call should NOT be forwarded to the primary device. Answer
277                   and then hang up the call.
278                5. Disable and erase CFU on the primary device.
279        """
280        return msim_call_forwarding(
281            self.log,
282            self.tel_logger,
283            self.android_devices,
284            None,
285            0,
286            None,
287            1,
288            sim_slot=[SimSlotInfo.SLOT_0, SimSlotInfo.SLOT_1],
289            callee_rat=["5g_volte", "volte"],
290            call_forwarding_type="unconditional")
291
292    @test_tracker_info(uuid="080e6cf2-7bb1-4ce8-9f15-c082cbb0fd8c")
293    @TelephonyBaseTest.tel_test_wrap
294    def test_msim_cfu_callee_esim_4g_volte_psim_5g_nsa_volte_dds_1(self):
295        """Call forwarding unconditional test on eSIM of the primary device.
296            - pSIM 5G NSA VoLTE
297            - eSIM 4G VoLTE
298            - DDS at eSIM (slot 1)
299
300            Test steps:
301                1. Enable CFU on eSIM of the primary device.
302                2. Let the 2nd device call the eSIM of the primary device. The
303                   call should be forwarded to the 3rd device. Answer and then
304                   hang up the call.
305                3. Disable CFU on eSIM of the primary device.
306                4. Let the 2nd device call the eSIM of the primary device. The
307                   call should NOT be forwarded to the primary device. Answer
308                   and then hang up the call.
309                5. Disable and erase CFU on the primary device.
310        """
311        return msim_call_forwarding(
312            self.log,
313            self.tel_logger,
314            self.android_devices,
315            None,
316            1,
317            None,
318            1,
319            sim_slot=[SimSlotInfo.SLOT_0, SimSlotInfo.SLOT_1],
320            callee_rat=["5g_volte", "volte"],
321            call_forwarding_type="unconditional")
322
323    # psim 4g volte & esim 5g nsa volte & dds slot 0
324    @test_tracker_info(uuid="0da6f8e9-dfea-408b-91d9-e10fb6dad086")
325    def test_msim_cfu_callee_psim_4g_volte_esim_5g_nsa_volte_dds_0(self):
326        """Call forwarding unconditional test on pSIM of the primary device.
327            - pSIM 4G VoLTE
328            - eSIM 5G NSA VoLTE
329            - DDS at pSIM (slot 0)
330
331            Test steps:
332                1. Enable CFU on pSIM of the primary device.
333                2. Let the 2nd device call the pSIM of the primary device. The
334                   call should be forwarded to the 3rd device. Answer and then
335                   hang up the call.
336                3. Disable CFU on pSIM of the primary device.
337                4. Let the 2nd device call the pSIM of the primary device. The
338                   call should NOT be forwarded to the primary device. Answer
339                   and then hang up the call.
340                5. Disable and erase CFU on the primary device.
341        """
342        return msim_call_forwarding(
343            self.log,
344            self.tel_logger,
345            self.android_devices,
346            None,
347            0,
348            None,
349            0,
350            sim_slot=[SimSlotInfo.SLOT_0, SimSlotInfo.SLOT_1],
351            callee_rat=["volte", "5g_volte"],
352            call_forwarding_type="unconditional")
353
354    @test_tracker_info(uuid="dadde63d-4a4d-4fe7-82bd-25ecff856900")
355    @TelephonyBaseTest.tel_test_wrap
356    def test_msim_cfu_callee_esim_5g_nsa_volte_psim_4g_volte_dds_0(self):
357        """Call forwarding unconditional test on eSIM of the primary device.
358            - pSIM 4G VoLTE
359            - eSIM 5G NSA VoLTE
360            - DDS at pSIM (slot 0)
361
362            Test steps:
363                1. Enable CFU on eSIM of the primary device.
364                2. Let the 2nd device call the eSIM of the primary device. The
365                   call should be forwarded to the 3rd device. Answer and then
366                   hang up the call.
367                3. Disable CFU on eSIM of the primary device.
368                4. Let the 2nd device call the eSIM of the primary device. The
369                   call should NOT be forwarded to the primary device. Answer
370                   and then hang up the call.
371                5. Disable and erase CFU on the primary device.
372        """
373        return msim_call_forwarding(
374            self.log,
375            self.tel_logger,
376            self.android_devices,
377            None,
378            1,
379            None,
380            0,
381            sim_slot=[SimSlotInfo.SLOT_0, SimSlotInfo.SLOT_1],
382            callee_rat=["volte", "5g_volte"],
383            call_forwarding_type="unconditional")
384
385    # psim 4g volte & esim 5g nsa volte & dds slot 1
386    @test_tracker_info(uuid="0e951ee2-4a38-4b97-8a79-f6b3c66bf4d5")
387    def test_msim_cfu_callee_psim_4g_volte_esim_5g_nsa_volte_dds_1(self):
388        """Call forwarding unconditional test on pSIM of the primary device.
389            - pSIM 4G VoLTE
390            - eSIM 5G NSA VoLTE
391            - DDS at eSIM (slot 1)
392
393            Test steps:
394                1. Enable CFU on pSIM of the primary device.
395                2. Let the 2nd device call the pSIM of the primary device. The
396                   call should be forwarded to the 3rd device. Answer and then
397                   hang up the call.
398                3. Disable CFU on pSIM of the primary device.
399                4. Let the 2nd device call the pSIM of the primary device. The
400                   call should NOT be forwarded to the primary device. Answer
401                   and then hang up the call.
402                5. Disable and erase CFU on the primary device.
403        """
404        return msim_call_forwarding(
405            self.log,
406            self.tel_logger,
407            self.android_devices,
408            None,
409            0,
410            None,
411            1,
412            sim_slot=[SimSlotInfo.SLOT_0, SimSlotInfo.SLOT_1],
413            callee_rat=["volte", "5g_volte"],
414            call_forwarding_type="unconditional")
415
416    @test_tracker_info(uuid="0f15a135-aa30-46fb-956a-99b5b1109783")
417    @TelephonyBaseTest.tel_test_wrap
418    def test_msim_cfu_callee_esim_5g_nsa_volte_psim_4g_volte_dds_1(self):
419        """Call forwarding unconditional test on eSIM of the primary device.
420            - pSIM 4G VoLTE
421            - eSIM 5G NSA VoLTE
422            - DDS at eSIM (slot 1)
423
424            Test steps:
425                1. Enable CFU on eSIM of the primary device.
426                2. Let the 2nd device call the eSIM of the primary device. The
427                   call should be forwarded to the 3rd device. Answer and then
428                   hang up the call.
429                3. Disable CFU on eSIM of the primary device.
430                4. Let the 2nd device call the eSIM of the primary device. The
431                   call should NOT be forwarded to the primary device. Answer
432                   and then hang up the call.
433                5. Disable and erase CFU on the primary device.
434        """
435        return msim_call_forwarding(
436            self.log,
437            self.tel_logger,
438            self.android_devices,
439            None,
440            1,
441            None,
442            1,
443            sim_slot=[SimSlotInfo.SLOT_0, SimSlotInfo.SLOT_1],
444            callee_rat=["volte", "5g_volte"],
445            call_forwarding_type="unconditional")
446
447    # psim 5g nsa volte & esim 5g nsa volte & dds slot 0
448    @TelephonyBaseTest.tel_test_wrap
449    @test_tracker_info(uuid="edfbc065-7a1d-4ac8-94fe-58106bd5f0a0")
450    def test_msim_conf_call_host_psim_5g_nsa_volte_esim_5g_nsa_volte_dds_0(self):
451        """Conference call test on pSIM of the primary device
452            - pSIM 5G NSA VoLTE
453            - eSIM 5G NSA VoLTE
454            - DDS at pSIM (slot 0)
455
456            Test steps:
457                1. Enable CW on pSIM of the primary device.
458                2. Let the pSIM of primary device call the 2nd device. Keep the
459                   call active.
460                3. Let the 3rd device call the pSIM of the primary device. Keep
461                   both calls active.
462                4. Swap the call twice.
463                5. Merge 2 active calls.
464        """
465        return msim_call_voice_conf(
466            self.log,
467            self.tel_logger,
468            self.android_devices,
469            0, None, None, 0, host_rat=["5g_volte", "5g_volte"])
470
471    @TelephonyBaseTest.tel_test_wrap
472    @test_tracker_info(uuid="fbae3ef2-6ecc-48fb-b21c-155b2b4fd5d6")
473    def test_msim_conf_call_host_esim_5g_nsa_volte_psim_5g_nsa_volte_dds_0(self):
474        """Conference call test on eSIM of the primary device
475            - pSIM 5G NSA VoLTE
476            - eSIM 5G NSA VoLTE
477            - DDS at pSIM (slot 0)
478
479            Test steps:
480                1. Enable CW on eSIM of the primary device.
481                2. Let the eSIM of primary device call the 2nd device. Keep the
482                   call active.
483                3. Let the 3rd device call the eSIM of the primary device. Keep
484                   both calls active.
485                4. Swap the call twice.
486                5. Merge 2 active calls.
487        """
488        return msim_call_voice_conf(
489            self.log,
490            self.tel_logger,
491            self.android_devices,
492            1, None, None, 0, host_rat=["5g_volte", "5g_volte"])
493
494    # psim 5g nsa volte & esim 5g nsa volte & dds slot 1
495    @TelephonyBaseTest.tel_test_wrap
496    @test_tracker_info(uuid="404b7bf8-0706-4d27-a1ff-231ea6d5c34b")
497    def test_msim_conf_call_host_psim_5g_nsa_volte_esim_5g_nsa_volte_dds_1(self):
498        """Conference call test on pSIM of the primary device
499            - pSIM 5G NSA VoLTE
500            - eSIM 5G NSA VoLTE
501            - DDS at eSIM (slot 1)
502
503            Test steps:
504                1. Enable CW on pSIM of the primary device.
505                2. Let the pSIM of primary device call the 2nd device. Keep the
506                   call active.
507                3. Let the 3rd device call the pSIM of the primary device. Keep
508                   both calls active.
509                4. Swap the call twice.
510                5. Merge 2 active calls.
511        """
512        return msim_call_voice_conf(
513            self.log,
514            self.tel_logger,
515            self.android_devices,
516            0, None, None, 1, host_rat=["5g_volte", "5g_volte"])
517
518    @TelephonyBaseTest.tel_test_wrap
519    @test_tracker_info(uuid="cd74af3e-ced5-4275-990c-0561bfeee81d")
520    def test_msim_conf_call_host_esim_5g_nsa_volte_psim_5g_nsa_volte_dds_1(self):
521        """Conference call test on eSIM of the primary device
522            - pSIM 5G NSA VoLTE
523            - eSIM 5G NSA VoLTE
524            - DDS at eSIM (slot 1)
525
526            Test steps:
527                1. Enable CW on eSIM of the primary device.
528                2. Let the eSIM of primary device call the 2nd device. Keep the
529                   call active.
530                3. Let the 3rd device call the eSIM of the primary device. Keep
531                   both calls active.
532                4. Swap the call twice.
533                5. Merge 2 active calls.
534        """
535        return msim_call_voice_conf(
536            self.log,
537            self.tel_logger,
538            self.android_devices,
539            1, None, None, 1, host_rat=["5g_volte", "5g_volte"])
540
541    # psim 5g nsa volte & esim 4g volte & dds slot 0
542    @TelephonyBaseTest.tel_test_wrap
543    @test_tracker_info(uuid="ff107828-0b09-47fb-ba85-b0e13b89970f")
544    def test_msim_conf_call_host_psim_5g_nsa_volte_esim_4g_volte_dds_0(self):
545        """Conference call test on pSIM of the primary device
546            - pSIM 5G NSA VoLTE
547            - eSIM 4G VoLTE
548            - DDS at pSIM (slot 0)
549
550            Test steps:
551                1. Enable CW on pSIM of the primary device.
552                2. Let the pSIM of primary device call the 2nd device. Keep the
553                   call active.
554                3. Let the 3rd device call the pSIM of the primary device. Keep
555                   both calls active.
556                4. Swap the call twice.
557                5. Merge 2 active calls.
558        """
559        return msim_call_voice_conf(
560            self.log,
561            self.tel_logger,
562            self.android_devices,
563            0, None, None, 0, host_rat=["5g_volte", "volte"])
564
565    @TelephonyBaseTest.tel_test_wrap
566    @test_tracker_info(uuid="4a3152e2-8cc6-477d-9dd6-55f3ac35681e")
567    def test_msim_conf_call_host_esim_4g_volte_psim_5g_nsa_volte_dds_0(self):
568        """Conference call test on eSIM of the primary device
569            - pSIM 5G NSA VoLTE
570            - eSIM 4G VoLTE
571            - DDS at pSIM (slot 0)
572
573            Test steps:
574                1. Enable CW on eSIM of the primary device.
575                2. Let the eSIM of primary device call the 2nd device. Keep the
576                   call active.
577                3. Let the 3rd device call the eSIM of the primary device. Keep
578                   both calls active.
579                4. Swap the call twice.
580                5. Merge 2 active calls.
581        """
582        return msim_call_voice_conf(
583            self.log,
584            self.tel_logger,
585            self.android_devices,
586            1, None, None, 0, host_rat=["5g_volte", "volte"])
587
588    # psim 5g nsa volte & esim 4g volte & dds slot 1
589    @TelephonyBaseTest.tel_test_wrap
590    @test_tracker_info(uuid="4aa8e15a-16b5-4173-b0d7-1a6cf00cf240")
591    def test_msim_conf_call_host_psim_5g_nsa_volte_esim_4g_volte_dds_1(self):
592        """Conference call test on pSIM of the primary device
593            - pSIM 5G NSA VoLTE
594            - eSIM 4G VoLTE
595            - DDS at eSIM (slot 1)
596
597            Test steps:
598                1. Enable CW on pSIM of the primary device.
599                2. Let the pSIM of primary device call the 2nd device. Keep the
600                   call active.
601                3. Let the 3rd device call the pSIM of the primary device. Keep
602                   both calls active.
603                4. Swap the call twice.
604                5. Merge 2 active calls.
605        """
606        return msim_call_voice_conf(
607            self.log,
608            self.tel_logger,
609            self.android_devices,
610            0, None, None, 1, host_rat=["5g_volte", "volte"])
611
612    @TelephonyBaseTest.tel_test_wrap
613    @test_tracker_info(uuid="82d9ca6c-8c3d-4a54-ae85-c3d52aab8bc4")
614    def test_msim_conf_call_host_esim_4g_volte_psim_5g_nsa_volte_dds_1(self):
615        """Conference call test on eSIM of the primary device
616            - pSIM 5G NSA VoLTE
617            - eSIM 4G VoLTE
618            - DDS at eSIM (slot 1)
619
620            Test steps:
621                1. Enable CW on eSIM of the primary device.
622                2. Let the eSIM of primary device call the 2nd device. Keep the
623                   call active.
624                3. Let the 3rd device call the eSIM of the primary device. Keep
625                   both calls active.
626                4. Swap the call twice.
627                5. Merge 2 active calls.
628        """
629        return msim_call_voice_conf(
630            self.log,
631            self.tel_logger,
632            self.android_devices,
633            1, None, None, 1, host_rat=["5g_volte", "volte"])
634
635    # psim 4g volte & esim 5g nsa volte & dds slot 0
636    @TelephonyBaseTest.tel_test_wrap
637    @test_tracker_info(uuid="d8dc0e1b-bfad-4040-ab44-91b15160dd86")
638    def test_msim_conf_call_host_psim_4g_volte_esim_5g_nsa_volte_dds_0(self):
639        """Conference call test on pSIM of the primary device
640            - pSIM 4G VoLTE
641            - eSIM 5G NSA VoLTE
642            - DDS at pSIM (slot 0)
643
644            Test steps:
645                1. Enable CW on pSIM of the primary device.
646                2. Let the pSIM of primary device call the 2nd device. Keep the
647                   call active.
648                3. Let the 3rd device call the pSIM of the primary device. Keep
649                   both calls active.
650                4. Swap the call twice.
651                5. Merge 2 active calls.
652        """
653        return msim_call_voice_conf(
654            self.log,
655            self.tel_logger,
656            self.android_devices,
657            0, None, None, 0, host_rat=["volte", "5g_volte"])
658
659    @TelephonyBaseTest.tel_test_wrap
660    @test_tracker_info(uuid="8d8d1050-9e73-4ec9-a9dd-7f68ccd11483")
661    def test_msim_conf_call_host_esim_5g_nsa_volte_psim_4g_volte_dds_0(self):
662        """Conference call test on eSIM of the primary device
663            - pSIM 4G VoLTE
664            - eSIM 5G NSA VoLTE
665            - DDS at pSIM (slot 0)
666
667            Test steps:
668                1. Enable CW on eSIM of the primary device.
669                2. Let the eSIM of primary device call the 2nd device. Keep the
670                   call active.
671                3. Let the 3rd device call the eSIM of the primary device. Keep
672                   both calls active.
673                4. Swap the call twice.
674                5. Merge 2 active calls.
675        """
676        return msim_call_voice_conf(
677            self.log,
678            self.tel_logger,
679            self.android_devices,
680            1, None, None, 0, host_rat=["volte", "5g_volte"])
681
682    # psim 4g volte & esim 5g nsa volte & dds slot 1
683    @TelephonyBaseTest.tel_test_wrap
684    @test_tracker_info(uuid="8f46e57c-c7a2-49e9-9e4c-1f83ab67cd5e")
685    def test_msim_conf_call_host_psim_4g_volte_esim_5g_nsa_volte_dds_1(self):
686        """Conference call test on pSIM of the primary device
687            - pSIM 4G VoLTE
688            - eSIM 5G NSA VoLTE
689            - DDS at pSIM (slot 1)
690
691            Test steps:
692                1. Enable CW on pSIM of the primary device.
693                2. Let the pSIM of primary device call the 2nd device. Keep the
694                   call active.
695                3. Let the 3rd device call the pSIM of the primary device. Keep
696                   both calls active.
697                4. Swap the call twice.
698                5. Merge 2 active calls.
699        """
700        return msim_call_voice_conf(
701            self.log,
702            self.tel_logger,
703            self.android_devices,
704            0, None, None, 1, host_rat=["volte", "5g_volte"])
705
706    @TelephonyBaseTest.tel_test_wrap
707    @test_tracker_info(uuid="7975fc5b-4146-4370-9f1b-1ad1987a14f3")
708    def test_msim_conf_call_host_esim_5g_nsa_volte_psim_4g_volte_dds_1(self):
709        """Conference call test on eSIM of the primary device
710            - pSIM 4G VoLTE
711            - eSIM 5G NSA VoLTE
712            - DDS at pSIM (slot 1)
713
714            Test steps:
715                1. Enable CW on eSIM of the primary device.
716                2. Let the eSIM of primary device call the 2nd device. Keep the
717                   call active.
718                3. Let the 3rd device call the eSIM of the primary device. Keep
719                   both calls active.
720                4. Swap the call twice.
721                5. Merge 2 active calls.
722        """
723        return msim_call_voice_conf(
724            self.log,
725            self.tel_logger,
726            self.android_devices,
727            1, None, None, 1, host_rat=["volte", "5g_volte"])
728
729    # psim 5g nsa volte & esim 5g nsa volte & dds slot 0
730    @TelephonyBaseTest.tel_test_wrap
731    @test_tracker_info(uuid="1050ee12-d1aa-47c9-ad3a-589ad6c6b695")
732    def test_msim_cw_psim_5g_nsa_volte_esim_5g_nsa_volte_dds_0(self):
733        """Call waiting test on pSIM of the primary device
734            - pSIM 5G NSA VoLTE
735            - eSIM 5G NSA VoLTE
736            - DDS at pSIM (slot 0)
737
738            Test steps:
739                1. Enable CW on pSIM of the primary device.
740                2. Let the pSIM of primary device call the 2nd device. Keep the
741                   call active.
742                3. Let the 3rd device call the pSIM of the primary device. Keep
743                   both calls active.
744                4. Swap the call twice.
745                5. Hang up 2 calls from the 2nd and 3rd devices.
746                6. Disable CW on pSIM of the primary device.
747                7. Repeat step 2 & 3. In the step 3 the primary device should
748                   not receive the incoming call.
749        """
750        result = True
751        if not msim_call_voice_conf(
752            self.log,
753            self.tel_logger,
754            self.android_devices,
755            0,
756            None,
757            None,
758            0,
759            host_rat=["5g_volte", "5g_volte"],
760            merge=False, disable_cw=False):
761            result = False
762        if not msim_call_voice_conf(
763            self.log,
764            self.tel_logger,
765            self.android_devices,
766            0,
767            None,
768            None,
769            0,
770            host_rat=["5g_volte", "5g_volte"],
771            merge=False,
772            disable_cw=True):
773            result = False
774        return result
775
776    @TelephonyBaseTest.tel_test_wrap
777    @test_tracker_info(uuid="74ae2673-fefb-459c-a415-366a12477956")
778    def test_msim_cw_esim_5g_nsa_volte_psim_5g_nsa_volte_dds_0(self):
779        """Call waiting test on eSIM of the primary device
780            - pSIM 5G NSA VoLTE
781            - eSIM 5G NSA VoLTE
782            - DDS at pSIM (slot 0)
783
784            Test steps:
785                1. Enable CW on eSIM of the primary device.
786                2. Let the eSIM of primary device call the 2nd device. Keep the
787                   call active.
788                3. Let the 3rd device call the eSIM of the primary device. Keep
789                   both calls active.
790                4. Swap the call twice.
791                5. Hang up 2 calls from the 2nd and 3rd devices.
792                6. Disable CW on eSIM of the primary device.
793                7. Repeat step 2 & 3. In the step 3 the primary device should
794                   not receive the incoming call.
795        """
796        result = True
797        if not msim_call_voice_conf(
798            self.log,
799            self.tel_logger,
800            self.android_devices,
801            1,
802            None,
803            None,
804            0,
805            host_rat=["5g_volte", "5g_volte"],
806            merge=False, disable_cw=False):
807            result = False
808        if not msim_call_voice_conf(
809            self.log,
810            self.tel_logger,
811            self.android_devices,
812            1,
813            None,
814            None,
815            0,
816            host_rat=["5g_volte", "5g_volte"],
817            merge=False,
818            disable_cw=True):
819            result = False
820        return result
821
822    # psim 5g nsa volte & esim 5g nsa volte & dds slot 1
823    @TelephonyBaseTest.tel_test_wrap
824    @test_tracker_info(uuid="73b26c81-8080-4df0-a491-875e1290b5aa")
825    def test_msim_cw_psim_5g_nsa_volte_esim_5g_nsa_volte_dds_1(self):
826        """Call waiting test on pSIM of the primary device
827            - pSIM 5G NSA VoLTE
828            - eSIM 5G NSA VoLTE
829            - DDS at pSIM (slot 1)
830
831            Test steps:
832                1. Enable CW on pSIM of the primary device.
833                2. Let the pSIM of primary device call the 2nd device. Keep the
834                   call active.
835                3. Let the 3rd device call the pSIM of the primary device. Keep
836                   both calls active.
837                4. Swap the call twice.
838                5. Hang up 2 calls from the 2nd and 3rd devices.
839                6. Disable CW on pSIM of the primary device.
840                7. Repeat step 2 & 3. In the step 3 the primary device should
841                   not receive the incoming call.
842        """
843        result = True
844        if not msim_call_voice_conf(
845            self.log,
846            self.tel_logger,
847            self.android_devices,
848            0,
849            None,
850            None,
851            1,
852            host_rat=["5g_volte", "5g_volte"],
853            merge=False, disable_cw=False):
854            result = False
855        if not msim_call_voice_conf(
856            self.log,
857            self.tel_logger,
858            self.android_devices,
859            0,
860            None,
861            None,
862            1,
863            host_rat=["5g_volte", "5g_volte"],
864            merge=False,
865            disable_cw=True):
866            result = False
867        return result
868
869    @TelephonyBaseTest.tel_test_wrap
870    @test_tracker_info(uuid="32804d38-7def-4507-921d-f906d1cf9dfa")
871    def test_msim_cw_esim_5g_nsa_volte_psim_5g_nsa_volte_dds_1(self):
872        """Call waiting test on eSIM of the primary device
873            - pSIM 5G NSA VoLTE
874            - eSIM 5G NSA VoLTE
875            - DDS at pSIM (slot 1)
876
877            Test steps:
878                1. Enable CW on eSIM of the primary device.
879                2. Let the eSIM of primary device call the 2nd device. Keep the
880                   call active.
881                3. Let the 3rd device call the eSIM of the primary device. Keep
882                   both calls active.
883                4. Swap the call twice.
884                5. Hang up 2 calls from the 2nd and 3rd devices.
885                6. Disable CW on eSIM of the primary device.
886                7. Repeat step 2 & 3. In the step 3 the primary device should
887                   not receive the incoming call.
888        """
889        result = True
890        if not msim_call_voice_conf(
891            self.log,
892            self.tel_logger,
893            self.android_devices,
894            1,
895            None,
896            None,
897            1,
898            host_rat=["5g_volte", "5g_volte"],
899            merge=False, disable_cw=False):
900            result = False
901        if not msim_call_voice_conf(
902            self.log,
903            self.tel_logger,
904            self.android_devices,
905            1,
906            None,
907            None,
908            1,
909            host_rat=["5g_volte", "5g_volte"],
910            merge=False,
911            disable_cw=True):
912            result = False
913        return result
914
915    # psim 5g nsa volte & esim 4g volte & dds slot 0
916    @TelephonyBaseTest.tel_test_wrap
917    @test_tracker_info(uuid="753a8651-8230-4714-aa5c-32ed7e7d7c04")
918    def test_msim_cw_psim_5g_nsa_volte_esim_4g_volte_dds_0(self):
919        """Call waiting test on pSIM of the primary device
920            - pSIM 5G NSA VoLTE
921            - eSIM 4G VoLTE
922            - DDS at pSIM (slot 0)
923
924            Test steps:
925                1. Enable CW on pSIM of the primary device.
926                2. Let the pSIM of primary device call the 2nd device. Keep the
927                   call active.
928                3. Let the 3rd device call the pSIM of the primary device. Keep
929                   both calls active.
930                4. Swap the call twice.
931                5. Hang up 2 calls from the 2nd and 3rd devices.
932                6. Disable CW on pSIM of the primary device.
933                7. Repeat step 2 & 3. In the step 3 the primary device should
934                   not receive the incoming call.
935        """
936        result = True
937        if not msim_call_voice_conf(
938            self.log,
939            self.tel_logger,
940            self.android_devices,
941            0,
942            None,
943            None,
944            0,
945            host_rat=["5g_volte", "volte"],
946            merge=False, disable_cw=False):
947            result = False
948        if not msim_call_voice_conf(
949            self.log,
950            self.tel_logger,
951            self.android_devices,
952            0,
953            None,
954            None,
955            0,
956            host_rat=["5g_volte", "volte"],
957            merge=False,
958            disable_cw=True):
959            result = False
960        return result
961
962    @TelephonyBaseTest.tel_test_wrap
963    @test_tracker_info(uuid="fc92c004-5862-4035-98b4-5ea3d3c2c5e9")
964    def test_msim_cw_esim_4g_volte_psim_5g_nsa_volte_dds_0(self):
965        """Call waiting test on eSIM of the primary device
966            - pSIM 5G NSA VoLTE
967            - eSIM 4G VoLTE
968            - DDS at pSIM (slot 0)
969
970            Test steps:
971                1. Enable CW on eSIM of the primary device.
972                2. Let the eSIM of primary device call the 2nd device. Keep the
973                   call active.
974                3. Let the 3rd device call the eSIM of the primary device. Keep
975                   both calls active.
976                4. Swap the call twice.
977                5. Hang up 2 calls from the 2nd and 3rd devices.
978                6. Disable CW on eSIM of the primary device.
979                7. Repeat step 2 & 3. In the step 3 the primary device should
980                   not receive the incoming call.
981        """
982        result = True
983        if not msim_call_voice_conf(
984            self.log,
985            self.tel_logger,
986            self.android_devices,
987            1,
988            None,
989            None,
990            0,
991            host_rat=["5g_volte", "volte"],
992            merge=False, disable_cw=False):
993            result = False
994        if not msim_call_voice_conf(
995            self.log,
996            self.tel_logger,
997            self.android_devices,
998            1,
999            None,
1000            None,
1001            0,
1002            host_rat=["5g_volte", "volte"],
1003            merge=False,
1004            disable_cw=True):
1005            result = False
1006        return result
1007
1008    # psim 5g nsa volte & esim 4g volte & dds slot 1
1009    @TelephonyBaseTest.tel_test_wrap
1010    @test_tracker_info(uuid="753a8651-8230-4714-aa5c-32ed7e7d7c04")
1011    def test_msim_cw_psim_5g_nsa_volte_esim_4g_volte_dds_1(self):
1012        """Call waiting test on pSIM of the primary device
1013            - pSIM 5G NSA VoLTE
1014            - eSIM 4G VoLTE
1015            - DDS at eSIM (slot 1)
1016
1017            Test steps:
1018                1. Enable CW on pSIM of the primary device.
1019                2. Let the pSIM of primary device call the 2nd device. Keep the
1020                   call active.
1021                3. Let the 3rd device call the pSIM of the primary device. Keep
1022                   both calls active.
1023                4. Swap the call twice.
1024                5. Hang up 2 calls from the 2nd and 3rd devices.
1025                6. Disable CW on pSIM of the primary device.
1026                7. Repeat step 2 & 3. In the step 3 the primary device should
1027                   not receive the incoming call.
1028        """
1029        result = True
1030        if not msim_call_voice_conf(
1031            self.log,
1032            self.tel_logger,
1033            self.android_devices,
1034            0,
1035            None,
1036            None,
1037            1,
1038            host_rat=["5g_volte", "volte"],
1039            merge=False, disable_cw=False):
1040            result = False
1041        if not msim_call_voice_conf(
1042            self.log,
1043            self.tel_logger,
1044            self.android_devices,
1045            0,
1046            None,
1047            None,
1048            1,
1049            host_rat=["5g_volte", "volte"],
1050            merge=False,
1051            disable_cw=True):
1052            result = False
1053        return result
1054
1055    @TelephonyBaseTest.tel_test_wrap
1056    @test_tracker_info(uuid="fc92c004-5862-4035-98b4-5ea3d3c2c5e9")
1057    def test_msim_cw_esim_4g_volte_psim_5g_nsa_volte_dds_1(self):
1058        """Call waiting test on eSIM of the primary device
1059            - pSIM 5G NSA VoLTE
1060            - eSIM 4G VoLTE
1061            - DDS at eSIM (slot 1)
1062
1063            Test steps:
1064                1. Enable CW on eSIM of the primary device.
1065                2. Let the eSIM of primary device call the 2nd device. Keep the
1066                   call active.
1067                3. Let the 3rd device call the eSIM of the primary device. Keep
1068                   both calls active.
1069                4. Swap the call twice.
1070                5. Hang up 2 calls from the 2nd and 3rd devices.
1071                6. Disable CW on eSIM of the primary device.
1072                7. Repeat step 2 & 3. In the step 3 the primary device should
1073                   not receive the incoming call.
1074        """
1075        result = True
1076        if not msim_call_voice_conf(
1077            self.log,
1078            self.tel_logger,
1079            self.android_devices,
1080            1,
1081            None,
1082            None,
1083            1,
1084            host_rat=["5g_volte", "volte"],
1085            merge=False, disable_cw=False):
1086            result = False
1087        if not msim_call_voice_conf(
1088            self.log,
1089            self.tel_logger,
1090            self.android_devices,
1091            1,
1092            None,
1093            None,
1094            1,
1095            host_rat=["5g_volte", "volte"],
1096            merge=False,
1097            disable_cw=True):
1098            result = False
1099        return result
1100
1101    # psim 4g volte & esim 5g nsa volte & dds slot 0
1102    @TelephonyBaseTest.tel_test_wrap
1103    @test_tracker_info(uuid="4c02fc60-b838-40a1-879f-675d8c4b91af")
1104    def test_msim_cw_psim_4g_volte_esim_5g_nsa_volte_dds_0(self):
1105        """Call waiting test on pSIM of the primary device
1106            - pSIM 4G VoLTE
1107            - eSIM 5G NSA VoLTE
1108            - DDS at pSIM (slot 0)
1109
1110            Test steps:
1111                1. Enable CW on pSIM of the primary device.
1112                2. Let the pSIM of primary device call the 2nd device. Keep the
1113                   call active.
1114                3. Let the 3rd device call the pSIM of the primary device. Keep
1115                   both calls active.
1116                4. Swap the call twice.
1117                5. Hang up 2 calls from the 2nd and 3rd devices.
1118                6. Disable CW on pSIM of the primary device.
1119                7. Repeat step 2 & 3. In the step 3 the primary device should
1120                   not receive the incoming call.
1121        """
1122        result = True
1123        if not msim_call_voice_conf(
1124            self.log,
1125            self.tel_logger,
1126            self.android_devices,
1127            0,
1128            None,
1129            None,
1130            0,
1131            host_rat=["volte", "5g_volte"],
1132            merge=False,
1133            disable_cw=False):
1134            result = False
1135        if not msim_call_voice_conf(
1136            self.log,
1137            self.tel_logger,
1138            self.android_devices,
1139            0,
1140            None,
1141            None,
1142            0,
1143            host_rat=["volte", "5g_volte"],
1144            merge=False,
1145            disable_cw=True):
1146            result = False
1147        return result
1148
1149    @TelephonyBaseTest.tel_test_wrap
1150    @test_tracker_info(uuid="cbe58062-bd7f-48b5-aab1-84355a3fcf55")
1151    def test_msim_cw_esim_5g_nsa_volte_psim_4g_volte_dds_0(self):
1152        """Call waiting test on eSIM of the primary device
1153            - pSIM 4G VoLTE
1154            - eSIM 5G NSA VoLTE
1155            - DDS at pSIM (slot 0)
1156
1157            Test steps:
1158                1. Enable CW on eSIM of the primary device.
1159                2. Let the eSIM of primary device call the 2nd device. Keep the
1160                   call active.
1161                3. Let the 3rd device call the eSIM of the primary device. Keep
1162                   both calls active.
1163                4. Swap the call twice.
1164                5. Hang up 2 calls from the 2nd and 3rd devices.
1165                6. Disable CW on eSIM of the primary device.
1166                7. Repeat step 2 & 3. In the step 3 the primary device should
1167                   not receive the incoming call.
1168        """
1169        result = True
1170        if not msim_call_voice_conf(
1171            self.log,
1172            self.tel_logger,
1173            self.android_devices,
1174            1,
1175            None,
1176            None,
1177            0,
1178            host_rat=["volte", "5g_volte"],
1179            merge=False,
1180            disable_cw=False):
1181            result = False
1182        if not msim_call_voice_conf(
1183            self.log,
1184            self.tel_logger,
1185            self.android_devices,
1186            1,
1187            None,
1188            None,
1189            0,
1190            host_rat=["volte", "5g_volte"],
1191            merge=False,
1192            disable_cw=True):
1193            result = False
1194        return result
1195
1196    # psim 4g volte & esim 5g nsa volte & dds slot 1
1197    @TelephonyBaseTest.tel_test_wrap
1198    @test_tracker_info(uuid="80c7e356-9419-484f-9b34-65ca5544bc39")
1199    def test_msim_cw_psim_4g_volte_esim_5g_nsa_volte_dds_1(self):
1200        """Call waiting test on pSIM of the primary device
1201            - pSIM 4G VoLTE
1202            - eSIM 5G NSA VoLTE
1203            - DDS at eSIM (slot 1)
1204
1205            Test steps:
1206                1. Enable CW on pSIM of the primary device.
1207                2. Let the pSIM of primary device call the 2nd device. Keep the
1208                   call active.
1209                3. Let the 3rd device call the pSIM of the primary device. Keep
1210                   both calls active.
1211                4. Swap the call twice.
1212                5. Hang up 2 calls from the 2nd and 3rd devices.
1213                6. Disable CW on pSIM of the primary device.
1214                7. Repeat step 2 & 3. In the step 3 the primary device should
1215                   not receive the incoming call.
1216        """
1217        result = True
1218        if not msim_call_voice_conf(
1219            self.log,
1220            self.tel_logger,
1221            self.android_devices,
1222            0,
1223            None,
1224            None,
1225            1,
1226            host_rat=["volte", "5g_volte"],
1227            merge=False,
1228            disable_cw=False):
1229            result = False
1230        if not msim_call_voice_conf(
1231            self.log,
1232            self.tel_logger,
1233            self.android_devices,
1234            0,
1235            None,
1236            None,
1237            1,
1238            host_rat=["volte", "5g_volte"],
1239            merge=False,
1240            disable_cw=True):
1241            result = False
1242        return result
1243
1244    @TelephonyBaseTest.tel_test_wrap
1245    @test_tracker_info(uuid="6cd6b062-d68a-4b1b-b6ca-92af72ebe3b9")
1246    def test_msim_cw_esim_5g_nsa_volte_psim_4g_volte_dds_1(self):
1247        """Call waiting test on eSIM of the primary device
1248            - pSIM 4G VoLTE
1249            - eSIM 5G NSA VoLTE
1250            - DDS at eSIM (slot 1)
1251
1252            Test steps:
1253                1. Enable CW on eSIM of the primary device.
1254                2. Let the eSIM of primary device call the 2nd device. Keep the
1255                   call active.
1256                3. Let the 3rd device call the eSIM of the primary device. Keep
1257                   both calls active.
1258                4. Swap the call twice.
1259                5. Hang up 2 calls from the 2nd and 3rd devices.
1260                6. Disable CW on eSIM of the primary device.
1261                7. Repeat step 2 & 3. In the step 3 the primary device should
1262                   not receive the incoming call.
1263        """
1264        result = True
1265        if not msim_call_voice_conf(
1266            self.log,
1267            self.tel_logger,
1268            self.android_devices,
1269            1,
1270            None,
1271            None,
1272            1,
1273            host_rat=["volte", "5g_volte"],
1274            merge=False,
1275            disable_cw=False):
1276            result = False
1277        if not msim_call_voice_conf(
1278            self.log,
1279            self.tel_logger,
1280            self.android_devices,
1281            1,
1282            None,
1283            None,
1284            1,
1285            host_rat=["volte", "5g_volte"],
1286            merge=False,
1287            disable_cw=True):
1288            result = False
1289        return result