How a call ended (0.71.0), reported once per call to onEnd.
user — your own close().
agent — the companion ended the call itself: ElevenLabs' built-in
end_call system tool. Only on elevenlabs-convai, and only when the
agent both has that tool enabled and sends its tool responses to the
client — otherwise the same hang-up arrives as remote.
remote — the provider closed the call cleanly without saying why (on
ElevenLabs: the agent left the room, a duration limit, an end_call whose
response the client never saw). Not a fault, and not known to be the
companion's decision.
error — a failure; error carries it, and onError received the same
Error first. openai-realtime has no clean remote end, so every end
there that is not your close() is error.
How a call ended (0.71.0), reported once per call to
onEnd.user— your ownclose().agent— the companion ended the call itself: ElevenLabs' built-inend_callsystem tool. Only onelevenlabs-convai, and only when the agent both has that tool enabled and sends its tool responses to the client — otherwise the same hang-up arrives asremote.remote— the provider closed the call cleanly without saying why (on ElevenLabs: the agent left the room, a duration limit, anend_callwhose response the client never saw). Not a fault, and not known to be the companion's decision.error— a failure;errorcarries it, andonErrorreceived the sameErrorfirst.openai-realtimehas no clean remote end, so every end there that is not yourclose()iserror.