ProtocolError enum. Bindings expose errors through their own exception or rejected-promise representation; do not assume a shared HTTP status or a stable free-text message. Keep the native error detail in diagnostics without recording secrets.
A failed call and an asynchronous delivery failure are different. Track
message_failed and media terminal events as well as caught errors. See troubleshooting.
