104007: Session channel not ready
session_channel_not_readyAn AI Transport send was attempted while the session's channel was not in a usable state, neither attached nor attaching, so there was no reliable channel to publish on.
What you should do
Retry the send with backoff; the SDK does not queue or retry it for you. It will go through once the channel is attached or attaching again, which usually happens on its own.
Why it happens
A send requires the channel to be attached or attaching. The write guard first waits for connect() to complete, so by the time a send runs the channel has already attached at least once; this error means it has since dropped to another state, such as detached, suspended, or failed, typically because the underlying connection was lost.
What you'll see
The error is reported with code 104007 and status 400. The message names the current state, in the form unable to send; channel is detached.