def set_up(self): """ Set up the test configuration """ # Call LabAudioQualityBase Init function LabAudioQualityBase.set_up(self) if self._phone2 is not None: self._voice_call_api2 = self._phone2.get_uecmd("VoiceCall") else: error_msg = \ "This test case requires two phones to be executed !" self._logger.error(error_msg) raise AcsConfigException(AcsConfigException.INVALID_BENCH_CONFIG, error_msg) # Setup phone type for this test Mobile terminated is mandatory self._phone_calling = self._voice_call_api2 self._phone_receiving = self._voice_call_api self._calling_phone_number = self._device.get_phone_number() self._phone_releasing = self._voice_call_api2 # Release any previous call (Robustness) self._voice_call_api.release() self._voice_call_api2.release() return Global.SUCCESS, "No errors"
def set_up(self): """ Set up the test configuration """ # Call LabAudioQualityBase Init function LabAudioQualityBase.set_up(self) if self._phone2 is not None: self._voice_call_api2 = self._phone2.get_uecmd("VoiceCall") elif self._is_network_simulator_used: self._voice_call_api2 = self._vc else: error_msg = \ "This test case requires two phones to be executed !" self._logger.error(error_msg) raise AcsConfigException(AcsConfigException.INVALID_BENCH_CONFIG, error_msg) # Setup phone type ( calling, receiving, releasing phone) if self._call_origin_type == "MO": self._phone_calling = self._voice_call_api self._phone_receiving = self._voice_call_api2 if not self._is_network_simulator_used: self._calling_phone_number = self._phone2.get_phone_number() else: self._calling_phone_number = "1234" elif self._call_origin_type == "MT": self._phone_calling = self._voice_call_api2 self._phone_receiving = self._voice_call_api self._calling_phone_number = self._device.get_phone_number() else: error_msg = \ "This test case requires call originated type to be executed !" self._logger.error(error_msg) raise AcsConfigException(AcsConfigException.INVALID_PARAMETER, error_msg) if self._call_end_type == "NR": self._phone_releasing = self._voice_call_api2 elif self._call_end_type == "MR": self._phone_releasing = self._voice_call_api else: error_msg = \ "This test case requires call end type to be executed !" self._logger.error(error_msg) raise AcsConfigException(AcsConfigException.INVALID_PARAMETER, error_msg) # Release any previous call (Robustness) self._voice_call_api.release() self._voice_call_api2.release() return Global.SUCCESS, "No errors"
def set_up(self): """ Set up the test configuration """ # Call LabAudioQualityBase Init function LabAudioQualityBase.set_up(self) if self._phone2 is not None: self._networking_api2 = self._phone2.get_uecmd("Networking") self._sip_call_api2 = self._phone2.get_uecmd("SipCall") else: self._sip_call_api2 = None self._networking_api2 = None # Setup phone type ( calling, receiving, releasing phone) if self._call_origin_type == "MO": self._phone_calling = self._sip_call_api self._phone_receiving = self._sip_call_api2 self._calling_phone_number = self._peer_sip_address elif self._call_origin_type == "MT": self._phone_calling = self._sip_call_api2 self._phone_receiving = self._sip_call_api self._calling_phone_number = self._dut_sip_address else: error_msg = \ "This test case requires call originated type to be executed !" self._logger.error(error_msg) raise AcsConfigException(AcsConfigException.INVALID_PARAMETER, error_msg) if self._call_end_type == "NR": self._phone_releasing = self._sip_call_api2 elif self._call_end_type == "MR": self._phone_releasing = self._sip_call_api else: error_msg = \ "This test case requires call end type to be executed !" self._logger.error(error_msg) raise AcsConfigException(AcsConfigException.INVALID_PARAMETER, error_msg) # Setup the wifi connection for DUT and Ref phone self.__setup_wifi() # Connect to wifi using SSID parameter value for DUT self._networking_api.wifi_connect(self._ssid) time.sleep(self._wait_btwn_cmd) # Connect to wifi using SSID parameter value for Ref phone if self._phone2 is not None: self._networking_api2.wifi_connect(self._ssid) time.sleep(self._wait_btwn_cmd) # Start Sip Service self._phone_calling.initialize_sipcall_module() # In case only 1 phone is used, no need to set a 2nd SIP account (assuming MO call) if self._phone_receiving: self._phone_receiving.initialize_sipcall_module() # Setup Sip Account self._sip_call_api.initialize_local_profile(self._dut_sip_address, self._dut_sip_passphrase) if self._phone2 is not None: self._sip_call_api2.initialize_local_profile(self._peer_sip_address, self._peer_sip_passphrase) self._phone_calling.wait_for_state( self._uecmd_types.SIP_CALL_STATE.READY_TO_CALL, self._call_setup_time) # In case only 1 phone is used, no need to make verifications on reference phone (assuming MO call) if self._phone_receiving: self._phone_receiving.wait_for_state( self._uecmd_types.SIP_CALL_STATE.READY_TO_CALL, self._call_setup_time) # Dial using PHONE_NUMBER parameter if self._phone2 is not None: self._phone_calling.dial(self._calling_phone_number) else: self._phone_calling.dial(self._calling_phone_number, check_state=False) if self._phone_receiving: self._phone_receiving.wait_for_state( self._uecmd_types.SIP_CALL_STATE.INCOMING_CALL, self._call_setup_time) self._phone_receiving.answer() # Phone1 & 2 : Check voice call is active self._phone_calling.wait_for_state( self._uecmd_types.SIP_CALL_STATE.IN_CALL, self._call_setup_time) if self._phone_receiving: self._phone_receiving.wait_for_state( self._uecmd_types.SIP_CALL_STATE.IN_CALL, self._call_setup_time) # Configure Audio output to acc_type given with the test_case if self._acc_type == "EARPIECE": self._sip_call_api.switch_to_earpiece() if self._use_io_card: self._wired_headset.unplug_whs() self._wired_headset.unplug_headphone() time.sleep(self._wait_btwn_cmd) elif self._acc_type == "SPEAKER": self._sip_call_api.switch_to_speaker() time.sleep(self._wait_btwn_cmd) elif self._acc_type == "HEADSET": if self._use_io_card: self._sip_call_api.switch_to_earpiece() self._wired_headset.unplug_headphone() self._wired_headset.plug_whs() elif self._acc_type == "HEADPHONE": if self._use_io_card: self._sip_call_api.switch_to_earpiece() self._wired_headset.unplug_whs() self._wired_headset.plug_headphone() elif self._acc_type == "BLUETOOTHHSP" or self._acc_type == "BLUETOOTHHFP": self._sip_call_api.switch_to_bluetooth() elif self._acc_type == "BLUETOOTHA2DP": self._sip_call_api.switch_to_bluetooth_a2dp() else: self._logger.error("Unknown accessories") raise AcsConfigException(AcsConfigException.OPERATION_FAILED, "Unknown accessories") time.sleep(self._wait_btwn_cmd) if self._acc_type.find("BLUETOOTH") == -1: # Set Voice Call Volume self._system_api.adjust_specified_stream_volume("VoiceCall", self._call_stream_volume_dut) else: # Set Voice Call Volume self._system_api.adjust_specified_stream_volume("Bluetooth", self._call_stream_volume_dut) if self._phone_receiving: self._system_api2.adjust_specified_stream_volume("VoiceCall", self._call_stream_volume_ref) return Global.SUCCESS, "No errors"
def set_up(self): """ Set up the test configuration """ # Call LabAudioQualityBase Init function LabAudioQualityBase.set_up(self) if self._phone2 is not None: self._voice_call_api2 = self._phone2.get_uecmd("VoiceCall") else: error_msg = \ "This test case requires two phones to be executed !" self._logger.error(error_msg) raise AcsConfigException(AcsConfigException.INVALID_BENCH_CONFIG, error_msg) # Setup phone type ( calling, receiving, releasing phone) if self._call_origin_type == "MO": self._phone_calling = self._voice_call_api self._phone_receiving = self._voice_call_api2 self._calling_phone_number = self._phone2.get_phone_number() elif self._call_origin_type == "MT": self._phone_calling = self._voice_call_api2 self._phone_receiving = self._voice_call_api self._calling_phone_number = self._device.get_phone_number() else: error_msg = \ "This test case requires call originated type to be executed !" self._logger.error(error_msg) raise AcsConfigException(AcsConfigException.INVALID_PARAMETER, error_msg) if self._call_end_type == "NR": self._phone_releasing = self._voice_call_api2 elif self._call_end_type == "MR": self._phone_releasing = self._voice_call_api else: error_msg = \ "This test case requires call end type to be executed !" self._logger.error(error_msg) raise AcsConfigException(AcsConfigException.INVALID_PARAMETER, error_msg) # Release any previous call (Robustness) self._voice_call_api.release() self._voice_call_api2.release() if self._acc_type == "HEADSET": if self._use_io_card: self._wired_headset.unplug_headphone() self._wired_headset.plug_whs() elif self._acc_type == "HEADPHONE": if self._use_io_card: self._wired_headset.unplug_whs() self._wired_headset.plug_headphone() # Dial using PHONE_NUMBER parameter self._phone_calling.dial(self._calling_phone_number) time.sleep(self._wait_btwn_cmd) # Wait for state "active" before callSetupTimeout seconds self._phone_receiving.wait_for_state( self._uecmd_types.VOICE_CALL_STATE.INCOMING, self._call_setup_time) # Answer call self._phone_receiving.answer() # Phone1 & 2 : Check voice call is active self._phone_calling.wait_for_state( self._uecmd_types.VOICE_CALL_STATE.ACTIVE, self._call_setup_time) self._phone_receiving.wait_for_state( self._uecmd_types.VOICE_CALL_STATE.ACTIVE, self._call_setup_time) # Configure Audio output to acc_type given with the test_case if self._acc_type == "EARPIECE": if self._use_io_card: self._wired_headset.unplug_headphone() self._wired_headset.unplug_whs() elif self._acc_type == "SPEAKER": # Switch to Speaker, nothing to do in Earpiece # Bluetooth already done with connect Bluetooth function above self._phonesystem_api.switch_audio_output(self._acc_type.lower()) time.sleep(self._wait_btwn_cmd) if self._acc_type.find("BLUETOOTH") == -1: # Set Voice Call Volume self._system_api.adjust_specified_stream_volume( "VoiceCall", self._call_stream_volume_dut) else: # Set Voice Call Volume self._system_api.adjust_specified_stream_volume( "Bluetooth", self._call_stream_volume_dut) self._system_api2.adjust_specified_stream_volume( "VoiceCall", self._call_stream_volume_ref) return Global.SUCCESS, "No errors"
def set_up(self): """ Set up the test configuration """ # Call LabAudioQualityBase Init function LabAudioQualityBase.set_up(self) if self._voip_server_node: # Restart the SIP server self._voip_server.restart_asterisk() # Stop Sip Service if self._sip_call_api is not None: self._sip_call_api.delete_profile_sip_phone_app() if self._phone2 is not None: self._networking_api2 = self._phone2.get_uecmd("Networking") self._sip_call_api2 = self._phone2.get_uecmd("SipCall") else: self._sip_call_api2 = None self._networking_api2 = None if self._sip_call_api2 is not None: self._sip_call_api2.delete_profile_sip_phone_app() # Setup phone type ( calling, receiving, releasing phone) if self._call_origin_type == "MO": self._phone_calling = self._sip_call_api self._phone_receiving = self._sip_call_api2 self._calling_phone_number = self._peer_sip_address elif self._call_origin_type == "MT": self._phone_calling = self._sip_call_api2 self._phone_receiving = self._sip_call_api self._calling_phone_number = self._dut_sip_address else: error_msg = \ "This test case requires call originated type to be executed !" self._logger.error(error_msg) raise AcsConfigException(AcsConfigException.INVALID_PARAMETER, error_msg) if self._call_end_type == "NR": self._phone_releasing = self._sip_call_api2 elif self._call_end_type == "MR": self._phone_releasing = self._sip_call_api else: error_msg = \ "This test case requires call end type to be executed !" self._logger.error(error_msg) raise AcsConfigException(AcsConfigException.INVALID_PARAMETER, error_msg) # Setup the wifi connection for DUT and Ref phone self.__setup_wifi() # Connect to wifi using SSID parameter value for DUT self._networking_api.wifi_connect(self._ssid) time.sleep(self._wait_btwn_cmd) # Connect to wifi using SSID parameter value for Ref phone if self._phone2 is not None: self._networking_api2.wifi_connect(self._ssid) time.sleep(self._wait_btwn_cmd) # Start Sip Service if self._phone_calling: self._phone_calling.initialize_sipcall_module() if self._phone_receiving: self._phone_receiving.initialize_sipcall_module() # Setup Sip Account self._sip_call_api.initialize_local_profile(self._dut_sip_address, self._dut_sip_passphrase) if self._phone2 is not None: self._sip_call_api2.initialize_local_profile(self._peer_sip_address, self._peer_sip_passphrase) if not self._phone2: # Release any ongoing calls which were using the DUT SIP account self._logger.info("Get the status of the channels of the SIP server") if self._voip_server.check_call_status(self._dut_sip_address.split('@')[0]) == 'IN_CALL': self._voip_server.release_call(self._dut_sip_address.split('@')[0]) return Global.SUCCESS, "No errors"