Skip to main content
Version: Next — unreleased

Scaling, capacity and high availability

How voice, API and edge capacity is grouped, scaled, limited and balanced, how services are drained for maintenance, and how the platform stays available when an instance or edge fails. 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​

Server groups​

Server groups bundle voice, API or edge instances with their limits, balancing and scaling settings, and base numbers and teams are routed to a group.

For: Deployment operators

LevelWhere to change itOwner section
Platform settingsAdmin Settings › Server Groups(serverGroup, role, voice, api, telpro, teams, priority)Configure a server group

Read more:

Related features: Automatic scaling, Load balancing across voice instances, Concurrent call limit per voice instance and group, Server group maintenance (drain, resume, refresh, restart).

Automatic scaling​

The scaler adds or removes voice and API instances within a group's minimum and maximum, based on load thresholds and a cooldown between changes.

For: Deployment operators

LevelWhere to change itOwner section
Platform settingsAdmin Settings › Server Groups › Enable Auto-Scaling(scalingEnabled, minInstances, maxInstances, scaleUpThreshold, scaleDownThreshold, cooldownSeconds)Configure a server group
Services and containersScaler environment(SCALING_EVALUATION_INTERVAL_MS, SCALING_MAX_PARALLEL_BELOW_MIN_SCALE_UPS, SCALING_DRAIN_TIMEOUT_MS, SCALER_INSTANCE_ID, SCALER_LOG_LEVEL)Ops variables

Read more:

Related features: Scaling providers and provisioning scripts, Scaling events and alerts, Server groups.

Scaling providers and provisioning scripts​

Each group names a scaling provider whose scripts create and remove machines, so the scaler can work with different hosting environments.

For: Deployment operators

LevelWhere to change itOwner section
Platform settingsAdmin Settings › Server Groups › Scaling Provider(scalingProvider, scalingConfig)Configure a server group
Services and containersScaler environment(SCALING_SCRIPTS_PATH)Ops variables
Platform settingsScaling Config JSON passed to provider scripts(SCALING_CONFIG_*, SCALING_SERVER_TYPE, HETZNER_API_TOKEN)Pass provider configuration to scripts

Read more:

Related features: Automatic scaling.

Concurrent call limit per voice instance and group​

A voice instance and its server group accept only a set number of simultaneous calls, and calls above the limit are refused with a busy or unavailable response.

For: Deployment operators

LevelWhere to change itOwner section
Platform settingsAdmin Settings › Server Groups › Max Concurrent Calls(maxConcurrentCalls)Configure a server group
Services and containersTelPhi environment(MAX_CONCURRENT_CALLS)Voice variables

Read more:

Related features: Trunk call limit field, Load balancing across voice instances, Capacity planning and measurements.

Load balancing across voice instances​

Each server group picks how new calls spread over its voice instances, for example in turn or to the instance with the fewest calls.

For: Deployment operators

LevelWhere to change itOwner section
Platform settingsAdmin Settings › Server Groups › Load Balancing Method(lbMethod, round_robin, least_calls, random)Configure a server group

Read more:

Related features: Voice host selection by the edge, Server groups.

Instance heartbeats and usage reports​

Every voice and API instance reports its liveness, resources and active calls at fixed intervals, which drives call routing, scaling and stale-instance detection.

For: Deployment operators

LevelWhere to change itOwner section
Services and containersTelPhi and TelAPI environment(HEARTBEAT_INTERVAL, RESOURCE_MONITOR_INTERVAL, USAGE_MONITOR_INTERVAL, USAGE_MONITOR_HEARTBEAT_INTERVAL_MS, TELPHI_INSTANCE_ID, TELAPI_INSTANCE_ID, INSTANCE_ID)Voice variables

Read more:

Related features: Stale instance detection, Voice host selection by the edge, Automatic scaling.

Stale instance detection​

Instances that stop sending heartbeats are marked offline after a grace period and dropped from routing and capacity counts.

For: Deployment operators

LevelWhere to change itOwner section
Services and containersScaler environment(STALE_SERVER_HEARTBEAT_SECONDS)Ops variables

Read more:

Related features: Instance heartbeats and usage reports, Scaling events and alerts.

Single active scaler and job runner​

Several scaler or job runner instances can run at once while only the elected leader acts, and a standby takes over when the leader's lock expires.

For: Deployment operators

LevelWhere to change itOwner section
Services and containersScaler and Tasker environment(LEADER_ELECTION_KEY, LEADER_LOCK_TTL_MS, LEADER_HEARTBEAT_INTERVAL_MS, LEADER_ACQUISITION_TIMEOUT_MS, TASKER_LEADER_ELECTION_KEY)Ops variables

Read more:

Related features: Automatic scaling.

Server group maintenance (drain, resume, refresh, restart)​

Super admins can drain a group or one edge without restart, resume admission, refresh configuration or restart a service, and follow the job and its history per target.

Availability: Needs the super-admin role; available from 0.9.19.

For: Deployment operators

LevelWhere to change itOwner section
Platform settingsAdmin Settings › Server Groups › Maintenance(CONFIG_REFRESH)Target one server group

Read more:

Related features: Service refresh and server group maintenance, Draining an edge, Edge instance overview, Voice service operation.

Draining an edge​

An edge can be switched to refuse new calls while existing dialogs finish, so it can be maintained without cutting active calls.

For: Deployment operators

LevelWhere to change itOwner section
Platform settingsAdmin Settings › Server Groups › Maintenance › Drain without restart(accept_new_calls)Drain an edge instance

Read more:

Related features: Server group maintenance (drain, resume, refresh, restart), Two-edge high availability, Trunk maintenance mode, Voice service operation.

Two-edge high availability​

Two edges can run as a pair where a floating address and routing identity move to the healthy peer, keeping new calls flowing when one edge is drained or fails.

For: Deployment operators

LevelWhere to change itOwner section
Services and containersTelPro environment(TELPRO_HA_ENABLED, TELPRO_GROUP_NAME, TELPRO_INITIAL_ACTIVE_INSTANCE_ID, TELPRO_PEER_INSTANCE_ID, TELPRO_PEER_PROVIDER_SERVER_ID, TELPRO_PROVIDER_SERVER_ID, TELPRO_SIP_FLOATING_IP_ID, FLOATING_IP, HCLOUD_TOKEN)TelPro variables

Read more:

Related features: Edge routing handover integration, Media floating address, Draining an edge.

Edge routing handover integration​

When admission moves between edges, the platform calls a configured routing integration so that new traffic follows the active edge.

For: Deployment operators

LevelWhere to change itOwner section
Services and containersTelPro environment(TELPRO_ROUTING_PROVIDER, TELPRO_ROUTING_ENDPOINT, TELPRO_ROUTING_TARGET_IDS, TELPRO_ROUTING_TOKEN, configured-http)TelPro variables

Read more:

Related features: Two-edge high availability.

Media floating address​

A separate floating address can carry media for the active edge and is bound to its network interface when ownership moves.

For: Deployment operators

LevelWhere to change itOwner section
Services and containersTelPro environment(TELPRO_FLOATING_IP_BIND_ENABLED, TELPRO_MEDIA_FLOATING_IP_ID, TELPRO_MEDIA_INTERFACE)Bind the floating media address
Services and containersCloud credential for floating addresses(HCLOUD_TOKEN)TelPro variables

Read more:

Related features: Two-edge high availability, Public and private edge addresses (NAT).

Edge instance overview​

The server group view lists each edge with its admission state, routing owners, maintenance lease, SIP dialogs and RTP sessions, marking stale data as unknown.

Availability: Available from 0.9.19.

For: Deployment operators

LevelWhere to change itOwner section
Platform settingsAdmin Settings › Server Groups › group details › TelPro instancesTarget one server group

Read more:

Related features: Server group maintenance (drain, resume, refresh, restart), Active calls per edge and voice server, SIP edge health.

Active calls per edge and voice server​

Administrators can list the calls currently on an edge or voice server, expand one to see its state and jump to the matching conversation.

For: Deployment operators

LevelWhere to change itOwner section
Platform settingsAdmin Settings › Server Groups › Show callsTarget one server group

Read more:

Related features: Edge instance overview, Telephony details of a conversation.

Voice server inventory​

The platform keeps a record per voice server with its address, status, active calls, used media ports and maintenance flag.

For: Deployment operators

LevelWhere to change itOwner section
Platform settingsAdmin Settings › Server Groups › servers(online, degraded, overloaded, maintenance, offline, usedRtpPorts)Verify the fleet after a change

Read more:

Related features: Instance heartbeats and usage reports, Server groups.

Scaling events and alerts​

Scaling starts, completions and failures are recorded as operation events and raise notifications, so operators see when capacity changes or fails to change.

For: Deployment operators, Team administrators

LevelWhere to change itOwner section
Platform settingsNotifications(SCALE_UP_STARTED, SCALE_UP_COMPLETED, SCALE_UP_FAILED, SCALE_DOWN_STARTED, SCALE_DOWN_COMPLETED, SCALE_DOWN_FAILED)Review and acknowledge an alert

Read more:

Related features: Automatic scaling, Stale instance detection, Operation events, Notification types.

Capacity planning and measurements​

Operators plan ready capacity from recorded call and resource measurements instead of assumed per-host figures.

For: Deployment operators

LevelWhere to change itOwner section
Services and containersMonitoring dashboardsPlan ready capacity

Read more:

Related features: Concurrent call limit per voice instance and group, Automatic scaling, API rate limits.