INNER CODE UNIT · Python
onIncomingCall
arnonym/ha-plugins · ha-sip/src/account.py:104
def onIncomingCall(self, prm) -> None:
if not self.config:
log(None, 'Error: No config set when onIncomingCall was called.')
return
menu = self.config.incoming_call_config.get('menu') if self.config.incoming_call_config else None
allowed_numbers = self.config.incoming_call_config.get('allowed_numbers') if self.config.incoming_call_config else None
blocked_numbers = self.config.incoming_call_config.get('blocked_numbers') if self.config.incoming_call_config else None
answer_after = float(utils.convert_to_int(self.config.incoming_call_config.get('answer_after'), 0)) if self.config.incoming_call_config else 0.0
webhook_to_call = self.config.incoming_call_config.get('webhook_to_call') if self.config.incoming_call_config else None
extract_headers = self.config.options.extract_headers
sip_headers: Dict[str, Optional[str]] = {}
if self.config.global_options.debug_headers:
Account.log_all_sip_headers(self.config.index, prm.rdata.wholeMsg)
if extract_headers:
sip_headers = Account.parse_sip_headers(prm.rdata.wholeMsg, extract_headers)
incoming_call_instance = call.Call(
self.end_point, self, prm.callId, None, menu, self.command_handler, self.event_sender,
self.ha_config, DEFAULT_RING_TIMEOUT, webhook_to_call, sip_headers,