{
  "slug": "voice-agent-human-handoff",
  "title": "Voice Agent Human Handoff: What Happens on the Call When the Agent Lets Go",
  "description": "Voice agent human handoff mechanics: the handoff as a tool that ends the agent's session, barge-in during the transfer announcement, what the caller hears on hold and on failure, a context payload schema, and a real-call test checklist.",
  "kind": "sub",
  "order": 6,
  "target_query": "voice agent human handoff",
  "secondary_queries": [
    "ai voice agent transfer to human",
    "voice agent escalation to live agent"
  ],
  "tags": [
    "voice",
    "handoff",
    "escalation",
    "human-handoff",
    "telephony",
    "agents",
    "production"
  ],
  "published": "2026-10-10",
  "updated": "2026-10-15",
  "words": 1493,
  "estimated_tokens": 1986,
  "premium": false,
  "rights": {
    "access": "free",
    "note": "Editorial guides are always free and never part of the licensed corpus.",
    "license": "https://changegamer.ai/license.xml",
    "pricing": "https://changegamer.ai/api/pricing.json",
    "payment": "https://changegamer.ai/api/payment.json"
  },
  "license": "https://changegamer.ai/license.xml",
  "citation": "ChangeGamer (2026-10-10). Voice Agent Human Handoff: What Happens on the Call When the Agent Lets Go. ChangeGamer. https://changegamer.ai/articles/voice-agent-human-handoff (updated 2026-10-15).",
  "bibtex": "@misc{changegamer_voice_agent_human_handoff, title = {Voice Agent Human Handoff: What Happens on the Call When the Agent Lets Go}, publisher = {ChangeGamer}, year = {2026}, url = {https://changegamer.ai/articles/voice-agent-human-handoff}, note = {Updated 2026-10-15}}",
  "canonical": "https://changegamer.ai/articles/voice-agent-human-handoff",
  "markdown": "https://changegamer.ai/articles/voice-agent-human-handoff.md",
  "takeaways": [
    "A voice agent handoff is a tool call that ends the agent's own turn, so the design questions are what the caller hears during the transfer, what travels to the human, and what happens when nobody answers.",
    "The customer-support-agents reference says a request for a human should be honored immediately, which on a call means the transfer announcement itself must never be talked over or restarted by caller speech.",
    "As the author's inference, a handoff needs three audible failure paths: transfer rejected, no answer within a timeout, and line dropped, each with a spoken sentence and a fallback such as a callback or voicemail.",
    "The voice-realtime-agents reference records that Amazon Nova Sonic integrates with Amazon Connect and telephony providers Vonage and Twilio, which is integration support only and says nothing about transferring a call.",
    "The corpus does not cover call transfer, SIP REFER or contact-centre routing, so any transfer mechanism must be taken from the telephony vendor's documentation and proven with real test calls."
  ],
  "outline": [
    {
      "depth": 2,
      "text": "Why is a handoff a tool that ends the session?",
      "anchor": "why-is-a-handoff-a-tool-that-ends-the-session",
      "url": "https://changegamer.ai/articles/voice-agent-human-handoff#why-is-a-handoff-a-tool-that-ends-the-session"
    },
    {
      "depth": 2,
      "text": "What should happen to barge-in during the transfer announcement?",
      "anchor": "what-should-happen-to-barge-in-during-the-transfer-announcement",
      "url": "https://changegamer.ai/articles/voice-agent-human-handoff#what-should-happen-to-barge-in-during-the-transfer-announcement"
    },
    {
      "depth": 2,
      "text": "What does the caller hear during the transfer?",
      "anchor": "what-does-the-caller-hear-during-the-transfer",
      "url": "https://changegamer.ai/articles/voice-agent-human-handoff#what-does-the-caller-hear-during-the-transfer"
    },
    {
      "depth": 2,
      "text": "What if the transfer fails or nobody answers?",
      "anchor": "what-if-the-transfer-fails-or-nobody-answers",
      "url": "https://changegamer.ai/articles/voice-agent-human-handoff#what-if-the-transfer-fails-or-nobody-answers"
    },
    {
      "depth": 2,
      "text": "What context payload should reach the human?",
      "anchor": "what-context-payload-should-reach-the-human",
      "url": "https://changegamer.ai/articles/voice-agent-human-handoff#what-context-payload-should-reach-the-human"
    },
    {
      "depth": 2,
      "text": "Which integrations does the corpus actually support?",
      "anchor": "which-integrations-does-the-corpus-actually-support",
      "url": "https://changegamer.ai/articles/voice-agent-human-handoff#which-integrations-does-the-corpus-actually-support"
    },
    {
      "depth": 2,
      "text": "What does the corpus not say about handoff?",
      "anchor": "what-does-the-corpus-not-say-about-handoff",
      "url": "https://changegamer.ai/articles/voice-agent-human-handoff#what-does-the-corpus-not-say-about-handoff"
    },
    {
      "depth": 2,
      "text": "How do you test a handoff on real calls?",
      "anchor": "how-do-you-test-a-handoff-on-real-calls",
      "url": "https://changegamer.ai/articles/voice-agent-human-handoff#how-do-you-test-a-handoff-on-real-calls"
    },
    {
      "depth": 2,
      "text": "What does ChangeGamer know first-hand about voice handoff?",
      "anchor": "what-does-changegamer-know-first-hand-about-voice-handoff",
      "url": "https://changegamer.ai/articles/voice-agent-human-handoff#what-does-changegamer-know-first-hand-about-voice-handoff"
    }
  ],
  "faq": [
    {
      "question": "How does a voice AI agent transfer a call to a human?",
      "answer": "The corpus does not describe the transfer mechanism. As the author's inference, the agent calls a handoff tool, announces the transfer, and the telephony layer connects a human. The mechanism belongs to the telephony vendor's documentation, so verify it with real test calls before launch."
    },
    {
      "question": "What should a voice agent say while transferring a caller?",
      "answer": "A voice agent should say that it is transferring the caller, why, and what happens if nobody answers, in one short sentence. As the author's inference, the announcement must be protected from barge-in, and silence during the transfer should be avoided or explained."
    },
    {
      "question": "What if no human answers the transferred call?",
      "answer": "The corpus does not specify this case. As the author's inference, set a no-answer timeout, return the caller to the agent with a spoken explanation, and offer a callback or voicemail rather than leaving the line in silence or looping the caller back into the same queue."
    },
    {
      "question": "What context should a voice agent pass to the human agent?",
      "answer": "The customer-support-agents reference says a warm handoff passes the transcript, structured data already collected, in-progress tool state and the escalation reason. The field-level schema in this article is the author's inference, not a corpus standard."
    }
  ],
  "body": "A voice agent handoff is the moment the agent stops being the caller's counterpart and a person takes over on the same live call, and its design is mostly about what the caller hears and what the human receives. This article covers the voice-only mechanics inside the [voice AI agent in production](/articles/voice-ai-agent-in-production) cluster. Trigger design, warm versus cold handoff and deflection are in that pillar and in the [AI customer support agents](/resources/customer-support-agents) reference, and are not repeated here.\n\nLabels used below: \"corpus\" means a claim from a named reference, \"inference\" means the author's reasoning with no published source. Most of this article is inference, because the corpus says very little about phone transfers.\n\n## Why is a handoff a tool that ends the session?\n\nA handoff is a tool call whose side effect is that the agent leaves the call, which makes it a tool the agent is least able to retry, observe the result of, or apologize after. The classes of tool are covered in [function calling in a voice agent](/articles/tools-in-a-voice-agent-loop); this section covers only the exit. Everything here is inference.\n\n- **The call is the last action.** Once the transfer starts, the agent may never see the outcome, so the outcome has to be reported back by the telephony layer, or treated as unknown.\n- **Order matters.** Announce, then act, then release. If the tool runs before the announcement finishes, the caller may hear half a sentence and then a ringing line.\n- **One shot.** A repeated handoff call can create two transfers. Give the call a unique key per conversation, as with any side-effecting tool.\n- **State before exit.** Write the context payload and the trigger category to your log before the transfer starts, not after, because the session may end the moment the transfer succeeds.\n\n## What should happen to barge-in during the transfer announcement?\n\nThe transfer announcement should be protected from barge-in, with one exception: a caller who says they do not want to be transferred must be able to stop it. Both halves are inference; the corpus describes barge-in generally but gives nothing specific to announcements.\n\nThe risk is a cascading restart. A caller who says \"okay\" or \"hello?\" during \"I'm transferring you now\" can interrupt the agent, trigger a new model turn, and produce a second, different answer while the transfer is already under way. Two defences follow:\n\n1. Mark the announcement as non-interruptible by acknowledgements, and listen only for explicit refusals.\n2. Once the handoff tool has fired, ignore further model turns, so that stray speech cannot start a second action.\n\nTest both with recorded audio, using the method in [how to test turn detection and barge-in](/articles/voice-turn-detection-and-barge-in-testing).\n\n## What does the caller hear during the transfer?\n\nThe caller should hear a single announcement, then either a ringing or hold signal or a human greeting, and never open silence. That is inference. The corpus does not describe hold music, ringback or telephony audio, so no vendor claim is made here.\n\n| Moment | What the caller should hear | Inference-based reason |\n|---|---|---|\n| Decision to transfer | One sentence: transferring, why, what happens next | A caller cannot scroll back, so say it once and clearly |\n| Connecting | Ringback or a short hold message | Silence reads as a dropped call |\n| Human answers | A human greeting that references the reason | Avoids the caller restating the problem |\n| Nobody answers | A spoken apology and a fallback offer | See next section |\n\nThe customer-support-agents reference says an explicit request for a human should be honored immediately (\"do not require a customer to repeat the request or argue with a deflection loop\"). On a call, that means the agent's next utterance after the request is the transfer announcement, not another clarifying question.\n\n## What if the transfer fails or nobody answers?\n\nA transfer needs a defined spoken fallback for every failure, because a caller who is told \"please hold\" and then hears nothing has been worse served than one who was never transferred. The failure list and the fallbacks are inference.\n\n| Failure | Spoken response | Fallback |\n|---|---|---|\n| Transfer rejected or target unavailable | Say the person is not available | Offer a callback or return to the agent |\n| No answer within timeout | Apologize, name the timeout was reached | Voicemail or a scheduled callback |\n| Line drops mid-transfer | Nothing can be said | Log it and call back if a number is on file |\n| Caller hangs up while on hold | Nothing can be said | Log as abandoned, with the payload attached |\n\nChoose the no-answer timeout deliberately and record it. The corpus gives no safe figure, so pick one with your operations team and revisit it from your own abandonment logs. Return the caller to the agent only if the agent can do something useful, such as take a callback number; otherwise a loop back into the same queue repeats the original failure.\n\n## What context payload should reach the human?\n\nThe payload should carry the four things the customer-support-agents reference names for a warm handoff, which are the transcript, structured data already collected, in-progress tool state and the escalation reason, plus call metadata that only voice has. The reference states those four categories (corpus); the field names below are the author's inference, not a standard.\n\n```json\n{\n  \"call_id\": \"c_8f2a\",\n  \"handoff_key\": \"c_8f2a:handoff:1\",\n  \"reason\": \"caller_requested_human\",\n  \"trigger_category\": \"explicit_request\",\n  \"summary\": \"Wants to change delivery address on order 1042; identity not yet verified.\",\n  \"collected\": { \"order_id\": \"1042\", \"intent\": \"change_address\" },\n  \"tool_state\": [{ \"tool\": \"lookup_order\", \"status\": \"done\" }, { \"tool\": \"update_address\", \"status\": \"not_run\" }],\n  \"transcript_ref\": \"c_8f2a/transcript\",\n  \"caller_number_known\": true,\n  \"transcript_confidence\": \"asr_unverified\",\n  \"interrupted_turns\": 2\n}\n```\n\nThe last three fields are the voice-specific ones, and all are inference. A spoken transcript is machine-transcribed, so the human should be told it is unverified. Whether the caller's number was known decides if a callback is possible. A count of interrupted turns hints at frustration, though the pillar's own inference is that a cascaded pipeline may discard tone. Send a short summary rather than only a transcript link, since a human cannot read a full transcript while greeting the caller.\n\n## Which integrations does the corpus actually support?\n\nThe corpus supports one fact: the voice-realtime-agents reference records that Amazon Nova Sonic \"integrates with Amazon Connect and telephony providers (Vonage, Twilio)\". That was web-verified on 2026-07-09 and not re-verified on 2026-09-28. It says the model connects to those platforms. It does not say the model can transfer a call to a person on them, and this article does not claim it. For the transport side, see [voice agent transport: WebRTC vs WebSocket, and where SIP fits](/articles/voice-agent-transport-webrtc-vs-websocket-vs-sip).\n\n## What does the corpus not say about handoff?\n\nThe corpus is silent on the transfer itself: it has no entry on call transfer mechanics, SIP REFER, bridging versus redirecting a call, contact-centre queues, agent availability, hold music or voicemail. It also gives no timeout, no per-vendor handoff event, and no data on how callers react to announcements.\n\n- **Not covered:** how a vendor hands a live call to a person, or whether it can.\n- **Not covered:** what happens to the model session after the transfer.\n- **Not covered:** any measured abandonment or satisfaction figure for voice handoffs.\n\nTreat those as questions for the telephony vendor, and answer them by test, not assumption.\n\n## How do you test a handoff on real calls?\n\nTest a handoff by placing real calls through the real telephony path, because a simulated session cannot reveal what the caller hears. The checklist is inference.\n\n1. **Happy path.** Request a human, hear one announcement, reach a person, and confirm the payload is on their screen before they speak.\n2. **Barge-in on the announcement.** Say \"okay\" and \"hello?\" during it, and confirm no second model turn or second transfer starts.\n3. **Refusal.** Say \"no, don't transfer me\" during the announcement and confirm it stops.\n4. **No answer.** Let the target ring out and confirm the spoken fallback and callback or voicemail path.\n5. **Rejected transfer.** Point the handoff at an unavailable target and confirm the spoken failure.\n6. **Mid-transfer hang-up.** Drop the call and confirm the log still holds the payload and trigger category.\n7. **Duplicate protection.** Trigger the tool twice and confirm only one transfer occurs.\n8. **Latency.** Time the gap between the announcement ending and the line ringing, using the legs in the [voice agent latency budget](/articles/voice-agent-latency-budget).\n\n## What does ChangeGamer know first-hand about voice handoff?\n\nNothing: as of October 2026 ChangeGamer runs no voice agent and has handled no calls, so there is no measured result here. The warm-handoff categories come from the customer-support-agents reference, the one vendor line from voice-realtime-agents, and the rest is labelled inference. See the [voice agents cluster](/articles/voice-ai-agent-in-production) for the remaining decisions, and [how a voice agent handles callers who speak another language](/articles/voice-agent-multilingual-callers) for transfers triggered by an unsupported language.",
  "cluster": {
    "id": "voice-agents-in-production",
    "title": "Voice agents in production",
    "description": "How to build and run a live voice AI agent — architecture choice, turn detection and barge-in, latency budget, tool calls in a voice loop, transport, cost, human handoff, guardrails, monitoring and launch — covering live caller conversations only, not offline dubbing/localization (ai-dubbing-localization-and-subtitling) and not the WER/MOS/VoiceBench scoring methodology owned by the evaluating-voice-agents resource.",
    "status": "complete",
    "pillar": {
      "slug": "voice-ai-agent-in-production",
      "title": "Voice AI Agent in Production: Architecture, Latency, Handoff and Launch",
      "description": "How to build and run a voice AI agent in production: cascaded vs speech-to-speech architecture, turn detection and barge-in, the latency budget, tool calls in a voice loop, transport, cost, human handoff and launch sequencing.",
      "kind": "pillar",
      "order": 0,
      "html": "https://changegamer.ai/articles/voice-ai-agent-in-production",
      "markdown": "https://changegamer.ai/articles/voice-ai-agent-in-production.md",
      "json": "https://changegamer.ai/api/articles/voice-ai-agent-in-production.json"
    },
    "articles": [
      {
        "slug": "voice-agent-latency-budget",
        "title": "Voice Agent Latency Budget: Where the 600 ms Goes and How to Hold It",
        "description": "How to split a 600 ms voice agent latency budget across speech-to-text, the language model, speech synthesis and tool calls, how to measure each stage, and which levers hold the budget.",
        "kind": "sub",
        "order": 1,
        "html": "https://changegamer.ai/articles/voice-agent-latency-budget",
        "markdown": "https://changegamer.ai/articles/voice-agent-latency-budget.md",
        "json": "https://changegamer.ai/api/articles/voice-agent-latency-budget.json"
      },
      {
        "slug": "voice-turn-detection-and-barge-in-testing",
        "title": "How to Test Voice Agent Turn Detection and Barge-In",
        "description": "How to test voice agent turn detection and barge-in: build a labelled clip set, count barge-in accuracy and false-interruption rate, separate cut-off from talk-over failures, and split offline gates from online monitors.",
        "kind": "sub",
        "order": 2,
        "html": "https://changegamer.ai/articles/voice-turn-detection-and-barge-in-testing",
        "markdown": "https://changegamer.ai/articles/voice-turn-detection-and-barge-in-testing.md",
        "json": "https://changegamer.ai/api/articles/voice-turn-detection-and-barge-in-testing.json"
      },
      {
        "slug": "voice-agent-architecture-cascaded-vs-speech-to-speech",
        "title": "What to Log and Filter in a Voice Agent, by Architecture",
        "description": "What to log and filter in a voice agent depending on architecture: where a cascaded pipeline gives you text seams for logging, redaction and output filters, what a native speech-to-speech model leaves you to do from outside, and what a model swap forces you to re-test.",
        "kind": "sub",
        "order": 3,
        "html": "https://changegamer.ai/articles/voice-agent-architecture-cascaded-vs-speech-to-speech",
        "markdown": "https://changegamer.ai/articles/voice-agent-architecture-cascaded-vs-speech-to-speech.md",
        "json": "https://changegamer.ai/api/articles/voice-agent-architecture-cascaded-vs-speech-to-speech.json"
      },
      {
        "slug": "tools-in-a-voice-agent-loop",
        "title": "Function Calling in a Voice Agent: What a Tool May Be in a Spoken Loop",
        "description": "Function calling in a voice agent: which vendors and frameworks support tools as of the corpus's 2026-07-09 verification, how to classify tools as lookup, action or handoff, what barge-in does to a side effect, and a checklist for admitting a tool.",
        "kind": "sub",
        "order": 4,
        "html": "https://changegamer.ai/articles/tools-in-a-voice-agent-loop",
        "markdown": "https://changegamer.ai/articles/tools-in-a-voice-agent-loop.md",
        "json": "https://changegamer.ai/api/articles/tools-in-a-voice-agent-loop.json"
      },
      {
        "slug": "voice-agent-transport-webrtc-vs-websocket-vs-sip",
        "title": "Voice Agent Transport: WebRTC vs WebSocket, and Where SIP Fits",
        "description": "WebRTC vs WebSocket for voice AI agents: which transport each vendor documents as of the corpus's 2026-07-09 verification, how cascaded stacks use WebSocket components, a decision tree by client type, and a per-transport test checklist.",
        "kind": "sub",
        "order": 5,
        "html": "https://changegamer.ai/articles/voice-agent-transport-webrtc-vs-websocket-vs-sip",
        "markdown": "https://changegamer.ai/articles/voice-agent-transport-webrtc-vs-websocket-vs-sip.md",
        "json": "https://changegamer.ai/api/articles/voice-agent-transport-webrtc-vs-websocket-vs-sip.json"
      },
      {
        "slug": "voice-agent-human-handoff",
        "title": "Voice Agent Human Handoff: What Happens on the Call When the Agent Lets Go",
        "description": "Voice agent human handoff mechanics: the handoff as a tool that ends the agent's session, barge-in during the transfer announcement, what the caller hears on hold and on failure, a context payload schema, and a real-call test checklist.",
        "kind": "sub",
        "order": 6,
        "html": "https://changegamer.ai/articles/voice-agent-human-handoff",
        "markdown": "https://changegamer.ai/articles/voice-agent-human-handoff.md",
        "json": "https://changegamer.ai/api/articles/voice-agent-human-handoff.json"
      },
      {
        "slug": "voice-agent-cost-per-minute",
        "title": "How to Compute Your Voice Agent Cost per Minute",
        "description": "How to compute a voice agent cost per minute from your own pilot: symbolic formulas for native speech-to-speech and cascaded STT, LLM and TTS, the variables that move the result, idle audio, retries, tool-call turns, and a sensitivity check.",
        "kind": "sub",
        "order": 7,
        "html": "https://changegamer.ai/articles/voice-agent-cost-per-minute",
        "markdown": "https://changegamer.ai/articles/voice-agent-cost-per-minute.md",
        "json": "https://changegamer.ai/api/articles/voice-agent-cost-per-minute.json"
      },
      {
        "slug": "guardrails-for-spoken-output-in-voice-agents",
        "title": "Voice Agent Guardrails: Checking What the Agent Says Before the Caller Hears It",
        "description": "Voice agent guardrails for spoken output: sentence-level gating before TTS, fail-closed judges, spoken numbers a text PII filter misses, readback before state changes, transcription-driven injection, refusal phrasing for the ear, and an adversarial test list.",
        "kind": "sub",
        "order": 8,
        "html": "https://changegamer.ai/articles/guardrails-for-spoken-output-in-voice-agents",
        "markdown": "https://changegamer.ai/articles/guardrails-for-spoken-output-in-voice-agents.md",
        "json": "https://changegamer.ai/api/articles/guardrails-for-spoken-output-in-voice-agents.json"
      },
      {
        "slug": "voice-agent-online-monitoring",
        "title": "How to Monitor a Voice Agent in Production: Dashboard, Alerts and Runbook",
        "description": "How to monitor a voice agent in production: per-stage latency percentiles, transcription confidence, containment paired with a resolution signal, live false-interruption rate, a handoff trigger review, and call-audio retention, each with what to chart, alert on and do.",
        "kind": "sub",
        "order": 9,
        "html": "https://changegamer.ai/articles/voice-agent-online-monitoring",
        "markdown": "https://changegamer.ai/articles/voice-agent-online-monitoring.md",
        "json": "https://changegamer.ai/api/articles/voice-agent-online-monitoring.json"
      },
      {
        "slug": "voice-agent-vendor-change-management",
        "title": "How to Handle Voice AI Vendor Model Changes Without Regressing Callers",
        "description": "How to handle voice AI vendor model changes: classify the change, record the model id on every trace, replay an offline set with hard calls on old and new, canary before cutover, keep a rollback, and run a deprecation-readiness routine.",
        "kind": "sub",
        "order": 10,
        "html": "https://changegamer.ai/articles/voice-agent-vendor-change-management",
        "markdown": "https://changegamer.ai/articles/voice-agent-vendor-change-management.md",
        "json": "https://changegamer.ai/api/articles/voice-agent-vendor-change-management.json"
      },
      {
        "slug": "voice-agent-launch-checklist",
        "title": "Voice Agent Launch Checklist: The Go/No-Go Gates Before Real Callers",
        "description": "A voice agent launch checklist as yes/no gates: scope, offline replay, per-stage latency, barge-in, tools, transport, handoff, cost, guardrails, monitoring and rollback, each with a pass signal and the article that owns the method.",
        "kind": "sub",
        "order": 11,
        "html": "https://changegamer.ai/articles/voice-agent-launch-checklist",
        "markdown": "https://changegamer.ai/articles/voice-agent-launch-checklist.md",
        "json": "https://changegamer.ai/api/articles/voice-agent-launch-checklist.json"
      },
      {
        "slug": "voice-agent-multilingual-callers",
        "title": "How Does a Voice Agent Handle Callers Who Speak Another Language?",
        "description": "How a live voice agent handles callers who speak another language: detecting the language, choosing speech components per language, slicing evaluation by language and handing off when the language is unsupported, with the thin corpus evidence stated plainly.",
        "kind": "sub",
        "order": 12,
        "html": "https://changegamer.ai/articles/voice-agent-multilingual-callers",
        "markdown": "https://changegamer.ai/articles/voice-agent-multilingual-callers.md",
        "json": "https://changegamer.ai/api/articles/voice-agent-multilingual-callers.json"
      }
    ]
  },
  "navigation": {
    "pillar": {
      "slug": "voice-ai-agent-in-production",
      "title": "Voice AI Agent in Production: Architecture, Latency, Handoff and Launch",
      "description": "How to build and run a voice AI agent in production: cascaded vs speech-to-speech architecture, turn detection and barge-in, the latency budget, tool calls in a voice loop, transport, cost, human handoff and launch sequencing.",
      "kind": "pillar",
      "order": 0,
      "html": "https://changegamer.ai/articles/voice-ai-agent-in-production",
      "markdown": "https://changegamer.ai/articles/voice-ai-agent-in-production.md",
      "json": "https://changegamer.ai/api/articles/voice-ai-agent-in-production.json"
    },
    "previous": {
      "slug": "voice-agent-transport-webrtc-vs-websocket-vs-sip",
      "title": "Voice Agent Transport: WebRTC vs WebSocket, and Where SIP Fits",
      "description": "WebRTC vs WebSocket for voice AI agents: which transport each vendor documents as of the corpus's 2026-07-09 verification, how cascaded stacks use WebSocket components, a decision tree by client type, and a per-transport test checklist.",
      "kind": "sub",
      "order": 5,
      "html": "https://changegamer.ai/articles/voice-agent-transport-webrtc-vs-websocket-vs-sip",
      "markdown": "https://changegamer.ai/articles/voice-agent-transport-webrtc-vs-websocket-vs-sip.md",
      "json": "https://changegamer.ai/api/articles/voice-agent-transport-webrtc-vs-websocket-vs-sip.json"
    },
    "next": {
      "slug": "voice-agent-cost-per-minute",
      "title": "How to Compute Your Voice Agent Cost per Minute",
      "description": "How to compute a voice agent cost per minute from your own pilot: symbolic formulas for native speech-to-speech and cascaded STT, LLM and TTS, the variables that move the result, idle audio, retries, tool-call turns, and a sensitivity check.",
      "kind": "sub",
      "order": 7,
      "html": "https://changegamer.ai/articles/voice-agent-cost-per-minute",
      "markdown": "https://changegamer.ai/articles/voice-agent-cost-per-minute.md",
      "json": "https://changegamer.ai/api/articles/voice-agent-cost-per-minute.json"
    }
  },
  "resources": [
    {
      "slug": "customer-support-agents",
      "html": "https://changegamer.ai/resources/customer-support-agents",
      "markdown": "https://changegamer.ai/resources/customer-support-agents.md",
      "json": "https://changegamer.ai/api/resources/customer-support-agents.json"
    },
    {
      "slug": "voice-realtime-agents",
      "html": "https://changegamer.ai/resources/voice-realtime-agents",
      "markdown": "https://changegamer.ai/resources/voice-realtime-agents.md",
      "json": "https://changegamer.ai/api/resources/voice-realtime-agents.json"
    }
  ]
}