Calls and call lifecycle
How an inbound call is answered, how long it may run, what ends it, how the end reason is reported over SIP and where the finished call is recorded. Browse the feature map or configuration finder.
Availability: Next. Entries that depend on an optional feature, a role or a deployment choice name it in their own Availability line.
Features in this family
- Calls refused before answer
- Final SIP response for calls that never connect
- Maximum call duration
- Stale call clean-up
- Give up when the bot stops responding
- Media connection warning and disconnect
- Resumable call sessions
- Hang up from a flow or a bot
- Call end categories
- Platform termination causes and SIP mapping
- Detailed hangup triggers
- Telephony details of a conversation
Calls refused before answer
Calls to an unknown number, a switched-off app, a blocked subscription or a missing or invalid extension are refused before the bot starts, each with a defined SIP response.
For: Application builders, Team administrators, Integrators
| Level | Where to change it | Owner section |
|---|---|---|
| Application settings | Application › Active switch(app_inactive) | Refuse calls while an app is switched |
Read more:
- How it works: Refuse calls while an app is switched
- Reference: Cause values and SIP responses are different
- Troubleshoot: Identify a routing response first
Related features: Platform termination causes and SIP mapping, Number lookup and routing responses, Extensions on a base number.
Final SIP response for calls that never connect
When the platform decides to reject a call before answering it, the chosen final response travels to the edge so the caller's carrier receives a matching SIP status instead of a generic failure.
For: Integrators, Deployment operators
| Level | Where to change it | Owner section |
|---|---|---|
| Services and containers | Voice runtime and SIP edge (no customer setting) | Cause values and SIP responses are different |
Read more:
- Reference: Cause values and SIP responses are different
- Troubleshoot: 1. Find the selected cause
Related features: Calls refused before answer, Platform termination causes and SIP mapping, SIP termination headers.
Maximum call duration
A call ends automatically after a configured number of seconds, optionally after a short spoken warning, with a flow value overriding the platform default.
For: Application builders, Deployment operators
| Level | Where to change it | Owner section |
|---|---|---|
| Flow and node settings | Flow settings › Max call duration (seconds)(maxCallDurationSeconds, maxDurationWarningMessage) | Limit call duration |
| Services and containers | TelPhi environment(MAX_CALL_DURATION_SECONDS, MAX_CALL_DURATION_WARNING_MESSAGE, WARNING_TIMEOUT) | Voice variables |
Read more:
- Set it up: Limit call duration
- Reference: Voice variables
Related features: Stale call clean-up, Call end categories, Detailed hangup triggers.
Stale call clean-up
A safety limit in the voice service releases calls that have outlived any plausible duration so a lost hangup cannot keep a channel and its capacity occupied.
For: Deployment operators
| Level | Where to change it | Owner section |
|---|---|---|
| Services and containers | TelPhi environment(MAX_CALL_AGE_MS) | Stale calls and resumable sessions |
Read more:
- Reference: Stale calls and resumable sessions
- Troubleshoot: Stale calls and resumable sessions
Related features: Maximum call duration, Detailed hangup triggers, Concurrent call limit per voice instance and group.
Give up when the bot stops responding
If the bot produces no reply for too long, the platform plays an optional warning, can transfer to a fallback target, and otherwise ends with a bot-side reason.
For: Application builders, Deployment operators
| Level | Where to change it | Owner section |
|---|---|---|
| Flow and node settings | Flow settings › Bot no-input give-up(botNoInputGiveUpTimeoutMS, botNoInputGiveUpWarningMessage, botNoInputGiveUpUrl, botNoInputGiveUpTransfer) | Give up when the bot stays silent |
| Services and containers | TelPhi environment(BOT_NO_INPUT_GIVE_UP_TIMEOUT_MS, BOT_NO_INPUT_GIVE_UP_WARNING_MESSAGE, BOT_NO_INPUT_GIVE_UP_URL) | Voice variables |
Read more:
- Set it up: Give up when the bot stays silent
- Set it up: 3. Transfer instead of ending a silent
Related features: Transfer when the bot stops answering, Call end categories, Maximum call duration.
Media connection warning and disconnect
When audio stops flowing during a call, the platform plays a warning after a first delay and ends the call after a second one, with timings set by the platform and the warning text set per app.
For: Team administrators, Application builders, Deployment operators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › Platform › Media connection warning(warningAfterMs, disconnectAfterMs, warningText, warningLanguage) | Configure loss-of-audio warnings |
| Flow and node settings | Flow settings › Media connection warning(mediaConnectionWarningText, mediaConnectionWarningLanguage) | Customize the media connection warning |
Read more:
- Set it up: Configure loss-of-audio warnings
- Set it up: Customize the media connection warning
- Troubleshoot: Media connection timeouts
- Troubleshoot: Diagnose a caller media timeout
Related features: Platform termination causes and SIP mapping.
Resumable call sessions
An integration can mark a call session as resumable. Reconnection depends on the stored session, its timeout and recoverable voice-service state.
For: Integrators, Deployment operators
Read more:
- Reference: Stale calls and resumable sessions
Related features: Trunk routing and technical fields, Media connection warning and disconnect.
Hang up from a flow or a bot
A flow end step, a bot command or a tool call ends the call on purpose, optionally with a farewell, a chosen reason and SIP headers on the BYE.
For: Application builders, Integrators
| Level | Where to change it | Owner section |
|---|---|---|
| Flow and node settings | Flow Designer › End node(end) | End: finish the branch |
| HTTP API | Runtime command hangup(hangup) | End: finish the branch |
Read more:
- Reference: End: finish the branch
- Reference: Diagnostic header formats
- Troubleshoot: Check terminal-command dispatch
Related features: SIP termination headers, Call end categories, Platform termination causes and SIP mapping.
Call end categories
Every finished call carries one end category, such as caller side, bot side, speech service, media, error, system or transferred, so reports can group why calls ended.
For: Application builders, Team administrators, Deployment operators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Conversation record (read only)(terminationReason, reasonDetails, endReason) | Transfers, hangups and keypad input |
Read more:
- Reference: Cause values and SIP responses are different
- Set it up: Transfers, hangups and keypad input
- Reference: Read the payload
Related features: Platform termination causes and SIP mapping, Detailed hangup triggers, Call detail records, Telephony details of a conversation.
Platform termination causes and SIP mapping
A fixed list of platform causes, from a completed conversation to a busy refusal, each maps to a category, a SIP status and a Q.850 value that the carrier sees.
For: Integrators, Deployment operators
| Level | Where to change it | Owner section |
|---|---|---|
| Services and containers | Fixed platform catalogue (no setting)(conversation_complete, bot_timeout, no_media, media_connection_broken, stt_error, tts_error, internal_failure, policy_rejected, unknown_number, busy, handover) | Cause values and SIP responses are different |
Read more:
- Reference: Cause values and SIP responses are different
- Troubleshoot: 1. Find the selected cause
- How it works: Routing, causes, and diagnostic headers
Related features: Call end categories, Detailed hangup triggers, SIP termination headers.
Detailed hangup triggers
Beneath each category the voice service records the concrete trigger, for example a speech provider error, a duration limit or a failed SIP channel, which helps narrow down why one call ended.
For: Deployment operators, Integrators
| Level | Where to change it | Owner section |
|---|---|---|
| Services and containers | Voice runtime catalogue (no setting)(flow_engine_complete, flow_engine_error, provider_initialization_failed, stt_provider_error, tts_provider_error, sip_channel_setup_failed, flow_lookup_redis_error, provider_stop, provider_destroy, transferred) | Cause values and SIP responses are different |
Read more:
- Reference: Cause values and SIP responses are different
- Troubleshoot: 1. Find the selected cause
- Troubleshoot: 3. Inspect the interaction and errors
Related features: Call end categories, Platform termination causes and SIP mapping, Maximum call duration, Hang up from a flow or a bot.
Telephony details of a conversation
The conversation view shows the telephony side of a call, including transfers, hangup reason and keypad input, so a team can review how a single call ended.
For: Team administrators, Application builders
| Level | Where to change it | Owner section |
|---|---|---|
| Portal and feature profiles | Conversations › conversation › Telephony | Transfers, hangups and keypad input |
Read more:
- Set it up: Transfers, hangups and keypad input
- Set it up: Search the logs of a call
Related features: Call detail records, Call end categories.