# The call ended early

Read the attribution first. Every ending is attributed to one of six actors — the caller, the model, the owner, the engine, the carrier or an agent — and that single field distinguishes a call that hit the 30-minute ceiling from one the carrier dropped, a silence watcher closing an abandoned line from a model session that failed. Duration alone tells you almost nothing.

- **Status:** Available
- **Audience:** both
- **Channels:** phone
- **In the app:** #/calls
- **Last verified:** 2026-09-10
- **Canonical:** https://connectbyjbrh.com/docs/troubleshooting/call-cut-short/

## What it looks like

A conversation that was going somewhere stops. The record shows a shorter call than the participants remember, and often no explanation in the transcript, because the last thing said was ordinary.

Before endings were attributed, every ending that was not obviously the caller's read as the agent's — so a carrier drop, a ceiling and a fault all looked like the voice hanging up. The attribution is the whole diagnosis on this page.

## The four endings people mistake for each other

| Ending | Attributed to | What it means | What to do |
|---|---|---|---|
| Product ceiling | The engine | 30 minutes, the deliberate maximum length of one call | Nothing — split long work across calls, or into a follow-up |
| Model session limit | The model | The model's own session ended | Usually nothing: resumption and context compression let the session reconnect carrying the conversation |
| Silence watcher | The engine | The line was open with nobody speaking; true abandonment is ended without a word | Check whether the caller was actually being heard |
| Carrier hang-up | The carrier | The provider ended the leg | Look at the carrier's log for the same call; this is not a Connect decision |

A fifth possibility belongs to the turn-based path and is historical but worth recognising, because its shape is distinctive: a document whose listening element was the last thing in it meant the carrier reached the end of the instructions and hung up after about fifteen seconds of listening, with the next handler never called at all. Two real calls ended that way — greeting, silence, a clean carrier disconnect. A redirect now follows the listening element, back to a handler that answers unheard speech instead of dropping the line.

## Causes, most likely first

1. **The call reached the product ceiling.** Thirty minutes is the maximum, and it is the product's own limit rather than the model's.
2. **The caller went quiet and the line was closed.** Nothing is said into the line while the caller is speaking or was heard within the last couple of seconds, and on the fast default model no check-in or goodbye is ever spoken at all — so an abandoned call ends without a word rather than with one.
3. **The carrier ended the leg.** Network conditions, the far end hanging up, or the carrier's own limits.
4. **A status callback ended the call.** The status address and the hang-up address are the same one, and ending on *any* status once hung up on a live caller during a ringing callback. This is the third of the six production defects and the reason status handling is narrow now.
5. **The model session failed mid-call and could not be resumed.** That has its own page and its own record.

## What Connect completed

- Recorded the call up to the point it ended: every turn spoken, every timing measured, and the reason it ended.
- Attributed the ending to a specific actor rather than defaulting to the agent.
- Closed the record promptly and booked the cost, marking the digest as pending and running the summary in the background.
- Summarised the conversation that did happen, and created any follow-up that had been properly promised before the ending.

## What Connect did not complete

- The conversation itself. Whatever was going to be said next was not said, and the summary reflects a call that stopped rather than one that concluded.
- Nothing was promised on the caller's behalf to make up for it — no automatic call-back was created from a truncated call.
- Where the ceiling ended the call, the remaining business was not carried into a new call automatically.
- The caller was not told why, in most of these cases. An ending attributed to the carrier or the engine has no spoken explanation behind it.

## What you can do

1. Read the attribution on the call record before forming a theory.
   - Result: Four different faults produce a short call, and the field names which one this was.
2. Check the duration against the ceiling.
   - Result: A call that ends very close to thirty minutes ended for the most boring possible reason.
3. For an ending attributed to the carrier, compare with the carrier's own log entry.
   - Result: Their record of the same call usually names the leg that went away, which yours cannot.
4. Ring the caller back if business was left unfinished.
   - Result: A truncated call leaves no automatic commitment, so this is a decision somebody has to make.

## What an administrator can do

- Confirm status handling is narrow: a status callback must not end a call for any status that is merely informational.
- Check the silence and hang-up timers on the line if abandoned calls are being closed too eagerly, or held too long.
- Look for a pattern by time of day or by carrier route before treating individual endings as faults.
- For long consultative calls, consider whether the work should be split rather than pushed against the ceiling.

## When to escalate

Escalate when several calls end early in the same window with the same attribution, when endings are attributed to the engine with no ceiling or silence to explain them, or when a live caller is cut off during ringing — that last one has happened before and is a status-handling fault, not a network one. Bring the attributions, the durations, and whether the carrier's log agrees.

## Questions

### Is thirty minutes a technical limit?

No, it is the product's own ceiling. The model's session limit is separate and no longer ends calls: session resumption and a sliding-window compression let the session reconnect carrying the conversation, so the session's cap belongs to the session.

### Why did the voice not say goodbye?

On the fast default model no check-in and no goodbye is spoken at all, because the separately produced speech does not sound like the live voice. The silence is recorded, and a genuinely abandoned call is ended without a word rather than with one in the wrong voice.

### Can I hear the recording to work out what happened?

No — recording is a foundation capability and is not enabled on the live carrier. What exists is the transcript, the per-reply timings and the attribution, which between them answer most questions about an ending.

## Related

- [The voice model refused the session](https://connectbyjbrh.com/docs/troubleshooting/model-session-failed/)
- [The call connected and nobody spoke](https://connectbyjbrh.com/docs/troubleshooting/call-answered-in-silence/)
- [Recovering a failed call](https://connectbyjbrh.com/docs/workflows/call-recovery/)
- [The call sounded bad](https://connectbyjbrh.com/docs/troubleshooting/call-audio-quality/)
- [Phone and voice in Connect](https://connectbyjbrh.com/docs/phone/)

## What this page is based on

- AGENTS.md §9a — hangup attribution, the ceiling and defect 3
- PROJECT-STATE.md — session resumption and context compression
- Connect capability registry (docs-source/facts.py)
