Application role
The application peer implements operations directed to it, may call operations implemented by its peer, emits its own events, and receives peer events.
Must implement
ping— Measure application-layer latency and optionally echo arbitrary data.session.initialize— Negotiate the audio codec and initialize a real-time voice session.session.terminate— Terminate the real-time voice session after replying.
May call
application.move— Advance the IVR flow to another application node after replying.audio.buffer.clear— Discard buffered audio that has not yet been played.call.hangup— Hang up the telephony call after replying.ping— Measure application-layer latency and optionally echo arbitrary data.recording.start— Start recording the telephony call.recording.stop— Stop a recording by identifier.session.get— Get selected session variables, or all variables when keys is empty.session.set— Set free-form variables on the voice session.
Emits
agent.tool.call— Publish the redaction-safe name of a tool invoked by the agent.audio.speech.started— Signal that speech started for barge-in handling.input.transcript— Publish one finalized caller speech transcript.output.transcript.delta— Stream an incremental piece of the agent's spoken-output transcript.output.transcript.done— Finalize the current agent spoken-output transcript.
Receives
audio.info— Report periodic audio read and write throughput counters.call.hangup— Report that the telephony call has ended.dtmf— Report a DTMF key after the remote caller releases it.session.updated— Report a change to negotiated session state such as the selected codec.