acceptSession
open suspend override fun acceptSession(localIdentity: LocalIdentity, localAddress: DeviceAddress, remote: DeviceAddress, signedPreKey: SignedPreKeyPair, oneTimePreKey: OneTimePreKeyPair?, message: PreKeyMessage): SessionAcceptanceResult
Creates the responder side of a session from the first message, sent by remote to localAddress, and decrypts it. Only a SessionInitiationVersion.V2 message is accepted: its transcript, built from both addresses and every header field, is the associated data, so a changed address or header field fails decryption and nothing is created. A SessionInitiationVersion.V1 message throws ProtocolException.InvalidMessage. The caller looks up signedPreKey and oneTimePreKey by the IDs in message. It must delete SessionAcceptanceResult.consumedOneTimePreKeyId once the result is persisted.