async def call_accepted(self) -> None: self.update_state('EXCHANGING_KEYS') await self.get_dhc() self.g_b = b2i(self.call.g_b) self.check_g(self.g_b, self.dhc.p) self.auth_key = pow(self.g_b, self.a, self.dhc.p) self.key_fingerprint = calc_fingerprint(self.auth_key_bytes) self.call = (await self.client.send(functions.phone.ConfirmCall( key_fingerprint=self.key_fingerprint, # peer=self.call_peer, peer=types.InputPhoneCall(id=self.call_id, access_hash=self.call_access_hash), g_a=i2b(self.g_a), protocol=self.get_protocol(), ))).phone_call await self._initiate_encrypted_call()
async def call_accepted(self) -> None: if not self.call.g_a_or_b: print('g_a is null') self.call_failed() return if self.g_a_hash != hashlib.sha256(self.call.g_a_or_b).digest(): print('g_a_hash doesn\'t match') self.call_failed() return self.g_a = b2i(self.call.g_a_or_b) self.check_g(self.g_a, self.dhc.p) self.auth_key = pow(self.g_a, self.b, self.dhc.p) self.key_fingerprint = calc_fingerprint(self.auth_key_bytes) if self.key_fingerprint != self.call.key_fingerprint: print('fingerprints don\'t match') self.call_failed() return await self._initiate_encrypted_call()